systemd tb-edge.service fail to start at (re)boot

Description
Not all reboot will be affected, but we realized tb-edge was not able to start time to time.
Seems postgresql or network wasn't ready when systemd initialized tb-edge.service
Extract from /var/log/tb-edge/tb-edge.log
2024-04-30 10:16:58,491 [main] WARN  o.h.e.jdbc.spi.SqlExceptionHelper - SQL Error: 0, SQLState: 08001
2024-04-30 10:16:58,491 [main] ERROR o.h.e.jdbc.spi.SqlExceptionHelper - Connection to localhost:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
2024-04-30 10:16:58,499 [main] WARN  o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'tomcatServletWebServerFactory' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/ServletWebServerFactoryConfiguration$EmbeddedTomcat.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory]: Factory method 'tomcatServletWebServerFactory' threw exception; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'httpTransportContext': Unsatisfied dependency expressed through field 'transportService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultTransportService' defined in URL [jar:file:/usr/share/tb-edge/bin/tb-edge.jar!/BOOT-INF/lib/transport-api-3.6.4EDGE.jar!/org/thingsboard/server/common/transport/service/DefaultTransportService.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hashPartitionService': Invocation of init method failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open JPA EntityManager for transaction; nested exception is org.hibernate.exception.JDBCConnectionException: Unable to acquire JDBC Connection

We could fix issue by adding "network.target" and "postgresql.service" in tb-edge.service file
However, it is being erased on upgrades.
cat /etc/systemd/system/multi-user.target.wants/tb-edge.service
[Unit]
Description=tb-edge

# added network.target postgresql.service
After=syslog.target network.target postgresql.service

[Service]
User=thingsboard
ExecStart=/usr/share/tb-edge/bin/tb-edge.jar
SuccessExitStatus=143

# Auto-restart service after 300 seconds
Restart=always
RestartSec=300

[Install]
WantedBy=multi-user.target

Question

Can we disable overwrite of service file on upgrade?
Can we propose a pull request somewhere to add "network.target"? (I could not find where .service file is in the code)

Environment

OS:  Debian 11
ThingsBoard: tb-edge v3.6.4EDGE

@AdrienAdB
Hello, thank you for reporting the issue and for your interest in the Edge Product.
Could you please check this file?
https://github.com/thingsboard/thingsboard-edge/blob/master/packaging/java/scripts/control/template.service
I believe it contains what you are looking for.
Your pull request would be greatly appreciated!

Thanks @volodymyr-babak,
Here is the pull request: https://github.com/thingsboard/thingsboard-edge/pull/107

@AdrienAdB
Thank you for your pull request.
It has been merged successfully.
I've made a couple of adjustments: I changed the default RestartSec to 30 seconds and added some additional comments for clarity. Everything else remains as it was originally.


Fail to start device-virtual with security enabled

It seems to lost command on taf-compose file.
level=INFO ts=2021-04-16T07:04:40.509233472Z app=edgex-security-bootstrapper source=command.go:119 msg="Security bootstrapper running waitFor"
level=INFO ts=2021-04-16T07:04:40.509291991Z app=edgex-security-bootstrapper source=command.go:144 msg="Waiting for: [tcp://edgex-security-bootstrapper:54329] with timeout: [1m0s]"
level=INFO ts=2021-04-16T07:04:40.51292993Z app=edgex-security-bootstrapper source=command.go:214 msg="Connected to tcp://edgex-security-bootstrapper:54329"
Fri Apr 16 07:04:40 UTC 2021 Starting --registry --confdir=/custom-config ...
/edgex-init/ready_to_run_wait_install.sh: exec: line 41: illegal option --

After adding /device-virtual on command, device-virtual succeeds to start.

Hi @cloudxxx8 / @cherrycl :  Please regression this issue with the fix PR I've open and see if it resolves the issue.  Thanks!


Regression: incorrect scene path being generated with res:/ instead of res://

Using OnInstantiate in 2.1.1, I got this code:
using System;
using System.ComponentModel;

using Godot;

partial class LoadingScreen
{
    [EditorBrowsable(EditorBrowsableState.Never)]
    private static PackedScene __scene__;

    [EditorBrowsable(EditorBrowsableState.Never)]
    private static PackedScene __Scene__ => __scene__ ??= GD.Load<PackedScene>("res://ui/LoadingScreen.tscn");

    public static LoadingScreen Instantiate()
    {
#if NET6_0 || NET7_0  // Godot 4.0
        var scene = __Scene__.Instantiate<LoadingScreen>();
#else
        var scene = __Scene__.Instance<LoadingScreen>();
#endif
        scene.Init();
        return scene;
    }

    protected LoadingScreen() {}
}

In 2.2.1, it looks like this instead:
using System;
using System.ComponentModel;

using Godot;

partial class LoadingScreen
{
    [EditorBrowsable(EditorBrowsableState.Never)]
    private static PackedScene __scene__;

    [EditorBrowsable(EditorBrowsableState.Never)]
    private static PackedScene __Scene__ => __scene__ ??= GD.Load<PackedScene>("res:/ui/LoadingScreen.tscn");

    public static LoadingScreen Instantiate()
    {
#if NET6_0 || NET7_0  // Godot 4.0
        var scene = __Scene__.Instantiate<LoadingScreen>();
#else
        var scene = __Scene__.Instance<LoadingScreen>();
#endif
        scene.Init();
        return scene;
    }

    protected LoadingScreen() {}
}

(I'm not sure about 2.2.0 because my code doesn't seem to build with it.)
The difference is only one character, but an important one: res:/ui/LoadingScreen.tscn does not load, resulting in a NullReferenceException. I think res:// should always have two slashes; https://docs.godotengine.org/en/stable/tutorials/io/data_paths.html does not mention any exceptions.
Edit: the input code is very simple so I'll post it here rather than simplifying it further:
using Godot;
using System;

public partial class LoadingScreen : Control {
	private Label? _description;

	[OnInstantiate]
	public void Init() {
	}

	public override void _Ready() {
		_description = GetNode<Label>("%Description");
	}

	public void SetDescription(string description) {
		if (_description != null) {
			_description.Text = description;
		}
	}
}

Hey TT,
What version of Godot are you using?

I've identified where the error would occur but haven't been able to replicate as yet.
Does it also occur in the latest release (of this and Godot)?

4.2.1.stable.mono.official.b09f793f5
It occurred in GodotSharp.SourceGenerators 2.3.2 as well. That's how I found out about it.

Thanks bud.  Looking into it now.

Can you run this and let me know how it goes?
I ran with Godot 4.2.1 stable, .NET8.0 and Generators 2.3.2.
MyTest.zip

I can't reproduce it anymore. Neither with your project, nor with my own. It was quite consistently reproducible before, even when switching back and forth between versions. Mysterious! Sorry for the noise; I'll do some more digging if it ever comes back.

Yes, very strange, but definitely thanks for reporting.  Better to be aware in case it resurfaces :)


RSDK-2563 Add MoveOnMap endpoint to motion service

This pull request updates the motion service to reflect recently scoped changes to the 2D planning.  MoveOnMap will be the endpoint for moving a 2D base with a slam map, while the more general Move will handle the rest of the cases

workflow handles this upon approval

with the protos-compiled label


Incorrect section heading or section content?

The title of the section "Trigger Power Automate flows from real-time marketing journeys" suggests the the section describes the process of triggering a Power Automate flow from within a real-time marketing journey. However, when reading the content of the section it seems to me that it is actually describing how to trigger a "custom trigger" in D365 Marketing from a Power Automate Flow.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 2c4abab7-0e2f-48d1-03d5-fb68d09a6a73
Version Independent ID: 2c4abab7-0e2f-48d1-03d5-fb68d09a6a73
Content: Preview: Trigger an action outside of a journey (Dynamics 365 Marketing)
Content Source: ce/marketing/real-time-marketing-custom-actions.md
Service: dynamics-365-marketing
GitHub Login: @alfergus
Microsoft Alias: alfergus

Thanks, @adner, the doc definitely needs some more clarity and we are working that. Improvements should be live in the next few weeks, but in the meantime, you might want to have a look at this handy article one of our MVPs wrote: https://www.ameyholden.com/articles/real-time-dynamics-marketing-custom-triggers-dataverse


openssl/buffering.rb:326:in `syswrite': Broken pipe (Errno::EPIPE)

I'm on ruby 2.1.1. Your example below
require 'att_speech'
att_speech = ATTSpeech.new({ :api_key    => "my_api_key",
                             :secret_key => "my_secret_key",
                             :scope      => 'SPEECH'})

file_contents = File.read(File.expand_path(File.dirname(File.dirname(__FILE__))) + "/moon.wav")
p att_speech.speech_to_text(file_contents, type='audio/wav')

gives me an error.
/Users/chirantan/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/openssl/buffering.rb:326:in `syswrite': Broken pipe (Errno::EPIPE)
from /Users/chirantan/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/openssl/buffering.rb:326:in `do_write'
from /Users/chirantan/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/openssl/buffering.rb:344:in `write'
from /Users/chirantan/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/net/protocol.rb:211:in `write0'
from /Users/chirantan/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/net/protocol.rb:185:in `block in write'
from /Users/chirantan/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/net/protocol.rb:202:in `writing'
from /Users/chirantan/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/net/protocol.rb:184:in `write'
from /Users/chirantan/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/net/http/generic_request.rb:184:in `send_request_with_body'
from /Users/chirantan/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/net/http/generic_request.rb:130:in `exec'
from /Users/chirantan/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/net/http.rb:1406:in `block in transport_request'
from /Users/chirantan/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/net/http.rb:1405:in `catch'
from /Users/chirantan/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/net/http.rb:1405:in `transport_request'
from /Users/chirantan/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/net/http.rb:1378:in `request'
from /Users/chirantan/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/net/http.rb:1371:in `block in request'
from /Users/chirantan/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/net/http.rb:853:in `start'
from /Users/chirantan/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/net/http.rb:1369:in `request'
from /Users/chirantan/.rvm/gems/ruby-2.1.1@speech/gems/faraday-0.8.9/lib/faraday/adapter/net_http.rb:75:in `perform_request'
from /Users/chirantan/.rvm/gems/ruby-2.1.1@speech/gems/faraday-0.8.9/lib/faraday/adapter/net_http.rb:38:in `call'
from /Users/chirantan/.rvm/gems/ruby-2.1.1@speech/gems/faraday-0.8.9/lib/faraday/request/multipart.rb:13:in `call'
from /Users/chirantan/.rvm/gems/ruby-2.1.1@speech/gems/faraday-0.8.9/lib/faraday/connection.rb:253:in `run_request'
from /Users/chirantan/.rvm/gems/ruby-2.1.1@speech/gems/faraday-0.8.9/lib/faraday/connection.rb:118:in `post'
from /Users/chirantan/.rvm/gems/ruby-2.1.1@speech/gems/att_speech-0.0.6/lib/att_speech/att_speech.rb:90:in `speech_to_text'
from /Users/chirantan/.rvm/gems/ruby-2.1.1@speech/gems/celluloid-0.16.0.pre3/lib/celluloid/calls.rb:26:in `public_send'
from /Users/chirantan/.rvm/gems/ruby-2.1.1@speech/gems/celluloid-0.16.0.pre3/lib/celluloid/calls.rb:26:in `dispatch'
from /Users/chirantan/.rvm/gems/ruby-2.1.1@speech/gems/celluloid-0.16.0.pre3/lib/celluloid/calls.rb:63:in `dispatch'
from /Users/chirantan/.rvm/gems/ruby-2.1.1@speech/gems/celluloid-0.16.0.pre3/lib/celluloid/cell.rb:60:in `block in invoke'
from /Users/chirantan/.rvm/gems/ruby-2.1.1@speech/gems/celluloid-0.16.0.pre3/lib/celluloid/cell.rb:71:in `block in task'
from /Users/chirantan/.rvm/gems/ruby-2.1.1@speech/gems/celluloid-0.16.0.pre3/lib/celluloid/actor.rb:357:in `block in task'
from /Users/chirantan/.rvm/gems/ruby-2.1.1@speech/gems/celluloid-0.16.0.pre3/lib/celluloid/tasks.rb:57:in `block in initialize'
from /Users/chirantan/.rvm/gems/ruby-2.1.1@speech/gems/celluloid-0.16.0.pre3/lib/celluloid/tasks/task_fiber.rb:15:in `block in create'
from (celluloid):0:in `remote procedure call'
from /Users/chirantan/.rvm/gems/ruby-2.1.1@speech/gems/celluloid-0.16.0.pre3/lib/celluloid/calls.rb:92:in `value'
from /Users/chirantan/.rvm/gems/ruby-2.1.1@speech/gems/celluloid-0.16.0.pre3/lib/celluloid/proxies/sync_proxy.rb:33:in `method_missing'
from speech.rb:10:in `<main>'

Did you have any luck in fixing this?

A load of similar issues seem to suggest switching the Faraday default adapter to httpclient to resolve this issue:
Faraday.default_adapter = :httpclient


Changing command decoration icon settings should update all existing decorations on save

Run some commands in the terminal
Change terminal*commandIcon settings, the decorations should update immediately

/duplicate https://github.com/microsoft/vscode/issues/143708


Javascript Mega-Linter Flavor

Codecov Report

Merging #137 (027cb10) into master (6aeaaa0) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #137   +/-   ##
=======================================
  Coverage   93.85%   93.85%
=======================================
  Files          72       72
  Lines        1871     1871
=======================================
  Hits         1756     1756
  Misses        115      115

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6aeaaa0...027cb10. Read the comment docs.


GEOMESA-1174 Support kafka 0.9

Adds module for kafka utils that allows the datastore to work with kafka 0.9

Signed-off-by: David Seapy<EMAIL_ADDRESS>

@ddseapy did you test out the kafka command line tools? do they still work, and can they also be used with 0.9? (if they don't work with 0.9 we can do that as a follow on ticket unless you have time)

@elahrvivaz cl tools works out of the box with 0.8.  It also works with 0.9, but to do so you need to replace the datastore,kafka,kafka-client,zk-cli jars in the lib/kafka directory with the ones for 0.9 before running geomesa-kafka commands

@ddseapy sounds good, thanks - could you update the readme for kafka-tools with those instructions?

Merged


Automatically redirect user to the results component as soon as they click on the search button after choosing a state from the dropdown

@chukalicious  I wanted to worked on this

You've been assigned! 😄

@chukalicious
I will require an env file in order to work on it.

Hi @rabbanirizwan , please provide me with your email address in order to share the file. Thanks!


[stdlib] Switch Dictionary.Values.subscript to use _modify

Benchmarks are a bit scant for this type but we do have one that should see this change.

@swift-ci please smoke benchmark

@swift-ci please smoke test

Build comment file:
No performance and code size changes

How to read the data
The tables contain differences in performance which are larger than 8% and differences in code size which are larger than 1%.
If you see any unexpected regressions, you should consider fixing the regressions before you merge the PR.
Noise: Sometimes the performance results (not code size!) contain false alarms. Unexpected regressions which are marked with '(?)' are probably noise. If you see regressions which you cannot explain you can try to run the benchmarks again. If regressions still show up, please consult with the performance team (@eeckstein).

Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 12-Core Intel Xeon E5
  Processor Speed: 2.7 GHz
  Number of Processors: 1
  Total Number of Cores: 12
  L2 Cache (per Core): 256 KB
  L3 Cache: 30 MB
  Memory: 64 GB


adding a releasing.md

Fixes #15

LGTM

Coverage remained the same at 45.594% when pulling 9445484d1ba6ea0e0e60723e74dd5fd79c323ff5 on vaxrank-add-releasing-md into bcc16e656e42e2edeff0a1c4521e4f730fff2915 on master.


Build Folder

I have setup the project as you mentioned and am building the html files, but actually don't know what to do with these built files.
If you can let me know what you do with these built HTML files to turn them into cards that would be great!

@brandoncroberts Better late than never.
For now, please reference this document and the css styles you can format yourself ...
Right now it uses moustache, template files and a .json file which compiles with a command line prompt referencing these template files.
It's probably best not to bother right now ...
BUT. There's a big but. I think I'm going to have to rip out the moustache functionality as Anki has seemed to deviate away from the mustache/pystache and my current live preview version might not be worth the effort to keep around.
It's the biggest pain that this {{{ triple brackets }}} method doesn't seem to play nice anymore with Anki, as it allows me to reuse the Anki template files and escape the json for a nice demo display. That approach looks like it out the window now, so I either have to:

Duplicate the code and keep mustache as is, or ...
Just use plain HTML (and likely have to duplicate the code with this method too).

I'm currently leaning towards option 2 because it just takes away the headache of something not working how I imagined it (the json includes characters that won't render properly without {{{ ... }}} escaping. This thread seems to show an alternative way of doing it, but I doubt it'll work in Anki.
Time and time again, I find that Dependancy Hell is something that keeps me out of the programming profession. It's one thing after the other!
TL;DR: hold fire until I've had the chance to update the code, or keep this version and do as you want.

@brandoncroberts There's also some useful information here for future reference: Build script and security

@brandoncroberts Hopefully this page and this advanced documentation (plus links to Github issues) will go a long way to making the build process easier to understand?
Hopefully you're still interested! :)


Compiler bug with expressions within classes

class Alpha(s: String) {
   var @s = s
   define upper: String {
      return @s.upper()
   }
}
class Beta(s: String) {
   var @a = Alpha(s)
   var @b = @a.upper()
}
var b = Beta("hello")

Call to String.upper blows up, and my friend GDB tells me that the string passed as self to this method is garbage:
(gdb) p *input_arg->value.string
$3 = {refcount = 5, size = 25, string = 0x2 <error: Cannot access memory at address 0x2>}

It appears not to be peculiar to 'constructor' scope, since if I don't define b and instead within Beta define:
   define upper: String {
      return @a.upper()
   }

We get a similar crash when Beta.upper is called.
So I make this method more explicit:
      var str = @a.s
      print(str)
      return str.upper()

Same kind of crash in String.upper, but the output is "<.Beta at 0x642230>" !

The problem is when a class is created in the compiler context. If I just  give in and pass an existing instance of Alpha to Beta, then everything works well.

Saw this just now and thought I'd take a swing at it. Alpha is being tagged as needing a gc marker, and is somehow being collected. If you remove the method call, that part should be okay.
As for the corrupt output, that might be related to #186, and thus might be solved when I put in new stack api. I haven't tested that idea yet though.
Regardless of Alpha being gc tagged, it shouldn't be getting destroyed.

 Sorry about that. I should have seen the problem wasn't the vm from the beginning.
The reason you're getting refcount 5, size 25 is because the value you're dealing with is not a string, but an instance! 25 is where user-defined classes start off at.
This smells like an emitter bug.


Add queue metrics

Would be nice to have the queue metrics for persistent queues too.

Hi @giskou!
Could you elaborate? I cannot see anything about queue metrics in the documentation, at least.

Hi @giskou! Is it by any chance the "queue_push_duration_in_millis" metric that is of interest to you? If so, that could be arranged.

Hello @carlpett!
Sorry for the late reply, but I have been away last week.
I am interested in the pipeline queue metrics.
{
  "pipeline" : {
    ...
    "queue" : {
      "events" : 0,
      "type" : "persisted",
      "capacity" : {
        "page_capacity_in_bytes" : 262144000,
        "max_queue_size_in_bytes" :<PHONE_NUMBER>,
        "max_unread_events" : 0
      },
      "data" : {
        "path" : "/path/to/data/queue",
        "free_space_in_bytes" :<PHONE_NUMBER>0,
        "storage_type" : "hfs"
      }
    },
    ...
}

The latest version of logstash_exporter (c5b2d17) should now expose queue capacity metrics.

Maybe you should start versioning the image? It is really simple to configure docker-hub to build branches and/or tags.


docs: add aux file v2 RFC

Problem
aux v2 migration is near the end and I rewrote the RFC based on what I proposed (several months before...) and what I actually implemented.
Summary of changes
Add aux file v2 RFC
Checklist before requesting a review

[x] I have performed a self-review of my code.
[ ] If it is a core feature, I have added thorough tests.
[ ] Do we need to implement analytics? if so did you add the relevant metrics to the dashboard?
[ ] If this PR requires public announcement, mark it with /release-notes label and add several sentences in this section.

Checklist before merging

[ ] Do not forget to reformat commit message to not include the above checklist

I hope I've covered all key design decisions throughout the process, if not, I can add more to the RFC


Question regarding preprocessing/denoising of fmri derivatives

Hi,
First, thanks for this amazing resource.
I had a question regarding the pre-processing/denoising of the filtered_timeseries derivatives. I understand that the data undergo additional preprocessing beyond minimally preprocessed data, and the DCAN preprocessing program is used for this. The preprint outlines that a filtering process for the motion estimates was applied, and these filtered motion estimates were then regressed out. I wanted to confirm that no other denoising such as regression of wm/csf, bandpass filtering, detrending or volume censoring was applied to the derivatives?
For context, we are trying to assess where the preprocessing and denoising of fmri data used in the brain-wide association paper are identical to derivatives provided here.
Thanks!

Thanks for your question! @ericfeczko will be able to answer this for you soon.

Hi - I found the answer in the provided docs - thanks!

Great! I'm glad the documentation helped! Please let us know if you have any additional questions.


Issue with nuxtJs

This plugin works well in development environment but in production nothing shows.

I believe you're referring to this id id: 'ca-pub-34xxxxxxxxxxxxxx',, it was set up it works on test env and doesn't work on live https://www.travtubes.com/restaurant/?restaurant=port-desina

Stale ☺


Create plugin-cloudshell-sandbox.yml

Description
Adding new plugin to the list.
The CloudShell Sandbox Jenkins Plugin provides an easy way to consume CloudShell sandboxes through Jenkins for a variety of use cases. The plugin allows you to build jobs that create on demand sandboxes in CloudShell based on pre-defined blueprints.
CloudShell Sandbox Plugin:
https://github.com/jenkinsci/cloudshell-sandbox-plugin

Submitter checklist for changing permissions

Always

[X] Add link to plugin/component Git repository in description above

For a newly hosted plugin only

[ ] Add link to resolved HOSTING issue in description above

For a new permissions file only

[X] Make sure the file is created in permissions/ directory
[X] artifactId (pom.xml) is used for name (permissions YAML file).
[X] groupId / artifactId (pom.xml) are correctly represented in path (permissions YAML file)
[X] Check that the file is named plugin-${artifactId}.yml for plugins

When adding new uploaders (this includes newly created permissions files)

[ ] Make sure to @mention an existing maintainer to confirm the permissions request, if applicable
[ ] Use the Jenkins community (LDAP) account name in the YAML file, not the GitHub account name
[ ] All newly added users have logged in to Artifactory at least once

Please complete the checklist. Thanks!

@daniel-beck  - Thanks for the quick response. Updated all requested information 👍

Hi @daniel-beck  :-)
Thanks for the help.
Quick question: how do I verify that my permissions are not valid and i can upload the plugin?
Do i need to execute anything to achieve that?
At the moment it seems like when i'm trying to release my plugin to https://repo.jenkins-ci.org/releases i'm getting an "Unauthorized" error message...
Thanks!

Unauthorized

HTTP 401 ≠ HTTP 403, so that is unrelated. Responded in the hosting issue if that was you.


org.jkiss.dbeaver.DBException: Can't find reference node ... for virtual foreign key

System information:

Operating system (distribution) and version: Windows 10 v1903
DBeaver version: 6.2.1
Java version: OpenJDK v11.0.2
Additional extensions: None

Connection specification:

Database name and version: SQL Server v11.0.2218.0
Driver name: SQL Server

Do you use tunnels or proxies (SSH, SOCKS, etc)?: No

Describe the problem you're observing:
After renaming a virtual foreign key referenced table, the referencing the table cannot be added to ERDs. On the table view, ER Diagram tab throws an error like below. I couldn't find a way to remove the virtual foreign key, so I created another same connection.
org.jkiss.dbeaver.DBException: Can't find reference node database://mysql8-16a34696134-2e52b48456342260/org.jkiss.dbeaver.ext.mysql.model.MySQLCatalog/FOO/org.jkiss.dbeaver.ext.mysql.model.MySQLTable/cms-role_master for virtual foreign key
Can't find reference node database://mysql8-16a34696134-2e52b48456342260/org.jkiss.dbeaver.ext.mysql.model.MySQLCatalog/FOO/org.jkiss.dbeaver.ext.mysql.model.MySQLTable/cms-role_master for virtual foreign key
Can't find reference node database://mysql8-16a34696134-2e52b48456342260/org.jkiss.dbeaver.ext.mysql.model.MySQLCatalog/FOO/org.jkiss.dbeaver.ext.mysql.model.MySQLTable/cms-role_master for virtual foreign key

Steps to reproduce, if exist:
This may be not exact, but I'll try to explain.

Add a virtual foreign key referencing table B to table A.
Change the name of table B
Table A cannot be added to ERDs. On the table view, ER Diagram tab throws an error.

Now we update virtual model on entity rename in real database model.
This won't work if table was renamed outside of dbeaver but there is nothing we can do in this situation.

verified


Update pep508_rs and pep440_rs

Update pep508_rs and pep440_rs crates
Main reason is to use VerbatimUrl from pep508_rs and try to fix issues around file:///${PROJECT_ROOT}/etc dependencies.
Note that monotrail-utils is still using the older pep508_rs.
Fixes #912

This is in an attempt to solve #912. In this case by using the real absolute path as the Url and the ${PROJECT_ROOT}/../relative path as the "given" part of the URL, let's see how that works out.
Remains to be done - test the monotrail dependent import.
Add additional tests for #912 - or do that separately?

Now it's working, but it certainly does not feel solid around VerbatimUrl and ${}'s.

rebased

Feedback on this is welcome. Updating crates is ok? Fixing relative paths is ok or a bad idea? We could go other ways, like adopting another convention for relative paths than the ${PROJECT_ROOT} stuff here?

Can you explain why the original failure is happening? I.e., why is PROJECT_ROOT problematic in a virtual project?

The bug is just general to rye add with relative paths.
The default rye init project is not virtual and build system is hatchling. In this configuration, currently, Rye does not support relative paths with git add. It just makes them absolute. So, no bug with the default project.
This bug shows up in for example rye init --virtual and rye init --build-system pdm projects where rye add thinks it supports relative path dependencies, and fails to construct the URL for it.
So we could say that ${PROJECT_ROOT} is always problematic for rye add currently - it seems to work in rye sync though.
This PR is my attempt to fix this in a "minimal" way. It's not great that the PR mixes two things - updating deps and fixing bugs in add, but when I wrote this I didn't want to leave stuff in a half broken state.

There's a lot more we'd like to do with relative paths, but I need some buy in from @mitsuhiko I feel. It would be great to adopt some ideas from uv where you have done the hard work of finding out what's interoperable with pip and what is not - see PR https://github.com/astral-sh/uv/pull/3682

rebased and dropped the changelog update because the newest changelog seemed to be autogenerated

Will close


Align the layout with Markdown standards

No content changes, just header levels and one list spacing

Out of curiosity, is that our own standard or are there guideline around this?

There are multiple ones. I usually use GitHub Flavoured Markdown:
https://github.github.com/gfm . Some implementations, including Material
for MkDocs, use another renderer, and there re some behavioral differences.
But even GFM is quite extensive on how to do lists, though in fact GitHub
is more permissive
On Tue, Jul 30, 2024 at 9:12 PM Martin Bonnin @.***>
wrote:

Out of curiosity, is that our own standard or are there guideline around
this?
—
Reply to this email directly, view it on GitHub
https://github.com/GradleUp/gratatouille/pull/11#issuecomment-2259031755,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAW4RIFHJYABBBTFF77IQU3ZO7QRLAVCNFSM6AAAAABLVSMWCWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENJZGAZTCNZVGU
.
You are receiving this because you authored the thread.Message ID:
@.***>

But this PR replaces h1 with h2, h2 with h3, etc... Is that something expected in READMEs? Or something we should do moving forward for inclusion in mkdocs?

Normally in markdown the first level becomes a title (h1 in the layouts)
and the next levels align accordingly. Most markdown engines are robust
against different configurations, but I aligned it with normal style while
around
On Tue, Jul 30, 2024, 21:35 Martin Bonnin @.***> wrote:

But this PR replaces h1 with h2, h2 with h3, etc... Is that something
expected in READMEs? Or something we should do moving forward for inclusion
in mkdocs?
—
Reply to this email directly, view it on GitHub
https://github.com/GradleUp/gratatouille/pull/11#issuecomment-2259069394,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAW4RIAUHOSXJ2OMEDQ5VXTZO7TJFAVCNFSM6AAAAABLVSMWCWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENJZGA3DSMZZGQ
.
You are receiving this because you authored the thread.Message ID:
@.***>


Why is JsonStructure required when it is part of Java EE?

The unimplemented method the error is talking about is:  JsonStructure toJson() throws IOException;
I am trying to build a Json response but I can't get past this phase when implementing RsJson.Source. Is there a right way to do this?

@leroneb It's likely due to the way takes handles dependencies.
https://github.com/yegor256/takes/blob/master/pom.xml#L92
javax.* dependencies are marked provided as well (should they be?)

@leroneb indeed, we expect Json Java implementation to be provided by your classpath. Just add these two dependencies to your POM and you will be fine:
    <dependency>
      <groupId>javax.json</groupId>
      <artifactId>javax.json-api</artifactId>
      <version>1.1.4</version>
    </dependency>
    <dependency>
      <groupId>org.glassfish</groupId>
      <artifactId>javax.json</artifactId>
      <version>1.1.4</version>
    </dependency>

Job gh:yegor256/takes#1089 is not assigned, can't get performer


404 missing index.jsp from gitblit war file and java.lang.NoClassDefFoundError

Hello. I am a noob at Apache Tomcat. I downloaded gitblit-1.8.0.war from http://gitblit.com/ . I renamed it to gitblit.war and placed it under /usr/share/tomcat/webapps on my server. I then tried to load http://mydomain.com:8080/gitblit in my browser, and I get a blank page. I checked the logs, and there are 404 errors. I've never had this happen before. I checked the war file. It doesn't contain an index.jsp file.
I have several log files for Apache Tomcat.
localhost.2020-02-09.log
http://vpaste.net/J0DH0
catalina.2020-02-09.log
http://vpaste.net/47B7T
Another log file:
<IP_ADDRESS> - - [09/Feb/2020:00:12:52 -0600] "GET /gitblit/ HTT P/1.1" 404 - <IP_ADDRESS> - - [09/Feb/2020:00:24:30 -0600] "GET /favicon.ico HTTP/1.1" 404 - <IP_ADDRESS> - - [09/Feb/2020:01:25:53 -0600] "GET /favicon.ico HTTP/1.1" 404 - <IP_ADDRESS> - - [09/Feb/2020:01:25:56 -0600] "GET /gitblit/ HTT P/1.1" 404 - 2a00:1098:84:1c8:0:0:0:157 - - [09/Feb/2020:01:29:46 -0600] "GET /gitblit HTTP/1.1" 404 -

Hi!
I haven't found the time to investigate more, but I take it you are running this with Java 11?
Can you download the newest version 1.9.0 and try with that, first?
Thanks.

Sorry. I uninstalled Tomcat and Gitblit in favor of running Gitea on my server. I'll make another report for the Gitblit irc hook I wrote in Groovy a while back, and hopefully it will be included with Gitblit.

My Java version.
[bull@odin ~]$ java -version
openjdk version "13.0.2" 2020-01-14
OpenJDK Runtime Environment 19.9 (build 13.0.2+8)
OpenJDK 64-Bit Server VM 19.9 (build 13.0.2+8, mixed mode, sharing)
[bull@odin ~]$ javac -version
javac 13.0.2
[bull@odin ~]$ rpm -qa | grep -E 'java|jdk'
copy-jdk-configs-3.3-10.el7_5.noarch
java-latest-openjdk-headless-<IP_ADDRESS>-1.rolling.el7.x86_64
java-latest-openjdk-devel-<IP_ADDRESS>-1.rolling.el7.x86_64
javapackages-tools-3.4.1-11.el7.noarch
java-latest-openjdk-<IP_ADDRESS>-1.rolling.el7.x86_64
java-1.8.0-openjdk-<IP_ADDRESS>.b08-0.el7_7.x86_64
tzdata-java-2019c-1.el7.noarch
java-1.8.0-openjdk-devel-<IP_ADDRESS>.b08-0.el7_7.x86_64
python-javapackages-3.4.1-11.el7.noarch
java-1.8.0-openjdk-headless-<IP_ADDRESS>.b08-0.el7_7.x86_64
[bull@odin ~]$

I am closing this a fixed, then, as the ClassNotFound error was a bug when running in Tomcat with Java 11+ and is fixed in version 1.9.0. I could not reproduce this with 1.9.0.


Content type bindings are not resolved with applying a template to a subweb.

From: https://www.yammer.com/itpronetwork/#/threads/show?threadId=528732346&messageId=529245804
I have the following scenario, one of my apps needs to be installed on a subsite not on the site collection level, the provisioning engine works perfectly fine on the site collection level. It creates the site columns, content types and then the lists.
However I know this app will be installed on a subsite, so I started testing.
I gave Full Site Collection Permissions and I refactored the code to provision 2 templates.
One that will create the site columns and content types and another one that will create the list instances.
The first one works perfectly fine, when I check site colums and content types are there. However the second one apparently the ContentType Bindings is not working the lists are created but the content types are not bound.
http://screencast.com/t/miElt3jrD
http://screencast.com/t/4OJzNV3mGs

thanks for creating this issue, please let me know if I can be of any help for testing it once its fixed on the dev branch.

Fixed in PR #735 and available in the dev branch now.

I just tested it from the  dev branch and it works perfect.
For the sake of documentation, if someone reads this in the future the code is this:
        XMLFileSystemTemplateProvider provider = new XMLFileSystemTemplateProvider(System.Web.Hosting.HostingEnvironment.MapPath("~/Template/"), "");
                string templateName = "features.xml";
                string templateName2 = "ContentTypes.xml";
                string templateName3 = "template.xml";

                try
                {
                    ProvisioningTemplate p1 = provider.GetTemplate(templateName);
                    cc.Web.ApplyProvisioningTemplate(p1);
                    ProvisioningTemplate p2 = provider.GetTemplate(templateName2);
                    cc.Site.RootWeb.ApplyProvisioningTemplate(p2);
                    ProvisioningTemplate p3 = provider.GetTemplate(templateName3);
                    cc.Web.ApplyProvisioningTemplate(p3);

                }

First xml activates features on the subsite
Second XML creates site fields and content types on the site collection level (root web)
Third xml creates lists instances and views on the subsite.

You can mark it as fixed/closed.

Thanks!


Fixed text field size by finding UIFieldEditor and getting the real cont...

...ent size. Added margin to all edges. Invoked [self setup] in initWithCoder: to enable Storyboards.

@MsrButterfly This addresses major issues.
thanks for the PR, I hope it is merged by @zoonooz

Hey @MsrButterfly
How did you find UIFieldEditor?
I'm having a bug related to its bounds on iOS 10, it basically sets itself to a out of screen position. I'm trying to figure out how to find it to manually set its bounds.

@filipealva These fixes are based on iOS9, I don't know whether it works on iOS10 or not. UIFieldEditor is searched by tranverse all subviews and compared the classnames.


Contract document error

Describe the bug
After uploading the contract, the Contracting role, PM and Applicant are not able to view the contract doc. The document link throws an error.
To Reproduce
Steps to reproduce the behavior:

Go to the contracting stage for a project (as a pm or contracting role)
Click on uploaded doc link that goes by a date in contracts block.
See error - the new tab throws and error. The contract doc isn't visible.

Expected behavior
The doc should show, i believe?
Priority

Medium (slowing you down) - probably high if it's getting in the way of the contracting process.

Affected roles

Staff
Contracting role
Applicant

Screenshots

Error:

Desktop (please complete the following information):
OS: [iOS]
Browser [chrome]
Version [Version 109.0.5414.119 ]

The URL is missing the domain "https://projects/43/contracts/test.pdf?………", it should be something like "https://test-apply.hypha.app/projects/………"

oh okay. is that a user error or we need to fix something on the system? because i simply clicked on the the link (as in the image with the arrow)

It is a bug, should be easy to fix.

I am not able to produce it locally but it is not working on test site for me as well. I think it might be the private media file issue.
We have a ContractPrivateMediaView view, let me use it for this instead using file.url direclty. I am just going to create a PR for this.

@frjo I just created a PR #3170 to fix this url issue. I think we can put this to test.


Fixes nolanlawson/pouchdb-find#100.

My Cloudant DB that I replicated to Pouch has design docs with no views present (for some reason).
Fixes nolanlawson/pouchdb-find#100.

Sorry for the delay @johnnason I will try and look at this soon as I get a chance.

Thanks I've merged this in.


Many-Many not working when combining with id primary

In my case,
RoleUser.$id = ['value of role_id', 'value of role_id']
but
RoleUser.id = alway null,
class User extends Model {
  static entity = 'users'

  static fields () {
    return {
      id: this.attr(null),
      roles: this.belongsToMany(Role, RoleUser, 'user_id', 'role_id')
    }
  }
}

class Role extends Model {
  static entity = 'roles'

  static fields () {
    return {
      id: this.attr(null)
      users: this.belongsToMany(User, RoleUser, 'role_id', 'user_id')
    }
  }
}

class RoleUser extends Model {
  static entity = 'roleUser'

  static primaryKey = ['id', 'role_id', 'user_id']

  static fields () {
    return {
      id:  this.attr(null), // <== I need id is primary belongs with role_id and user_id
      role_id: this.attr(null),
      user_id: this.attr(null)
    }
  }
}

I think it's intended. Unless you're passing RoleUser records directly to the persistent method, the id field will always be its default value, which is null in your case. Iff you want id filed to be populated automatically, you could use increment.
class RoleUser extends Model {
  static entity = 'roleUser'

  static primaryKey = ['id', 'role_id', 'user_id']

  static fields () {
    return {
      id:  this.increment(null), // <- Use `increment` instead.
      role_id: this.attr(null),
      user_id: this.attr(null)
    }
  }
}

In my case, RoleUser.id is UUID. and it's foreign key to another table. The problem when I get id from pivot (more fields). It's alway null.

@canhkieu How do you insert the data? If you pass that UUID to for example RoleUser.insert({ data }), it should work. Could you give me the insert part of your code?

models\User.js
export default class User extends Model {
  static entity = 'user'

  static fields() {
    return {
      id: this.attr(null),
      name: this.string(''),
      roles: this.belongsToMany(Role, UserRole, 'user_id', 'role_id'),
      pivot: this.hasMany(UserRole, 'user_id')
    }
  }
}

models\Role.js
export default class Role extends Model {
  static entity = 'role'

  static fields() {
    return {
      id: this.attr(null),
      name: this.string(''),
      users: this.belongsToMany(User, UserRole, 'role_id', 'user_id')
    }
  }
}

models\UserRole.js
export default class UserRole extends Model {
  static entity = 'userRole'
  static primaryKey = ['id', 'user_id', 'role_id']

  static fields() {
    return {
      id: this.attr(null),
      custom_field: this.string(''),
      user_id: this.attr(null),
      role_id: this.attr(null)
    }
  }
}

INSERT DATA
let roles = [
      {
        id: "",
        name: 'admin',
        users: [
          { id: 1, name: 'admin 1' },
          { id: 2, name: 'admin 2' }
        ]
      },
      {
        id: 2,
        name: 'user',
        users: [
          { id: 3, name: 'user 1' },
          { id: 4, name: 'user 2' }
        ]
      }
    ];

    Role.insert({data: roles})

The result.

@canhkieu Oh yeah, in this case, the id of RoleUse wouldn't be generated... Because Vuex ORM has no idea what it should be. It can't read it from the data getting passed.
If you need to have ID of RoleUser, you need to pass that data as well. It could be pain, but not sure if there's anyway to nicely handle this situation.

Closing the issue due to inactivity. Please feel free to open another issue if there's anything! 🤝


Cannot get image/video from DFK 42BUC03 on Linux

Describe the bug
Even after installing the drivers from the .deb packaged, I cannot get any pictures on Linux (Ubuntu 22.04).
The camera works on Windows no problem.
The device shows up on lsusb:
$ lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 004: ID 06cb:00f0 Synaptics, Inc.
Bus 003 Device 002: ID 04f2:b6bf Chicony Electronics Co., Ltd HP HD Camera
Bus 003 Device 005: ID 8087:0026 Intel Corp. AX201 Bluetooth
Bus 003 Device 012: ID 199e:8208 The Imaging Source Europe GmbH DFK 42BUC03
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

but not at all as /dev/video. There I only see the builtin laptop camera. tcam-ctrl -l gives me nothing.
After going through other issues posted here, I've changed the camera from running on proprietary mode to uvc via the
firmware update tool:
$ ./tcam-firmware-update -id 48410323

Device manufacturer: The Imaging Source Europe GmbH
Product name:        DFK 42BUC03
Serial number:       48410323
VendorID:ProductID:  199e:8308
Firmware version:    135
UVC mode is:         on
Camera EEPROM size:  32768`

Then it shows up on /dev/video, and also on `tcam-ctrl -l`. However, `tcam-capture` gives me only a black screen.

In case this is of any use, here is the output of v4l2 (video0 to video3 correspond to the builtin cameras):
`$ v4l2-ctl -d /dev/video4 --all
Driver Info:
	Driver name      : uvcvideo
	Card type        : DFK 42BUC03
	Bus info         : usb-0000:00:14.0-1
	Driver version   : 6.2.16
	Capabilities     : 0x84a00001
		Video Capture
		Metadata Capture
		Streaming
		Extended Pix Format
		Device Capabilities
	Device Caps      : 0x04200001
		Video Capture
		Streaming
		Extended Pix Format
Media Driver Info:
	Driver name      : uvcvideo
	Model            : DFK 42BUC03
	Serial           : 48410323
	Bus info         : usb-0000:00:14.0-1
	Media version    : 6.2.16
	Hardware revision: 0x00000813 (2067)
	Driver version   : 6.2.16
Interface Info:
	ID               : 0x03000002
	Type             : V4L Video
Entity Info:
	ID               : 0x00000001 (1)
	Name             : DFK 42BUC03
	Function         : V4L2 I/O
	Flags            : default
	Pad 0x01000007   : 0: Sink
	  Link 0x02000010: from remote pad 0x100000a of entity 'Extension 4' (Video Pixel Formatter): Data, Enabled, Immutable
Priority: 2
Video input : 0 (Input 1: ok)
Format Video Capture:
	Width/Height      : 1280/720
	Pixel Format      : 'GRBG' (8-bit Bayer GRGR/BGBG)
	Field             : None
	Bytes per Line    : 1280
	Size Image        : 921600
	Colorspace        : sRGB
	Transfer Function : Default (maps to sRGB)
	YCbCr/HSV Encoding: Default (maps to ITU-R 601)
	Quantization      : Default (maps to Full Range)
	Flags             :
Crop Capability Video Capture:
	Bounds      : Left 0, Top 0, Width 1280, Height 720
	Default     : Left 0, Top 0, Width 1280, Height 720
	Pixel Aspect: 1/1
Selection Video Capture: crop_default, Left 0, Top 0, Width 1280, Height 720, Flags:
Selection Video Capture: crop_bounds, Left 0, Top 0, Width 1280, Height 720, Flags:
Streaming Parameters Video Capture:
	Capabilities     : timeperframe
	Frames per second: 30.000 (30/1)
	Read buffers     : 0

User Controls

                           gain 0x00980913 (int)    : min=34 max=255 step=1 default=16 value=36

Camera Controls

         exposure_time_absolute 0x009a0902 (int)    : min=1 max=300000 step=1 default=127 value=127
                        privacy 0x009a0910 (bool)   : default=0 value=0
                        trigger 0x0199e208 (bool)   : default=0 value=0
                        binning 0x0199e925 (int)    : min=1 max=1 step=1 default=1 value=1
                       x_offset 0x0199e927 (int)    : min=0 max=64224 step=2 default=0 value=656
                       y_offset 0x0199e928 (int)    : min=0 max=64552 step=2 default=0 value=612
   trigger_global_reset_shutter 0x0199e92a (bool)   : default=0 value=0

I have also tried the following command
$ v4l2-ctl -d /dev/video4 --set-fmt-video=width=1280,height=720,pixelformat=GRBG --stream-mmap --stream-count=1 --stream-to=FILE.raw

It works fine for the builtin cameras, but not for the DFK one.

INFO:
Working with src caps: video/x-bayer, framerate=(fraction)15/2, width=(int)2592, height=(int)1944, binning=(string)1x1, skipping=(string)1x1, format=(string)grbg
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
ERROR: from element /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstXvImageSink:autovideosink0-actual-sink-xvimage: Output window was closed
Additional debug info:
../sys/xvimage/xvimagesink.c(568): gst_xv_image_sink_handle_xevents (): /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstXvImageSink:autovideosink0-actual-sink-xvimage
Execution ended after 0:00:44.047892677
Setting pipeline to NULL ...
Freeing pipeline ...

but again a black screen...
Additionally, and I don't know if this is relevant, in uvc mode the camera produces a black image also on Windows.
I have also tried building tiscamera from source, but that fared no better than using the .deb installation.
computer used:

OS: Ubuntu 22.04
Architecture/Platform: amd64
Camera  DFK 42BUC03
tiscamera version:

$ tcam-ctrl --version
Versions:
	Tcam:	1.1.1_master/0be2537f_rev_4143
	Aravis:	0.8_version_e977fa4
	Modules:	gst_aravis_arvu3v_v4l2_libusb_tools_doc

Hello
The camera needs a firmware update in order to become v4l2 compatible.
Please clone the repository from https://github.com/TheImagingSource/tcam-firmware-update
The firmware to be written into your camera is /firmware/usb2/dfk42uc03_3014.euvc.

Many thanks! If only I had had the guts to try updating the firmware sooner... :D


Parser cleanup

This PR contains a few extensions to the bdf-parser crate and some general cleanup. The most important changes are in the Glyph struct, which was missing fields for the character width and used to use an inconvenient Vec<u32> to store the bitmap data.

@jamwaffles Could you give me some more permissions in this repo? I can't event request a review from you.

Yes, sorry about that. I changed the e-g core team permissions to Maintain. Can you see if it works now?

Seems to work, thanks.

We might want to consider setting up some CircleCI/justfile build commands at some point.

That would be useful. I'll add a justfile when I import the embedded-bdf crates. We will also need to build a new docker image with at least version 1.44.0 for this repo.

That would be useful. I'll add a justfile when I import the embedded-bdf crates.

:+1:

We will also need to build a new docker image with at least version 1.44.0 for this repo.

A good opportunity to set up the build-tools repo :grin:


Bootstrapping the initiative: TODOs?

A few TODOs come to mind:

Starting a team for looking into the package shipping patterns. We'll need to set up contribution guidelines and team onboarding/offloading/consensus seeking. It would be great if we can get maintainers of bundlers and package automation tools involved to discuss and keep folks on the same page about the understanding of these practices.
Looking into existing shipping patterns on npm. When I was investigating the module loading patterns of high-impact npm packages, I saw there are many packages out there using patterns that are not documented in the previous package.md. In fact the practices recommended by the previous documentation were considered less preferable in some cases. See https://github.com/nodejs/node/issues/52174 which recommends node/default over import/require. We should look into documenting what the community actually does, and if necessary, document discussions about their pros and cons.
Discuss the recommended way to ship packages for various kinds of support goals. In particular, for these scenario

A package that has been authored in TypeScript/ESM, and has been shipping dual or faux ESM, and wish to ship native ESM for newer versions of Node.js
A package that has been authored in CJS, and wish to transition to ESM while maintaining CJS support for older Node.js releases while require(esm) is still experimental.
..more scenarios to come, we should open separate issues to track these, but we'll get more productive after 1 is done.

Reaching out to existing high-impact packages that intend to ship native ESM to validate what we document
Work with community content creators to spread the word about the recommended patterns and migration practices. Maybe also reach out to some high-impact tutorials/documentations out there to update too, to prevent future users from picking up the obsolete practices from the top search results.

cc @nodejs/tsc @nodejs/loaders for visibility

Planning to discuss it at the collaboration summit session https://github.com/openjs-foundation/summit/issues/422

Hello, I attended the early morning session remotely, and I’m currently working on maintaining the react-leaflet-markercluster repository, which was archived for the past two years. One of my initial tasks was to implement ESM support to ensure compatibility with vitest. While I’ve made these adjustments, I’m uncertain if the changes maintain CJS compatibility.
I’m currently reviewing resources on ESM/CJS configuration for Node.js, including this article, to solidify my understanding. Given the small scope of this repository and the few files changed, I’d appreciate a review to confirm my approach. I’m also happy to offer this repo as an example for the broader initiative on shipping patterns.
Here is the PR: https://github.com/yuzhva/react-leaflet-markercluster/pull/214
Thank you!

@charlieforward9 I am not an expert on react but since the PR is using require + import conditions, you might want to give https://github.com/nodejs/node/issues/52174 a read - if the package would be fine to have two instance of itself in the same context and relies on no global state, then it's probably okay. Otherwise it may run into the dual package hazard (ESM code -> import CJS intermediate dependency -> require CJS version of your package + ESM code -> import ESM intermediate -> import ESM version of your package, now a duplicate pair of the CJS and the ESM version of your package are loaded and initialized in the same context)

Notes from the collaboration summit session: https://hackmd.io/V3xtjlcrTIGsemPv8t-tKg

Opened https://github.com/nodejs/package-examples/issues/3 for point 1: starting a team

Removing agenda labels. Team discussions moved to https://github.com/nodejs/package-examples/issues/3


VBoxGuestAdditions config.vbguest.iso_path wrong by default

A few months ago, vagrant stopped updating VBoxGuestAdditions with a very obscure and absurd error and stopped executing other commands.
vagrant up
......................................................................................
[default] GuestAdditions versions on your host (7.0.10) and guest (7.0.8) do not match
......................................................................................
Unmounting Virtualbox Guest Additions ISO from: /mnt
umount: /mnt: not mounted
==> default: Checking for guest additions in VM...
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!

umount /mnt

Stdout from the command:

Stderr from the command:

umount: /mnt: not mounted

It took me a very long time to figure out what was wrong.
It used to update itself perfectly fine, and then suddenly stopped.
It turned out to be this plugin and the incorrect default value of the option config.vbguest.iso_path.
Vagrantconfig.yaml
if Vagrant.has_plugin?("vagrant-vbguest")
	config.vbguest.iso_path = "https://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso"
end

After setting it to the correct value, everything worked as before.
..................................................................
[default] GuestAdditions 7.0.10 running --- OK
..................................................................

I understand that it should be set to this default value!
openSUSE Tumbleweed
https://build.opensuse.org/package/show/Virtualization:vagrant/vagrant-vbguest
vagrant-vbguest: 0.31.0
vagrant: 2.3.7
ruby: 3.2.2
VirtualBox: 7.0.10
Guest: CentOS 6.10

"https://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso" is already the default path for downloading.
Your config.vbguest.iso_path = "..." forces vagrant-vbguest to always download from that URL, instead of using the local IOS file (if it exists). This are the files checked on linux hosts:

"$HOME/.VirtualBox/VBoxGuestAdditions_#{version}.iso"
/usr/share/virtualbox/VBoxGuestAdditions.iso
/usr/lib/virtualbox/additions/VBoxGuestAdditions.iso

Maybe one of these files exist on your host and is corrupted, resulting in a mount failure.

I carefully checked not on any of these paths and other possible paths there is no iso file.
Moreover I didn't find a package in the repositories that provides it.
https://build.opensuse.org/package/show/Virtualization/virtualbox
It looks more like vagrant-vbguest just tries to mount a non-existent file in one of these paths without checking if it exists, and gives a very unclear error, which makes it unclear which file it tried to mount or if it tried to mount at all (unmounting error, but not mounting error).
If you think about it, why would a virtualbox package need to provide a file with a size of more than 50 MB, which is not needed by everyone, and if it is needed, it is needed only once when updating virtualbox. It is much more correct to load it when it is needed and then delete it.
Translated with www.DeepL.com/Translator (free version)

Well, no idea what distro package maintainers do. But the official download (https://www.virtualbox.org/wiki/Linux_Downloads) includes the ISO - as it did since over a decade.

I'm not going to discuss decisions of other software or package maintainers.
If there's no of the local files, vbguest will default to download from the internet. Since the URL pattern hard-coded in vbguest is the same you configured, there should be no difference. However, since you obviously seeing a difference, there must be something else going on.
If you could provide a debug log (https://developer.hashicorp.com/vagrant/docs/other/debugging) we might find out the root cause.

Okay, I'll get it to you later.

I have a very different configuration, and am seeing this same issue.
Configuration:
Host:  Windows 10 Pro (22H2 19045.3324), AMD Phenom(tm) II X4 965 Processor   3.41 GHz, 16 GB RAM
Provider:  VirtualBox 7.0.10
Vagrant:  2.3.7
Console shows:
E:\Vagrant Boxes\stg1.chambermusicamici>vagrant destroy --force
==> default: Destroying VM and associated drives...

E:\Vagrant Boxes\stg1.chambermusicamici>vagrant plugin list
vagrant-vbguest (0.31.0, global)

E:\Vagrant Boxes\stg1.chambermusicamici>set VAGRANT_LOG=debug

E:\Vagrant Boxes\stg1.chambermusicamici>vagrant up 2>&1 | Tee ".\vagrant.log"

I have pasted the resulting vagrant.log file into a Gist:  "https://gist.github.com/dvhirst/0290a083e982272ca7c75e03373742b1s"
Thanks for taking a look.  If you need additional information, please contact me at<EMAIL_ADDRESS>DVH

Made debugging with iso_path definition and default.
https://gist.github.com/ilya-indigo/5ac3a472efd3089de6ee239aafc630c9
From default debugging I did not emphasize anything new for me.
Without any attempt to even determine if I have the image on the host, immediately calling umount /mnt.
 INFO interface: info: Unmounting Virtualbox Guest Additions ISO from: /mnt
Unmounting Virtualbox Guest Additions ISO from: /mnt
DEBUG ssh: Re-using SSH connection.
 INFO ssh: Execute: umount /mnt (sudo=true)
DEBUG ssh: stderr: 41e57d38-b4f7-4e46-9c38-13873d338b86-vagrant-ssh
DEBUG ssh: stderr: umount: /mnt: not mounted
 INFO interface: info: umount: /mnt: not mounted

OK, I see that the error comes up.  What can be done about it?  I don't see a fix or a work-around.  Is one to come out soon?

What can be done about it?
 Vagrantconfig.yaml

if Vagrant.has_plugin?("vagrant-vbguest")
	config.vbguest.iso_path = "https://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso"
end

with regards to #432 can you try to downgrade VirtualBox to 7.0.6 and see if there's any difference?

with regards to #432 can you try to downgrade VirtualBox to 7.0.6 and see if there's any difference?

On openSUSE Tumbleweed as well as on any other rolling distribution where the stable kernel is regularly updated as well as all modules to it, including virtualbox this is not possible.

Yes, a downgrade for VirtualBox to 7.0.6 may make sense.  I'll give that a try and report back here.  I tried the if statement in my most recent Vagrantfile, it made no difference.  Thanks.

Trying VirtualBox 7.0.6 shows other problems.  I've run out of time for now.  Will check back in a couple of weeks and see what has happened.


Multiple select saves non-numerical ID incorrectly in join table

Laravel Version: 5.3.31
Voyager Version: 0.11.7
PHP Version: 7.1

Multiple select doesn't work as intended for join table that has a non-numeric ID for one of the columns.
I have two tables. One is a list of items (id, name, ...) and another is a list of zones (id, name). The zone IDs are non-numerical. They are 1a, 1b, 2a, 2b, etc.
The join table items_zones is a standard Laravel join table with both IDs and timestamps.
I have added a multiselect to the BREAD for "Items" with the relationship to the zones. When I edit an item, it displays the zones properly and I can add new ones into the multiselect but when the data is saved to the join table, it is saved incorrectly. The zone ID is saved as an integer, and the proceeding letter is stripped off. For example adding zone ID '10a' saves '10' to the join table, adding '12b' saves '12', etc.

item_id
zone_id

1
10a // how it should be

1
10 // how it is being saved

I tried looking at the form data that is being posted and it seems like it might be a front end issue with the actual multiselect. It seems to only pass the number 10 when posting.
Content-Disposition: form-data; name="zones[]" 10

still waiting advanced tuts for #616

@ferrywae I looked at the advanced features but I'm not sure if that helps my case. I am not trying to update additional pivot table fields.
items table

id
name

1
Computer

2
Television

zones table

id
name

1a
Danger Zone

1b
Fun Zone

2a
Hot Zone

items_zones table

item_id
zone_id

1
1 //should be 1b

1
2 //should be 2a

The actual pivot IDs are being saved incorrectly by the multiple select input when a non-integer ID is used as one of the pivots.

Found the issue!
Fixed it by adding the following to my Zone model:
public $incrementing = false;


Added code to find area of a circle #375

Good work @Yakshita2003! Congratulations on making your first open-source contribution. Keep learning!


Nanopolish output: no alignments

Hello, I’m working on running nanopolish for methylation calling. My command line was:
nanopolish call-methylation -t 8 -r /home/choilab_tk/nanopore/data/221108_bank7492_NIID_Cas9/20221108_0927_X5_FAV43835_7491c0d0/fastq_pass/pass/merged/output_merged.fastq -b /home/choilab_tk/nanopore/results/221108_bank7492/minimap2/merged/output_merged.bam -g /home/choilab_tk/hg38/hg38.fa -w "chr1:149,390,100-149,391,900" > methylation_calls.tsv
However, when I run above command line, output shows:
[bam process] iterating over region: chr1:149,390,100-149,391,900
[post-run summary] total reads: 26, unparseable: 0, qc fail: 0, could not calibrate: 0, no alignment: 13, bad fast5: 0
Any recommendation on why 50% of total reads cannot be aligned? and how to solve this problem?
For you information, I used Guppy for basecalling, and it command line was:
guppy_basecaller -i /home/choilab_tk/nanopore/data/221108_bank7492_NIID_Cas9/20221108_0927_X5_FAV43835_7491c0d0/fast5_pass -s /home/choilab_tk/nanopore/data/221108_bank7492_NIID_Cas9/20221108_0927_X5_FAV43835_7491c0d0/fastq_pass -c dna_r10.4.1_e8.2_260bps_fast.cfg --num_callers 4 --trim_adapters --trim_primers --compress_fastq

It looks like your data is R10, please see here: https://github.com/jts/nanopolish#a-note-on-r10-support

Thank you for the reply.
According to the link you provided, it recommended to use evenalign command. Also, I noticed that event_level_mean histogram from methylation detection paper demonstrate how methylation chenges the observed current.
I wonder if there is any tutorial for plotting the histogram using ggplot2.

@tait123
f5c is here https://github.com/hasindu2008/f5c/ and the interface is similar to nanopolish.  It supports eventalign and call-methylation for R10. For using f5c with R10, specify --pore r10. If you need some help with it, you can open an issue in f5c repository.


Add kubectl during CI to pass validation

Expected Behaviour

CI should pass, but it's breaking due to kubectl not being present on the machine.
Possible Solution

Add if not present
Steps to Reproduce (for bugs)
See the build logs using the link on the README.md file

Would you like to exit out of ci.sh if kubectl is not present? @alexellis

That sounds good.
Please could you send a pull request to add kubectl to the CI machine?
As far as I am aware this is the reason that CI is currently failing

@alexellis is this still an issue?

No, I fixed it


server.properties not being set

Environment variables,
unable to set to creative mode
unable to set default player to operator
unable to set chests on
Server name      does work
Online mode     does work

cat server.propertise show that settings are being set

hi - i don't quite get this...
do edit server.properties file to set things up as i want them?
Or do i set the environment variables in my docker-compose and then that in turn writes to the server.properties file when the container is restarted/ recreated.
i've got it working but confused on config ?
Tahnks for any help?

I never managed to get the full config to work, I set the environment variables in docker and it wrote them to the config files.
Cat server.properties shows them being written but the server appears to ignore them. maybe a bug in the game?

Since the Bedrock server is still beta this does seem to be one of the glitches due to that. Basically, it acts like most of the properties are only consulted on very first world creation even though the server will echo the modified properties on every startup. Gamemode was the property that most annoyed me.
If you make sure to include -i -t in the docker run, then you can always docker attach to the running server and use one of the commands to change the server behavior at any time.

thanks for this, I'm running from a docker-compose file. Any tips to attach to the instance?

@bingobob with a compose file you'll set
stdin_open: true
tty: true

on the service definition, described here. With that you can docker attach.

How do I add opperators? I changed the permission.json but cant figure out how to apply the change.   I tried permissions reload and it does not accept that command in bedrock.

@creol did you try restarting the server/container to pick up the change? Otherwise I would suggest the docker attach approve above and use the op command to change it at runtime.

@creol did you try restarting the server/container to pick up the change? Otherwise I would suggest the docker attach approve above and use the op command to change it at runtime.

Apparently I am my own worst enemy!
I created one MC container my kids were playing on while I have been working on a second container, but I accidentally forgot to remap the data folder. Both containers were working off the same /data/server.properties file, so of course nothing ever worked. Once I solved that I was able to make the default-player-permission-level=operator work.
Thank you!

I have this exact same issue that @mattotone had above. Changes to the yml file alter the server.properties file and yet only one or two of them ever 'change'. Meaning I can change the MOTD, but the server name won't change.
Examples yml file:

services:
  mc:
    image: itzg/minecraft-server
    ports:
      - 25565:25565
    environment:
      EULA: "TRUE"
      OVERRIDE_SERVER_PROPERTIES: "true"
      MOTD: "Chaos Vibes Only"
      SERVER_NAME: "den"
      SEED: "-7783854906403730143"
    restart: unless-stopped
    volumes:
      - ./minecraft-data:/data

Produces server.properties file
$ cat server.properties | grep name
level-name=world
server-name=den

Bringing up the server with docker-compose it shows the Minecraft's servers name as Minecraft Server
I'm really stumped as to why it's not taking the setting (yet the MOTD) was updated for some reason). I thought that OVERRIDE_SERVER_PROPERTIES: "true" would fix it but it didn't.
Any suggestions?

I have this exact same issue that @mattotone had above. Changes to the yml file alter the server.properties file and yet only one or two of them ever 'change'. Meaning I can change the MOTD, but the server name won't change.
Examples yml file:

services:
  mc:
    image: itzg/minecraft-server
    ports:
      - 25565:25565
    environment:
      EULA: "TRUE"
      OVERRIDE_SERVER_PROPERTIES: "true"
      MOTD: "Chaos Vibes Only"
      SERVER_NAME: "den"
      SEED: "-7783854906403730143"
    restart: unless-stopped
    volumes:
      - ./minecraft-data:/data

Produces server.properties file
$ cat server.properties | grep name
level-name=world
server-name=den

Bringing up the server with docker-compose it shows the Minecraft's servers name as Minecraft Server
I'm really stumped as to why it's not taking the setting (yet the MOTD) was updated for some reason). I thought that OVERRIDE_SERVER_PROPERTIES: "true" would fix it but it didn't.
Any suggestions?

@bendinwire so the server.properties entry
server-name=den

reflects the environment variable setting of SERVER_NAME: "den", right? If so, then this is an issue separate from the image startup scripts.

@bendinwire so the server.properties entry
server-name=den

reflects the environment variable setting of SERVER_NAME: "den", right? If so, then this is an issue separate from the image startup scripts.

I agree with you that the yml seems to be producing the correct correlated file in server.properties, however when you view the server from a Minecraft client the name of the server still reads "Minecraft Server".

I agree with you that the yml seems to be producing the correct correlated file in server.properties, however when you view the server from a Minecraft client the name of the server still reads "Minecraft Server".

It sounds like an issue to report with Mojang.

It sounds like an issue to report with Mojang.


Vulnerability roundup 106: dxflib-3.17.0: 1 advisory [8.8]

search, files

[ ] CVE-2021-21897 CVSSv3=8.8 (nixos-21.05, nixos-unstable)

CVE details
CVE-2021-21897
A code execution vulnerability exists in the DL_Dxf::handleLWPolylineData functionality of Ribbonsoft dxflib 3.17.0. A specially-crafted .dxf file can lead to a heap buffer overflow. An attacker can provide a malicious file to trigger this vulnerability.

Scanned versions: nixos-21.05: 6120ac5cd20; nixos-unstable: bc9b956714e.
Cc @7c6f434c

Fixed in #141118


08/08/2018 01:49 : Create Pull Request for branch master -> prTesting1_2018080801

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

split/updateTestRef1.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Proxy not saved to zos network file during  zos create if you fail init method

I think this is actually not a bug. The proxy is never deployed if initialization fails, since deployment and initialization are atomic (they all happen on the same tx). That said, we could display a nicer error.

It says Deployed  ProxyAdmin at .... that is clear misinformation then.

That's the ProxyAdmin (not the Proxy) which gets deployed the first time you create a proxy on that network, and that one does get deployed (as far as I understood). It is confusing though that one is a ProxyAdmin and the other a Proxy.

 The fact that I got tricked leads me to belive that average dev starting to use platform will have no idea about ProxyAdmin/Proxy difference.

I think we should then explicitly say that contract has not been deployed. That would be important for mainnet deployments.

If initialization fails due to a parser error (as in the screenshot) or any other reason, notify the user and be explicit that the instance was not created.


Update Fastlane 2.212.1 (Because previous versions locks apple account)

Tool name
Fastlane
Tool license
MIT
Add or update?

[ ] Add
[X] Update

Desired version
2.212.1
Approximate size
No response
Brief description of tool
No response
URL for tool's homepage
No response
Provide a basic test case to validate the tool's functionality.
No response
Platforms where you need the tool

[ ] Azure DevOps
[ ] GitHub Actions

Runner images where you need the tool

[ ] Ubuntu 18.04
[ ] Ubuntu 20.04
[ ] Ubuntu 22.04
[ ] macOS 11
[ ] macOS 12
[ ] Windows Server 2019
[ ] Windows Server 2022

Can this tool be installed during the build?
No response
Tool installation time in runtime
No response
Are you willing to submit a PR?
No response

See details about issue that caused Apple account locking here:
https://github.com/fastlane/fastlane/pull/21073

Hello @einar-notland, this fix will be applied in next week's release.

Hello @einar-notland, this fix will be applied in next week's release.

Seems like its only 2.212.0 thats included in this weeks release. You should really consider changing that to 2.212.1, its really anoying for us using fastlane to upload apps that we currently cannot use GitHub Actions to do it.


[Question] Integrate with beet.js

I am looking to use beet.js for a musical project. But I like the effects pizzicato and am wondering if its possible to use pizzicato with an audiocontext that is being used by beet,js. Something like beet.js -> pizzicato.js. Thanks.

@pr1ntr Should be possible. As I can see from beet.js examples you have to create a new context anyway.
var context = new AudioContext(); var beet = new Beet({   context: context });
Just set
Pizzicato.context = context
And then you can use them together with one shared context :)


tsconfig files list makes source control checkin difficult

filesGlob is a nice way to reduce churn on file lists in the tsconfig.  However, after adding it atom updates the tsconfig ever time you add a file to complete the files list.
I would love to use tsconfig as part of our build process, but having a change to this file every time a new file is added to the project creates massive churn and constant merge conflicts.
Can we make it so the file list cache is posted into a cache file instead that can be separately git ignored?

file list cache is posted into a cache file

Its not a cache. We evaluate filesGlob irrespective of what files says. The reason why files exist is because the official spec only supports files : https://github.com/TypeStrong/atom-typescript/blob/master/docs/tsconfig.md#tsconfigjson So we actively keep files in match with filesGlob so that you can use the project with stuff like sublime text. Sadly files needs to be in tsconfig.json even though we actually don't care to use it in presence of filesGlob. :rose:


Enable use in WASM by replacing usages of strcat with strncat

When compiling Tree-sitter grammars to WASM, only a limited set of functions from the C stdlib are available. The list of functions is defined here: https://github.com/tree-sitter/tree-sitter/blob/master/lib/src/wasm/stdlib-symbols.txt.
One use case for compiling grammars to WASM is adding them as extensions to the Zed editor. @zetashift has begun work on a Unison extension for Zed, here: https://github.com/zetashift/unison-zed.
It looks like the WASM build is currently failing due to a use of strcat. This function is not available under Tree-sitter's WASM runtime, but its safer cousin, strncat is (as of the latest master branch of Tree-sitter).
To check that the grammar works in WASM, you can run the tree-sitter build-wasm command. This might be a good thing to do in CI.
Note that the strncat function was just added on master, and isn't yet in the latest release.

Hm, building breaks with strncat because my platform (OSX) requires a third argument. I need to look into this.

Yeah, strncat takes a length argument.


R2RML join translation without join conditions in rr:parentsTripleMap

Hi, I am working with LinkedSensorData and ontop/quest and have encountered the following problems.
This is my database table schema
describe _4UT01;
+------------------+---------------+------+-----+-------------------+-----------------------------+
| Field            | Type          | Null | Key | Default           | Extra                       |
+------------------+---------------+------+-----+-------------------+-----------------------------+
| time             | timestamp     | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
| Precipitation    | decimal(10,0) | YES  |     | NULL              |                             |
| RelativeHumidity | decimal(10,0) | YES  |     | NULL              |                             |
| WindGust         | decimal(10,0) | YES  |     | NULL              |                             |
| WindSpeed        | decimal(10,0) | YES  |     | NULL              |                             |
| AirTemperature   | decimal(10,0) | YES  |     | NULL              |                             |
| DewPoint         | decimal(10,0) | YES  |     | NULL              |                             |
| WindDirection    | decimal(10,0) | YES  |     | NULL              |                             |
+------------------+---------------+------+-----+-------------------+-----------------------------+

+----------+
| count(*) |
+----------+
|     1151 |
+----------+

This is my R2RML ttl mapping
@prefix rr: <http://www.w3.org/ns/r2rml#> .
@base <http://mappingpedia.org/rdb2rdf/r2rml/tc/> .

<TripleMap1>
	rr:predicateObjectMap [
	      rr:predicateMap [ rr:constant <http://knoesis.wright.edu/ssw/ont/sensor-observation.owl#floatValue> ];
	      rr:objectMap    [ rr:termType rr:Literal; rr:column "WindDirection"; ];
	    ];
	rr:predicateObjectMap [
	      rr:predicateMap [ rr:constant <http://knoesis.wright.edu/ssw/ont/sensor-observation.owl#uom> ];
	      rr:objectMap    [ rr:constant <http://knoesis.wright.edu/ssw/ont/weather.owl#degrees> ];
	    ];
	a rr:TriplesMap;
	rr:logicalTable [
	  rr:tableName  "_4UT01";
	];
	rr:subjectMap [
	    a rr:Subject;
	    rr:constant <c5c22078bb8c9b2d975e418f81ed7a5b>;
	    rr:class <http://knoesis.wright.edu/ssw/ont/sensor-observation.owl#MeasureData>;
	  ];
.

<TripleMap15>
	rr:predicateObjectMap [
	      rr:predicateMap [ rr:constant <http://knoesis.wright.edu/ssw/ont/sensor-observation.owl#result> ];
	      rr:objectMap    [ rr:parentTriplesMap <TripleMap1> ];
	    ];
	rr:predicateObjectMap [
	      rr:predicateMap [ rr:constant <http://knoesis.wright.edu/ssw/ont/sensor-observation.owl#procedure> ];
	      rr:objectMap    [ rr:constant <http://knoesis.wright.edu/ssw/System_4UT01> ];
	    ];
	rr:predicateObjectMap [
	      rr:predicateMap [ rr:constant <http://knoesis.wright.edu/ssw/ont/sensor-observation.owl#observedProperty> ];
	      rr:objectMap    [ rr:constant <http://knoesis.wright.edu/ssw/ont/weather.owl#_WindDirection> ];
	    ];
	rr:predicateObjectMap [
	      rr:predicateMap [ rr:constant <http://knoesis.wright.edu/ssw/ont/sensor-observation.owl#samplingTime> ];
	      rr:objectMap    [ rr:parentTriplesMap <TripleMap4> ];
	    ];
	a rr:TriplesMap;
	rr:logicalTable [
	  rr:tableName  "_4UT01";
	];
	rr:subjectMap [
	    a rr:Subject;
	    rr:termType rr:IRI;
	    rr:template "http://example/{time}";
	    rr:class <http://knoesis.wright.edu/ssw/ont/weather.owl#WindDirectionObservation>;
	  ];
.

<TripleMap4>
	rr:predicateObjectMap [
	      rr:predicateMap [ rr:constant <http://www.w3.org/2006/time#inXSDDateTime> ];
	      rr:objectMap    [ rr:termType rr:Literal; rr:column "time"; ];
	    ];
	a rr:TriplesMap;
	rr:logicalTable [
	  rr:tableName  "_4UT01";
	];
	rr:subjectMap [
	    a rr:Subject;
	    rr:constant <5a164ca3365479cadfaf634a98ae5d1d>;
	    rr:class <http://www.w3.org/2006/time#Instant>;
	  ];
.

I have the following SPARQL query
SELECT *
WHERE {
	?obs a <http://knoesis.wright.edu/ssw/ont/weather.owl#WindDirectionObservation>;
		<http://knoesis.wright.edu/ssw/ont/sensor-observation.owl#result> ?result.
	?result <http://knoesis.wright.edu/ssw/ont/sensor-observation.owl#floatValue> ?val.
}

The R2RML spec supports this representation of rr:parentsTripleMap

This is the SQL translation returned by ontop
SELECT
   1 AS "obsQuestType", NULL AS "obsLang", ('http://example/' || REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(CAST(QVIEW1."TIME" AS CHAR),' ', '%20'),'!', '%21'),'@', '%40'),'#', '%23'),'$', '%24'),'&', '%26'),'*', '%42'), '(', '%28'), ')', '%29'), '[', '%5B'), ']', '%5D'), ',', '%2C'), ';', '%3B'), ':', '%3A'), '?', '%3F'), '=', '%3D'), '+', '%2B'), '''', '%22'), '/', '%2F')) AS "obs",
   1 AS "resultQuestType", NULL AS "resultLang", 'http://mappingpedia.org/rdb2rdf/r2rml/tc/c5c22078bb8c9b2d975e418f81ed7a5b' AS "result",
   5 AS "valQuestType", NULL AS "valLang", CAST(QVIEW3."WINDDIRECTION" AS CHAR) AS "val"
 FROM
"PUBLIC"."_4UT01" QVIEW1,
"PUBLIC"."_4UT01" QVIEW2,
"PUBLIC"."_4UT01" QVIEW3
WHERE
QVIEW1."TIME" IS NOT NULL AND
(QVIEW1."TIME" = QVIEW2."TIME") AND
QVIEW3."WINDDIRECTION" IS NOT NULL

Which produces a full outer join of the _4UT01 table QVIEW1 and QVIEW3. This produces
COUNT(*)
1324801

instead of
COUNT(*)
1151

if the bottom of the SQL query looked like this instead:
FROM
"PUBLIC"."_4UT01" QVIEW1,
"PUBLIC"."_4UT01" QVIEW3
WHERE
QVIEW1."TIME" IS NOT NULL AND
(QVIEW1."TIME" = QVIEW3."TIME") AND
QVIEW3."WINDDIRECTION" IS NOT NULL

The results should be fine. Even simpler, since they refer to the same table there doesn't even need to be 2 QVIEWs.
The expected SPARQL result from the query is also 1151 rows.
I was wondering if I went wrong anywhere? Thanks in advance for any assistance on this issue. Cheers!

Thanks for the detailed description.
Two remarks:

Firstly of all, ontop never guarantees the multiplicity of the result. If you want to remove the duplicates in the result. You have to explicitly use "DISTINCT" in the SPARQL query. That is to say that this is not a bug of the correctness of results.

Still, in this case there seems to be a redundant self join in the resulting SQL query. This happened most likely because there is no primary key specified in the table definition. In such cases, ontop is not able to determine whether the self join is redundant. If you declare the column "TIME" as a primary key, then ontop should be able to eliminate the self join. Let us know if it helps.

Thanks for the quick response!

In response to the second remark. Setting it as the primary key did help eliminate one self join. To follow up on that, since TIME is a primary key and WINDDIRECTION is a column in the same table, why does it still need a self join? I'm not sure if I'm understanding this correctly and it could be related to your first remark about multiplicity.
 So what I tried to do was to setup TripleMap15 by changing the subjectMap to rr:constant <aconstantval>; as shown below. I still have to specify a rr:logicalTable as R2RML requires it for every TripleMapClass. Ultimately what I'm trying to do is to represent the LinkedSensorData structure while keeping the data in rows, as such, I have to represent the intermediate obs and results structures within R2RML (either as constants or by mapping to a unique column like time).
<TripleMap15>
	rr:predicateObjectMap [
	      rr:predicateMap [ rr:constant <http://knoesis.wright.edu/ssw/ont/sensor-observation.owl#result> ];
	      rr:objectMap    [ rr:parentTriplesMap <TripleMap1> ];
	    ];
	rr:predicateObjectMap [
	      rr:predicateMap [ rr:constant <http://knoesis.wright.edu/ssw/ont/sensor-observation.owl#procedure> ];
	      rr:objectMap    [ rr:constant <http://knoesis.wright.edu/ssw/System_4UT01> ];
	    ];
	rr:predicateObjectMap [
	      rr:predicateMap [ rr:constant <http://knoesis.wright.edu/ssw/ont/sensor-observation.owl#observedProperty> ];
	      rr:objectMap    [ rr:constant <http://knoesis.wright.edu/ssw/ont/weather.owl#_WindDirection> ];
	    ];
	rr:predicateObjectMap [
	      rr:predicateMap [ rr:constant <http://knoesis.wright.edu/ssw/ont/sensor-observation.owl#samplingTime> ];
	      rr:objectMap    [ rr:parentTriplesMap <TripleMap4> ];
	    ];
	a rr:TriplesMap;
	rr:logicalTable [
	  rr:tableName  "_4UT01";
	];
	rr:subjectMap [
	    a rr:Subject;
	    rr:constant <aconstantval>;
	    rr:class <http://knoesis.wright.edu/ssw/ont/weather.owl#WindDirectionObservation>;
	  ];
.

Interestingly, the query below was produced and it did not return a result but instead (when killed after some time) had caused the h2 db to increase in size from 100kb to 25gb (from the views?).
SELECT
   1 AS "obsQuestType", NULL AS "obsLang", 'http://mappingpedia.org/rdb2rdf/r2rml/tc/aconstantval' AS "obs",
   1 AS "resultQuestType", NULL AS "resultLang", 'http://mappingpedia.org/rdb2rdf/r2rml/tc/c5c22078bb8c9b2d975e418f81ed7a5b' AS "result",
   5 AS "valQuestType", NULL AS "valLang", CAST(QVIEW3."WINDDIRECTION" AS CHAR) AS "val"
 FROM
"PUBLIC"."_4UT01" QVIEW1,
"PUBLIC"."_4UT01" QVIEW2,
"PUBLIC"."_4UT01" QVIEW3
WHERE
QVIEW3."WINDDIRECTION" IS NOT NULL

Thanks again for the response and I understand that this isn't a bug with ontop but perhaps a difficulty with using R2RML in this situation with ontop.

By looking at the translations, I can see cross-products so it is not surprising it is very expensive.
I gave a quick look at your mappings but I don't really understand them.
For instance, why is there some constants <c5c22078bb8c9b2d975e418f81ed7a5b> and <5a164ca3365479cadfaf634a98ae5d1d> ?
Here is the conversion of the mappings into the Ontop native mapping language:
mappingId	mapping--1032157222
target		<http://example/{time}> a <http://knoesis.wright.edu/ssw/ont/weather.owl#WindDirectionObservation> ; <http://knoesis.wright.edu/ssw/ont/sensor-observation.owl#observedProperty> <http://knoesis.wright.edu/ssw/ont/weather.owl#_WindDirection> ; <http://knoesis.wright.edu/ssw/ont/sensor-observation.owl#procedure> <http://knoesis.wright.edu/ssw/System_4UT01> .
source		SELECT * FROM _4UT01

mappingId	mapping-join-1906428054
target		<http://example/{time}> <http://knoesis.wright.edu/ssw/ont/sensor-observation.owl#result> <http://mappingpedia.org/rdb2rdf/r2rml/tc/c5c22078bb8c9b2d975e418f81ed7a5b> .
source		SELECT * FROM (SELECT * FROM _4UT01) AS tmp

mappingId	mapping-join--1326131880
target		<http://example/{time}> <http://knoesis.wright.edu/ssw/ont/sensor-observation.owl#samplingTime> <http://mappingpedia.org/rdb2rdf/r2rml/tc/5a164ca3365479cadfaf634a98ae5d1d> .
source		SELECT * FROM (SELECT * FROM _4UT01) AS tmp

mappingId	mapping-1913156368
target		<http://mappingpedia.org/rdb2rdf/r2rml/tc/5a164ca3365479cadfaf634a98ae5d1d> a <http://www.w3.org/2006/time#Instant> ; <http://www.w3.org/2006/time#inXSDDateTime> {time} .
source		SELECT * FROM _4UT01

mappingId	mapping--188242673
target		<http://mappingpedia.org/rdb2rdf/r2rml/tc/c5c22078bb8c9b2d975e418f81ed7a5b> a <http://knoesis.wright.edu/ssw/ont/sensor-observation.owl#MeasureData> ; <http://knoesis.wright.edu/ssw/ont/sensor-observation.owl#uom> <http://knoesis.wright.edu/ssw/ont/weather.owl#degrees> ; <http://knoesis.wright.edu/ssw/ont/sensor-observation.owl#floatValue> {WindDirection} .
source		SELECT * FROM _4UT01

NB: See https://github.com/ontop/ontop/wiki/OntopCLI for the conversion

Thanks for the reply!
This is the structure that I'm trying to map from my table.

The constants are just a replacement for blankNodes or a unique value like time from the tables. In the eventual queries, these nodes will not be in the final projection but will be part of the SPARQL query. Basically a query would return the columns mapped or constant URIs from leaf nodes.

Thanks for the explanations.
Currently Ontop do not support blank nodes and it is in most cases a good practice to avoid them.
My intuition is that you can also do so in your use case.
Is the property ssw:result 1-to-1? From your DB schema (your table and your new primary key constraint on time) I would say so.
Here is my advice: use different URI templates for your RDF individuals :

ssw:WindDirectionObservation <http://example/wind-direction-observation/4UT01/{time}>
ssw:MeasureData <http://example/wind-direction-observation/4UT01/{time}/measure>
time:Instant <http://example/time/{time}>

URI templates are very important for SPARQL-to-SQL translation (we use them a lot to optimize). They were the missing part of your mappings.
Tip: using the prefix ssw in the mapping file would significantly its readability, especially on Github :)

Note that I have used the primary key time in the URI templates.
It is quite natural (common pattern) and very useful from eliminating self-joins.


optimize MapService

MapService#getCoordinateRepresentations takes a CoordinateLike now

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.006%) to 99.578%

Totals

Change from base Build<PHONE_NUMBER>:
0.006%

Covered Lines:
11971

Relevant Lines:
11975

💛  - Coveralls


[Suggestion] Possibility to configure YAML library options

Is your feature request related to a problem? Please describe.
I would like to be able to control how the yaml is being outputted
Describe the solution you'd like
Have access to the YAML package options https://eemeli.org/yaml/#options before calling .synth() method.

Which options are you looking for specifically?

Hi @eladb

Which options are you looking for specifically?
This one in particular :
YAML.defaultOptions.indentSeq = false;

Also would like to configure the YAML.scalarOptions.str.fold.lineWidth property.

On this note, and perhaps this should be a separate bug, but I am currently porting a raw yaml project to cdk8s. When reconciling the diffs between the raw and what cdk8s output was, I noticed that there were a few places where YAML was not honoring the "BLOCK_LITERAL" default when doing a configmap. I would see stuff like this:
a.txt: |
1
2
3
...

b.txt: >-
1
2
3
...

c.txt: >
1
2
3
...

d.txt: >+
1
2
3
...

For some bizarre reason, it would seem to randomly spit out some combinations of > or |, and +, - or (nil). I found that this depended on content - for instance, the +, - or (nil) depended on whether the content ended in no newline, newline or double newline. I don't want yaml import deciding that, I want just plain |. Secondly, and more importantly, it was deciding to do folded or literal somewhat capriciously. Troubleshooting, I found that the length of the content was dictating whether it was | or >. I found that setting YAML.scalarOptions.str.fold.lineWidth = Infinity; fixed this behavior and finally allowed me to have strictly | in my output.


Update MAINTAINERS.md

Add Lisa to Maintainers table

@lisancao would you please solve the conflicts here?

@lisancao fixed for you


Create code_review.yml

Summary
Enable code review
Requirements (place an x in each [ ])

[x] I've read and understood the Contributing Guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.
[x] I've read, agree to, and signed the Contributor License Agreement (CLA).

I'd want to set openai api key on this repo too (if you're open to it)


createTheme component type definitions are missing MuiMenuList

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Steps to reproduce 🕹
Steps:

create TS app
use createTheme
try to override defaultProps on MuiMenuList
Type error

Current behavior 😯
I'm writing a utility component that will use a custom theme to make everything dense but I'm getting a typescript error where MuiMenuList isn't included.
createTheme(
    {
      components: {
        // other components
        MuiMenuList: {
          defaultProps: {
            dense: true,
          },
        },
      },
    } as unknown, // Workaround - The Theme type in this createTheme method doesnt include MuiMenuList.
    theme
  );

Expected behavior 🤔
MuiMenuList is included in the type definitions under createTheme > Theme
Context 🔦
No response
Your environment 🌎

npx @mui/envinfo
  Don't forget to mention which browser you used.
  Output from `npx @mui/envinfo` goes here.

@mogrady88 Thanks, I can reproduce this https://codesandbox.io/s/https-github-com-mui-material-ui-issues-37949-krqzkn?file=/src/index.tsx


Add support for plug-ins

We should add support for external plug-ins in v2.
Requirements

One-time plug-in registration
Ability to parse config
Runs on updates

Closing since #2283 was merged


Use correct pen up position

self.pen(None) will move the pen motor to a default position, which may seem like "up" but actually isn't. In my case, it was causing the pen to hit the axis beam, throwing off the pen tip precision.

Nice catch. Thanks!


Translate Kubernetes' Architecture in Bahasa Indonesia

This is a Feature Request

What would you like to be added
master-node-communication.md
nodes.md
Why is this needed
This is important steps to understand better concept of Kubernetes architecture and part of fundamentals before we can go deeper on more advanced topics.
Comments

/language id
/assign

/unnasign


Element.query_selector_all returns NodeList that does not respect custom data attributes. on version 0.20

Problem

When running Element.query_selector_all, the returned Nodes will not have any data attributes. This issue does not occur with Element.query_selector.
When attempting to run Element.get_attribute('data-*') on a node retrieved from Element.query_selector_all, the result will be an error.
In the below example, I expect the number "1" to be output to the console, since that is what data-index is set to.
Steps To Reproduce
Steps to reproduce the behavior:
// main.rs
fn main() {
    wasm_logger::init(wasm_logger::Config::default());
    yew::Renderer::<App>::new().render();
}

use yew::prelude::*;
use log::info;

#[function_component(App)]
pub fn app() -> Html {
    let p_ref = NodeRef::default();
    let p_ref2 = p_ref.clone();

    let onclick = move |_| {
        let all =
            p_ref2.get()
            .unwrap()
            .parent_element()
            .unwrap()
            .query_selector_all("[data-index]")
            .unwrap();

        for i in 0..all.length() {
            info!("{}",
                all.get(i)
                .unwrap()
                .parent_element()
                .unwrap()
                .get_attribute("data-index") // <-- Error occurs Here
                .unwrap()
                .as_str()
            )
        }
    };

    html! {

{"Text Element"}

            <button onclick={onclick}>{"CLICK ME!"}</button>

    }
}

Cargo.toml
[package]
name = "trunk-template"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
log = "0.4.22"
wasm-logger = "0.2.0"
yew = { version="0.20", features=["csr"] }

Expected behavior
The console should print "1" because that is the value of data-index.
Screenshots

Environment:

Yew version: 0.20 (also tried 0.21, same thing)
Rust version: 1.81.0-nightly
Target, if relevant: wasm32-unknown-unknown
Build tool, if relevant: trunk serve
OS, if relevant: Ubuntu LTS 24
Browser and version, if relevant: Chrome

In your example, p_ref2 is not bound to any element, so already p_ref2.get().unwrap() fails. Did you mean to ref= it to the button?

In your example, p_ref2 is not bound to any element, so already p_ref2.get().unwrap() fails. Did you mean to ref= it to the button?

p_ref2 is a clone of p_ref. besides, the program does not fail on p_ref2.get().unwrap().  I have to make p_ref2 because I have to move it into the onclick function.

Ah sorry, you are right. I had an exhausting day spent in too many trains 😅
I reproduced your example in the playground, but I am wondering: You are getting the parent elements of those nodes that have been found via the selector. I can't see why the parent element should have the attribute that has been found on the element itself. The following variation works as expected:
        for i in 0..all.length() {
            gloo::console::log!(
                all.get(i)
                .unwrap()
                .unchecked_into::<web_sys::Element>()
                .get_attribute("data-index")
                .unwrap()
                .as_str()
            );
        }

Ah sorry, you are right. I had an exhausting day spent in too many trains 😅 I reproduced your example in the playground, but I am wondering: You are getting the parent elements of those nodes that have been found via the selector. I can't see why the parent element should have the attribute that has been found on the element itself. The following variation works as expected:
        for i in 0..all.length() {
            gloo::console::log!(
                all.get(i)
                .unwrap()
                .unchecked_into::<web_sys::Element>()
                .get_attribute("data-index")
                .unwrap()
                .as_str()
            );
        }

Playground link

This did the trick! Thanks so much for helping, I've been digging into wasm_bindgen and such for the past few hours trying to fix it. I wonder why parent_element() doesn't work though...could it be a problem with wasm_bindgen?

could it be a problem with wasm_bindgen?

Can't tell, partly because I'm not certain about your expectations. In any case, as long as the p_ref2.get() returns the element you expect, the rest of the onmove handler above is outside of yew's domain, you'd have to wrestle web-sys and the MDN documentation.


Add zero-confirmation support to webhooks (only)

Getting zero-confirmation notifications via webhooks requires the --sub option (and monerod must have --zmq-pub set as well). The transactions do not show up in the REST API until 1 confirmation. The notifications are nearly instant (everything uses pub/sub instead of polling).
Zero-confirmations in the REST API might be added in the future but that is a little more involved (unless I can come up with an alternative implementation).
The block number and output numbers are omitted from zero-conf output, since they lack valid values.

I did a rebase on the branch - the changes to ::wire:: needed to be included in the PR.


Query store parameters deprecated

PostgreSQL flexible server query store parameters deprecated:
pg_qs.index_generation_interval and pg_qs.index_recommendations

@varun-dhawan
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off

@Court72 - approved

Due to the upcoming Build conference, all merging and publishing is on hold until 10AM on 5/21.
This PR is ready for merge on 5/21.
#label: "event-triaged-to-10AM"
#label: "missed-content-complete"