Redis request doesn't receive the device validation callbakc reponse

🐞 Bug Report
Affected Services [REQUIRED]

 The issue is located in go-mod-messaging
Is this a regression?

 No
Description and Minimal Reproduction [REQUIRED]

Run redis

docker run --rm --name redis -p 6379:6379 -d redis:7.0-alpine redis-server

Run core-metadata service and device-virtual
Invoke device adding request several time
core-metadata throws a timeout error

The core-metadata seems doesn't receive the response from the device-virtual. This error occur in the edgex-taf test, I also tried to use source code with the latest change of go-mod-messaging but the error still happens.
🔥 Exception or Error
core-metadata logs
level=ERROR ts=2023-03-06T09:03:53.052675Z app=core-metadata source=device.go:67 X-Correlation-ID=ec7c3639-c772-4734-b597-a97d499159e0 msg="Error sending request to topic 'edgex/device-virtual/validate/device' -> timed out waiting for response on edgex/response/device-virtual/aea88ce9-ec29-4903-a420-0256c427fdb0 topic"
level=ERROR ts=2023-03-06T09:03:53.052734Z app=core-metadata source=encoding.go:32 msg="Error encoding the data: http: Handler timeout"

device-virtual logs:
level=DEBUG ts=2023-03-06T09:03:48.050612Z app=device-virtual source=validation.go:58 msg="Device validation request received on message queue. Topic: edgex/device-virtual/validate/device, Correlation-id: 17633746-f200-4481-b20e-a3d7a8b74af9"
level=DEBUG ts=2023-03-06T09:03:48.051873Z app=device-virtual source=validation.go:100 msg="Device validation response published on message queue. Topic: edgex/response/device-virtual/aea88ce9-ec29-4903-a420-0256c427fdb0, Correlation-id: 17633746-f200-4481-b20e-a3d7a8b74af9"

🌍  Your Environment
Deployment Environment:
MacOS
EdgeX Version [REQUIRED]:
Main branch
Anything else relevant?

I assume your test is based on Redis Pub/Sub, and it might be fixed by this PR
https://github.com/edgexfoundry/go-mod-messaging/pull/226
Could you please verify with the latest go-mod-messaging?

Yes, I tested it on Redis Pub/Sub and verified it with the latest go-mod-messaging, and the error still happens sometime.

@lenny-intel I pulled the latest changes from the edgex-go and go-mod-messaging, but still got the same error when I invoke the device adding request several times.
core-metadata logs:
level=DEBUG ts=2023-03-07T03:45:42.686157Z app=core-metadata source=notify.go:49 msg="Sending Device Validation request for device=testDevice, CorrelationId=ae4a5b28-713d-43d3-9589-0a3df0479281 to topic: edgex/device-virtual/validate/device"
level=DEBUG ts=2023-03-07T03:45:42.686181Z app=core-metadata source=notify.go:50 msg="Waiting for Device Validation response on topic: edgex/response/device-virtual/93075827-6489-4393-8e9b-68523faf93b6"
level=ERROR ts=2023-03-07T03:45:47.690472Z app=core-metadata source=device.go:67 X-Correlation-ID=328aac88-5421-4c1c-8b02-24ab62a62349 msg="Error sending request to topic 'edgex/device-virtual/validate/device' -> timed out waiting for response on edgex/response/device-virtual/93075827-6489-4393-8e9b-68523faf93b6 topic"
level=DEBUG ts=2023-03-07T03:45:47.690514Z app=core-metadata source=device.go:68 X-Correlation-ID=328aac88-5421-4c1c-8b02-24ab62a62349 msg="[/Users/bruce/Documents/weichou/edgex-go/internal/core/metadata/application/device.go]-github.com/edgexfoundry/edgex-go/internal/core/metadata/application.AddDevice(line 44):  -> [/Users/bruce/Documents/weichou/edgex-go/internal/core/metadata/application/notify.go]-github.com/edgexfoundry/edgex-go/internal/core/metadata/application.validateDeviceCallback(line 54): Error sending request to topic 'edgex/device-virtual/validate/device' -> timed out waiting for response on edgex/response/device-virtual/93075827-6489-4393-8e9b-68523faf93b6 topic"
level=ERROR ts=2023-03-07T03:45:47.690542Z app=core-metadata source=encoding.go:32 msg="Error encoding the data: http: Handler timeout"

device-virtual logs:
level=DEBUG ts=2023-03-07T03:45:42.688218Z app=device-virtual source=validation.go:58 msg="Device validation request received on message queue. Topic: edgex/device-virtual/validate/device, Correlation-id: ae4a5b28-713d-43d3-9589-0a3df0479281"
level=DEBUG ts=2023-03-07T03:45:42.68923Z app=device-virtual source=validation.go:100 msg="Device validation response published on message queue. Topic: edgex/response/device-virtual/93075827-6489-4393-8e9b-68523faf93b6, Correlation-id: ae4a5b28-713d-43d3-9589-0a3df0479281"

@weichou1229 , it is Core Metadata latest that is required as it is the one using the Request API to validate devices. Add devices is working fine with Redis Pub/Sub with latest images. I have seen some issues from App Service sending many Requests that I hope recent optimization PR resolves.
My current App Service commanding test is running well.

@lenny-intel
I can reproduce the error by sending many requests too,

I have seen some issues from App Service sending many Requests that I hope recent optimization PR resolves.

and I still see the timeout error on today's edgex-taf function-test report, might need to wait for the docker image update.

@weichou1229 , please confirm if you are still see this issue.

@lenny-intel I still see the issue in the edgex-taf test.
I also recreate the issue with the source code, the issue happens when the device-virtual started and I send the device adding request
level=DEBUG ts=2023-03-09T02:23:16.931988Z app=core-metadata source=notify.go:50 msg="Waiting for Device Validation response on topic: edgex/response/device-virtual/5ad223a3-8cdb-4f19-8583-4331d41ce760"
level=ERROR ts=2023-03-09T02:23:21.936346Z app=core-metadata source=device.go:67 X-Correlation-ID=17aae5fa-b6a4-42df-be26-d3f0f477bde3 msg="Error sending request to topic 'edgex/device-virtual/validate/device' -> timed out waiting for response on edgex/response/device-virtual/5ad223a3-8cdb-4f19-8583-4331d41ce760 topic"
level=DEBUG ts=2023-03-09T02:23:21.936382Z app=core-metadata source=device.go:68 X-Correlation-ID=17aae5fa-b6a4-42df-be26-d3f0f477bde3 msg="[/Users/bruce/Documents/weichou/edgex-go/internal/core/metadata/application/device.go]-github.com/edgexfoundry/edgex-go/internal/core/metadata/application.AddDevice(line 44):  -> [/Users/bruce/Documents/weichou/edgex-go/internal/core/metadata/application/notify.go]-github.com/edgexfoundry/edgex-go/internal/core/metadata/application.validateDeviceCallback(line 54): Error sending request to topic 'edgex/device-virtual/validate/device' -> timed out waiting for response on edgex/response/device-virtual/5ad223a3-8cdb-4f19-8583-4331d41ce760 topic"
level=ERROR ts=2023-03-09T02:23:21.936409Z app=core-metadata source=encoding.go:32 msg="Error encoding the data: http: Handler timeout"

@weichou1229 , I just ran this use case with Device REST, using the UI to add a device.
No errors reported by Core Metadata
Logs from Device REST show the device was added:
level=DEBUG ts=2023-03-13T23:59:21.6239054Z app=device-rest source=validation.go:58 msg="Device validation request received on message queue. Topic: edgex/device-rest/validate/device, Correlation-id: 3a168512-f739-4b63-8638-c9a132d74610"
level=DEBUG ts=2023-03-13T23:59:21.6248986Z app=device-rest source=validation.go:100 msg="Device validation response published on message queue. Topic: edgex/response/device-rest/82a268b4-1944-4d1f-9542-0cbac7f3e01a, Correlation-id: 3a168512-f739-4b63-8638-c9a132d74610"
level=DEBUG ts=2023-03-13T23:59:21.626467Z app=device-rest source=callback.go:58 msg="System event received on message queue. Topic: edgex/system-events/core-metadata/device/add/device-rest/sample-numeric, Correlation-id: bf1c1024-4dbb-47a1-aa30-bd53c76c9757"
level=DEBUG ts=2023-03-13T23:59:21.6284684Z app=device-rest source=callback.go:70 msg="device snum added"
level=DEBUG ts=2023-03-13T23:59:21.628522Z app=device-rest source=callback.go:75 msg="Invoked driver.AddDevice callback for snum"
level=DEBUG ts=2023-03-13T23:59:21.6285368Z app=device-rest source=callback.go:81 msg="starting AutoEvents for device snum"

UI shows the device was successfully added

@lenny-intel  I thought it was much better than before, but I still get the timeout error sometimes.
level=DEBUG ts=2023-03-14T07:25:16.735152Z app=core-metadata source=notify.go:49 msg="Sending Device Validation request for device=testDevice, CorrelationId=4be80417-dd7f-4ce3-8257-6b20d66bf3c9 to topic: edgex/device-virtual/validate/device"
level=DEBUG ts=2023-03-14T07:25:16.735173Z app=core-metadata source=notify.go:50 msg="Waiting for Device Validation response on topic: edgex/response/device-virtual/f25fc488-e617-47c6-b594-2833d309b149"
level=ERROR ts=2023-03-14T07:25:21.740151Z app=core-metadata source=device.go:67 X-Correlation-ID=36d50c80-8138-4b93-bb43-f315d2b8df1c msg="Error sending request to topic 'edgex/device-virtual/validate/device' -> timed out waiting for response on edgex/response/device-virtual/f25fc488-e617-47c6-b594-2833d309b149 topic"
level=DEBUG ts=2023-03-14T07:25:21.74019Z app=core-metadata source=device.go:68 X-Correlation-ID=36d50c80-8138-4b93-bb43-f315d2b8df1c msg="[/Users/bruce/Documents/weichou/edgex-go/internal/core/metadata/application/device.go]-github.com/edgexfoundry/edgex-go/internal/core/metadata/application.AddDevice(line 44):  -> [/Users/bruce/Documents/weichou/edgex-go/internal/core/metadata/application/notify.go]-github.com/edgexfoundry/edgex-go/internal/core/metadata/application.validateDeviceCallback(line 54): Error sending request to topic 'edgex/device-virtual/validate/device' -> timed out waiting for response on edgex/response/device-virtual/f25fc488-e617-47c6-b594-2833d309b149 topic"
level=ERROR ts=2023-03-14T07:25:21.740222Z app=core-metadata source=encoding.go:32 msg="Error encoding the data: http: Handler timeout"

level=DEBUG ts=2023-03-14T07:25:16.737557Z app=device-virtual source=validation.go:58 msg="Device validation request received on message queue. Topic: edgex/device-virtual/validate/device, Correlation-id: 4be80417-dd7f-4ce3-8257-6b20d66bf3c9"
level=DEBUG ts=2023-03-14T07:25:16.73887Z app=device-virtual source=validation.go:100 msg="Device validation response published on message queue. Topic: edgex/response/device-virtual/f25fc488-e617-47c6-b594-2833d309b149, Correlation-id: 4be80417-dd7f-4ce3-8257-6b20d66bf3c9"

@lenny-intel this issue still happens from time to time.  do you have resource to investigate this or should I assign someone from my team to work on this?

Since MQTT works fine, there might be something wrong in the Redis pub/sub implementation

@lenny-intel this issue still happens from time to time. do you have resource to investigate this or should I assign someone from my team to work on this?

@cloudxxx8 , When are we seeing this? It has been working for me in all my testing of bootstrapping device services and adding new devices via the UI.
I think it is time to have another set of eyes on this one.
The subscribe step of the Request API must be completed prior to the Publish step. For the Redis implementation, I have put in Wait Group to ensure the underlying Subscribe has completed before the Subscribe interface returns.
The other scenario where we could get a timeout is the target service (Device Service) is not properly subscribed to the Request topic. We need to verify the target service is receiving the Request and Publishing a response on the expected topic.

This issue can be recreated by invoking device addition API in short intervals.
The steps for recreating the issue:

Run core service and device virtual
Run script

#!/bin/sh

for i in {1..10}
do
   curl 'http://localhost:59881/api/v2/device' --header 'Content-Type: application/json' \
     --data '[
       {
         "apiVersion": "v2",
         "device": {
           "name": "testDevice",
           "description": "Home automation system",
           "adminState": "UNLOCKED",
           "operatingState": "UNKNOWN",
           "serviceName": "device-virtual",
           "profileName": "Random-UnsignedInteger-Device",
           "protocols": {
             "other": {
               "Address": "device-virtual-uint-01",
               "Protocol": "300"
             }
           }
         }
       }
     ]'
   echo 'wait for 0.5s'
   sleep .5
done

the output shown as below

$ sh test.sh
HTTP request timeoutwait for 0.5s
[{"apiVersion":"v2","message":"device name testDevice already exists","statusCode":409}]
wait for 0.5s
HTTP request timeoutwait for 0.5s
[{"apiVersion":"v2","message":"device name testDevice already exists","statusCode":409}]
wait for 0.5s
[{"apiVersion":"v2","message":"device name testDevice already exists","statusCode":409}]
wait for 0.5s
[{"apiVersion":"v2","message":"device name testDevice already exists","statusCode":409}]
wait for 0.5s
[{"apiVersion":"v2","message":"device name testDevice already exists","statusCode":409}]
wait for 0.5s
HTTP request timeoutwait for 0.5s
HTTP request timeoutwait for 0.5s
[{"apiVersion":"v2","message":"device name testDevice already exists","statusCode":409}]
wait for 0.5s

The HTTP request timeout happens sometimes.

@hahattan , I am unable to recreate this with script. I modified it to run for ever and got to almost 200 iterations w/o error
i=1
while :
do
  echo $i
   curl 'http://localhost:59881/api/v2/device' --header 'Content-Type: application/json' \
     --data '[
       {
         "apiVersion": "v2",
         "device": {
           "name": "testDevice",
           "description": "Home automation system",
           "adminState": "UNLOCKED",
           "operatingState": "UNKNOWN",
           "serviceName": "device-virtual",
           "profileName": "Random-UnsignedInteger-Device",
           "protocols": {
             "other": {
               "Address": "device-virtual-uint-01",
               "Protocol": "300"
             }
           }
         }
       }
     ]'
   echo 'wait for 0.5s'
   sleep .5
   i=$((i+1))
done

I tested it using this compose file
By running the following from edgex-compose top folder

make pull no-secty
make run no-secty

For the record this error is only viable if running core-metadata from source-code.
(I cannot reproduce this running core-metadata in Docker container)
How I recreate this:

Run consul, database, core-common-config-bootstrapper from edgex-compose
Run core-metadata and device-simple from source code
Run the script provided by @lenny-intel

Error log:
level=ERROR ts=2023-04-13T07:20:30.598854Z app=core-metadata source=device.go:67 X-Correlation-ID=65203104-181c-4ecc-be55-249bde5b0612 msg="Error sending request to topic 'edgex/device-simple/validate/device' -> timed out waiting for response on edgex/response/device-simple/c4e38367-829a-4dc8-adc0-254676b2516d topic"
level=DEBUG ts=2023-04-13T07:20:30.598892Z app=core-metadata source=device.go:68 X-Correlation-ID=65203104-181c-4ecc-be55-249bde5b0612 msg="[/Users/chris/Workspace/EdgeX/edgex-go/internal/core/metadata/application/device.go]-github.com/edgexfoundry/edgex-go/internal/core/metadata/application.AddDevice(line 52):  -> [/Users/chris/Workspace/EdgeX/edgex-go/internal/core/metadata/application/notify.go]-github.com/edgexfoundry/edgex-go/internal/core/metadata/application.validateDeviceCallback(line 54): Error sending request to topic 'edgex/device-simple/validate/device' -> timed out waiting for response on edgex/response/device-simple/c4e38367-829a-4dc8-adc0-254676b2516d topic"
level=ERROR ts=2023-04-13T07:20:30.598923Z app=core-metadata source=encoding.go:33 msg="Error encoding the data: http: Handler timeout"

For the record this error is only viable if running core-metadata from source-code.
(I cannot reproduce this running core-metadata in Docker container)

That is strange! I will confirm on my system.

I modified this function:

That is interesting. Receive() is suppose to block and this would case the Subscribe to not return as expected or loose the first message. So is the first Receive() not blocking in this case and returning the subscription?? And why is this not an issue in Docker?
Also, note the description for Receive(). Should we try switching to Channel?
// Receive returns a message as a Subscription, Message, Pong or error.
// See PubSub example for details. This is low-level API and in most cases
// Channel should be used instead.

That is interesting. Receive() is suppose to block and this would case the Subscribe to not return as expected or loose the first message. So is the first Receive() not blocking in this case and returning the subscription?? And why is this not an issue in Docker?

It should be blocking until redis returning the confirmation right ?
And then the following ReceivedMessage is able to receive response correctly:
https://github.com/edgexfoundry/go-mod-messaging/blob/be60aface920d4f7c2da099a9e11fc85920e2a52/internal/pkg/redis/goredis.go#L95-L98
Really have no idea why this is not seen in Docker ...

Also, note the description for Receive(). Should we try switching to Channel?
// Receive returns a message as a Subscription, Message, Pong or error.
// See PubSub example for details. This is low-level API and in most cases
// Channel should be used instead.

Yes maybe switching to Channel can solve this but requires some refactoring

Yes maybe switching to Channel can solve this but requires some refactoring

Yep, IMO not something we want to do this late in he dev cycle. I am ok with the above work around.

I also confirmed 23045 iterations w/o error with Core Metadata running in Docker.


WorkerResult has been changed to Result in version 1.0.0-alpha08

Please check the worker package for affected files

The codelab code has been updated with the latest API changes.


X.globalState.setKeysForSync is not a function

GitLens Version: 11.6.0
Git Version: Run 2.20.1
Theia Version: 1.14.0
OS Version: Windows/MAC , All browsers

On the extension activate I get this error:
Activating extension 'GitLens — Git supercharged' failed: X.globalState.setKeysForSync is not a function
Theia version 1.14.0 still does not support vscode API setKeysForSync
We in SAP want to integrate your extension in our webide based on theia 1.14.0
The extension fails.
I will prepare a PR that can fix/eliminate the issue

Hi @eamodio, @rebornix and @arrpee ,
We have a client who wants to use this extension in Theia 1.14.0.
Will you be able to review the provided fix for the issue ? https://github.com/eamodio/vscode-gitlens/pull/1610
Regards,
Slavik.

Hello @eamodio,
I experience the same issue as well. I would really appreciate if you could have a look on it.
Thank you in advance,
Rima

Can you please verify this fix in tomorrow's GitLens insiders edition?
You can install the GitLens insiders edition from here.
Please be sure to disable or uninstall the stable version of GitLens first.


PMID:32502403 NPC, nuclear envelope

increased duration of protein localization to mitotic nuclear bridge (in anaphase B)
Actually 'in anaphaseB is a 'given' but it might not hurt to be  in the definition

Abolished nuclear envelope division
two DNA masses remain linked by the internuclear membrane bridge.
Gloss: This can result in the coalescence of both DNA masses into one nucleus.

abnormal distribution  of nuclear pores at nuclear bridge  midzone membrane domain

abnormal nuclear bridge  midzone membrane domain organization

coalescence of partially separated nuclei
when the  partially separated nuclei  displaying  a distinct nuclear brid fail to separate  fully and merge back into a single nucleus

increased duration of protein localization to mitotic nuclear bridge FYPO:0007545
abolished nuclear envelope division FYPO:0007546
abnormal nuclear pore localization to mitotic nuclear bridge midzone membrane FYPO:0007547
abnormal mitotic nuclear bridge midzone membrane domain organization FYPO:0007548
coalescence of partially separated nuclei FYPO:0007549
synonyms included where the name differs from suggested

hi,
quick one
could you add
abnormal MMD organization
as synonym
to
abnormal mitotic nuclear bridge midzone membrane domain organization
cheers

sure, but I'll wait until I have some other additions or edits to do

no hurry.


Revert "spi: stm32: Enable sending 16bits at a time in 8bit mode if p…

…ossible"
This reverts commit 2ce8fa1e42d3d60e4119f15e82c29d2daaf67c00.
Fixes #21546
Fixes #21679
Following merge of https://github.com/zephyrproject-rtos/zephyr/pull/20948, following errors have been reported:

https://github.com/zephyrproject-rtos/zephyr/issues/21546
https://github.com/zephyrproject-rtos/zephyr/issues/21679

We've tried several changes and fixes on the change (cf #21712)

Set the optimized behavior optional (default n)
3 additional fixes on the shift frame function flow

Though issues remain in real life SPI application.
That's too much for an optimization on a stable driver.
Let's revert the optimization for now and we'll re instantiate it after thorough testing.

@Mani-Sadhasivam, @Stefjar, @psidhu

Looking at the HAL drivers, it seems L4 driver does this optimization (which is why it seems to work for me just fine?), but the F4 and L1 drivers don't. Do you know if there's some errata with those ICs @erwango?
That being said, I agree, let's revert and maybe revisit later.

@StefJar, can you confirm this fixes the issue you're facing?

@erwango it perfectly solves my SPI problem. So I can confirm that it is fixing the issue I reported. pls close it when the code is merged into the master


NT Hierarchy node logic including required nodes with new Node structure

Logic to process nt:hierarchy nodes with required child node has beed added. To process the given scenario Node proto structure has been modified.
This PR is ready for review and testing.
Test Scenario:
Identify any hierarchal node type like nt:file and try to sync that node and the sync will process the nt:file node and the required child node jcr:content as one transaction.
@jdigger @jbornemann @sagarsane @masroormohammed

cc: @pgoodrich

Ready for testing and review after the change.

This is looking really good so far!  Exciting!

I did some playing around in the AEM groovy console.  Looks like : "node.getPrimaryNodeType().getChildNodeDefinitions().findAll { it.mandatory }.size() > 0" should effectively be the replacement logic for "Is a nt:hiearchyNode"

@jbornemann You do not need this logic anymore. I have updated the logic and tested the PR. Now the all mandatory child nodes are handled and processed by the parent. Now the logic is much simpler and straight forward.
This PR is ready for testing and review.

Spock Test case is failing and i am looking into it.

Ready for final round of testing and review.

Please add more test cases to handle the various cases described in the algorithm in #34.

Couple test cases we can try out :
/content/geometrixx-outdoors/jcr:content/image/file/jcr:content/dam:thumbnails/dam:thumbnail_600.png/jcr:content
Another one :
/content/dam/geometrixx-outdoors/activities/jcr:content/folderThumbnail/jcr:content where "folderThumbnail"'s "jcr:content" is of type "nt:unstructured"
(These paths should be present in all instances as its Geometrixx)

Thanks! @sagarsane I tested both cases and able to sync both.
Note i deleted /content/dam/geometrixx-outdoors and /content/geometrixx-outdoors nodes on publish and synced from author.

To the issue of not being able to use Spock's stubbing/mocking for the Jackalope-generated classes, the solution is simply to use a little Proxy magic with Groovy's Closures:
private static <T> T wrapInstance(Object src, Map<String, Closure> closureMap) {
    return (T) Proxy.newProxyInstance(src.class.classLoader, src.class.interfaces, new AbstractInvocationHandler() {
        protected Object handleInvocation(Object proxy, Method method, Object[] args) throws Throwable {
            Closure closureMethod = closureMap.get(method.name)
            return (closureMethod != null) ? closureMethod.call(args) : method.invoke(src, args)
        }
    })
}

Then you can use a line like
JcrNode hierarchyNode = wrapInstance(fakeNodeBuilder.build(), [isNodeType: { true }])

to swap out behavior.

Please at least construct a test case (or cases) as described in GH-34 to validate things.
Better would be to include the situations Sagar pointed out as well.

Yes, currently i am working on the test cases.

I ran some tests on 5.6.1 instance (using Geometrixx content) and it looks pretty good so far :+1:

I have updated the test case. Now everyone has reported +1 for regression testing so waiting for +1 on CR and once I will get the CR then the branch will be ready for merge.

@jdigger this task https://travis-ci.org/TWCable/grabbit/jobs/72839045 is failing on travis-ci though is not failing locally. Any thoughts?

Any thoughts on moving some of the new JcrNodesProcessor, and similar logic to JCRNodeDecorator?  Instead of inspecting, and building proto messages within JcrNodesProcessor, we could empower JCRNodeDecorator to write itself to proto format, and provide decorated functionality for inspecting node/properties.
Should be a straightforward move.

A checksum might be wrong for a cache entry, I cleared the cache to see if that helps..

Looks like that did it

Okay, as you have already created the helper class JCRNodeDecorator i will move those methods there.

@jbornemann as I started looking to move out the code from JcrNodesProcessor to JCRNodeDecorator  I realized that It can be done with a separate PR because I do not want to leave few inherent methods inside JcrNodesProcessor like toProperty method and moved few out. I think it would be a better approach when we move out as one cohesive unit together. Also in terms of testing this PR feels good so want go with it as after the change again regression testing is required.

Now that setting up a testing node structure for unit tests is relatively easy, please make sure to construct a test case (or cases) as described in GH-34 and the situations Sagar pointed out to validate the "known" paths.

@jdigger i have added more test cases for different mandatory nodes. Also all the test cases from GH-34 are not valid anymore as the implementation as been further simplified. Now there is no more logic difference between hierarchy nodes and non-hierarchy nodes. The new logic is completely based on the mandatory child node. So now all the mandatory child nodes are processed together with the parent without identifying the type of the parent.

+1 CR :+1:


Enable cluster name support

By default we consider that the cluster is named 'ceph', it would be nice to allow to define another name for the cluster.

Not 100% sure of the real value of this, I'm closing this from now.
Feel free to re-open...

This is pretty important for us. The ability to handle multiple Ceph instances is a nice-to-have feature.


Update managed-application-publishing.md

az cli is case sensitive. Owner needs to have a capital O else it returns no results
az role definition list --name owner <- no results returned
az role definition list --name Owner <-correct way

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

@jrudley : Thanks for your contribution to the Azure documentation! The author, @ravbhatnagar, has been notified to review your proposed change.

#signoff
Change looks good. Please merge.


Unexpected redo's occur rarely

nvim --version:

NVIM v0.5.0-dev+1194-gc20ae3aad
Build type: Release
LuaJIT 2.1.0-beta3
Compilation: /Applications/Xcode_12.4.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -O2 -DNDEBUG -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wshadow -Wconversion -Wmissing-prototypes -Wimplicit-fallthrough -Wvla -fstack-protector-strong -fno-common -fdiagnostics-color=always -DINCLUDE_GENERATED_DECLARATIONS -D_GNU_SOURCE -DNVIM_MSGPACK_HAS_FLOAT32 -DNVIM_UNIBI_HAS_VAR_FROM -DMIN_LOG_LEVEL=3 -I/Users/runner/work/neovim/neovim/build/config -I/Users/runner/work/neovim/neovim/src -I/Users/runner/work/neovim/neovim/.deps/usr/include -I/Applications/Xcode_12.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk/usr/include -I/Library/Frameworks/Mono.framework/Headers -I/Users/runner/work/neovim/neovim/build/src/nvim/auto -I/Users/runner/work/neovim/neovim/build/include
Compiled by<EMAIL_ADDRESS>
Features: +acl +iconv +tui
See ":help feature-compile"

   system vimrc file: "$VIM/sysinit.vim"
  fall-back for $VIM: "/share/nvim"

Run :checkhealth for more info

Operating system/version: macOS 10.14.5

Describe the bug
If you perform searching (maybe short words) quickly, sometimes it does redo.
To Reproduce using nvim -u mini.vim
Example:
cat mini.vim
" use your plugin manager, here is `vim-plug`
call plug#begin('~/.config/nvim/plugged')
Plug 'kevinhwang91/nvim-hlslens'

call plug#end()
lua require('hlslens').setup()
noremap <silent> n <Cmd>execute('normal! ' . v:count1 . 'n')<CR>
            \<Cmd>lua require('hlslens').start()<CR>
noremap <silent> N <Cmd>execute('normal! ' . v:count1 . 'N')<CR>
            \<Cmd>lua require('hlslens').start()<CR>
noremap * *<Cmd>lua require('hlslens').start()<CR>
noremap # #<Cmd>lua require('hlslens').start()<CR>
noremap g* g*<Cmd>lua require('hlslens').start()<CR>
noremap g# g#<Cmd>lua require('hlslens').start()<CR>

" use : instead of <Cmd>
nnoremap <silent> <leader>l :nohlsearch<CR>

Steps to reproduce the behavior:

Launch nvim using nvim -u mini.vim
Open some file and edit.
Undo, so that redoing is possible.
Search short words quickly.

Expected behavior
It should just perform search without modifying the content of the buffer.
Screenshots
This is what I reproduced using nvim -u mini.vim:

In this gif, I reproduced by searching th only, but from my experience, other search terms also caused the bug.

It's so hard to reproduce it in my ArchLInux environment........

Thanks, I think the issue is gone:)

Thanks for such a quick patch!


CFFL

CFFL

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_c17ig6m0lu/clone/recipe/meta.yaml:15: pip_install_args: pip install should be run with --no-deps.
ERROR: /tmp/abs_c17ig6m0lu/clone/recipe/meta.yaml:22: missing_wheel: For pypi packages, wheel should be present in the host section
Errors were found


Field '_dynamicLibrary@21084338' has not been initialized.

Hey,
i try run in my project your code and change application id, but the project return this error:

Can explain how i can solve this?

Mobile not supported.
Add await before DiscordRPC.initialize.


[Bug Report] Not working with certain sources.

Bug Description
Upon trying to play something, bot leaves instantly. Using local files or SoundCloud links still works, using twitch or Youtube links doesn't. Will still send a message, just won't play or stay.
Steps to Reproduce

tell bot to play something (Ex. ?play never gonna give you up) OR tell bot to play youtube or twitch link.

Expected Result
Instead of joining the vc and playing music, it will join and leave instantly.
Debug Output
System Properties:
  java.version = 11.0.24
  java.vm.name = OpenJDK 64-Bit Server VM
  java.vm.specification.version = 11
  java.runtime.name = OpenJDK Runtime Environment
  java.runtime.version = 11.0.24+8
  java.specification.version = 11
  os.arch = amd64
  os.name = Windows 11

JMusicBot Information:
  Version = 0.4.2
  Owner =<PHONE_NUMBER>67461908
  Prefix = @mention
  AltPrefix = null
  MaxSeconds = 0
  NPImages = false
  SongInStatus = false
  StayInChannel = false
  UseEval = false
  UpdateAlerts = true

Dependency Information:
  JDA Version = 4.4.1_353
  JDA-Utilities Version = 3.0.5
  Lavaplayer Version = 2.2.1

Runtime Information:
  Total Memory = 510
  Used Memory = 86

Discord Information:
  ID =<PHONE_NUMBER>416266762
  Guilds = 2
  Users = 2

Additional Info
I have tried a fresh install, resetting the config, using a new server and removing and adding the bot. Nothing works. When using twitch links (Live only) it will stay in vc, not making noise, the green outline will still appear. I haven't touched the bot's config or anything, it was the exact same as when it was working.  No changes were made to the server either.
Checklist

[X] I have looked for information about this within the documentation
[X] I have searched for similar issues on the issues page
[X] I am using an official release from the releases page

JMusicBot Version
0.4.2

I have this issue too.

up

Also having this issue. Got like 3 people complaining about it right now lol

nobody's giving logs
Logs (Very long!)
```
[12:42:49] [ERROR] [LocalAudioTrackExecutor]: Error in playback of N8OHSXvneOE
com.sedmelluq.discord.lavaplayer.tools.FriendlyException: Something broke when playing the track.
at com.sedmelluq.discord.lavaplayer.tools.ExceptionTools.wrapUnfriendlyExceptions(ExceptionTools.java:45)
at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.execute(LocalAudioTrackExecutor.java:121)
at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager.lambda$executeTrack$2(DefaultAudioPlayerManager.java:339)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.RuntimeException: Not success status code: 403
at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.validateStatusCode(PersistentHttpStream.java:88)
at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.attemptConnect(PersistentHttpStream.java:124)
at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.connect(PersistentHttpStream.java:106)
at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.internalRead(PersistentHttpStream.java:158)
at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.read(PersistentHttpStream.java:174)
at java.base/java.io.DataInputStream.readUnsignedByte(Unknown Source)
at java.base/java.io.DataInputStream.readByte(Unknown Source)
at com.sedmelluq.discord.lavaplayer.container.matroska.format.MatroskaEbmlReader.readEbmlInteger(MatroskaEbmlReader.java:39)
at com.sedmelluq.discord.lavaplayer.container.matroska.format.MatroskaFileReader.readNextElement(MatroskaFileReader.java:47)
at com.sedmelluq.discord.lavaplayer.container.matroska.MatroskaStreamingFile.readFile(MatroskaStreamingFile.java:94)
at com.sedmelluq.discord.lavaplayer.container.matroska.MatroskaAudioTrack.loadMatroskaFile(MatroskaAudioTrack.java:52)
at com.sedmelluq.discord.lavaplayer.container.matroska.MatroskaAudioTrack.process(MatroskaAudioTrack.java:35)
at com.sedmelluq.discord.lavaplayer.track.DelegatedAudioTrack.processDelegate(DelegatedAudioTrack.java:25)
at dev.lavalink.youtube.track.YoutubeAudioTrack.processStatic(YoutubeAudioTrack.java:148)
at dev.lavalink.youtube.track.YoutubeAudioTrack.processWithClient(YoutubeAudioTrack.java:116)
at dev.lavalink.youtube.track.YoutubeAudioTrack.process(YoutubeAudioTrack.java:71)
at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.execute(LocalAudioTrackExecutor.java:109)
... 4 common frames omitted
[12:42:49] [ERROR] [AudioHandler]: Track N8OHSXvneOE has failed to play
com.sedmelluq.discord.lavaplayer.tools.FriendlyException: Something broke when playing the track.
at com.sedmelluq.discord.lavaplayer.tools.ExceptionTools.wrapUnfriendlyExceptions(ExceptionTools.java:45)
at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.execute(LocalAudioTrackExecutor.java:121)
at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager.lambda$executeTrack$2(DefaultAudioPlayerManager.java:339)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.RuntimeException: Not success status code: 403
at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.validateStatusCode(PersistentHttpStream.java:88)
at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.attemptConnect(PersistentHttpStream.java:124)
at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.connect(PersistentHttpStream.java:106)
at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.internalRead(PersistentHttpStream.java:158)
at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.read(PersistentHttpStream.java:174)
at java.base/java.io.DataInputStream.readUnsignedByte(Unknown Source)
at java.base/java.io.DataInputStream.readByte(Unknown Source)
at com.sedmelluq.discord.lavaplayer.container.matroska.format.MatroskaEbmlReader.readEbmlInteger(MatroskaEbmlReader.java:39)
at com.sedmelluq.discord.lavaplayer.container.matroska.format.MatroskaFileReader.readNextElement(MatroskaFileReader.java:47)
at com.sedmelluq.discord.lavaplayer.container.matroska.MatroskaStreamingFile.readFile(MatroskaStreamingFile.java:94)
at com.sedmelluq.discord.lavaplayer.container.matroska.MatroskaAudioTrack.loadMatroskaFile(MatroskaAudioTrack.java:52)
at com.sedmelluq.discord.lavaplayer.container.matroska.MatroskaAudioTrack.process(MatroskaAudioTrack.java:35)
at com.sedmelluq.discord.lavaplayer.track.DelegatedAudioTrack.processDelegate(DelegatedAudioTrack.java:25)
at dev.lavalink.youtube.track.YoutubeAudioTrack.processStatic(YoutubeAudioTrack.java:148)
at dev.lavalink.youtube.track.YoutubeAudioTrack.processWithClient(YoutubeAudioTrack.java:116)
at dev.lavalink.youtube.track.YoutubeAudioTrack.process(YoutubeAudioTrack.java:71)
at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.execute(LocalAudioTrackExecutor.java:109)
... 4 common frames omitted
```

This seems to have been fixed by #e6bfd18.
Built project and youtube is now loading.

@elijahtaylorr what do I do with that?

This should be resolved in 0.4.3

This seems to have been fixed by #e6bfd18. Built project and youtube is now loading.

i tried cloning the project and building it with #e6bfd18 fix, but i still got the same errors when trying to play from yt.
i made sure the pom.xml was updated

In pom.xml just update dev.lavalink.youtube version from 1.4.0 to 1.5.1


React router v4 Dynamic Routing

In the documentation of v3 version, there are 3 methods getChildRoutes,  getIndexRoute, and getComponents to achieve dynamic routing, but i saw that in the v4 version, it hasn't mention the three methods above. I wonder if there are any method in v4 version to achieve dynamic routing.
thanks.

Check out #4407 that is related to this. We don't solve these issues for you anymore. You can do all of that in vanilla React.


Restore deleted section of Contributing.md

Description
I accidentally deleted this section of the Contributing.md section and missed it during review
It originally came from @reta : https://github.com/opensearch-project/OpenSearch/pull/10751/files
Related Issues
Resolves #[Issue number to be closed when this PR is merged]
https://github.com/opensearch-project/OpenSearch/pull/12981#issuecomment-2078179600
Check List

[ ] ~New functionality includes testing.~

[ ] ~All tests pass~

[ ] ~New functionality has been documented.~

[ ] ~New functionality has javadoc added~

[x] Failing checks are inspected and point to the corresponding known issue(s) (See: Troubleshooting Failing Builds)
[x] Commits are signed per the DCO using --signoff
[ ] ~Commit changes are listed out in CHANGELOG.md file (See: Changelog)~
[ ] ~Public documentation issue/PR created~

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@scrawfor99 could you rebase please? some GA actions are failing but should be fixed by https://github.com/opensearch-project/OpenSearch/pull/13412, thank you


Add Camunda Forms Properties

Embedded or External Forms

Camunda Forms

Please change:

the option label to "Embedded or External Task Forms" as agreed in the naming doc
"Form reference" instead of Form Ref
"Form key", "Version" (dropdown option), and all other labels in sentence case; except the types which are treated like product names

Please change:

the option label to "Embedded or External Task Forms" as agreed in the naming doc
"Form reference" instead of Form Ref
"Form key", "Version" (dropdown option), and all other labels in sentence case; except the types which are treated like product names

Done! 👍🏻


exclude yourself when calculating RTs (interactions)

Because Twitter has a feature to RT yourself, to allow you to put some extra focus on a tweet, e.g. at some later time, to cover all time zones. And this looks silly:

Thanks for the suggestion!
Just to clarify: The graph is based on replies. Twitter internally uses self-replies to mark threads, I think this is where these peaks come from. But I agree that these can be confusing and should be removed. :)

According to me, having self-replies in the graph also provides valuable information. The number of self-replies may blow out-of-proportion and make the other lines look smaller, but that would happen for every out-of-proportion data line.
At the same time, they can definitely be confusing. I would like to work on removing the self-replies once @gedankenstuecke gives a go-ahead approval!

Yeah, I agree that it's nice to have these self-replies being part of the visualizations but also see the case why people want to get rid of them. Please feel free to give it a try! 👍

@egonw if you reprocess your graphs now it should exclude yourself 👍


Stats API needs updating

The api for Total Staked on the current vega homepage is now incorrect
The API url on the site just needs to change from api.vega.xyz to api.vega.community.
@goslingo @edd can help if that doesn't make sense. That is obviously the api for the new  homepage too

@goslingo Sorry, on this new node it's a little more nested:
https://api.vega.community/api/v2/epoch


Missing Pytest Dependencies in Jenkins Build Process

[x] passes git diff upstream/master -u -- "*.py" | flake8 --diff
[x] passes black --check modin/

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Modin-PRB/12/
Test PASSed.


Create CPGNext site folder and files

I think I have the docker-compose file set up incorrectly, or I'm missing env variables, or both

 New Website: CPG Next


Lock console to Debian buster

Found issue on our environment that apt-get did install version of open-iscsi which does not works correctly as it comes from Debian 11 (bullseye) repo so it is better to switch back to Debian 10 (buster).

Several months passed, but is this still exist?
I'm not using iSCSI from BurmillaOS, but I have some iSCSI storage.
What problems did you experience?
I want to set my Debian console image to bullseye(stable).
Could you try again if possible?

I want to set my Debian console image to bullseye(stable).

On those custom consoles you are free to do what ever you want but keep in mind that testing what works and what not is on your responsibility.

Could you try again if possible?

No. Main use case for Burmilla v1.9.x versions is critical production environments so only changes which are absolutely necessary will be done to that one (security updates and critical bug fixes). Bigger changes must go to 2.x versions.


include asset manifest in worker site built script size

🐛 Bug Report
 Uploading...
 Uploading...
 Success
⬇ Installing wranglerjs...
⬇ Installing wasm-pack...
 Built successfully, built project size is 11 KiB.
Error: Something went wrong! Status: 400 Bad Request, Details {
  "result": null,
  "success": false,
  "errors": [
    {
      "code": 10027,
      "message": "workers.api.error.script_too_large"
    }
  ],
  "messages": []
}

Environment

ubuntu
output of rustc -V: not found: rustc
output of node -v: v10.17.0
output of wrangler -V: wrangler 1.6.0

Steps to reproduce
wrangler publish --verbose --env=prod
on a directory with 60k+ files of size  4.2G.
What did you expect to see?
Success
What did you see instead?
      "message": "workers.api.error.script_too_large"

hey @guaka !
This issue reveals an interesting bug in how wrangler calculates build size. The workers platform calculates your project's bundle size based on the total size of the script and all of its embedded assets, including wasm modules and text blobs. The way we handle cache invalidation for Workers Sites is by generating an asset manifest that maps paths to kv keys, and the kv keys include a content hash to "fingerprint" them as unique cache keys. We bundle that asset manifest as a text blob binding when we upload your worker, and the size of that text blob counts against the 1MB bundle size limit.
I can imagine that a project with 60k+ assets could potentially come up against that limit.
There are a few ways we can try to alleviate this issue, but at minimum we should include the generated asset manifest in our bundle size calculations during a build so that our warn is still effective. we should also adjust the messaging to include the size of individual assets (script, wasm module, text blob) as an itemized set to show folks where their size issues are.

Cool. That makes sense.
A related issue is that Uploading... takes quite a while. It would be nice if there was some kind of indication of what it's uploading or how many files have been uploaded so far.
(I also posted 2 other queries at https://community.cloudflare.com/u/fifi/activity)

This is an ongoing struggle for Cloudflare it seems, we hit a lot of API 500 errors today that came and went for a few hours. I'm wondering if they can handle it, considering that CF workers are growing in popularity.

@ashleymichal Hey Ashley, Can you explain how to do that in simple way? I got into same issue, when I'm uploading 14Gig of hugo based static site.

There are a few ways we can try to alleviate this issue, but at minimum we should include the generated asset manifest in our bundle size calculations during a build so that our warn is still effective. we should also adjust the messaging to include the size of individual assets (script, wasm module, text blob) as an itemized set to show folks where their size issues are.

so, the solution to this particular issue will only address giving the user a warning explaining where their size issues  are. The asset manifest is generated by wrangler, though, and users don't have control over that. There are other issues open to address optimizing the size of the asset manifest, for example: #897 i may be getting a little time to address those in the next few weeks.

this should stay.

what i think would actually be most effective here would be to include the gzipped asset sizes in the error message from the API, giving users an actionable message without duplicating the compression logic in wrangler. marking this as cross-team: API


Could you please let me know what function is to replace addLinearSumEqual in Java?

https://developers.google.com/optimization/support/release_notes#cp-sat-api-changes
*De : *Dimitar Bakardzhiev<EMAIL_ADDRESS>*Date : *dim. 12 mai 2019 à 07:45
*À : *google/or-tools
*Cc : *Subscribed
—

You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/google/or-tools/issues/1268, or mute the thread
https://github.com/notifications/unsubscribe-auth/ACUPL3PP7CFZ7QNUDGTYGTLPU6VG7ANCNFSM4HMJUAEA
.


refactor: moving consul access and role interface

Moving configureConsulAccess and createRole to go-mod-secrets to consolidate consul API.
Closes: #3227
Signed-off-by: Rico Chavez-Lopez<EMAIL_ADDRESS>

If your build fails  due to your commit message not passing the build checks, please review the guidelines here: https://github.com/edgexfoundry/edgex-go/blob/main/.github/Contributing.md
PR Checklist
Please check if your PR fulfills the following requirements:

[ x] I am not introducing a breaking change (if you are, flag in conventional commit message with BREAKING CHANGE: describing the break)
[x ] I am not introducing a new dependency (add notes below if you are)
[x ] I have added unit tests for the new feature or bug fix (if not, why?)
[ x] I have fully tested (add details below) this the new feature or bug fix (if not, why?)
[ ] I have opened a PR for the related docs change (if not, why?)

Testing Instructions

https://github.com/ItsRico/edgex-go/tree/3227-testing
To test these changes,

Checkout this branch
Checkout https://github.com/edgexfoundry/go-mod-secrets/pull/163 in a subfolder of this branch
The following two steps can be viewed here: https://github.com/ItsRico/edgex-go/compare/main...ItsRico:edgex-go:3227-testing?expand=1
Update your go.mod file using the replace directive. ( => ./go-mod-secrets)
Update your Makefile to copy go-mod-secrets (add a COPY to the inline Dockerfile)
In edgex-go, run
make test
make clean
make clean_docker_base
make docker_base
make dev
Then, in your edgex-compose/compose-builder/ folder,
make run dev

The unit tests for these changes can be found in aclroles_test.go and in go-mod-secrets's management_test.go.

removed aclroles_test.go

Still need to add helper function for client creation and remove from loop

Updated reference to NewRegistryRole to NewConsulRole, reflecting corresponding changes in go-mod-secrets
Moved client creation outside of for loop for CreateRole
Reran Testing Instructions

Bumped version for go-mod-secrets, reran testing, rebasing

Had an issue with the rebase, need to try again


New template revision created from existing default revision does not reflect the correct default values of the fields

Version: Master-head
Steps:

Create a template/revision T1 /V1 with K8s version as v1.13.11 and set node port range and make them as questions
Create another revision V2 and choose K8s version as v1.15.4 and node port range with a different value and set them as questions.

For V2, the the default revisions remain the same as in V1

The default values in the new revision V2 are the same as V1

Available to test on master.

Tested with build from master-head.
Create a template/revision T1 /V1 with K8s version as v1.13.11 and set node port range and make them as questions
Create another revision V2 and choose K8s version as v1.14.7 and node port range with a different value and set them as questions.
For V2, the default revisions change accordingly

Also verified that when creating clusters, toggling between template revisions displays the fields with questions and without questions correctly.


[WIP] Updated Android template project file

Fixes #542

/azp run full build

/azp run full build

Will be done in an update for targeting Android 10


Disable virtual address space randomization for vbox

Disable randomization of virtual address space in order to simplify debugging of backtraces:
echo 0 > /proc/sys/kernel/randomize_va_space

cc @jrajahalme

Closing due to https://github.com/cilium/packer-ci-build/pull/44 being merged.

Related to https://github.com/cilium/cilium/pull/3354
Vagrant box is still not updated in the project

Vagrant box is already updated. Close this one.


[DOC ISSUE] - Insufficient documentation for integrating KaibanJS with custom endpoints (e.g., LM Studio)

Describe the Issue
This one is related also to #94
The current documentation lacks clear guidance on integrating KaibanJS with custom endpoints, such as LM Studio. Users face the following challenges:

Configuring apiBaseUrl and apiKey for external endpoints.
Understanding how to set up proxies or adapt them for non-default APIs.
Troubleshooting common issues like CORS errors and payload formatting problems.

This gap in documentation makes it difficult for users to adapt KaibanJS for use cases involving custom API endpoints or models.
Doc URL
Documentation URL: KaibanJS Documentation: Custom Integrations

Thank you for the feedback! We will work on adding documentation for integrating KaibanJS with custom endpoints like LM Studio. Stay

Added LM Studio integration docs.
https://docs.kaibanjs.com/llms-docs/custom-integrations/LM-Studio


Pipeline

pipeline and channel-based prng

Coverage decreased (-0.6%) to 95.807% when pulling c96a450d477f92f58d5262651bed43af601b6a7c on pipeline into 9435992b5acf37ff90cdcc19d15326b49a075a11 on master.


Add trigger logic tests in LSU

The PR extends verification tests of LSU. A similar test was already used in DEC.

LGTM


About Eq.5

To obtain the Eq.5, you supposed the ls  = lt  + n, and n is a constant tensor.  I am confused with this presumption. Actually, I think this presumption can not be held for each pixel, and Eq.5 is only a very special case.
I wonder if you can help me to better understand your analysis.

Sorry for the late reply, because I was busy with other work.
Yes, you are right, this is just an extreme case to illustrate our motivation. It is not common to encounter this situation in a real-world example. We just want to explain the inconsistency between softmax and sigmoid cross-task protocol.
Thanks for your attention to our work!


Docs.MS Release Updates for azure-spring-cloud-starter-servicebus

Update docs metadata and targeting for release of azure-spring-cloud-starter-servicebus

Docs Build status updates of commit 545f03c:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs-ref-services/latest/spring-cloud-starter-servicebus-readme.md
:warning:Warning
View (azure-java-stable)
Details

docs-ref-services/latest/spring-cloud-starter-servicebus-readme.md

Line 2, Column 1: [Warning-ms-prod-and-service] Only one of the following attributes can exist: 'ms.prod', 'ms.service'. Use ms.prod for on-premise products, or ms.service for cloud services.
Line 9, Column 16: [Warning-ms-prod-technology-invalid] Invalid value for 'ms.technology': 'azure' is not valid with 'ms.prod' value 'azure'.
Line 11, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'springcloud'.
Line 2, Column 1: [Suggestion-description-missing] Missing required attribute: 'description'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


[bug, I think] Automatic theatre mode - enabled/disabled are reversed

Describe the bug
With "Automatic theatre mode - enabled" the player shrinks (shortens) and with "Automatic theatre mode - disabled" the player expands and takes the whole desktop length space which is the actual theatre mode.
To Reproduce
Steps to reproduce the behavior:

Load my settings:
youtube_enhancer_settings_06.03.2024 г._16-19-06 ч..json.zip
Open any youtube video. It will load with a shortened player (meaning there's a panel on the right). Click to disable "Automatic theatre mode" and the player will expand to the maximum of the screen length. Then click to enable "Automatic theatre mode" and the player will shrink again.

Expected behavior
Automatic theatre mode - enabled" should expand the player to take the whole screen space, meaning that if your screen's native resolution is 1920x1080, then the expanded player should be 1920 pixels in length.
Screenshots

Desktop (please complete the following information):

OS: Linux
Browser: Firefox 123.0.1
Version: 1.23.3

Additional context
I added "I think" in the title because it looks like a bug but I'm not 100% sure. Also, yesterday Firefox for Linux updated and this update MAY have something to do with this bug cuz Mozilla rarely announce the changes they make.
Also, I gave you my YTE settings, bc there's a remote chance something in my settings to cause the problem, though I personally doubt it.
Since yesterday I have a dual boot with Windows, so I'll try the same in Windows as well and then I'll report here whether the same is happening in Windows.
For the time being I've disabled "Automatic theatre mode" in order to have an expanded player.

Resolved


MongoDB plugin does not support underlying moogose calls to MongoDB

What version of OpenTelemetry are you using?
    "@opentelemetry/core": "^0.11.0",
    "@opentelemetry/exporter-jaeger": "^0.11.0",
    "@opentelemetry/node": "^0.11.0",
    "@opentelemetry/plugin-express": "^0.10.0",
    "@opentelemetry/plugin-http": "^0.11.0",
    "@opentelemetry/plugin-https": "^0.11.0",
    "@opentelemetry/tracing": "^0.11.0",
    "@opentelemetry/plugin-mongodb": "^0.10.0",

What version of Node are you using?
$ node -v
v12.18.3

What did you do?
I enabled the MongoDB plugin for my project as follows :
const { NodeTracerProvider } = require('@opentelemetry/node');

const provider = new NodeTracerProvider({
  plugins: {
    mongodb: {
      enabled: true,
      path: '@opentelemetry/plugin-mongodb',
    }
  }
});

My project uses Mongoose but the plugin does not seems able to properly instrument the underlying calls to mongod made by Mongoose.
I have seen this issue and for now I am using the mongoose plugin from wdalmut which works fine and create traces.
Is there any plan to support this feature in the future ?
What did you expect to see?
I expect traces to show up.
What did you see instead?
No traces are being created.

PS : Thanks for all the great work being done here!

Could you share which mongoose you are using ?

@vmarchaud Sure, we are using the following version :
"mongoose": "^5.9.2",

This should be solved by PR #219


create_simulation_parameter does not reflect change in "measures" parameter of the function

Steps to reproduce
Initially, I have run the notebook with the below simulation definition (Best results in first position followed by points substitute in the second position:
pointssystem_sim = f1cube.create_parameter_simulation(
    "pointssystem_sim",
    measures={"Best results": 1000.0, "points substitute": None},
    levels=[l["positionText"], l["resultId"]],
)

I switched the positions of the measures around but it seems that the values are applied based on the initial setup sequence.
So the values meant for Best results is applied to points substitute and vice versa.

main.zip
Environment

atoti: 0.6.1
Python: 3.9.6
Operating System: win32

The issue seams to be that the order of the map's keys is lost when passing the argument to the underlying java process, for now you can check the order of the created simulation's columns to see the real order of the columns.
I'll fix this behavior for the next release.

Fixed since atoti 0.6.2


Create patch to remove problematic validation

Fixes https://github.com/pulumi/pulumi-azuredevops/issues/514
The validation always fails when running under the bridge because the bridge fills in the default values for values which are marked as ConflictsWith. Therefore, we'll remove this validation for the time being to unblock users from using the variable group resource.
This can be removed once https://github.com/pulumi/pulumi-terraform-bridge/issues/2618 is resolved.

Test and patch issue created 👍


[FEATURE] DataFrames as a first class schema

🚨🚨 Feature Request

[ ] Related to an existing Issue
[x] A new implementation (Improvement, Extension)

Should DataFrames be treated as a first-class schema (alongside Text, Audio, Images)?
If your feature will improve HUB
Even though Hub is designed for unstructured datasets, many data science projects still rely on DataFrames in some form or fashion. While there may be better solutions for large scale tabular data analysis, Hub should aim for feature parity.
Ultimately, the goal is to create a package familiar to data scientists, and supporting DataFrames is a big step towards that goal.
Description of the possible solution
Since a DataFrame is a collection of numpy arrays, a DataFrame schema could be assembled with existing Schemas (eg Tensors).

Closing this feature request due to inactivity and lack of interest. Will revive it if more users request it.

Closing this feature request due to inactivity and lack of interest. Will revive it if more users request it.

Closing this feature request due to inactivity and lack of interest. Will revive it if more users request it.


bug: ABI with string array input & output returns a Panic receipt

Not sure this is 100% a Sway issue -
Given the contract below. When I interacted with via the TS SDK  the functiontake_array_string_return_single_element returns a panic receipt.  See here..
contract;

abi TestContract {
    fn take_array_string_shuffle(a: [str[3];3]) -> [str[3];3];
    fn take_array_string_return_single(a: [str[3];3]) -> [str[3];1];
    fn take_array_string_return_single_element(a: [str[3];3]) -> str[3];
    fn take_array_number(a: [u64;3]) -> u64;
    fn take_array_boolean(a: [bool;3]) -> bool;
}

impl TestContract for Contract {
    fn take_array_string_shuffle(a: [str[3]; 3]) -> [str[3];3] {
        [a[2], a[0], a[1]]
    }
    fn take_array_string_return_single(a: [str[3]; 3]) -> [str[3]; 1] {
        [a[0]]
    }
    fn take_array_string_return_single_element(a: [str[3]; 3]) -> str[3] {
        a[0]
    }
    fn take_array_number(a: [u64;3]) -> u64 {
        a[0]
    }
    fn take_array_boolean(a: [bool;3]) -> bool {
        a[0]
    }
}

I'm Not sure what labels to add, feel free to edit the issue.  I'll keep poking around with the SDKs and double check.
https://github.com/FuelLabs/fuels-rs/pull/506 - fuels-rs is also running into memory overflow errors

After fixing the issue on the Rust SDK side, we also get a MemoryOverflow Error on the fn take_array_string_return_single_element(a: [str[3];3]) -> str[3]; function.

I believe this line: https://github.com/FuelLabs/sway/blob/7491159983982bf8c1b5d0660a5d5101d21d5f18/sway-core/src/asm_generation/from_ir.rs#L891 needs to be changed to: if ty.get_elem_type(self.context).unwrap().is_copy_type().
Probably the same for https://github.com/FuelLabs/sway/blob/7491159983982bf8c1b5d0660a5d5101d21d5f18/sway-core/src/asm_generation/from_ir.rs#L1180

Whoever takes this on needs to test the fix with this branch of fuels-rs: https://github.com/FuelLabs/fuels-rs/pull/506


Secret callback

Added features

verify's secretOrToken parameter can now be a callback function, see updated README.md for details
hardended checks for unsigned jwt, must now explicitly add ['none'] in algorithms to pass
updated tests and readme

Performance improvements

removed need to clone options object
merged two decodes into one

See issue #406

I've also created typescript typings here:
https://github.com/DefinitelyTyped/DefinitelyTyped/pull/20321

Thanks for the typescript typings 👏  (I added a comment that may change them)

@Richie765 not sure if you are waiting for us to review some part. I left a comment that was collapsed https://github.com/auth0/node-jsonwebtoken/pull/413#discussion_r145988881
Let me know if you need anything from us.

I have made the changes and made a pull request for the originating branch (https://github.com/Richie765/node-jsonwebtoken/pull/1)
With istanbul, i checked for the missing tests and noticed that the (isSigned && !secretOrPublicKey) are already covered by tests. Please advise how to continue further, as this is a feature i would really like to use.

@JacoKoster we have two options:

If @Richie765 wants to continue with this we can work on this branch and your PR can be merge to it and we continue the review here.
You create your own PR based on this current work or on yours (in case you have different design in mind) + use your tests on it.

Closed by: https://github.com/auth0/node-jsonwebtoken/pull/480
Thanks @Richie765 for the initial push!


Amo 132460

Please link to the issue #…

@jishah-adobe : Should this be of type array or there will be in one "advertisingmodel" per measure per model?

@is-slo-and , advertisingmodel.modelvalues and advertisingmodel.modelcounts is an array of type measure - https://github.com/adobe/xdm/pull/722


New maintainer? Wordpress 4?

Looks like @broadinstitute is no longer maintaining. I can't get this plugin to work and I don't know which fork to use. Can we assign a new owner and get it tested against a wordpress 4 install?

There is also https://github.com/xnuiem/phpx/tree/15e27f5091575f50c65b160655eaa02e166f0051/crowdx

@arigesher @studiowolf @coubeatczech @timolaine @markd-opmantek - you all have branches. @steveathon Anyone keen to make this all work?
I also posted to https://github.com/coubeatczech/wordpress-crowd-plugin/issues/3

For reference, I got @coubeatczech's version to work on Wordpress 4.2.1.

Let me get up to speed on this - but I'd probably be ok with taking it over.

Sounds good, @steveathon , thanks.

Who is working on this now? As in who is the official fork? I'd like to submit the work I did for "forgotten passwords" and "registration" pages. Along with update my patched libs to use whatever you have done.

Sorry - just noticed this...
Sure, send me a PR.


Follow best Python practices

Features several improvements/changes:

add license (Apache 2.0)
add pyproject.toml containing:

basic information about the project
dependencies (moved from install.sh)
custom script spef for running the app, replacing run.py
setup of the custom style for Pygments (moved from install.sh)

rename src/ to spef/ and use absolute imports everywhere (import spef.x.y instead of import x.y)
removed the __main__ function and replaced it with __main__.py - the app can now be started by executing the package as a module (python -m spef) or using the above spef script (after installation)
add MANIFEST.in to include non-code files in the installation (configs, logs, etc.) - these should eventually be moved to better locations, ideally as a part of #7
several changes in tests so that they are usable with the installed package

Also removed the custom user test from the container image as it didn't work well with Podman. This should be fixed in a proper way, eventually.
Resolves #2.

@ndizova you might want to have a look, especially if you're fine with adding the license.

Seems good to me! I have only one minor suggestion: I would consider updating the README file as well, so that it corresponds to the new setup process using pip install / pip editable install.

Right, that's the last item on my todo list that I forgot about 😀 Will add that, thanks!


Replace 'term' with 'closed term' at various points in the quotient model construction

Just for the avoidance of ambiguity, this commit replaces various uses of 'term' with 'closed term' when the latter is required.

Thanks!


[WIP] ForeignCluster Operator Refactoring - 1

Description
This pr starts the refactoring of the ForeignCluster Operator to improve readability and stability.
In particular:

some functions have been moved away and will be moved to a ForeignCluster webhook in a future pr
some fields in the ForeignCluster resource are now deprecated, since no more need with the new authentication mechanism
the reconcile function has been refactored to use the controller runtime client and to be more readable

How Has This Been Tested?

[x] locally on KinD
[x] add unit test

Ref. #670

/merge


[Feature Request] Reset search bar input

It'll be nice to reset automatically after I input some text and click on a shortcut.
Now it's like this:

Search something
Click/Enter and a new tab it's opening.
After closing the new tab, the search bar it's filled with what I typed.

What I mean:

Search something
Click/Enter and a new tab it's opening.
Close the new tab, the search bar to be clear and ready to input again.

I like this, and have been thinking about it, but I'm not sure any one tab can know whether another is closed or not.  Also, I think people open multiple tabs and unless the new tab was closed you would still have to delete it.
I think the two solutions are (Not my favorite) to add a simple "Clear" or "X" button or (which would be better IMHO) clear the search bar once the "Enter" key is used or when a link has been clicked.


[move] Fix Todd's comment for resource viewer

Motivation
I somehow skipped through a bunch of comments @tnowacki  made for #3729. Fix those in this PR.
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
(Share your test plan here. If you changed code, please provide us with clear instructions for verifying that your changes work.)
Related PRs
#3729

These look good! Any thoughts on removing the RefCell from the other section?

The solution we used before was using Arena+CHashMap. It was a bit harder to implement so I just uses the simpler RefCell for now

@bors-libra r=davidiw

:pushpin: Commit 38f58f7 has been approved by davidiw

:hourglass: Testing commit 38f58f76a2b46d36721abc65e95f7fe0a1e5bd78 with merge 506dba4fb52c0934b24cf575643044b734d3221b...

:sunny: Test successful - checks-actions_land_blocking_test, checks-circle_commit_workflow
Approved by: davidiw
Pushing 506dba4fb52c0934b24cf575643044b734d3221b to master...


Re-use certificate information from Argo CD

Is your feature request related to a problem? Please describe.
My problem is the same as described in this issue #190
The fix there was to mount the known_hosts into the image updater. But when not using ssh , the image updater has an error when trying to write back to git because of my self signed certificate.
In Argo it is working fine and the certificate is added there.
git fetch origin --tags --force` failed exit status 128: fatal: unable to access 'https://bitbucket.***.de/scm/helm/my-service-helm.git/': SSL certificate problem: self signed certificate in certificate chain" execID=7BZ7L

Describe the solution you'd like
A solution could be to reuse the argocd-tls-certs-cm if thats possible.
Describe alternatives you've considered
Unfortunatly I dont have any. I did not find anything about that in the documentation.

Yep, I agree. This would be a good feature to have.

Is there any workaround yet? It looks to me that one needs to rebuild the image if custom certificates are required. Am I right?


Add Coastal Dynamics Open Codebook

Insert URLs to the project here:
https://github.com/floriscalkoen/CoastalCodeBook

[x] The projects is active, documented, open source licensed, shows usage from external parties and is directly targeting environmental sustainability. Find more details in the Contribution Guide.

All issues labeled as 'Good First Issue' of the project listed on OpenSustain.tech will be visible on ClimateTriage.com. This is a great way to welcome new community members to your project.

@FlorisCalkoen @ChristiaanDHoogervorst @jakobchristiaanse


Ch4 nodejs Fixes

Removed Remi Repo tasks from Playbook. The CentOS 7/8 Repo does not contain npm or any of the required RPMs see here. EPEL 7 contains an npm package (3.10.0) but EPEL 8 does not because nodejs 10 and 12 LTS is available in the built-in AppStream repos.
Added version to package.json to fix bug that existed in version 3.3.0-3.3.1 of community.general.npm module. It would fail if a version tag was not available. This was fixed in 3.3.2, but should be there since it's included in the simple npminit values. See commit here

Honestly I don't remember why I had the remi tasks in there...

Hmm. I see the one that failed is getting the same error as I was getting, which is caused by not using 3.3.2+ of community.general.npm
I can't see what role you're applying to download that Galaxy package, but it likely needs updating there first.


COMM UI Library , Beta 1 -- Unable to Join an existing teams call as a teams user, in Calling Sample

When attempting to join an existing teams call , using a teams meeting link , with a teams identity , in the calling sample, the join call method in CallComposite is not invoked, only "start call"
What are the steps to reproduce the issue?
I can repro with my customized Calling sample, unknown if I can with official sample.
What behavior did you expect?
Join a call, not start a call.
In what environment did you see the issue?
"@azure/communication-react": "1.18.0-beta.1",
"@azure/communication-calling": "1.27.1-beta.1 || ^1.26.1",
"@internal/acs-ui-common": "1.18.0-beta.1",
"@internal/calling-component-bindings": "1.18.0-beta.1",
"@internal/calling-stateful-client": "1.18.0-beta.1",
"@internal/react-components": "1.18.0-beta.1",
"@internal/react-composites": "1.18.0-beta.1",

OS & Device: Windows 11
Browser: Microsoft Edge
Browser Version: Version 126.0.2592.87

Is there any additional information?
problem is callees is not null/undefined in this scenario ( join a teams call ). In CallComposite.tsx
switch (page) {
    case 'configuration':
      pageElement = (
        <ConfigurationPage
          mobileView={props.mobileView}
          startCallHandler={(): void => {
            if (callees) {  **<--- always true**
              adapter.startCall(
                callees,
                /* @conditional-compile-remove(PSTN-calls) */ alternateCallerId
                  ? { alternateCallerId: { phoneNumber: alternateCallerId } }
                  : {}
              );
            } else {
              adapter.joinCall({
                microphoneOn: 'keep',
                cameraOn: 'keep'
              });
            }
          }}

here is my workaround ( just an example ):
App.tsx :
const [targetCallees, setTargetCallees] = useState<StartCallIdentifier[] | undefined>([]);
       if (callDetails.option === 'TeamsIdentity'){

          setTargetCallees(undefined);
        }

Hi,  @MarteenJL!
Thanks for looking into our code base - which function are you using to create adapter? Do you pass in callee there or you are using locator to create the adapter? Would be great to see your code piece of adapter creation, that would helpful to check what is going on from our side

Hi @PorterNan  , CallScreen.tsx , slightly modified, is used to create the teams call adapter.  in the useMemo hook
`  const credential = useMemo(() => {
/* @conditional-compile-remove(teams-identity-support) */
if (isTeamsIdentityCall) {
  return new AzureCommunicationTokenCredential(token);
}
return createAutoRefreshingCredential(toFlatCommunicationIdentifier(userId), token);

}, [token, userId, /* @conditional-compile-remove(teams-identity-support) */ isTeamsIdentityCall]);
/* @conditional-compile-remove(teams-identity-support) */
if (isTeamsIdentityCall) {  <----------------------------
return <TeamsCallScreen afterCreate={afterTeamsCallAdapterCreate} credential={credential}  {...props} />;
}`
then a little further down, in the props
type TeamsCallScreenProps = CallScreenProps & {
  afterCreate?: (adapter: TeamsCallAdapter) => Promise<TeamsCallAdapter>;
  credential: AzureCommunicationTokenCredential;
};

/* @conditional-compile-remove(teams-identity-support) */
const TeamsCallScreen = (props: TeamsCallScreenProps): JSX.Element => {

  const { afterCreate, callLocator: locator, userId, ...adapterArgs } = props;
  if (!(locator && 'meetingLink' in locator)) {
    throw new Error('A teams meeting locator must be provided for Teams Identity Call.');
  }

  if (!('microsoftTeamsUserId' in userId)) {
    throw new Error('A MicrosoftTeamsUserIdentifier must be provided for Teams Identity Call.');
  }

  const teamsAdapterOptions: TeamsAdapterOptions = useMemo(() => {
    return {
      videoBackgroundOptions: {
        videoBackgroundImages
      },

    onFetchProfile: async (userId: string, defaultProfile?: Profile): Promise<Profile | undefined> => {
      if (defaultProfile?.displayName) {
        return defaultProfile;
      }
      console.log('userid' + userId); /// this is the caller, with 8:orgid

      if (props.connection)
      {
        let myName = await props.connection.invoke('S..... <snip>

      // You can fetch the display name from GraphAPI or your backend service using userId
        return { displayName: myName };
      }
      return { displayName: "NOTKNOWN" };
    }
    };
  }, [props]);

  const adapter = useTeamsCallAdapter(
    {
      ...adapterArgs,
      userId,
      locator,
      options: teamsAdapterOptions
    },
    afterCreate,
  );

HTH. Maybe its not a bug, just twisting the codebase too much :)

check App.tsx, around line 117?
 setIsTeamsCall(!!callDetails.teamsToken);
so as the teams token is provided, its a teams call.

I've opened a PR to fix our sample for this one #4857, I believe it's the same issue in your sample, feel free to apply the same fix to yours

Closing the issue as it is resolved, @MarteenJL please reopen the issue in case you have any further concerns.


CPU memory crash

while initializing kc0, it takes up all CPU memory(125G),and the program will crash. Are there any suggestions to resolve this issue?

i have tried to set the query_chunked chunk_size  to 1e2, CPU memory still grows to crush.

I have the same error

Please try the latest code, I've made some updates to reduce CPU memory usage. When testing on a desktop computer with 64GB RAM, I did not encounter the program being killed issue.

This problem has been solved after the code update, so close this issue.

This problem has been solved after the code update, so close this issue.


Unable to quickly select a filename

When double clicking the filename the a/ or b/ is copied along. It would be great to remove that, or separate it with a space, or add the plain filename as a separate line as well, to be able to support this use case.

I like the idea :)

There is an argument in git diff:
--no-prefix
           Do not show any source or destination prefix.

Indeed. @lode does it work for you?

@lode good usecase. i found myself using the click more and more often. :)
Since we already broke the patch format, there's no reason for us to preserve a/ and b/, TBH. :)
Let's remove or improve it from our format_diff_header formatting.

True, we are already hacking a lot. We'll just keep hacking I guess :)

Cool. I'm preparing a short-term fix for this..  however

Here's probably my ideal for these:

If the two filenames are the same (the common case), then it doesnt need two lines. it could collapse and prefix with modified:
If it's a new file we identify and denote that.
etc.

Current behavior:

────────────────────────────────────────────────────────────────
-- a/.functions
++ b/.functions
────────────────────────────────────────────────────────────────
@@ -28,6 +28,19 @@ cdf() {  # short for cdfinder
…

new file mode 100644
────────────────────────────────────────────────────────────────
-- /dev/null
++ b/crontab
────────────────────────────────────────────────────────────────
@@ -0,0 +1,20 @@

Proposed behavior:
────────────────────────────────────────────────────────────────
modified: .functions
────────────────────────────────────────────────────────────────
@@ -28,6 +28,19 @@ cdf() {  # short for cdfinder
…

new file mode 100644
────────────────────────────────────────────────────────────────
added: crontab
────────────────────────────────────────────────────────────────
@@ -0,0 +1,20 @@

how does this sound?

How will you handle renames:
 -- a/oldFile
 ++ b/newFile

Doesn't --no-prefix do the job?

@noscript ideally, we do "moved: ". Certainly requires a few lines of work to pull it off.
--no-prefix is can only be applied on the  git diff command so it's not something we can do on our side.
And I'm arguing that preserving a/ and `/b/ in our output doesnt have value, and supporting cmd-click is more worthwhile. So we might as well translate these odd prefixes to something that makes sense.

it's not something we can do on our side.

I wonder if there really a need to do something that can be achieved out-of-the box by git.
Besides, messing with prefixes will break git diff output for those who do use --no-prefix already.

Perhaps we should recommend setting git config --global diff.noprefix true to our users who are interested in this feature.

I didn't know about the --no-prefix, that helps for sure. But, as you also noted @paulirish, the whole idea of two lines is a bit strange. When it can also be presented in a single line with a meaningful prefix like added, moved, etc.

Sg. I think we can document the flag and global config for now.
And then long-term work towards a clearer header with added/moved/changed. I hesitate to do that work without a more substantial parsing setup, though.

@lode can you give us a PR for the git config --global line added to the readme?

@paulirish I really like your suggestions here. The one line setup makes a lot more sense to me, and would save screen real estate also. This suggestion gets a +1 from me.

@noscript I'm working on tests and I cannot get diff to show me the "rename" syntax you describe. If I do a git mv foo.txt bar.txt the diff output is to delete foo.txt and add bar.txt. Am I missing something on file renames?
If so, can you provide me with some git diff output I can put in my tests.

I think the output you're dealing with is the same, yah.

Now that #90 has landed I think we can close this.

Yup and 90 is compatible with both diff.noprefix true and diff.noprefix truediff.noprefix false


feature: 支持安装通道 (#5)

Codecov Report

Merging #23 (95a76a3) into issue#5 (100d729) will decrease coverage by 0.04%.
The diff coverage is 79.18%.

@@             Coverage Diff             @@
##           issue#5      #23      +/-   ##
===========================================
- Coverage    59.00%   58.95%   -0.05%
===========================================
  Files          390      393       +3
  Lines        25738    25830      +92
===========================================
+ Hits         15186    15229      +43
- Misses       10552    10601      +49

Impacted Files
Coverage Δ

apps/node_man/handlers/job.py
86.60% <ø> (+0.24%)
:arrow_up:

apps/node_man/handlers/permission.py
29.68% <25.00%> (-0.49%)
:arrow_down:

apps/node_man/views/install_channel.py
37.50% <37.50%> (ø)

apps/backend/views.py
56.83% <71.42%> (+0.68%)
:arrow_up:

apps/node_man/models.py
74.03% <75.40%> (+0.08%)
:arrow_up:

apps/backend/components/collections/agent.py
75.25% <86.66%> (-0.72%)
:arrow_down:

apps/backend/agent/tools.py
92.59% <97.14%> (+0.92%)
:arrow_up:

apps/node_man/constants.py
99.55% <100.00%> (+0.01%)
:arrow_up:

apps/node_man/exceptions.py
100.00% <100.00%> (ø)

apps/node_man/handlers/host.py
82.55% <100.00%> (-4.05%)
:arrow_down:

... and 11 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 100d729...95a76a3. Read the comment docs.


Add discovery/scrape-time service selection

With Prometheus 2.28, there is now a generic http service discovery.
The exporter can now produce an API output that lists all of the available services so that they can be scraped independently. This improves the performance of ingestion by spreading it out over time and allowing Prometheus to ingest the data over multiple target threads.
On the Prometheus side, you would configure the job like this:
scrape_configs:
- job_name: fastly
  metrics_path: /fastly
  http_sd_configs:
  - url: http://fastly-exporter:8080/service-discovery
  relabel_configs:
  - source_labels: [__address__]
    target_label: __param_service_id
  - source_labels: [__param_service_id]
    target_label: instance
  - target_label: __address__
    replacement: fastly-exporer:8080

The /service-discovery endpoint would output json like this:
[
  {
    "targets": [
      "<Service ID 1>",
      "<Service ID 2>",
      "<Service ID 3>",
      "<Service ID ...>"
    ]
  }
]

The relabel_config would then produce exporter URLs like /fastly?service=<Service ID 1>.

This is meant as an additional improvement on https://github.com/peterbourgon/fastly-exporter/issues/31. Possibly a replacement, depending on where the bottleneck is.
CC @neufeldtech

Super cool.

So wait, given /discovery returns
[
  { "targets": ["A", "B", "C"] }
]

there's no absolute or explicit URL mapping to each of A, B, and C — I would just assert in the exporter (or a flag or something) that they map to e.g. /service/{A, B, C} which the scraping Prometheus would have to be configured to match a priori. Is that right?

Yes, it needs to be re-mapped by a relabel config in Prometheus no matter what. The discovery injects the target list items into the __address__ meta-label in discovery. Prometheus doesn't treat those as URLs, it treats them as host:port pairs.

@SuperQ The bottleneck is parsing the JSON from the Fastly API. By default, the exporter fetches all services available to the provided token on startup, and launches a goroutine per service to poll the API and update the relevant metrics. The -service* flags are used to control the set of services we poll, so I think that means we need to keep them. Though maybe I could play some trick — could I lazy-launch the polling goroutine for a given service only once the exporter received a request for that service? It would mean the first scrape either had a 1s+ delay, or returned an empty response; would either of those be acceptable?

This is why readiness checks are a thing. Discovery can just wait for the readiness endpoint to say OK.

Discovery can just wait for the readiness endpoint to say OK.

Not sure how that would work. Is readiness per-SD-target? I'm suggesting that the exporter not poll a service ID unless/until it receives a scrape request for that service ID from Prometheus.

The exporter shouldn't expose a newly added service to the discovery output until it has valid API connection.

Right, but the only meaningful optimization is to try to avoid polling the API and parsing the large JSON responses if we can avoid it, somehow. For example, if the user starts the exporter with a configuration that makes 10 services "visible" but only has Prometheus scrape 2 of them, it would be ideal if we didn't poll/parse/present metrics for the other 8. The only way I can think of to accomplish that is to "lazy load" the per-service polling goroutines. Is that feasible? Sounds like no. That's fine.

I don't think that's feasible. I don't see a lot of of users doing selective filtering without configuring the -service flag.

Is there a canonical example of an exporter that supports this new capability?

Not that I'm aware of, this would be the first one.

So this is an interesting design conundrum. I think the right way to think about this is that we're adding /metrics endpoints that are backed by a kind of pseudo-registry: something that takes the main registry and filters based on a label. I guess you could do that by wrapping the Registry with something that takes a service ID and yields a custom Gatherer? Or am I looking at this the wrong way?

Ah! Huh.
So the other angle would be something like maintaining a separate gen.Metrics/prometheus.Registry for each service. That makes per-service /metrics endpoints easy. Could you then just use a prometheus.Gatherers to abstract over all of them to serve the existing /metrics endpoint? Would that be efficient/effective?

Yes, setting up a separate registry per-service makes the most sense to me.

→ #73

Ah, @SuperQ, what would the Prometheus config look like for this? Especially whatever relabel config would be necessary.

The scrape config and relabel is in the issue summary.

I tested this out locally, looks really good. It even works well with the modulo sharding so you get the best of both worlds, horizontal sharding and automatic discovery.

the issue summary

Thank you 🤦


This script doesn't seem to work on DSM Version: 7.2.1-69057 Update 3

I could not get this script to work on DSM Version: 7.2.1-69057 Update 3.  The script exits immediately with no messages.

What is the exact command you are typing?
What shell or terminal are you using?

Hi,
I was running the script via Task Scheduler, as described here:
https://github.com/007revad/Synology_DSM_reinstall/tree/main
I created a task with "root" user and the path to the file /syno_dsm_reinstall.sh
It seems like the script is initiated, but then exits almost immediately.

Den Fri, 01 Dec 2023 11:06:40 -0800, Dave Russell @.***> skrev:
What is the exact command you are typing?
What shell or terminal are you using?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

When you run a script via task scheduler it appears to finish immediately, but it finishes running in the background.
You can see the output from the script in task scheduler:

In task scheduler select the task.
Click "Action > View Result".
Click the "View Details" link.

I just ran the new .sh file (with the "# Check script is running as root" mod.). Still no joy. It takes a bit longer to finish, but no messages, and the DSM version remains the same. Still "unable to re-install due to older version" message.
Den Sat, 02 Dec 2023 00:47:29 +0000, "Jon Winther-Hansen" @.***> skrev:

Hi,
I was running the script via Task Scheduler, as described here:
https://github.com/007revad/Synology_DSM_reinstall/tree/main
I created a task with "root" user and the path to the file /syno_dsm_reinstall.sh
It seems like the script is initiated, but then exits almost immediately.

Den Fri, 01 Dec 2023 11:06:40 -0800, Dave Russell @.***> skrev:
What is the exact command you are typing?
What shell or terminal are you using?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

For some reason the Action > View Result is greyed out.  I entered my e-mail in the "Send run details by e-mail".
This is what I got:
Task Scheduler has completed a scheduled task.
Task: dsm_fix
Start time: Sat, 02 Dec 2023 02:15:01 +0100
Stop time: Sat, 02 Dec 2023 02:15:58 +0100
Current status: 127 (Interrupted)
Standard output/error:
/bin/bash: /volume: No such file or directory
From DS
My DSM UI seems a bit sluggish after the upgrade from 6 to 7.2.1, and that's why I want to re-install the system. Maybe that has something to do with why the script is not functioning properly?
Den Fri, 01 Dec 2023 17:03:25 -0800, Dave Russell @.***> skrev:
When you run a script via task scheduler it appears to finish immediately, but it finishes running in the background.
You can see the output from the script in task scheduler:
In task scheduler select the task.
Click "Action > View Result".
Click the "View Details" link.

—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

Current status: 127 (Interrupted)
Standard output/error: /bin/bash: /volume: No such file or directory

Edit the scheduled task and change /volume/ to /volume1/

I just ssh into the NAS, and then figured out what you say below, that the "volume 1" should read "volume1" in the path. (even though it's listed as "volume 1" in the Storage Manager...
Thanks for the swift replies, and for the script itself!
Jon
Den Fri, 01 Dec 2023 17:42:27 -0800, Dave Russell @.***> skrev:
Current status: 127 (Interrupted)
Standard output/error: /bin/bash: /volume: No such file or directory
Edit the scheduled task and change /volume/ to /volume1/
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>


Add a JavaScript Project

Describe the project you want to add with tech stack

I want to add a JavaScript Project of Profile Card Generator. I think Profile Card is important in corporate sectors to elaborate your achievements and growth.
Expected behavior

Screenshots (optional)

Additional context (optional )

I would like to work on this issue.


Hard anchor point by percentage

Unless I am missing something, currently the only way to set a hard anchor is by specifying dp. I think there should be a way to specify the anchor point point by percentage. Currently if I specify by dp, it will work fine in portrait mode, but if I rotate the phone the drawer will shoot past the screen height.
So, for example, if I want to only have to drawer come up 75% of the way, I can call some method and have the drawer stop at 75% of the screen height. This way even if the screen is rotated, the drawer will stop at 75% of the new screen height.

Fixed in master. Use layout_weight attribute on the sliding view.


[Notification] The parent doesn`t get a notification when service provider delete the workshop that was liked or applied

Environment: OS Windows 11Pro, Version 22H2, Browser Chrome Version 121.0.6167.185
Reproducible: always
Build found: commit a76b5f7
Preconditions

The site "Позашкілля" https://oos.dmytrominochkin.cloud/# is opened
There is at least one service provider with created Workshop_1
User logged in as a Parent

Case 1
Steps to reproduce

Find and open the Workshop_1 page
Click on the 'Додати в улюблені' button
Log in as service provider
Go to 'Мої гуртки' page
Delete the Workshop_1

Actual result
The Workshop_1 was deleted. The parent get the notification with the text "не вказано".

Case 2
Steps to reproduce

Find and open the Workshop_1 page
Click on the 'Подати заяву' button
Log in as a service provider
Go to 'Мої гуртки' page
Delete the Workshop_1

Notes: In case 2 the workshop was not added to favourites.
Actual result
The Workshop_1 was deleted. The parent didn`t get the notification about deleting the Workshop_1.
Expected result
The Workshop_1 was deleted. The parent gets the notification with the text "Гурток {{Name of the Workshop}} видалено"
User story and test case links
User story #207

Parent doesn`t get notifications after deleting the workshop, to which he or his children were applied.
Steps described in "Case2".


Add copy to clipboard icon

Description
I added the copy to clipboard feature

Contribution Checklist:

[X] The pull request only addresses one issue or adds one feature.
[X] The pull request does not introduce any breaking changes
[X] I have added screenshots or gifs to help explain the change if applicable.
[X] I have read the contribution guidelines.
[X] Create an issue and link to the pull request.

Note: Keeping the PR small and focused helps make it easier to review and merge. If you have multiple changes you want to make, please consider submitting them as separate pull requests.
Publishing to New Package Managers
Please see here for more information.

What do you think about the following styling?
https://github.com/usebruno/bruno/assets/1073299/b12f0f5a-c777-458a-b76d-abb9cefdcd1c

I'm not really a react dev, so I have know idea how to do it.  It's true that I never changed the layout theme.

I just slightly modified CodeView component to:
    <StyledWrapper>
      <CopyToClipboard className="copy-to-clipboard" text={snippet} onCopy={() => toast.success('Copied to clipboard!')}>
        <IconCopy size={20} strokeWidth={1.5}/>
      </CopyToClipboard>
      <CodeEditor
        readOnly
        value={snippet}
        font={get(preferences, 'font.codeFont', 'default')}
        theme={storedTheme}
        mode={lang}
      />
    </StyledWrapper>

introduced new StyledWrapper for that component:
import styled from 'styled-components';

const StyledWrapper = styled.div`
  position: relative;

  .copy-to-clipboard {
    position: absolute;
    cursor: pointer;
    top: 10px;
    right: 10px;
    z-index: 10;
    opacity: 0.5;

    &:hover {
      opacity: 1;
    }
  }
`;

export default StyledWrapper;

@martinsefcik Thanks a lot for the help.  It's really appreciated.

Thank you so much @survivant @martinsefcik !


⚠ RPC server - Conflux has degraded performance

In a92572e, RPC server - Conflux ($CONFLUX_RPC_URL) experienced degraded performance:

HTTP code: 0
Response time: 0 ms

Resolved: RPC server - Conflux performance has improved in ccc3bda after 7 minutes.


cmake: fix fsglobals/pipglobals

macOS CI:
CMake Error at cmake/detect-features.cmake:82 (if):
  if given arguments:
    "AND" "1"
  Unknown arguments specified
Call Stack (most recent call first):
  CMakeLists.txt:323 (include)
-- Configuring incomplete, errors occurred!

CMK_HAS_DLMOPEN is the empty string.

macOS CI:
CMake Error at cmake/detect-features.cmake:82 (if):
  if given arguments:
    "AND" "1"
  Unknown arguments specified
Call Stack (most recent call first):
  CMakeLists.txt:323 (include)
-- Configuring incomplete, errors occurred!

CMK_HAS_DLMOPEN is the empty string.

Thanks, should be fixed now.


docker-compose up is throwing error

I am following instruction from https://docs.docker.com/notary/running_a_service/ but getting below error in both my Mac and AWS linux box. Am i missing something here?
step 4 : RUN git clone -b v1 https://github.com/mattes/migrate.git /go/src/github.com/mattes/migrate/ &&     go get github.com/mattes/migrate &&     go build -tags 'mysql' -o /usr/local/bin/migrate github.com/mattes/migrate
 ---> Running in 6c8891b91030
Cloning into '/go/src/github.com/mattes/migrate'...
package gopkg.in/mattes/migrate.v1/driver/mssql: cannot find package "gopkg.in/mattes/migrate.v1/driver/mssql" in any of:
	/usr/local/go/src/gopkg.in/mattes/migrate.v1/driver/mssql (from $GOROOT)
	/go/src/gopkg.in/mattes/migrate.v1/driver/mssql (from $GOPATH)
ERROR: Service 'signer' failed to build: The command '/bin/sh -c git clone -b v1 https://github.com/mattes/migrate.git /go/src/github.com/mattes/migrate/ &&     go get github.com/mattes/migrate &&     go build -tags 'mysql' -o /usr/local/bin/migrate github.com/mattes/migrate' returned a non-zero code: 1

@hridyeshpant #1151 fixes this

@cyc115 Thanks for the fix.

We've updated to the latest version of the migrate tool and are seeing CI pass again so closing as fixed.