tools: fix set namespace in pd-ctl

What problem does this PR solve?
When the status of the response is not OK, it should return an error. Closes #1681.
What is changed and how it works?
After this PR:
$ ./pd-ctl -u http://<IP_ADDRESS>:2379 -i
>> config set namespace ts1 leader-schedule-limit 10
Failed to set namespace: ts1 error: [404] "invalid namespace Name ts1, not found"

Check List
Tests

Unit test

Codecov Report

Merging #1701 into master will decrease coverage by 0.1%.
The diff coverage is 76.47%.

@@            Coverage Diff             @@
##           master    #1701      +/-   ##
==========================================
- Coverage    76.7%   76.59%   -0.11%
==========================================
  Files         158      158
  Lines       15527    15532       +5
==========================================
- Hits        11910    11897      -13
- Misses       2600     2615      +15
- Partials     1017     1020       +3

Impacted Files
Coverage Δ

tools/pd-ctl/pdctl/command/config_command.go
73.54% <100%> (+2.24%)
:arrow_up:

tools/pd-ctl/pdctl/command/global.go
54% <75%> (+6.63%)
:arrow_up:

server/region_syncer/client.go
67.08% <0%> (-13.93%)
:arrow_down:

pkg/etcdutil/etcdutil.go
76.81% <0%> (-11.6%)
:arrow_down:

server/kv/etcd_kv.go
70.12% <0%> (-9.1%)
:arrow_down:

server/checker/replica_checker.go
80% <0%> (-1.88%)
:arrow_down:

server/member/leader.go
77.04% <0%> (-1.54%)
:arrow_down:

server/grpc_service.go
57.84% <0%> (-1.3%)
:arrow_down:

server/tso/tso.go
79.81% <0%> (+0.91%)
:arrow_up:

... and 4 more

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 54975cd...1bebe1b. Read the comment docs.

/merge


Create Cloud Build Testing Framework

Add a cloudbuild.yaml file that:

Creates a new image and uploads it to Artifact Repository
Updates a cloud run job with the new image
Runs a cloud run job with the new antipattern image
Compares the output results to a reference table
Truncates the output table for cleanup

After merging, we will need to update the trigger to run the build where we see fit

creating a new PR bc of missing CLA


Add Heroku config

Sorry for the trouble. Just revised the config and tested it on production.

Rebased.

@dlackty Thanks for the contribution! :rocket:


Warn about issues during recovery - failed to reserve sandbox name

Description
Hi,
Disclaimer: This isn't a classic bug report, as the bug was due to misconfiguration on our side. Our ask here is to help indicate in the logs that an internal assumption of containerd was broken, so that it would be easier to handle such misconfiguration issues (which are a nightmare to debug).
We were running into containerd-related issues after power cycling our servers. The logs we encountered were the following:
...
"2023-11-28T08:43:42.408173348+02:00" level=error msg="RunPodSandbox for &PodSandboxMetadata{Name:doca-hbn-service-my-dpu,Uid:823b1ad0e241a10475edde26e905856b,Namespace:default,Attempt:0,} failed, error" error="failed to reserve sandbox name \"doca-hbn-service-my-dpu_default_823b1ad0e241a10475edde26e905856b_0\": name \"doca-hbn-service-my-dpu_default_823b1ad0e241a10475edde26e905856b_0\" is reserved for \"bee147792a85bc23a3629a9fcd0a5f388794f6b67ef552c959d4d5e49d04f5b2\""
...

While the issue seems related to #4604, it seems that in our case it wasn't a timeout that caused the failure to reserve sandbox. Instead, it was time misconfigurations on our side, which broke the recovery logic of containerd when processing the sandbox metadata from the disk.
While we fixed the configuration issues on our side, we wanted to ask if you could add some sanity logic during the recovery phase so to help warn in advance about such irregularities:

Add warning in case that sandbox "last modified" date being later than the current system time (during parsing).
Add documentation on ListContainers API that the list is time-ordered, based on the UpdatedAt field, and that the first element in the list is the most recent one.

We are not requesting to abort such sandboxes during recovery, just adding the warning log to help indicate to users that there is a probable configuration issue on their end.
We understand this isn't a classic "bug" per-se, as the configuration issue was on our side. Still, debugging this issue on our end was very time consuming, and this issue would probably be encountered by others as well. Any step that could be done to help others identify this issue faster will be much appreciated.
Steps to reproduce the issue

Start a pod with has an init container - We used Kubelet & containerd for the deployment
Stop kubelet & containerd services
Set the time of the machine backwards (in our case it accidently jumped forward, and fixed itself (jumped backwards) post power cycle)
Restart kubelet & containerd

Describe the results you received and expected
Received: Pod started, however containers repeatedly failed to start, and their "attempt" counter wasn't incrementing. Logs included the following:
systemd[1]: Started containerd container runtime
"2023-11-22T09:37:32.605481947+02:00" level=info msg="No cni config template is specified, wait for other system components to drop the config."
"2023-11-22T09:37:33.491621635+02:00" level=info msg="StopPodSandbox for \"10788720d7b5285f2e1d4c932959e7ec6942d74bd421b42129d984927a4a3349\""
"2023-11-22T09:37:33.954366477+02:00" level=info msg="TearDown network for sandbox \"10788720d7b5285f2e1d4c932959e7ec6942d74bd421b42129d984927a4a3349\" successfully"
"2023-11-22T09:37:33.954478088+02:00" level=info msg="StopPodSandbox for \"10788720d7b5285f2e1d4c932959e7ec6942d74bd421b42129d984927a4a3349\" returns successfully"
"2023-11-22T09:37:33.957154015+02:00" level=info msg="RunPodSandbox for &PodSandboxMetadata{Name:doca-hbn-service-my-dpu,Uid:fb3979320f71f4ddc8ae1e75c69dda05,Namespace:default,Attempt:1,}"
"2023-11-22T09:37:36.603343919+02:00" level=info msg="loading plugin \"io.containerd.internal.v1.shutdown\"..." runtime=io.containerd.runc.v2 type=io.containerd.internal.v1
"2023-11-22T09:37:36.603507471+02:00" level=info msg="loading plugin \"io.containerd.ttrpc.v1.pause\"..." runtime=io.containerd.runc.v2 type=io.containerd.ttrpc.v1
"2023-11-22T09:37:36.603548831+02:00" level=info msg="loading plugin \"io.containerd.event.v1.publisher\"..." runtime=io.containerd.runc.v2 type=io.containerd.event.v1
"2023-11-22T09:37:36.603571898+02:00" level=info msg="loading plugin \"io.containerd.ttrpc.v1.task\"..." runtime=io.containerd.runc.v2 type=io.containerd.ttrpc.v1
"2023-11-22T09:37:36.736955721+02:00" level=info msg="RunPodSandbox for &PodSandboxMetadata{Name:doca-hbn-service-my-dpu,Uid:fb3979320f71f4ddc8ae1e75c69dda05,Namespace:default,Attempt:1,} returns sandbox id \"99bbd0543342465dbf4146c3b3e92ea74b5e344a50bb2320a8a24d6579e7b0ee\""
"2023-11-22T09:37:36.744376210+02:00" level=info msg="PullImage \"<image path here>\""
"2023-11-22T09:38:33.319435313+02:00" level=info msg="ImageCreate event name:\"<image path here>\"  labels:{key:\"io.cri-containerd.image\"  value:\"managed\"}"
"2023-11-22T09:38:33.322281800+02:00" level=info msg="stop pulling image <image path here>: active requests=0, bytes read=314105707"
"2023-11-22T09:38:33.326866066+02:00" level=info msg="ImageCreate event name:\"sha256:3583f5be3c384d00b93aa08939068374b86559361001413e51f7b6ff98a50297\"  labels:{key:\"io.cri-containerd.image\"  value:\"managed\"}"
"2023-11-22T09:38:33.343276752+02:00" level=info msg="ImageUpdate event name:\"<image path here>\"  labels:{key:\"io.cri-containerd.image\"  value:\"managed\"}"
"2023-11-22T09:38:33.355290136+02:00" level=info msg="ImageCreate event name:\"<image path here>@sha256:4244f4c6602b4eea6b1f6ac4156381c938a44f90e7f1aff2fe27642be2d849d6\"  labels:{key:\"io.cri-containerd.image\"  value:\"managed\"}"
"2023-11-22T09:38:33.362460765+02:00" level=info msg="Pulled image \"<image path here>\" with image id \"sha256:3583f5be3c384d00b93aa08939068374b86559361001413e51f7b6ff98a50297\", repo tag \"<image path here>\" returns image reference \"sha256:3583f5be3c384d00b93aa08939068374b86559361001413e51f7b6ff98a50297\""
"2023-11-22T09:38:33.371575750+02:00" level=info msg="CreateContainer within sandbox \"99bbd0543342465dbf4146c3b3e92ea74b5e344a50bb2320a8a24d6579e7b0ee\" for container &ContainerMetadata{Name:init-sfs,Attempt:0,}"
"2023-11-22T09:38:33.450747561+02:00" level=info msg="CreateContainer within sandbox \"99bbd0543342465dbf4146c3b3e92ea74b5e344a50bb2320a8a24d6579e7b0ee\" for &ContainerMetadata{Name:init-sfs,Attempt:0,} returns container id \"25a63f42e9e77e5fd1a8546ceac50d1c402cb5343e8970c5aedc34befd386d34\""
"2023-11-22T09:38:33.452272698+02:00" level=info msg="StartContainer for \"25a63f42e9e77e5fd1a8546ceac50d1c402cb5343e8970c5aedc34befd386d34\""
"2023-11-22T09:38:33.616395408+02:00" level=info msg="StartContainer for \"25a63f42e9e77e5fd1a8546ceac50d1c402cb5343e8970c5aedc34befd386d34\" returns successfully"
"2023-11-22T09:38:33.924707417+02:00" level=info msg="StopContainer for \"25a63f42e9e77e5fd1a8546ceac50d1c402cb5343e8970c5aedc34befd386d34\" with timeout 30 (s)"
"2023-11-22T09:38:33.925581484+02:00" level=info msg="Stop container \"25a63f42e9e77e5fd1a8546ceac50d1c402cb5343e8970c5aedc34befd386d34\" with signal terminated"
"2023-11-22T09:38:43.331269328+02:00" level=info msg="shim disconnected" id=25a63f42e9e77e5fd1a8546ceac50d1c402cb5343e8970c5aedc34befd386d34 namespace=k8s.io
"2023-11-22T09:38:43.331387992+02:00" level=warning msg="cleaning up after shim disconnected" id=25a63f42e9e77e5fd1a8546ceac50d1c402cb5343e8970c5aedc34befd386d34 namespace=k8s.io
"2023-11-22T09:38:43.331416026+02:00" level=info msg="cleaning up dead shim" namespace=k8s.io
"2023-11-22T09:38:43.358284149+02:00" level=info msg="StopContainer for \"25a63f42e9e77e5fd1a8546ceac50d1c402cb5343e8970c5aedc34befd386d34\" returns successfully"
"2023-11-22T09:38:43.359463723+02:00" level=info msg="StopPodSandbox for \"10788720d7b5285f2e1d4c932959e7ec6942d74bd421b42129d984927a4a3349\""
"2023-11-22T09:38:43.506084477+02:00" level=info msg="TearDown network for sandbox \"10788720d7b5285f2e1d4c932959e7ec6942d74bd421b42129d984927a4a3349\" successfully"
"2023-11-22T09:38:43.506179264+02:00" level=info msg="StopPodSandbox for \"10788720d7b5285f2e1d4c932959e7ec6942d74bd421b42129d984927a4a3349\" returns successfully"
"2023-11-22T09:38:43.507136352+02:00" level=info msg="StopPodSandbox for \"99bbd0543342465dbf4146c3b3e92ea74b5e344a50bb2320a8a24d6579e7b0ee\""
"2023-11-22T09:38:43.507258934+02:00" level=info msg="Container to stop \"25a63f42e9e77e5fd1a8546ceac50d1c402cb5343e8970c5aedc34befd386d34\" must be in running or unknown state, current state \"CONTAINER_EXITED\""
"2023-11-22T09:38:43.641417039+02:00" level=info msg="shim disconnected" id=99bbd0543342465dbf4146c3b3e92ea74b5e344a50bb2320a8a24d6579e7b0ee namespace=k8s.io
"2023-11-22T09:38:43.641566964+02:00" level=warning msg="cleaning up after shim disconnected" id=99bbd0543342465dbf4146c3b3e92ea74b5e344a50bb2320a8a24d6579e7b0ee namespace=k8s.io
"2023-11-22T09:38:43.641590541+02:00" level=info msg="cleaning up dead shim" namespace=k8s.io
"2023-11-22T09:38:44.209983440+02:00" level=info msg="TearDown network for sandbox \"99bbd0543342465dbf4146c3b3e92ea74b5e344a50bb2320a8a24d6579e7b0ee\" successfully"
"2023-11-22T09:38:44.210084516+02:00" level=info msg="StopPodSandbox for \"99bbd0543342465dbf4146c3b3e92ea74b5e344a50bb2320a8a24d6579e7b0ee\" returns successfully" <== Stop for the pod didn't remove the listing of the reserved UID (fb3979320f71f4ddc8ae1e75c69dda05) + Attempt counter wasn't incremented
"2023-11-22T09:38:44.215068447+02:00" level=info msg="RemoveContainer for \"25a63f42e9e77e5fd1a8546ceac50d1c402cb5343e8970c5aedc34befd386d34\""
"2023-11-22T09:38:44.225041170+02:00" level=info msg="RemoveContainer for \"25a63f42e9e77e5fd1a8546ceac50d1c402cb5343e8970c5aedc34befd386d34\" returns successfully"
"2023-11-22T09:38:44.226337443+02:00" level=info msg="RunPodSandbox for &PodSandboxMetadata{Name:doca-hbn-service-my-dpu,Uid:fb3979320f71f4ddc8ae1e75c69dda05,Namespace:default,Attempt:1,}"
"2023-11-22T09:38:44.226486648+02:00" level=error msg="RunPodSandbox for &PodSandboxMetadata{Name:doca-hbn-service-my-dpu,Uid:fb3979320f71f4ddc8ae1e75c69dda05,Namespace:default,Attempt:1,} failed, error="failed to reserve sandbox name \"doca-hbn-service-my-dpu_default_fb3979320f71f4ddc8ae1e75c69dda05_1\": name \"doca-hbn-service-my-dpu_default_fb3979320f71f4ddc8ae1e75c69dda05_1\" is reserved for \"99bbd0543342465dbf4146c3b3e92ea74b5e344a50bb2320a8a24d6579e7b0ee\""

Expected: We obviously don't expect a correct run given the time misconfiguration. The expected behavior is to at least have some warning log indicating that the recovered sandbox is faulty / has some corrupted meta-data.
What version of containerd are you using?
1.7.2
Any other relevant information

containerd - 1.7.2
runc - 1.1.7-0ubuntu1~22.04.1
Kubernetes - v1.25.3
Linux Kernel Version - 5.15.0-1021

Additional Context: For any one stumbling upon this issue when searching for a possible solution for the issue they are facing, here is some additional context.
Why do containerd reserved sandbox IDs are rarely cleared?

Reserved IDs are only removed inside RemovePodSandbox
RemovePodSandbox is only invoked during Kubelet's garbage collection
In the reproduce we only StopPodSandbox we don't remove it (Kubelet probably they wants to reuse it due to "restart" logic )
This is why a "Stop" will not be enough, and the ID will be reserved
Effectively, it means we should never RunPodSandbox on the same ID if it wasn't RemovePodSandbox in between - Stop is not enough

Why do we reuse an ID?

Upon boot containerd parses the stored files from the previous run, and uses the "last modified time" to set the "UpdatedAt" field of the generated content (containers, PodSandbox). Some of the internal assumptions are documented (it was helpful, thanks!) however some are missing and there are no checks to backup these assumptions / warn about them breaking (if possible to easily verify). pkg/cri/server/restart.go: recover().

// NOTE: The recovery logic has following assumption: when the cri plugin is down:
// 1) Files (e.g. root directory, netns) and checkpoint maintained by the plugin MUST NOT be
// touched. Or else, recovery logic for those containers/sandboxes may return error.
// 2) Containerd containers may be deleted, but SHOULD NOT be added. Or else, recovery logic
// for the newly added container/sandbox will return error, because there is no corresponding root
// directory created.
// 3) Containerd container tasks may exit or be stopped, deleted. Even though current logic could
// tolerant tasks being created or started, we prefer that not to happen.

ListContainers will get a list from the internal "containers store", which is (apparently) time-sorted in decreasing time order based on the "UpdatedAt" field (Can be viewed using sudo ctr -n k8s.io container ls)
This means that the first PodSandbox in the list will be the "most up to date" one
In turn, Kubelet will use this list as a "statuses" list for the existing content
Only the first in the list will be used (Kubelet logic):

// Needs to create a new sandbox when ... or the ready sandbox is not the latest one.
sandboxStatus := podStatus.SandboxStatuses[0]
if sandboxStatus.State != runtimeapi.PodSandboxState_SANDBOX_READY {
	klog.V(2).InfoS("No ready sandbox for pod can be found. Need to start a new one", "pod", klog.KObj(pod))
	return true, sandboxStatus.Metadata.Attempt + 1, sandboxStatus.Id
}

In our case the pod is created using ID from zombie sandbox of previous run because this is the only one we have to salavage a status ID from
Later on, we populate the list of statuses, however the time misconfiguration casues it to be wrongly ordered - new pod sandbox is added at the end, instead of at the beginning
When the init container gets updated, Kubelet's SyncPod incorrectly uses the same SandBoxID once again leading to the use of a reserved ID.

Show configuration if it is related to CRI plugin.
No response

I also noticed this issue. My machine is powered on in 1970 every time, and then synchronizes the time with the central server. I found that containerd reports a large number of errors:
error="failed to reserve sandbox name "wxdt-rcrw9_default_3bdec2be-be08-4cfb-9fe6-963c622d8495_25": name "wxdt-rcrw9_default_3bdec2be-be08-4cfb-9fe6-963c622d8495_25" is reserved for "9d423d30a81701807be0b8664a85380287b605ddd915c4fa8ae195801b25ba9e""


complex and more versatile filters

I have reviewed processFilter() and see the fancy date selectors you've added... (kudos)
but while experimenting with the package, it doesn't seem to do support doing advanced filtering - it's only got basic string searching and date handling (both well done)
are you planning on supporting full mongo queries as passthroughs?
are you planning on supporting other types of custom "quick" searches like {myfield: #exists}?

hi, good idea with that {myfield: #exists}!
what you mean by "full mongo queries as passthroughs" can you provide some exmaples

An example might be the long form of the same: {myfield: {$exists: 1}}
Or a more complicated query: {somecount: {$gt: 5, $lt: 9}}
Or a specific regex: {name: /j(im|oe|ames)/gi}
Or... more likely, a combination of several

inspiration: https://github.com/allmas-tn/mongo-dql

Dr. Mongo is deprecated. Please visit our new desktop app Dr. Mingo.


Add support for Meross MOD100 Essential Oil Diffuser

Hello, first of all thank you for your work! This is a new Meross device which an RGB led and a diffuser which has 3 state (Off, Light Spray, Heavy Spray). I tried to set it manually with every field and model: "mod100", Home app recognise it as a light with intensity and a switch, so maybe there is an initial support in this plugin last version. If you need anything let me know.
This log below is from the other repo plugin, hope it helps. I hid fields like ip and macAddress.
[MerossCloud] All-Data: {"all":{"system":{"hardware":{"type":"mod100","subType":"un","version":"3.0.0","chipType":"mt7682","uuid”:”******”,”macAddress”:”********”},”firmware":{"version":"3.1.5","compileTime":"2020/09/01 17:03:31 GMT +08:00","wifiMac”:”*******”,”innerIp”:”******”*,”server":"mqtt-eu.meross.com","port":443,"userId”:****},”time":{"timestamp":1618570318,"timezone":"Europe/Rome","timeRule":[[1616893200,7200,1],[1635642000,3600,0],[1648342800,7200,1],[1667091600,3600,0],[1679792400,7200,1],[1698541200,3600,0],[1711846800,7200,1],[1729990800,3600,0],[1743296400,7200,1],[1761440400,3600,0],[1774746000,7200,1],[1792890000,3600,0],[1806195600,7200,1],[1824944400,3600,0],[1837645200,7200,1],[1856394000,3600,0],[1869094800,7200,1],[1887843600,3600,0],[1901149200,7200,1],[1919293200,3600,0]]},"online":{"status":1}},"digest":{"triggerx":[],"timerx":[],"diffuser":{"type":"mod100","light":[{"channel":0,"onoff":1,"lmTime":1618568005,"mode":0,"luminance":100,"rgb":255}],"spray":[{"channel":0,"mode":2,"lmTime":1618570307}]}}}} [MerossCloud] System-Abilities: {"payloadVersion":1,"ability":{"Appliance.Config.Key":{},"Appliance.Config.WifiList":{},"Appliance.Config.Wifi":{},"Appliance.Config.Trace":{},"Appliance.System.All":{},"Appliance.System.Hardware":{},"Appliance.System.Firmware":{},"Appliance.System.Debug":{},"Appliance.System.Online":{},"Appliance.System.Time":{},"Appliance.System.Clock":{},"Appliance.System.Ability":{},"Appliance.System.Runtime":{},"Appliance.System.Report":{},"Appliance.System.Position":{},"Appliance.Control.Multiple":{"maxCmdNum":5},"Appliance.Control.TimerX":{"sunOffsetSupport":1},"Appliance.Control.TriggerX":{},"Appliance.Control.Bind":{},"Appliance.Control.Unbind":{},"Appliance.Control.Upgrade":{},"Appliance.Digest.TriggerX":{},"Appliance.Digest.TimerX":{},"Appliance.Control.Diffuser.Spray":{},"Appliance.Control.Diffuser.Light":{},"Appliance.Control.Diffuser.Sensor":{}}}

How did you configure it to show in HomeKit?

How did you configure it to show in HomeKit?

Like a supported Meross product, but in config.json model field is set to "MOD-100" ("MOD100" has the same behaviour), maybe is some sort of basic configuration when plugin doesn't recognise the device model.

How did you configure it to show in HomeKit?

Like a supported Meross product, but in config.json model field is set to "MOD-100" ("MOD100" has the same behaviour), maybe is some sort of basic configuration when plugin doesn't recognise the device model.

Are you able to control it?
I have the same Device and for me it only shows one Switch.
what did you switched on when you claimed the messageId? Did you used HTTP Catcher?

How did you configure it to show in HomeKit?

Like a supported Meross product, but in config.json model field is set to "MOD-100" ("MOD100" has the same behaviour), maybe is some sort of basic configuration when plugin doesn't recognise the device model.

Are you able to control it?
I have the same Device and for me it only shows one Switch.
what did you switched on when you claimed the messageId? Did you used HTTP Catcher?

I can't control it, if I try to send commands with Home app the Homebridge log shows "socket hang up" with the IP address of the diffuser. What did you write in model field?

How did you configure it to show in HomeKit?

Like a supported Meross product, but in config.json model field is set to "MOD-100" ("MOD100" has the same behaviour), maybe is some sort of basic configuration when plugin doesn't recognise the device model.

Are you able to control it?
I have the same Device and for me it only shows one Switch.
what did you switched on when you claimed the messageId? Did you used HTTP Catcher?

I can't control it, if I try to send commands with Home app the Homebridge log shows "socket hang up" with the IP address of the diffuser. What did you write in model field?

Ok i get the same error in my logs.
MOD-100 exactly like you. My PlugIn is 5.0.2

Hi,
Can look into supporting this device in the beta version of the plugin if this is something that would interest you.
Thanks

Hi,
Sure this would be awesome, if you need any information about the device or me for testing just let me know and i will do.
Best regards.
Marcel

Am 28.07.2021 um 12:16 schrieb Ben @.***>:

Hi,
Can look into supporting this device in the beta version of the plugin if this is something that would interest you.
Thanks
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

for my reference:
{
   "digest":{
      "diffuser":{
         "type":"mod100",
         "light":[
            {
               "channel":0,
               "onoff":1,
               "lmTime":1618568005,
               "mode":0,
               "luminance":100,
               "rgb":255
            }
         ],
         "spray":[
            {
               "channel":0,
               "mode":2,
               "lmTime":1618570307
            }
         ]
      }
   }
}

@maslcar can you update the plugin to beta version 6.0.1-beta.3 and check that the device now appears as an accessory in homekit?
ideally it should show with two services

a fan which won't do anything at the moment, i'll use it later to implement the diffuser spray setting
a light which should work controlling the diffuser light

At the moment I wanna concentrate on the light - could you see if it is working? To test:

Control the on/off, brightness and colour from Home app to check the device actually responds correctly

Also I would like to implement the real time status updates if the device is controlled via meross app (to update the home app status).
Could you use the meross app to change the light ON/OFF, then the brightness, then the colour. When you do each of these, a message should appear in the logs in yellow, something like real-time diffuser cloud updates not supported with some data below.
Could you grab me all these logs and post them here?
Thanks


Store expansion status in URL

Solution for #331
A new query string parameter expand is introduced which stores a comma-separated list of expanded workspace ids.
When a subtree is collapsed, a corresponding workspace id is removed from the URL.
When there are no expanded nodes, expand is removed completely from a query string.
URL is of the form:
http://localhost:3000/workspaces/2487918d-7ddc-488b-937b-e0b90428e088/subtree?expand=e3cbf7d8-d001-4f7b-8f55-a9827da4f6ed,2487918d-7ddc-488b-937b-e0b90428e088
Potential improvements:

when a nested subtree is collapsed, remove ids of expanded children from the URL, not only the id of a tree that is being collapsed
fetch a whole subtree with a single graphql query
shorten ids in the URL. Storing whole UUIDs is not necessary and it might be enough to store 7-8 characters. The same mechanism employs git to shorten commit hashes. This would make the URL much shorter and easier to share.
Updated query-string dependency to the latest version (6.4.2) to have an automated conversion to an array with arrayFormat = "comma" option . Right now the query string value is converted into an array manually. Upgrade to TypeScript 3 needed as query-string 6.4.2 uses keyworn unknown.

Thanks for submitting this! We're in the process of removing UUIDs from the URLs in favor of shorter identifiers. I think it makes sense to hold off on merging this until we've completed that task, and then recast this PR in those terms.

It would also be nice to have a system that worked with well the "Expand All" functionality currently associated the expanded query param being set to true. With this PR, if we "Expand All" and then collapse a few subtrees, the resulting state isn't saved in the URL.

@zjmiller what's the current status of this PR?

We still need to resolve the issues I mentioned in my comments. Doing this hasn't been a priority, less so now that most non-admins use the compact tree view.

cool, sounds good


MSID: 97356 Version: 2 DOI: 10.1101/2<IP_ADDRESS>1574

MSID: 97356
Version: 2
Preprint DOI: https://doi.org/10.1101/2<IP_ADDRESS>1574
Step 1. Awaiting reviews
Editorial to post reviews via hypothesis
Useful links:

DocMap: https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=97356
New model tracking: https://docs.google.com/spreadsheets/d/1_fHaoOy7hjyocptKtVJRijeNpUY4hBS7Ck_aVmx6ZJk/
Reviews on sciety: https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>1574

For trouble shooting (e.g. no Docmaps available):

DocMap issue addressing: https://miro.com/app/board/uXjVNCwK6EI=/
Explore DataHub DocMaps API: https://lookerstudio.google.com/reporting/4c2f0368-babb-4beb-b5b3-497e7e7b0f08/page/ejphD
Unmatched submissions and preprints: https://lookerstudio.google.com/u/0/reporting/9f86204f-3bf7-477c-9b18-5c5ef141bf69/page/p_gxi57ha93c
Unmatched manuscripts spreadsheet: https://docs.google.com/spreadsheets/d/15QcK8w-ssB7109RQEDtFpJPZ0J5HTGxoHa_2TtpMBbg/edit#gid=1336081641

Step 2. Preview reviewed preprint
Production QC content ahead of publication
Instructions:

QC preview: https://prod--epp.elifesciences.org/previews/97356v2
Update ticket with any problems (add blocked label)
When QC OK, add QC OK label to ticket and add publication date and time to https://docs.google.com/spreadsheets/d/1amAlKvdLcaDp5W8Z8g77NmkwbMF5n_u89ArSqPMO8jg
Move card to next column
(At end of the day post link in #enhanced-preprint and ask for PDF to be generated)

Useful links:

Preprint DOI :  https://doi.org/10.1101/2<IP_ADDRESS>1574
Confirm reviews returned by EPP: https://prod--epp.elifesciences.org/api/reviewed-preprints/97356/v2/reviews
To update the MECA path in the docmap: https://docs.google.com/spreadsheets/d/1mctCQuNFBjSn97Lihy7_vBO6z7-N-oqyLv4clyi6zHg

Step 3: Awaiting search reindex
This step adds the reviewed preprint to the homepage: https://elifesciences.org
The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.
Useful links:

Jenkins pipeline to reindex search can be triggered sooner or monitored here: https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 4: Published! PDF requested
Waiting for PDF to be generated
Useful links:

PDF tracking: https://docs.google.com/spreadsheets/d/106_XeDjmuBae7gexOTNzg60lapeqjl2aRn9DzupGyS8/

Step 5: Introduce PDF to data folder and git repo
Upload PDF to relevent folder in git repo https://github.com/elifesciences/enhanced-preprints-data/
Step 6: Done!

[ ] Kettle is on!

Hi @acollings, this Assessment is a bit all over the place. Any thoughts/ideas on how best to proceed?

Thanks @fred-atherden unfortunately the SE went rogue with the terms after the staff checks. Hopefully the latest version is better.

Thanks!


Add documentation on how to vend cdk8s based libraries

Lets add some guidance on how to vend libraries like cdk8s-plus. Essentially ones that rely on the auto-generated code produced by the cdk8s-cli. This flow is a little different from normal library authoring.

Hello, would love to see some more guidance around this; currently working on an internal chart construct library and running into toolchain issues. Thanks

Keep


text an website updated

take updated text an website

too many file in PR, plus problems with reinstalled submodule


Default request empty array value.

To avoid
count(): Parameter must be an array or an object that implements Countable
in remain method. Count function can't count NULLvalue.

Coverage decreased (-0.04%) to 79.872% when pulling 0cdf6ee2a405f208a8c13c3140c13117353e53ff on michael-molchanov:patch-1 into 5c01aa20e28355c30aa8de7626c8093e5a44a6a1 on hirak:master.

Coverage decreased (-0.04%) to 79.872% when pulling 0cdf6ee2a405f208a8c13c3140c13117353e53ff on michael-molchanov:patch-1 into 5c01aa20e28355c30aa8de7626c8093e5a44a6a1 on hirak:master.

Coverage decreased (-0.04%) to 79.872% when pulling 0cdf6ee2a405f208a8c13c3140c13117353e53ff on michael-molchanov:patch-1 into 5c01aa20e28355c30aa8de7626c8093e5a44a6a1 on hirak:master.

Please review ASAP

I am in no way an expert in composer, but I saw the problem when setting up a Drupal project when I issued the following command earlier this evening:
composer create-project drupal-composer/drupal-project:8.x-dev scratch --stability dev --no-interaction

gave the error listed above.
I manually applied the patch and all seems to work.

Got this error on my Drupal update due to the update of drupal-scaffold 2.5.
After adding this easy fix to my globally installed prestissimo it works again. :)
I think this fix can be applied fast. It would be nice, to be back on track again.

I agree - the more test coverage the better. Or maybe both PRs get merged, so you both get credit for the fix. ;-)
See my comment on the latter re: assertions.

Oh, wait. I see. #155 had already been merged.

That's not a PR 😆

I merged #173. Because there is a test, I thought it was better. I will make a release later. Thanks.


fix: drop py37 can use importlib

Codecov Report

Merging #174 (1d6b1b9) into develop (e66f3aa) will increase coverage by 4.01%.
The diff coverage is 69.93%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@             Coverage Diff             @@
##           develop     #174      +/-   ##
===========================================
+ Coverage    67.62%   71.63%   +4.01%
===========================================
  Files           37       45       +8
  Lines          942     1421     +479
===========================================
+ Hits           637     1018     +381
- Misses         305      403      +98

Impacted Files
Coverage Δ

taskiq/abc/middleware.py
100.00% <ø> (ø)

taskiq/abc/result_backend.py
100.00% <ø> (ø)

taskiq/cli/watcher.py
0.00% <ø> (ø)

taskiq/cli/worker/log_collector.py
100.00% <ø> (ø)

taskiq/cli/worker/process_manager.py
0.00% <0.00%> (ø)

taskiq/cli/worker/run.py
0.00% <0.00%> (ø)

taskiq/events.py
100.00% <ø> (ø)

taskiq/result/v1.py
0.00% <0.00%> (ø)

taskiq/result_backends/dummy.py
100.00% <ø> (ø)

taskiq/middlewares/prometheus_middleware.py
25.86% <25.86%> (ø)

... and 28 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Lag and choppiness when doing press-and-hold fast scroll with remote

Describe the bug
Lag and choppiness when holding down the remote left/right button to scroll horizontally.
To Reproduce
Run the example (hoppix) on Android TV. I made a release build.
Expected behavior
Smooth scroll without lag or choppiness.
Screenshots
Believe me, it is laggy.
Version and OS

5.1.0
<EMAIL_ADDRESS>Google Chromecast

Additional context
I believe the creators have not focused on this problem and it is expected?

Hey, are you trying in release mode? It can be sloppy in debug mode (React Native is quite slow in debug mode), but shouldn't be in release mode.
Having a good performance is important for us, and we did check on low-end devices (Xiaomi TV Box). I'm quite surprised that it's slow for you 🤔

Hey, someone else was talking about the app and told me that there was a big slowness that was weird, and noticed that reanimated was causing issues 😱
Removing this part greatly improves the smoothness of the app (even though the animation isn't even used if you don't use a longPress)
https://github.com/bamlab/react-tv-space-navigation/blob/3c53f44f0b91e06146df0b7c3a9d46f945d8a86b/packages/example/src/modules/program/view/ProgramNode.tsx#L35
We will fix this in the example soon by removing reanimated, probably 😬

Hey, someone else was talking about the app and told me that there was a big slowness that was weird, and noticed that reanimated was causing issues 😱
Removing this part greatly improves the smoothness of the app (even though the animation isn't even used if you don't use a longPress)
https://github.com/bamlab/react-tv-space-navigation/blob/3c53f44f0b91e06146df0b7c3a9d46f945d8a86b/packages/example/src/modules/program/view/ProgramNode.tsx#L35
We will fix this in the example soon by removing reanimated, probably 😬

Hi! Thank you for pointing this out. I think the best way to deal with this is to remove the animation as this does not contribute to the experience so much !

Indeed, in this case it was just an example 😄 So you confirm that it improves smoothness a lot?

Indeed, in this case it was just an example 😄 So you confirm that it improves smoothness a lot?

Seems pretty smooth to me on Tizen 5.5 for example 🤩

That's awesome. Thank you for pointing this out 😁


Update the src-docs generation to be done just in the root dir

Applicable spec:
Overview

Update the creation of src-docs to be just done in the root directory. This is not really related to tests and linting, but I think it as globally for the repository.
Also put back the basepython = python3.10 in tox.ini.
Rationale

Juju Events Changes

Module Changes

Library Changes

Checklist

[x] The charm style guide was applied.
[x] The contributing guide was applied.
[x] The changes are compliant with ISD054 - Managing Charm Complexity
[x] The documentation is generated using src-docs.
[x] The documentation for charmhub is updated.
[x] The PR is tagged with appropriate label (urgent, trivial, complex).
[x] The changelog is updated with changes that affects the users of the charm.
[x] The changes do not introduce any regression in code or tests related to LXD runner mode.

opening in another PR, as this one comes from a fork and it looks the test do not work.


[Crash/Conflict] Incompatible with stacked flower mods / New Release issues

Latest update is incompatible with https://modrinth.com/mod/stackable-flowers and/or https://modrinth.com/mod/bushier-flowers
Crashes when trying to place the Jack Flower, other flowers are fine (deadlocks the game)
java.lang.IllegalArgumentException: Cannot get property class_2758{name=flower_amount, clazz=class java.lang.Integer, values=[1, 2, 3, 4]} as it does not exist in Block{many_flowers:jack_flower}
	at net.minecraft.class_2688.method_11654(class_2688.java:98)
	at net.minecraft.class_2356.method_9530(class_2356.java:562)
	at net.minecraft.class_4970$class_4971.method_26172(class_4970.java:1032)
	at net.minecraft.class_3959$class_3960.get(class_3959.java:67)
	at net.minecraft.class_3959.method_17748(class_3959.java:40)
	at net.minecraft.class_1922.method_17743(class_1922.java:80)
	at net.minecraft.class_1922.method_17744(class_1922.java:193)
	at net.minecraft.class_1922.method_17742(class_1922.java:73)
	at net.minecraft.class_1297.method_5745(class_1297.java:1715)
	at net.minecraft.class_757.method_3190(class_757.java:652)
	at net.minecraft.class_757.method_3188(class_757.java:1067)
	at net.minecraft.class_757.method_3192(class_757.java:880)
	at net.minecraft.class_310.method_1523(class_310.java:1219)
	at net.minecraft.class_310.method_1514(class_310.java:802)
	at net.minecraft.client.main.Main.main(Main.java:250)
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:468)
	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
	at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)

Autumn Asters & Velvets aren't affected by their config
Zinnia has an incorrect double drop (drops when breaking one part, even in creative)

@A5ho9999 So. About Stackable Flowers...  He forced some overrides that gonna break all mods with non-primitive flowers, not only mod flowers.
The guy should rewrite mixin. Using correct ways for that.
https://github.com/TheCharlsen/StackableFlowers/blob/6acc4cb7d9f8d36cd7c6b8cba1c2f7f95c9e4561/src/main/java/com/sunnyspaceweather/mixin/FlowerBlockMixin.java#L20

Other problems will be fixed as soon as possible

Other problems will be fixed as soon as possible

[x] Crashes when trying to place the Jack Flower, other flowers are fine (deadlocks the game) (Stackable Flowers Issue)
[ ] Autumn Asters & Velvets aren't affected by their config
[ ] Zinnia has an incorrect double drop (drops when breaking one part, even in creative)

https://modrinth.com/mod/many-flowers/version/OIIWERoL


Action methods must have a conventional signature with sender as a first parameter.

@advantis please check if the example project works with the new signature.
Currently we are using the refresh control in this way
http://monosnap.com/image/mr719ssxTS8UQdU4K6kU9JSVvZw9JE
Please make the appropriate updates in the example project if such ones are required. Thanks.

Yes, it works correctly without any modification needed. According to the "Target-Action in UIKit" document the sender parameter can be safely ignored by action receiver.

Thank you for verification. Merging in.


Test breaking on PRs

What
Why
Who needs to work on this
Who needs to review this
Done when

[ ] Thing to do

@Izabela-16 to work with Joe & Nora to provide context.


Gmsh extension3

Most important: Added functions for incomplete grids. (read from gmsh and seal)
Secondly: Added rudimentary functions for mixed grids

Codecov Report
Patch coverage: 88.50% and project coverage change: +0.99% :tada:

Comparison is base (baf258e) 70.83% compared to head (7dad36a) 71.82%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff             @@
##           master      #34      +/-   ##
==========================================
+ Coverage   70.83%   71.82%   +0.99%
==========================================
  Files          25       26       +1
  Lines        3761     4025     +264
==========================================
+ Hits         2664     2891     +227
- Misses       1097     1134      +37

Files Changed
Coverage Δ

src/ExtendableGrids.jl
25.00% <ø> (-50.00%)
:arrow_down:

src/extendablegrid.jl
65.82% <ø> (ø)

src/simplexgrid.jl
97.22% <ø> (-0.17%)
:arrow_down:

ext/ExtendableGridsGmshExt.jl
89.82% <87.06%> (-3.77%)
:arrow_down:

src/seal.jl
91.86% <91.86%> (ø)

... and 4 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

@cmerdon - could you try this PR ? IMHO it is ok.

good, it works for me. However, simplexgrid_from_gmsh seems to generate an ExtendalbeGrids{Float64, Int64} always, there seems to be no way to use Int32. Maybe we want to have that possibility?

Hm @jotaraz, how does gmsh store integers ? Always as 64bit ?
May be we could add a kwarg indextype which by default would be what gmsh has.

@j-fu @chmerdon As far as I know, Gmsh (or at least Gmsh.jl) stores node indices etc. as UInt64 and the coordinates as Float64.
Since the last updates, there is the possibility to construct a grid from a gmsh file (or module) with any desired types for Ti, Tc. The conversion in the other direction (ExtendableGrid -> Gmsh) seems to work already, independently of the type of the ExtendableGrid.

I would like to make
ExtendableGrids.simplexgrid_from_gmsh
ExtendableGrids.simplexgrid_to_gmsh
ExtendableGrids.mixedgrid_from_gmsh
ExtendableGrids.mixedgrid_to_gmsh

public API for all the gmsh stuff.
Maybe mixed and simplex could be merged.
As for the tests: Gmsh creates different grids on windows...


gulp-babel Sourcemaps not working with TypeScript 2.0 via gulp-typescript

When I use gulp-typescript to compile to ES6, then use Gulp-Babel after that (to go to ES5), it doesn't correctly apply the TypeScript sourcemap if the file is in a subdirectory. For example:
./src/tsfile1.ts <-- sourcemaps work great, through both gulp-typescript and gulp-babel
./src/subdir/tsfile2.ts <-- sourcemaps from gulp-typescript are broken, only the babel sourcemap gets applied
If found a workaround, if you modify the file.sourceMap.file property to use forward slashes instead of backslashes, the sourcemaps compile fine. This was a change in either the new gulp-typescript or TypeScript 2.0.3, not sure which, but now it uses backslashes on the file.sourceMap.file property.
Here is a straight dump of the sourceMap property on the vinyl file in both versions:

Running this code on the file before it runs through gulp-babel fixes the issue temporarily:
if (file.sourceMap.file) {
    file.sourceMap.file = file.sourceMap.file.replace(/\\/g, '/');
}

Again, I'm not sure if the change in slashes comes from gulp-typescript or typescript v2, but either way gulp-babel should handle it I guess.

Bump

There was a fix for gulp-typescript, but I still think that gulp-babel should handle backslashes correctly when generating source maps.
Thanks

Closing this issue as it's been inactive for several months. Please feel free to open a new issue or leave a comment asking to reopen this issue. Thanks! ✌

If you just have an usage issue or want help, I would recommend checking out our slack community or StackOverflow.


Add support for orion browser

Is there a way to add support for other browsers like Orion? Happy to create a PR if you can point me in the right direction.

+1

Okay, this was actually very easy to do since Orion is webkit-based. I'll submit a PR.

PR added: #46

I should note that this repo hasn't been updated since 2021, so the odds of my PR being accepted seem low. If you view my PR, @uloco, it should be straightforward for you to update the workflow. Let me know if you have questions.

🚀 This has been released with 🔖 v1.0.6


[IDM-2.2] Wildcard reads failure.

Reproduction steps
Summary:
In IDM-2.2, the 6th step instructs to read any global attribute across all endpoints and clusters. However, when ran using command "ReadById" is executed, the test case fails, accompanied by an error message stating: "KeyError: 'Error: The cluster (0x7) attribute (0xfffd) definition cannot be found. Please update the cluster definition.'
Reproduction steps:
Run TC-IDM_2_2_ script using below command:
./scripts/run_in_build_env.sh "./scripts/tests/run_test_suite.py --runner chip_tool_python --chip-tool ./out/linux-x64-chip-tool-no-ble-tsan-clang/chip-tool --target Test_TC_IDM_2_2_ run --iterations 1 --all-clusters-app ./out/linux-x64-all-clusters-no-ble-tsan-clang/chip-all-clusters-app"
Diff link: https://github.com/project-chip/connectedhomeip/compare/master...manjunath-grl:connectedhomeip:Wildcard_entry_Failures
Bug prevalence
Everytime when executed
GitHub hash of the SDK that was being used
2a4a2cada95a8cf0d8447996d47b8cbd77ebd73e
Platform
other
Platform Version(s)
No response
Anything else?
Test-plan screenshot:

Execution logs:

IDM_22_Step6_Fail.txt

Cluster 0x7 is "On/Off Switch Configuration".
That said, I have no idea why its global ClusterRevision attribute definition would not be found.   This looks like a likely bug in the test harness.

Relevant code is at https://github.com/manjunath-grl/connectedhomeip/tree/Wildcard_entry_Failures

Ah, this is the same issue as https://github.com/project-chip/connectedhomeip/issues/29115
That was closed without fixing the actual issue, so here it is biting us again.  Like that issue says:

This specific cluster is draft, but this would presumably also fail for manufacturer-specific things.

@cecille

Other issue was with 1.2 - that was closed because we have a python script that does the same.
But if this is failing on any cluster, this is a real failure. MEI clusters derive from base, and they need the global attributes.

Oh, sorry, misunderstood - it's not the read that's failing, it's the translation of some sort.
@vivien-apple is probably the best person here to look into this - it is a failure in the yaml runner, not the script.

@cecille Tried on ToT able to reproduce it with below command.
 ./scripts/run_in_build_env.sh "./scripts/tests/run_test_suite.py --runner chip_tool_python --chip-tool ./out/linux-x64-chip-tool-no-ble-tsan-clang/chip-tool --target Test_TC_IDM_2_2_ run --iterations 1 --all-clusters-app ./out/linux-x64-all-clusters-no-ble-tsan-clang/chip-all-clusters-app"

@cecille You want to pull the code for https://github.com/manjunath-grl/connectedhomeip/tree/Wildcard_entry_Failures
And yes, this is a failure for any unknown cluster; the 2.1 test triggering it was just a symptom.  I should perhaps have been clearer in the other issue...

OK, the unfortunate part here is that we seem to have lost the main maintainer for the YAML runner. Having me poke around in there is not the best way to get things done since I've literally never touched this code before. None the less, I have prepped a PR that fixes the test in possibly a horrible way. I would like to get feedback from at least @tehampson before unleashing this on the world though as it is more than possible that my confidence outpaces my skill in this area.
https://github.com/project-chip/connectedhomeip/pull/30823

There's a meta question here, and that is why you're trying to write TC-IDM-2.2 in YAML and whether you think you can succcessfully make it to the end of the test doing all the validation required using only yaml. I would contend that the answer here is no, that this test is better done in python, and we should punt it over to the new CSA staff to automate properly in a way where we can validate the returned values in a reasonable way.
Terence DOES think he can make global attributes work for yaml wildcards. But MEI clusters remain a problem. We could use this override here, but I'm not sure where we have a test case where we're wildcarding on something where we're going to have unknown data coming back.


[Bug]: Failed to convert to YAML for some packages

Describe the problem
The Get-WGInstalled function returns a WARNING: Failed to convert to YAML message when the Raspberry Pi Imager package is listed. Full error message below.
WARNING: Failed to convert to YAML
WARNING: Found Raspberry Pi Imager [RaspberryPiFoundation.RaspberryPiImager]
Version: 1.8.1
Publisher: Raspberry Pi Ltd
Publisher Url: https://www.raspberrypi.com
Publisher Support Url: https://github.com/raspberrypi/rpi-imager/issues
Author: Raspberry Pi Ltd
Moniker: rpi-imager
Description: Raspberry Pi Imager is the quick and easy way to install Raspberry Pi OS and other operating systems to a microSD card, ready to use with your Raspberry Pi.
Homepage: https://www.raspberrypi.org/blog/raspberry-pi-imager-imaging-utility
License: Apache-2.0
License Url: https://github.com/raspberrypi/rpi-imager/blob/qml/license.txt
Privacy Url: https://www.raspberrypi.com/privacy
Copyright: Copyright (C) 2020 Raspberry Pi Ltd
Copyright Url: https://github.com/raspberrypi/rpi-imager/blob/qml/license.txt
Release Notes:
  - Advanced options: Rename to OS customization
  - OS customization: change to tabbed UI
  - OS customization: make SSH public key field a textarea
  - OS customization: add convenience button to run ssh-keygen
  - OS customization: Enforce choice as part of write flow
  - OS customization: Fixes for state consistency across UI
  - Home: Add mechanism for selecting Raspberry Pi device
  - Shared: Multiple keyboard focus fixes
  - i18n: Adds Spanish/Ukrainian translations
  - i18n: Updates French, Catalan, Italian, German, Spanish, Russian,
  - i18n: Use en_US as reference string, and make en_GB a translation
  - Linux: Workaround for ArchLinux's lsblk labeling internal SD card readers
  - Allow drag-dropping image files to Imager.
  - Local .xz files: parse uncompressed size for better progress reports.
  - Windows: fix .zst support
Release Notes Url: https://github.com/raspberrypi/rpi-imager/releases/tag/v1.8.1
Documentation:
  Raspberry Pi Documentation: https://www.raspberrypi.com/documentation
Tags:
  flash
  imager
  raspberrypi
  sd
Installer:
  Installer Type: nullsoft
  Installer Url: https://github.com/raspberrypi/rpi-imager/releases/download/v1.8.1/imager-1.8.1.exe
  Installer SHA256: 529902c74c3c7fb63f5da648077cfa4031b7f3b9a56b1bdd58e4e54c7973b86a
  Release Date: 2023-10-19
Raspberry Pi Imager       RaspberryPiFoundation.Ras 1.8.1
                          pberryPiImager

No problems with function Get-WGPackage
>  Get-WGPackage -ID 'RaspberryPiFoundation.RaspberryPiImager' | Select *

Moniker             : rpi-imager
Description         : Raspberry Pi Imager is the quick and easy way to install Raspberry Pi OS and other operating systems to a microSD card, ready to use with your Raspberry Pi.
Author              : Raspberry Pi Ltd
Publisher           : Raspberry Pi Ltd
PublisherUrl        : https://www.raspberrypi.com
PublisherSupportUrl : https://github.com/raspberrypi/rpi-imager/issues
Homepage            : https://www.raspberrypi.org/blog/raspberry-pi-imager-imaging-utility
Name                : Raspberry Pi Imager
ID                  : RaspberryPiFoundation.RaspberryPiImager
Version             : 1.8.1
Source              : winget
Computername        : ORILLA

Expectation
Output without warning :)
Additional Information
> Get-InstalledModule -Name WingetTools

Version    Name                                Repository           Description
-------    ----                                ----------           -----------
1.7.0      WingetTools                         PSGallery            A set of PowerShell tools for working with the winget package manager.

> winget --version
v1.6.2771

> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      5.1.22621.2428
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.22621.2428
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>

PowerShell version
5.1
Platform
Windows 11 Pro or Enterprise
Additional Checks

[X] You are using the latest version of this module.
[ ] You have read this repository's README file.
[ ] You have read full help and examples for the command you are having problems with.
[ ] You are running PowerShell in an elevated session.
[X] You are running in a traditional PowerShell console or Windows Terminal

Ran into the same issue. I added -WarningAction SilentlyContinue to suppress the issue.


Adds updated impl for workflow execution

This code is duplicated and added in another PR. Closing this.


not compatible with latest osmnx

Osmnx seems to have renamed and moved a number of methods used in osmuf, for example save_and_show is now _save_and_show, make_str no longer seems to exists and bbox_from_point has been moved to different module.  The last supported version of osmnx seems to be 0.12 so perhaps the documentation should be updated to reflect this.

Apologies for not picking this up before - as you might have noticed you are the first person to raise an issue or a pull request and I hadn't realised it was there! Thanks for that. I'll have a look at what you have done. You are right, OSMnx is going through quite a few changes at the moment. Can I ask what you are using OSMuf for? Thanks for your input!

As in the comment on the pull request, thanks again!


2k characters

I'm not sure how important this is, but attempting to send a message over 2000 characters rejects the promise with a Bad Request error from the Discord API.  I remember this issue was addressed in #653, but it seems to have been reverted with the v10 update.

https://discord.js.org/#!/docs/tag/master/class/TextChannel?scrollto=sendMessage
https://discord.js.org/#!/docs/tag/master/typedef/MessageOptions
https://discord.js.org/#!/docs/tag/master/typedef/SplitOptions
.sendMessage() and .sendCode() both can be passed the option split with a variety of settings.
This was not reverted.

Although I'm curious what the situation would be in which you'd specifically not want your message split or why it wouldn't be default.

Why do you think it should be default?
And if you dont want it to split and it is above 2k characters you can trim the message yourself.

I suppose there aren't enough variable-length messages that could reach the size where it would be a problem.  I was just thinking that wanting a split message rather than an error would be preferable to most people, so in the instances where the bot might generate a 2k+ character message, defaulting to that would be better.
But, it is a rather rare situation, so I can see how the explicit statement is fine.

I hope you know what that means if you scrape a website and don't know how many characters you will get back right?
It could be 10k, 50k, 100k.

Never considered that people do that with bots. Fair point.
On Thu, Oct 27, 2016 at 9:24 PM -0700, "Crawl" <notifications<EMAIL_ADDRESS>wrote:
I hope you know what that means if you scrape a website and don't know how many characters you will get back right?
It could be 10k, 50k, 100k.

You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHubhttps://github.com/hydrabolt/discord.js/issues/856#issuecomment-256833304, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AIGcM6NBCzRfBTG-pYfMislzmsnhcxB5ks5q4Xj7gaJpZM4KjDOQ.

that's a nice auth token there, it would be a shame if someone got their hands on it...

wtf.  the message at the bottom said i could just reply 😢


kernel: SMP global lock (and therefore irq_lock) works incorrectly on SMP platforms

Describe the bug
While debugging #36652 I've bumped into a situation when two threads are executing code protected with SMP global lock on two CPUs simultaneously (which shouldn't be happening)
The SMP global lock is widely used in Zephyr via irq_lock abstraction layer on SMP systems.
The SMP global_lock implementation looks quite suspicious. We have two complimentary z_smp_global_lock/z_smp_global_lock functions (which is OK) and one outstanding z_smp_release_global_lock which is called from do_swap.
The z_smp_release_global_lock previously had complimentary z_smp_reacquire_global_lock function which reacquired (if it is required) SMP global_lock on the thread brought online. However it was removed during huge scheduler rewrite 1acd8c2996c3a1ae0691247deff8c32519307f17
This seems to be incorrect as after thread swap (and call z_smp_release_global_lock) and swap back we will get global_lock_count inconsistent with global_lock value - the global_lock is reset by z_smp_release_global_lock, but thread's global_lock_count value is kept the same and all other calls to z_smp_global_lock and `z_smp_global_unlock1 by this thread won't work correctly.
This is one example of issue (among many possible ones):
CPU0                                                       CPU1
[1] lock - call z_smp_global_lock
[2] scheduled out, z_smp_release_global_lock call          lock - call z_smp_global_lock
                                                           we take global_lock here as it was
							   unlocked by z_smp_release_global_lock
							   on CPU0
[3] scheduled in
[4] unlock - call z_smp_global_unlock
    **Ooops!!!** - here we actually unlock global_lock
    taken by another CPU (CPU1)

This looks like a bug introduced by 1acd8c2996c3a1ae0691247deff8c32519307f17.
Here is the current implementation of SMP global_lock code kernel/smp.c
static atomic_t global_lock;

unsigned int z_smp_global_lock(void)
{
	unsigned int key = arch_irq_lock();

	if (!_current->base.global_lock_count) {
		while (!atomic_cas(&global_lock, 0, 1)) {
		}
	}

	_current->base.global_lock_count++;

	return key;
}

void z_smp_global_unlock(unsigned int key)
{
	if (_current->base.global_lock_count) {
		_current->base.global_lock_count--;

		if (!_current->base.global_lock_count) {
			atomic_clear(&global_lock);
		}
	}

	arch_irq_unlock(key);
}

/* Called from within z_swap(), so assumes lock already held */
void z_smp_release_global_lock(struct k_thread *thread)
{
	if (!thread->base.global_lock_count) {
		atomic_clear(&global_lock);
	}
}

Impact
The SMP kernel works incorrectly which may lead to hangs (i.e #36652) / incorrect execution / data loss / etc.

CC kernel codeowners and kernel/sched.c, kernel/smp.c contributors
@dcpleung @nashif @andyross @jharris-intel @pabigot @enjiamai @ceolin

This is an intentional misfeature, actually.  Historically, code holding an irq_lock() was legally allowed to swap (despite the fact that the whole idea is nonsensical -- code above you that took the lock doesn't expect it to be magically released).  And this worked and was done in a few places in the kernel.  So this implements the same policy, which was IIRC required to get some tests to run at the time.  If you swap, you give up the lock and reacquire it on entry.
Note that spinlocks don't have this misfeature.  Please use those, and not the legacy irq_lock() API.

If you swap, you give up the lock and reacquire it on entry.

@andyross But the issue is that we don't reacquire it on entry! The reacquiring was implemented initially but it was removed in 1acd8c2996c3a1ae0691247deff8c32519307f17 and now we don't even have a function which implements lock reacquire.

Can you provide an exerciser?
At this point, several years after the transition, I'm personally more inclined to just eliminate this and say that the irq_lock() emulation layer isn't present and that you MUST use spinlocks on any SMP system.  Certainly nothing in the core system cares, this exists only for the benefit of porting code from uniprocessor setups that, again, should have been using spinlocks for the last few years anyway.

Also, dropping priority.  The only way to hit this situation is when you are swapping with an interrupt lock held, which means you've already broken any reasonable synchronization scheme.  If you use irq_un/lock() to bound a proper critical section, this can't possibly happen.  It's only about the support for the legacy weirdness in the API that we fixed long ago.

Can you provide an exerciser?

Do you mean to provide test case where issue happens or to provide the description about how the missing lock reacquire after swap may break the code?

Also, dropping priority. The only way to hit this situation is when you are swapping with an interrupt lock held, which means you've already broken any reasonable synchronization scheme. If you use irq_un/lock() to bound a proper critical section, this can't possibly happen. It's only about the support for the legacy weirdness in the API that we fixed long ago.

I'd disagree here as this mechanism is actually used in Zephyr generic code (i.e in posix thread layer). Zephyr user don't need to do something strange with irq_lock API to trigger this issue - it's enough to use some Zephyr functionality (like pthread) on SMP system which looks perfectly correct from user point of view.
So it should be priority: medium at least :)

I'd disagree here as this mechanism is actually used in Zephyr generic code (i.e in posix thread layer)

Can you post a separate bug about the code that is context switching with a lock held?  THAT we need to get fixed ASAP.  It really should just never happen, it was a quirk about the old API that we'd like to deprecate if possible.

Can you post a separate bug about the code that is context switching with a lock held? THAT we need to get fixed ASAP. It really should just never happen, it was a quirk about the old API that we'd like to deprecate if possible.

Sure, I'll do that (at least for posix thread layer)
BTW, as I understand the z_smp_release_global_lock must be never called (as we must not use context switching with a lock held). So should we just call z_fatal_error in z_smp_release_global_lock instead of silently managing the global_lock which is done incorrect now?

That would have the effect of breaking anyone who tries this trick, so... sure I guess?  But if that's the course we want, it makes more sense to just assert that global_lock == 0 in z_swap().
Really my aim here is to remove this API, not to fix it. :)

That would have the effect of breaking anyone who tries this trick, so... sure I guess?

Yep, that's the aim. It would have saved hours of debugging and analyzing 200K+ instruction traces for me if it had been implemented :)


Screen and Voice Recorder cannot be found when using dotnet test/vstest

Description
Video datacollector cannot be found when using dotnet vstest or dotnet test.
Steps to reproduce
dotnet vstest $dll /collect:'Screen and Voice Recorder' /resultsdirectory:c:\temp
Expected behavior
Video recorder functions as it does when calling vstest.console.exe
Actual behavior
Data collection : Unable to find a datacollector with friendly name 'Screen and Voice Recorder'.
Data collection : Could not find data collector 'Screen and Voice Recorder'

Other Attempts
I also tried to set the path to the data collector but it would generate errors.
dotnet vstest $dll /tests:test0 /collect:'Screen and Voice Recorder' /resultsdirectory:c:\temp /TestAdapterPath:"C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\"

Microsoft (R) Test Execution Command Line Tool Version 16.8.0
Copyright (c) Microsoft Corporation.  All rights reserved.

Starting test discovery, please wait...
A total of 1 test files matched the specified pattern.
Data collector 'Screen and Voice Recorder' message: Data collector caught an exception of type 'System.IO.FileNotFoundException': 'Could not load file or assembly 'System.Configuration.ConfigurationManager, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. The system cannot find the file specified.'. More details: The type initializer for 'Microsoft.VisualStudio.TestTools.DataCollection.MediaRecorder.MediaFoundationRecorder' threw an exception...

Passed!  - Failed:     0, Passed:     1, Skipped:     0, Total:     1, Duration: 4 ms

Environment
Windows 10 w/ VS 2019, 2017 & net5.0

Please use dotnet test instead of dotnet vstest and also you should specify runsettings file and add video collectors there.
Please refer this documentation Screen and Voice Recorder.

@Sanan07 I have the same error using dotnet test and when specifying the recorder in the runsettings.

@JDCain Yes, I was able to reproduce the issue. Seems that the problem with Screen and Voice Recorder, cause it works fine with Code Coverage data collector setting in runsettings file.  Will try to look at it.

As far as I know, Screen and Voice Recorder data collector doesn't ship with dotnet. You might need to use vstest.console.exe shipped with Visual Studio, or use the one in the Microsoft.TestPlatform package.

Is there a way to point to it using /TestAdapterPath ?
When I attempted to it would not work but I suspect I am not setting the path right.

It might be possible. I need to verify it thou. I'll let you know on Monday :)

So I just checked it. Screen and Voice Recorder is not compatible with dotnet test. It would be best if you use the NuGet package (or vstest.console.exe shipping with Visual Studio).

@Haplois
Good to know. I started writing my own using ffmpeg as a work around.
Because I am curious, is the incompatibility due to dependencies which are not included in dotnet, like System.Configuration.ConfigurationManager?

Parts of Screen and Voice Recorder is only supported on Windows and not compatible with dotnet, I think that's the main reason. I am not sure, but I think it's only available with VS Enterprise SKU; this might be another issue.

Parts of Screen and Voice Recorder is only supported on Windows and not compatible with dotnet, I think that's the main reason. I am not sure, but I think it's only available with VS Enterprise SKU; this might be another issue.


How to handle deploying from terminal while using a hardware wallet?

Since deploying from terminal requires private keys, and using a hardware wallet is essential for security, is there any best practice here?
If deploying from a hardware wallet, particularly a ledger, we have to go outside of Ledger's software to get the keys to input.  Alternative would be to implement from a hot wallet, then transfer ownership after everything is setup.  But that would prevent future management from the terminal.
If we're more comfortable deploying from Remix and managing from Etherscan (since no private keys need to be input), will that still work OK or would you anticipate we'll run into issues?
Note: EXTREMELY EXCITED for the 721A update, can't wait!

Hi @joven1555,
using hardware wallets with Hardhat is actually possible (but I still didn't have the chance to test it and there is no plan for supporting it at the moment).
Personally I don't see much need for that in most cases, creating a dedicated MetaMask account (not wallet) for contracts deployment/management would be fine and it would allow to perform any operation from both terminal and/or Etherscan.
Copying your private key (from a single, dedicated, wallet) into a .env file is not a major problem if you follow some important rules such as:

adding your key to the .env file when needed (and removing it as soon as you are done)
trusting official sources only (e.g. avoid forks and always review the project code when new commits are pushed to the main branch)
never commit your .env file (it's ignored by default if using our .gitignore file)
never share your project folder with anyone (always use git repositories in order to collaborate with other team members)

Anyway, as I said in other issues: I'm gonna publish a video about how to manage your collection completely using Remix + Etherscan, while still being able to verify the contract using the CLI (without any private key, just the free API key from Etherscan).
I hope this helps, feel free reply here if you have any questions about this topic.


Filled in my words

Hey @vermakiran, the files look good. We are proceeding with the merge.

Looks good


Add missing ES2016 Number built-ins

[ ] Check semantics changes

Some notes:

.toFixed() order for 'this number value' and ToInteger(fractionDigits) has changed, check test coverage and implementation
toFixed() may allow fractionDigits < 0 or > 20 as implementation defined. Duktape doesn't.
toExponential() may allow fractionDigits < 0 or > 20 as implementation defined. Duktape doesn't.

All differences now in issues and pulls, closing.


VOXFileImport.cs(533,33): error CS0719: 'Renderer': array elements cannot be of static type

Bro 2019.4.12f1 VOXFileImport.cs(533,46): error CS0029: Cannot implicitly convert type 'UnityEngine.MeshRenderer' to 'Renderer'

In file Renderer.cs i change 4 line to: "class Renderer"

but how to fix this ,_,
2019.4.12f1 VOXFileImport.cs(533,46): error CS0029: Cannot implicitly convert type 'UnityEngine.MeshRenderer' to 'Renderer'


[Feature request] Point buy cost

When rolling stats for 5e with /r repeat (4d6d1, 6), I would really like an option of seeing how many points this set would be worth with point buy instead of calculating that on my own.
E.g.:
Me: /r repeat (4d6d1, 6, pbcost)
Sidekick: repeat (4d6d1, 6)  = (1+1+5+6) = 12, (6+5+5+2) = 16, (3+3+3+4) = 10, (1+3+1+4) = 8, (1+3+2+6) = 11, (1+5+5+2) = 12. Point buy cost: 25
Would be useful since I sometimes have an option to switch to point buy if the rolls are too low.

How would one calculate the point buy cost?

Put loosely, from 8 upward, it costs whatever the next number's ability bonus would be to go to the next number, minimum of one. From 8 to 3, it's the same principle with a +1. More precisely, the full cost of a score is in the following table.

-9
-6
-4
-2
-1
0
1
2
3
4
5
7
9
12
15
19

Note that it's an extrapolation of point buy costs from the PHB, but one that is accepted in virtually all the point buy calculators with custom rules on the web, e.g. this popular one.
Another method commonly used would be to just set the cost for any score lower than 8 to 0. Any one of these methods would be useful.

Interesting. Might be a good case for #160.


Game launchers don't have access to additional drives ootb

Steam, itch, and Lutris are now suggested apps in yafti (#94); out of the box, they don't have access to either external drives or additional internal drives.
Was going to do this in the background on first login, but thinking about it more, opening sandbox holes like this should only be done with consent from the user. Should be handled in yafti instead
Ideal solution would obviously be improvements to Portals, but it'd be nice to figure something out in the meantime

From #96:
Yafti runs the conditional on launch rather than before getting to the screen (which makes sense, in hindsight); would have to remove the condition for this to work. There's also the matter of the yafti.screen.package UI being phrased as if it's installing packages, which isn't the case here. Yafti does have yafti.screen.consent as well, but if consent isn't granted there, the only way to progress is by exiting yafti rather than just being able to say no and move on

It seems that with current versions of the FileChooser and Document portals, that this might not actually be a problem anymore? Needs testing


Fix: Binary Maths

Currently, arithmeitc that overflows math.MaxInt64 and underflows math.MinInt64 just causes integer overflows within the script, meaning maths that should be compatible with large numbers just does not work on our interpreter.
Also, OP_NUM2BIN and OP_BIN2NUM are implemented incorrectly.
To fix this, I've fixed the implementations of the two aforementioned opcodes, and changed the scriptNum data type to wrap  big.Int, implementing the correct math functions and byte conversion both to and from consensus, to and from standard big endian.

Codecov Report

Merging #82 (35c55ee) into master (4f458d2) will increase coverage by 0.62%.
The diff coverage is 98.94%.

@@            Coverage Diff             @@
##           master      #82      +/-   ##
==========================================
+ Coverage   83.94%   84.57%   +0.62%
==========================================
  Files          35       35
  Lines        3370     3514     +144
==========================================
+ Hits         2829     2972     +143
- Misses        394      395       +1
  Partials      147      147

Impacted Files
Coverage Δ

bscript/interpreter/thread.go
94.30% <ø> (ø)

bscript/interpreter/number.go
98.07% <98.07%> (ø)

bscript/interpreter/config.go
100.00% <100.00%> (ø)

bscript/interpreter/operations.go
96.54% <100.00%> (+0.38%)
:arrow_up:

bscript/interpreter/stack.go
93.56% <100.00%> (+0.03%)
:arrow_up:

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 4f458d2...35c55ee. Read the comment docs.


Add tests coverage

This requires investigation regarding puppeteer and https://github.com/gotwarlost/istanbul

Puppeteer+nyc provides basic support for single browser coverage. Using a tool to merge multiple reports may work. (e.g. https://gist.github.com/rundef/22545366591d73330a48b8948fa060a7)
injected scripts are also covered, no solution for this found


Fixing XSS with output encoding in User profile mgt

Closing this PR since same was addressed with PR https://github.com/wso2/carbon-identity/pull/1008


Add -pypylog option for -convert

This establishes feature-parity between python -m vmprofconvert -run ... and python -m vmprof -o ... followed by vmprofconvert -convert.

Thanks to @BarrensZeppelin for adding the -pypylog option for converting


tinker doesn't fully respect -q and -n

Laravel Version: 5.7.26
PHP Version: 7.1.19
Database Driver & Version: n/a

Description:
Tinker with either the -q (quiet) or the -n (no interaction) does not fully respect these options. Use case is an include file that echos stuff as part of a build process, but it cannot be run headless.
Steps To Reproduce:
> php artisan tinker -q
prints prompt >>> and the Exit: Goodbye. message.
> php artisan tinker -n
waits for interaction before exiting.
File hello_world.php:
<?php echo('Hello world!');

> php artisan tinker -qn hello_world.php
pauses until exit is typed in shell.

Can you re-open this on the tinker repo? This is the issue tracker for the framework.


Failed to create frequency sweep from siwave syz (EDB issue)

Before submitting the issue

[X] I have searched among the existing issues
[X] I am using a Python virtual environment

Description of the bug
Frequency failed to add in SiwaeDCIRSetup object
Steps To Reproduce
load an edb debug and add the sweep
Which Operating System are you using?
Windows
Which Python version are you using?
3.9
Installed packages
python3.9

bug fixed


Create a new general namespace for gates

Is this issue still relevant? I would say it got solved with #46

Agreed. Closing this one.


Adds the ability for generating a resource route

This PR allows us to generate a resource route for the created resource controller class
After this PR gets merged
php artisan make:controller UserController -r --route

As we notice, there is a new option that has been added is --route, and after that command gets executed, the Route::resource('users', App\Http\Controllers\UserController::class); will be appended into the web.php routes file.

Thanks for your pull request to Laravel!
Unfortunately, I'm going to delay merging this code for now. To preserve our ability to adequately maintain the framework, we need to be very careful regarding the amount of code we include.
If possible, please consider releasing your code as a package so that the community can still take advantage of your contributions!
If you feel absolutely certain that this code corrects a bug in the framework, please "@" mention me in a follow-up comment with further explanation so that GitHub will send me a notification of your response.


[Site] Show approximation to named instance

When using the sliders to tweak the font, try to highlight any named instance that's close to the current slider settings.
This would help you "snap" to a predefined named instance instead having a custom instance.
Relevant: https://twitter.com/pgconstable/status/1278725973035245569

Named instance buttons will now highlight when you hit their values while sliding.
Caveat: if you do a fast slide e.g. from 100 to 900, you might skip intermediate values so the buttons won't highlight.
And improvement could be made to increase intensity of a button's color when it's near a value. Closing this issue for now and will open a new one when demand is high!


[sourcekitd] Filter out -v flag

We really need to use the driver for this and stop doing ad-hoc
filtering (rdar://17897287), for for now keep limping along...
rdar://35424741

@swift-ci please smoke test and merge


Support .aup files

Is your feature request related to a problem? Please describe.

I have received the idea of adding .aup files to apm-data on Twitter.
But I have heard about some problems with sharing related to .aup files saving absolute paths.
So, I want your opinion or any knowledge.
Describe the solution you'd like

Recognize .aup files as edit-project files
A new tab for edit-project files
A new data file for edit-project

Describe alternatives you've considered

Additional context

If we support .aup files, I want to separate the tab to avoid too much information.

Excuse me, as far as I know, apm is package manager, and .aup is AviUtl's project file. I don't get the meaning of what the relationship there are.

Yeah, I think so too.
I'm just interested in the suggestion from a user.
But, from what I remember, sharing  .aup files requires the same environment as the distributor.
I think apm can help make the environment.
Yet, I know this may be beyond the package manager.


SLQ Error in Flowfield on v20

1. Describe the bug
On v20 we´re getting an "An unexpected error occurred after a database command was cancelled" error that SQL Server Profiler confirms it´s an SQL error. On v19 it works fine
2. To Reproduce
Create two projects

Project 1: basic dependencies and defines an extension for table Prod. Order Line and a new table Warnings
Project 2; depends on Project 1 and defines an extension for table Prod. Order Line with a flowfield involving new table Warnings

Link to the GitHub repository
When I try to apply a filter to the FlowField created in Project 2 and error "An unexpected error occurred after a database command was cancelled" is risen.
 Expected behavior
Filter applied with no errors.
4. Actual behavior
Error "An unexpected error occurred after a database command was cancelled"
5. Versions:
AL Language: v9.0.578744
Visual Studio Code: 1.64.2
Business Central: 20.0.36137.0

We are also facing same issue with flowfield when a filter is applied.
This problem occurs only in BC20 and works fine with BC19

@oscarfernandezkurago
And what is the exact repro step? What page have you opened, what action have you run?

@kalberes Since the issue is reproable, can we expect the fix in BC 20.0 version?

Thanks for reporting this issue, it has been fixed and will be included in the final version of v20.


⚠ AGEG website (prod) has degraded performance

In 2365976, AGEG website (prod) (https://www.ageg.ca/) experienced degraded performance:

HTTP code: 200
Response time: 1509 ms

Resolved: AGEG website (prod) performance has improved in 60ee3a6.


snap 0.14

snap-0.14.0 depended on by:

snaplet-fay-<IP_ADDRESS> (>=0.11.1 && < 0.14). Adam Bergmark<EMAIL_ADDRESS>@bergmark

False alarm! Fixed this an hour ago :)

Oh no! it was just 20 minutes ago.


Uninstall of helm chart fails

Related to: https://github.com/k3s-io/helm-controller/issues/54
If a helm deploy fails, the current klipper-helm image fails to remove the chart and try again.
This can cause issues for use cases where we want to pass in a few helmChart manifests which may have dependency.
When the chart install fails, the actual uninstall fails since we dont really pass the namespace for deleting the chart when using helm3 based deploys
The PR involves using the TARGET_NAMESPACE env variable which is passed by the helmController.

I've also encountered this in https://github.com/k3s-io/helm-controller/issues/77 .
Looking forward for this fix.

@ibrokethecloud are you able to rebase this on to current master? It appears to be conflicting with changes from #20


Refactor tests

pyOpenMS tests: keep as is
data tests: keep as is
core tests:

i/o/..: test individual functions
workflows: test each workflow (i.e., gcms srm, gcms full scan, hplc, lcms mrm, lcms DDA)

#17 fixes pyOpenMS tests and core tests
improved coverage of data tests will need to be made at some point.


[Keras] fix weight shape in dilated conv

The weight shape of dilated conv passed from frontend to nnvm compiler should be the original h and w, not including inserted zeros.

not ready for merge, one issue to fix.

ready to merge now.

please rebase against the master. @kazum @PariksheetPinjari909 please review

@kazum please https://docs.tvm.ai/contribute/code_review.html#approve-and-request-changes-explicitly

Thanks @Huyuwei @kazum , this is now merged


Count tweet Retweets?

I am wondering how can I count how many retweets a specific tweet currently has.
Thanks

Twitter provides the count through the API, so there's no need to count them yourself, look at  Twitter::Tweet#retweet_count
tweet = client.status(27558893223)
tweet.retweet_count
#=> 123


KAFKA-16214: add client info in authentication error log

When client authenticate failed, the server will log with the client IP address only. The the IP address sometimes cannot represent a specific user, especially if there is proxy between client and server. Ex:
INFO [SocketServer listenerType=ZK_BROKER, nodeId=0] Failed authentication with /<IP_ADDRESS> (channelId=<IP_ADDRESS>:9093-<IP_ADDRESS>:53223-5) (Authentication failed: Invalid username or password) (org.apache.kafka.common.network.Selector)

If there are many failed authentication log appeared in the server, it'd be better to identify who is triggering it soon. Adding the client info to the log is a good start. This PR adds the user info in the log if any. After this PR, the log will be like this:
INFO [SocketServer listenerType=ZK_BROKER, nodeId=0] Failed authentication with /<IP_ADDRESS> (channelId=<IP_ADDRESS>:9093-<IP_ADDRESS>:54700-0) (Authentication failed: Invalid username or password for user {abc}) (org.apache.kafka.common.network.Selector)

I tried to add the info in the caller side (i.e. Selector), but we only have KafkaChannel info there, we cannot get client info (i.e. principle) if authentication is not successful. So add the user info in the authenticator side.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@ijuma @mimaison , please take a look when available. Thanks.


git: change default add behavior to add(force=False)

Closes #123

Codecov Report
Patch coverage: 92.50% and project coverage change: -1.13 :warning:

Comparison is base (3dc4975) 81.01% compared to head (c3b4cc2) 79.88%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #229      +/-   ##
==========================================
- Coverage   81.01%   79.88%   -1.13%
==========================================
  Files          27       27
  Lines        3955     3978      +23
  Branches      697      476     -221
==========================================
- Hits         3204     3178      -26
- Misses        631      665      +34
- Partials      120      135      +15

Impacted Files
Coverage Δ

src/scmrepo/git/backend/gitpython.py
63.68% <87.50%> (-1.12%)
:arrow_down:

src/scmrepo/git/backend/dulwich/__init__.py
80.44% <88.88%> (-0.87%)
:arrow_down:

src/scmrepo/git/backend/base.py
80.88% <100.00%> (ø)

src/scmrepo/git/backend/pygit2/__init__.py
75.69% <100.00%> (-2.35%)
:arrow_down:

tests/test_git.py
100.00% <100.00%> (ø)

... and 8 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Translation Bug

I installed the new version, and the bug is still present.
Ardent Defender and Guardian of Ancient Kings is not translate.
Sequences['ProtAoE'] = {
author="Pancratius@Alleria",
specID=66,
version=2,
source = "Local",
helpTxt = "Talents: 2332223",
icon='INV_MISC_QUESTIONMARK',
lang="deDE",
PreMacro=[[
/targetenemy [noharm][dead]
]],
"/cast Schild des Rächers",
"/cast Richturteil",
"/cast Gesegneter Hammer",
"/cast Schild der Rechtschaffenen",
"/cast Weihe",
"/cast Licht des Beschützers",
"/cast Richturteil",
"/cast Gesegneter Hammer",
"/cast Schild der Rechtschaffenen",
PostMacro=[[
/castsequence [mod:shift] Zornige Vergeltung, Ardent Defender, Guardian of Ancient Kings,
/castsequence [mod:shift] Ardent Defender,
]],
}

This is still a duplicate of #48
While I have released the additional languages you wont see the fix for this until GS-E itself is updated to 1.3  You can preview the latest alpha at https://wow.curseforge.com/addons/gnomesequencer-enhanced/files/25-gs-e-1-3-alpha-3/
There are still a few bugs in this that I am working on but this should be released in a few days.


A question about your work

I’m confused about a question.In your paper, we can see your three implementation details kept the running time manageable.While you training the network with 9*9 patches, if you want to compute for all pixels in a single forward pass by propagating full-resolution images, I guess there must be a part of data-processing, can you give me detailed descriptions about this part? Hope your early reply.

There is no data processing involved. As we wrote in the paper: a convolutional layer can be applied to inputs of arbitrary sizes. The only complication is with fully-connected layers, which have to be replaced with convolutional layers with 1x1 kernels.
To see how this is done in the code, see:

https://github.com/jzbontar/mc-cnn/blob/master/main.lua#L661
https://github.com/jzbontar/mc-cnn/blob/master/main.lua#L678

The network net_tr is the network used for training---it has fully-connected layers and expects 9x9 images on input; while net_te is the network used at test time, where the fully-connected layers are replaced with convolutions.


Incorrect statements on install page

Just noticed that http://pysurfer.github.io/install.html claims:

PySurfer requires Python 2.7, and it does not work on Python 3.

But that is no longer true!
Also the page starts by saying:

Installing PySurfer is quite simple with pip:

But I think that while installing the pysurfer library is simple, in practice that claim is a bit misleading :)

I saw the same flag re: python 2.7--  I am hoping to run this in a docker container I already have setup, but that defaults to 3.6;  is there any functionality that I may expect to not work if I am using python 3+?

It should work. PySurfer is tested on Python 3.6: https://github.com/nipy/PySurfer/blob/master/.travis.yml
We just forgot to update all the places that information is documented.


WebElement.takeScreenshot() keeps responding with same image

Using geckodriver 1.12.2 and Firefox 57, a subsequent call to WebElement.takeScreenshot() for the same element responds with a different image if the appearance of the element changed (expected). However, if I update either geckodriver or Firefox to any newer version, it seems like the element's screenshot is cached and the same image is returned again after the element's appearance changed.

Closing due to inactivity. If the issue still persist, let me know and I am happy to help!


Refs #18081 -- Asserted db constraints are created for fk to proxy models.

I'll have a look at this today, completely forgot I opened this PR.

merged in 8e8c0792c07f6dfbee5115d29911191adee04f2e, thanks.


fakeServer.create accepts configuration settings

This allows fakeServer to be created with a whitelisted set of settings and adds a configure method which allows the server to be configured from an object literal. Fixes #784
All squished into one nice commit.

For future pull requests, it would be easier for both you and reviewers, if you rebase and push to the same branch.
Thank you for your contribution :+1:, let's see if we can get @cjohansen to bake a new release soon :fireworks:


Prepare the packages directory for lerna boostrap

Commit each of the components to /packages.
Add a package.json file for each component, include components dependencies on other components.
This means that npm run lerna:bootstrap can now be run and will output:

and npm run lerna:ls

Other things that'll need fixing after this PR:

govuk-frontend and govuk-frontend-ie.scss are being copied into /packages/globals, they shouldn't end up in this package

Thanks @igloosi 😄

shall i merge this in?


Fix typo in README

Change you is here to you are here.

Hello, @aslafy-z! This is your first Pull Request that will be reviewed by Ebert, an automatic Code Review service. It will leave comments on this diff with potential issues and style violations found in the code as you push new commits. You can also see all the issues found on this Pull Request on its review page. Please check our documentation for more information.

Ebert has finished reviewing this Pull Request and has found:

6 possible new issues (including those that may have been commented here).

You can see more details about this review at https://ebertapp.io/github/Nebo15/annon.api/pulls/282.

Thanks! :)


feat: invent ledger-agnostic SQL/DSL

Is your feature request related to a problem? Please describe.
This is a moonshot feature not something that we have a clear idea on how to implement or even if it should be implemented (could be a massive undertaking for no actual gain in the end, hence the moonshot label above).
Describe the solution you'd like
I want to be able to say something like
Use case: End users Lennon and Skyler perform an atomic swap between their wallets across ledgers A and B, trading (some arbitrary) pair of coins X and Y where the exchange rate is (conveniently) 1 exactly.

The syntax is just some pseudo code I made up on the fly, but you can probably see that it is basically the classical SQL syntax.

The example is a classical one from traditional RDBMS' textbooks where they teach you how important the all-or-nothing semantics of atomic transactions through an example of balance transfers in the classical financial universe.

BEGIN TRANSACTION;

# Reduce Skyler's X balance by 1000
UPDATE  "Ledger_A"."COIN_X_BALANCES"
  SET BALANCE = BALANCE - 1000
  WHERE ACCOUNT_ID = "SKYLER_ACCOUNT_ID"

# Increase Lennon's X balance by 1000
UPDATE  "Ledger_A"."COIN_X_BALANCES"
  SET BALANCE = BALANCE + 1000
  WHERE ACCOUNT_ID = "LENNON_ACCOUNT_ID"

# Reduce Lennon's Y balance by 1000
UPDATE  "Ledger_B"."COIN_Y_BALANCES"
  SET BALANCE = BALANCE - 1000
  WHERE ACCOUNT_ID = "LENNON_ACCOUNT_ID"

# Increase Skyler's Y balance by 1000
UPDATE  "Ledger_B"."COIN_Y_BALANCES"
  SET BALANCE = BALANCE + 1000
  WHERE ACCOUNT_ID = "SKYLER_ACCOUNT_ID"

COMMIT TRANSACTION;

Describe alternatives you've considered
Considered doing with without SQL/DSL and we likely will end up doing that first as well since doing what's described in this issue as a moonshot due to it's likely very high difficulty as we'd have to implement our own SQL parser, query planner, etc, not even mentioning the fact that there will be compatibility issues among the different ledgers (which is where most ORM libraries fall short as they try to provide a sensible common interface for databases that are sometimes conceptually different from each other)
Additional context
https://wiki.hyperledger.org/display/cactus/2020-11-12+Meeting+notes?focusedTaskId=1
cc: @RafaelAPB @takeutak @sfuji822 @jonathan-m-hamilton

A cool paper where something similar was implemented (complexity/effort required is off the charts though)
https://arxiv.org/abs/1908.09343

One more paper defining such interface:
https://www.iaas.uni-stuttgart.de/publications/Falazi2020_SCIP-Smart-Contract-Invocation-Protocol-SCIP-A-Protocol-for-the-Uniform-Integration-of-Heterogeneous-Blockchain-Smart-Contracts.pdf
Canton does have a somehow similar scheme, via DAML - https://www.canton.io/publications/canton-whitepaper.pdf
I believe this ledger-agnostic SQL-based DSL is useful when, for example, one needs a provably-secure Cactus deployment. I would say that some solutions would need this, while others would benefit from a greater degree of flexibility.

@RafaelAPB Agreed, 100% and thanks for adding more, interesting items to my reading list, I'll skim these ;-)


Bug: recursive use of an object detected which would lead to unsafe aliasing in rust

Describe the bug
I keep getting the same error, can't track the root of where it's coming from.
patched.js:1121
 Uncaught
Error: recursive use of an object detected which would lead to unsafe aliasing in rust
    at __wbindgen_throw (patched.js:1121:19)
    at 036c96f6:0xbb3af6
    at 036c96f6:0xbb3b05
    at 036c96f6:0xa8912e
    at 036c96f6:0x4c57dc
    at 036c96f6:0x7d5013
    at 036c96f6:0xab61d3
    at __wbg_adapter_58 (patched.js:264:10)
    at real (patched.js:231:20)
__wbindgen_throw	@	patched.js:1121
$func17604	@	036c96f6:0xbb3af6
$func17605	@	036c96f6:0xbb3b05
$func12906	@	036c96f6:0xa8912e
$func782	@	036c96f6:0x4c57dc
$func3470	@	036c96f6:0x7d5013
$__wbindgen_export_5	@	036c96f6:0xab61d3
__wbg_adapter_58	@	patched.js:264
real	@	patched.js:231
IndexedDB (async)
(anonymous)	@	patched.js:751
handleError	@	patched.js:269
__wbg_get_5361b64cac0d0826	@	patched.js:750
$func8944	@	036c96f6:0xa1c086
$func1879	@	036c96f6:0x68527a
$func2734	@	036c96f6:0x7256e9
$func4368	@	036c96f6:0x8a7f36
$func1194	@	036c96f6:0x58df33
$func15310	@	036c96f6:0xac05be
$func169	@	036c96f6:0x1c8bc9
$func144	@	036c96f6:0x8ed9c
$func172	@	036c96f6:0x1d343b
$func2943	@	036c96f6:0x73e7ef
$func1642	@	036c96f6:0x61884f
$func854	@	036c96f6:0x4f7e35
$func782	@	036c96f6:0x4d3466
$func3470	@	036c96f6:0x7d5013
$__wbindgen_export_5	@	036c96f6:0xab61d3
__wbg_adapter_58	@	patched.js:264
real	@	patched.js:231

Steps to reproduce
Not sure if this is enough (the project is big), but here's my setup:
import { Emitter, Engine, Surreal, type EngineEvents } from 'surrealdb.js';
import { surrealdbWasmEngines } from 'surrealdb.wasm';

const db = new Surreal({
  engines: surrealdbWasmEngines({
    strict: false,
    capabilities: {
      guest_access: true,
      functions: true,
      network_targets: true,
    },
  }) as Record<string, new (emitter: Emitter<EngineEvents>) => Engine>, // this is not properly typed in surrealdb.wasm
});

Expected behaviour
Should not error out
SurrealDB version
surrealdb.js: 1.0.0-beta.9, surrealdb.wasm: 1.0.0-beta.12
Contact Details
<EMAIL_ADDRESS>Is there an existing issue for this?

[X] I have searched the existing issues

Code of Conduct

[X] I agree to follow this project's Code of Conduct

It turns out, it is related to this issue: https://stackoverflow.com/questions/61296252/failed-to-execute-put-on-idbobjectstore-the-transaction-has-finished
IndexDB doesn't really like multiple asynchronous requests. Once I wrapped query in mutex, it worked:
import { Mutex } from 'mutex-ts';

const mutex = new Mutex();

const query = db.query;
db.query = async <T extends unknown[]>(
  ...args: [string | PreparedQuery, Record<string, unknown> | undefined]
) => {
  const release = await mutex.obtain();
  try {
    return await (query.apply(db, args) as Promise<T>);
  } finally {
    release();
  }
};

mutex-ts is my library.

I am also still getting it sometimes, but not sure how to fix it on my end

Facing the same issue here on surrealdb.js: 1.0.0-beta.14, surrealdb.wasm: 1.0.0-beta.14.

Just re-test in surrealdb.js: 1.0.0-beta.20 and surrealdb.wasm: 1.0.0-beta.16, it is blocking issue holding back surrealdb.wasm to be used in any web application.

@limcheekin, you may try using my approach above for the time being

@orimay Thanks, I am aware about your approach, but I am using surrealdb.wasm in a Flutter Web application.

+1

Yes, it seems there's no issue anymore :)


[EDIT] Cawthorn redlink

Entry
Representative Madison Cawthorn under ethics investigation related to crypto, violated STOCK Act (23 May 2022)
Changes
Link to statement of the chair and ranking member is dead. It appears the document is at https://ethics.house.gov/sites/ethics.house.gov/files/documents/Press%20Release_267.pdf instead - URL differs in removing ma from emathics.
Agreement
By submitting this issue, I irrevocably agree to release my contribution under the CC-BY 3.0 License. I agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Please attribute this contribution to:

Walker Ericsson

Thank you!


Treat +z as forward

As per https://github.com/KhronosGroup/glTF/issues/1043#issuecomment-339132697

This should be fixed, closing.


refactor harmonyExportExpressionDependency to es6

What kind of change does this PR introduce?
refactor
Did you add tests for your changes?
current tests should pass
If relevant, link to documentation update:
N/A
Summary
upgrade HarmonyExportExpressionDependency and HarmonyExportExpressionDependencyTemplate to es6
Does this PR introduce a breaking change?
No

anything left to do here for me :)?

Nope this is good thank you! @sokra and @Kovensky can continue discussion in new issue or same thread.