AbstractMetadataStore: invalidate childrenCache correctly when node created

Motivation
In Pulsar 2.8, there is currently a bug that can lead to an incorrectly cached value in the childrenCache. The resulting behavior is that the broker serves the stale cache value until it is evicted from the cache.
Steps to Reproduce Issue
Start a 2.8 cluster with at least 2 brokers. It is helpful to run with debug logging to observe the ZK watch notifications. Run the following bash commands in order:
BROKER_1=<IP_ADDRESS>
BROKER_2=<IP_ADDRESS>
bin/pulsar-admin --admin-url http://$BROKER_1:8080 tenants create test
bin/pulsar-admin --admin-url http://$BROKER_1:8080 namespaces create test/a
bin/pulsar-admin --admin-url http://$BROKER_2:8080 topics list test/a
bin/pulsar-admin --admin-url http://$BROKER_1:8080 topics create persistent://test/a/a
bin/pulsar-admin --admin-url http://$BROKER_2:8080 topics list test/a

When broker 2 handles the command for bin/pulsar-admin --admin-url http://$BROKER_2:8080 topics list test/a, it caches a miss in the childrenCache in AbstractMetadataStore for path /managed-ledgers/test/a/persistent.
After caching the miss, broker 2 only logs two ZK events:

05:21:16.810 [main-EventThread] DEBUG org.apache.pulsar.metadata.impl.ZKMetadataStore - Received ZK watch : WatchedEvent state:SyncConnected type:NodeCreated path:/admin/local-policies/test/a

05:21:19.808 [main-EventThread] DEBUG org.apache.pulsar.metadata.impl.ZKMetadataStore - Received ZK watch : WatchedEvent state:SyncConnected type:NodeCreated path:/managed-ledgers/test/a/persistent

Note that the second even is of type NodeCreated. Because of its type, the AbstractMetadataStore does not invalidate the correct node in the childrenCache:
https://github.com/apache/pulsar/blob/42422d84ab5c6d24b57138c39453b45d7dcfba35/pulsar-metadata/src/main/java/org/apache/pulsar/metadata/impl/AbstractMetadataStore.java#L163-L182
I was not able to reproduce this issue in 2.9. My theory is that we get around it because we have a persistent watch at /.
Note also that when creating a second topic in the namespace, we see the following notification:

07:14:42.181 [main-EventThread] DEBUG org.apache.pulsar.metadata.impl.ZKMetadataStore - Received ZK watch : WatchedEvent state:SyncConnected type:NodeChildrenChanged path:/managed-ledgers/test/a/persistent

In this case, we properly invalidate the child node in the cache.
Also note that in 2.7 we always invalidate the child node for a notification. I don't believe this is strictly necessary because we'll get NodeChildrenChanged notifications when the event is not created/deleted.
https://github.com/apache/pulsar/blob/77f7965673119ff40c929b065ee837fe2256a221/pulsar-zookeeper-utils/src/main/java/org/apache/pulsar/zookeeper/ZooKeeperCache.java#L146
Modifications

Invalidate the path for childrenCache when the path is created or deleted.

Verifying this change
I added a test that failed before this change and passes after the change.
Does this pull request potentially affect one of the following parts:
This is an internal change.
Documentation

[x] no-need-doc

After caching the miss, broker 2 only logs two ZK events:

This is interesting that broker2 does not receive the event NodeCreated path:/managed-ledgers/test/a/persistent/a. I think this is the root cause. If it does receive this event, the childrenCache would be properly invalidated, right?

After caching the miss, broker 2 only logs two ZK events:

This is interesting that broker2 does not receive the event NodeCreated path:/managed-ledgers/test/a/persistent/a. I think this is the root cause. If it does receive this event, the childrenCache would be properly invalidated, right?

@Jason918 - you're correct, broker 2 does not receive this notification. If I understand correctly, it doesn't get that notification because it isn't watching that node. It is watching /managed-ledgers/test/a/persistent because the internalGetList method triggers the "exists" watch when it also creates the cached value for /managed-ledgers/test/a/persistent.


XMLRPCRequestConvertible

I am trying to use the protocol XMLRPCRequestConvertible, but I am asked to implement the asUrlRequet() function, which is not in the protocol. I found tha it is defined in an extension of the protocol. how to use the function that you write and not have to rewrite it ?

I think your issue is due to internal scope of this implementation. The asUrlRequest() implementation should be public. Please could you test this hypothesis?

Good ! That solve the issue. Many thanks ! I have another Request. I have to send a pdf that should be wrapped it with the  xml tag. So, it should be a Data type. But it appears that what i should send within this tag is a string which comes from :
let fileData = NSData(contentsOf: fileUrl!)
let fileAsStringBase64: String = fileData!.base64EncodedString(options: .lineLength64Characters)
if I use this piece of code, i get the right string, but embedded in the  xlm tag
Is their a way to solve this issue and wrap it with  ? ?

I have another Request. I have to send a pdf that should be wrapped it with the  xml tag. So, it should be a Data type. But it appears that what i should send within this tag is a string which comes from :
let fileData = NSData(contentsOf: fileUrl!)
let fileAsStringBase64: String = fileData!.base64EncodedString(options: .lineLength64Characters)
if I use this piece of code, i get the right string, but embedded in the  xlm tag
Is their a way to solve this issue and wrap it with  ? ?

A Data should be converted to a base64 string. Did you defined your data parameters as Data or NSData (you should use the swift one Data) ?

@pdegouville By the way feel free to submit a fix for the public asUrlRequest implementation.

Hello,
Well, I am quite new as a developer and I really don't know how to submit a fix. I think it's probably better and safer to let you do it. :-)


How to get the version of react-native in native code?

For some reason I need to request different URLs with different react-native versions, is there a convenient way to get the version in my Objective-C code?

You could use package.json from {project}/node_modules/react-native/package.json. It should always be available and it does have the version of the used react-native.
But I don't think that you should depend on a version number of react-native in Objective-C. I personally would prefer to check for the existence of code I wanted to use, but of course it can be different I your use case.

@DannyvanderJagt the package.json will not be available when my app is published.
I use the version to make sure my native code and remote JS code are of same version.
See this: #1732

@cxfeng1 - that should just be pulled into the bundle if you require it


Fix infinite recursion in convertDataToString()

As per #250, several users have encountered the following error:
Uncaught RangeError: Maximum call stack size exceeded in backend.bundle.js

So add a recursion threshold to convertDataToString() to avoid this issue.
Fixes #250.

I'm not quite sure why, but this same fix was reimplemented in fdb65c58e a year after submission, so I'm closing this PR.


version_info.cc failed: (Exit 2): bash.exe failed: error executing command

bazel build -c opt --define MEDIAPIPE_DISABLE_GPU=1 --action_env PYTHON_BIN_PATH="C://Python//Python36//python.exe" mediapipe/examples/desktop/hand_tracking:hand_tracking_cpu

BUILD:367:24: Action external/org_tensorflow/tensorflow/core/util/version_info.cc failed: (Exit 2): bash.exe failed:

BUILD:367:24: Action external/org_tensorflow/tensorflow/core/util/version_info.cc failed: (Exit 2): bash.exe failed: error executing command

@NoMoreRoominHell  did you get a chance to go through above issues ?

Hi @NoMoreRoominHell, Closing this issue as we assume you resolved. Thanks!


Spectrum with ID not found error

chlorhexan_544-10-5 dataset is failing to load on nmrxiv

@jliermann to provide spectra files

Dataset is larger than 25MB so I share it here:
https://seafile.rlp.net/d/2929a00c77d3428cb669/
Link expires in 60 days.

nmriuminfo.json

It appears that the issue stems from NMRium, the auto-processing did not function as intended, resulting in this problem. We will resolve this issue soon. I need to discuss with the team whether the auto-processing for the NMRium object should be done in the wrapper or We should wait until it is resolved in the NMRium itself.

@CS76
it is weird for me !!!,  How did you generate the NMRium object initially? It should include filters, and they should be saved in the backend.

It appears that the issue from NMRium, the auto-processing did not function as intended, resulting in this problem. We will resolve this issue soon. I need to discuss with the team whether the auto-processing for the NMRium object should be done in the wrapper or We should wait until it is resolved in the NMRium itself.

@CS76
It appears that we didn't implement auto-processing on the NMRium object for a specific reason. The NMRium object should already contain those filters, and NMRium should accept the object as it is without further action, except for migration. It should be saved in the backend. Could you give me a hand in debugging the issue and determine why you're not receiving the filters?

@hamed-musallam as @CS76 is on leave, I can try to help you in debugging this and provide the details.

@jliermann This issue is resolved. Please try once again and check if the NMRium loads for you. If not then you will have to have to delete the files and re-upload them once again. Kindly reach out to us if it doesn't work.
Thanks @hamed-musallam for your help.
screen-capture (32).webm

@NishaSharma14 @hamed-musallam
Thanks, it seems to work now!


golint is downloading module dependencies

OS: Darwin orion 18.2.0 Darwin Kernel Version 18.2.0: Thu Dec 20 20:46:53 PST 2018; root:xnu-4903.241.1~1/RELEASE_X86_64 x86_64
Go: go version go1.12 darwin/amd64
Using Go Modules from outside the GOPATH.
Running golint on a full package path starts downloading files to ~/go/pkg/mod/cache, e.g.:
$ ls -ltr ~/go/pkg/mod
ls: /Users/someuser/go/pkg/mod: No such file or directory

(executed from the root of the repo, e.g.: `~/code/bar`)
$ go list -mod=vendor ./...
$ golint github.com/foo/bar/pkg

$ ls -ltr ~/go/pkg/mod
total 0
drwxr-xr-x  3 someuser  somegroup  96 Feb 28 16:28 cache

However, if I run golint ./... it doesn't download to the cache, but using ./... traverses the vendor directory, which is undesirable.

Just checking, but can you try inserting ls -ltr ~/go/pkg/mod after the go list -mod=vendor ./... command? Could it be that it's go list doing that rather than golint?

@dmitshur I thought that originally, too and tested it. It was go list until I added the -mod=vendor.
$ sudo rm -rf ~/go/pkg/mod
Password:
$ go list -mod=vendor ./...
 ....
$ ls -ltr ~/go/pkg/mod
ls: /Users/someuser/go/pkg/mod: No such file or directory

golint unfortunately doesn't take build flags.

@dmitshur I thought that originally, too and tested it. It was golist until I added the -mod=vendor flag.
$ sudo rm -rf ~/go/pkg/mod
Password:
$ go list -mod=vendor ./...
 ....
$ ls -ltr ~/go/pkg/mod
ls: /Users/someuser/go/pkg/mod: No such file or directory

golint unfortunately doesn't take build flags.

Hi there, we've experienced the same issue. Do you have any update on it?

I was experiencing this today as well. I found something that worked for me.
golint $(go list -mod=vendor -f '{{ .Dir }}' ./...)

Here we are instructing the go list command to format the packages contained in our module with directory names instead of the package name. I quickly looked at the source for golint and maybe this is attempting to download the deps: https://github.com/golang/lint/blob/83fdc39ff7b56453e3793356bcff3070b9b96445/golint/golint.go#L133. Since golint (correctly) sees the output from go list as a package we need to format as a directory to prevent golint building the package with deps.
Hope this helps someone!


httpsRequestPromisified throws [Object object]

Firstly, thank you very much for this client, I really did not like aws-appsync and was having a heap of problems with it and esbuild, so I appreciate this significantly slimmer package!
Just whilst I was doing some testing I came across a defect with the way errors are thrown, line 19 of httpsRequestPromisified throws the parsed object, which, stringified, results in [Object object]. I have put a branch together for this and updated the tests.
Thank you again,
Tom

@alan-cooney  - Evening bud, you had chance to look at this?

Hi @tombuckley91 - thanks for the PR & follow up. I've merged your PR so it will filter through to npmjs automatically in a few minutes.
By the way, we've also found similar problems with the AWS client. However if you do find yourself needing more advance Apollo client features, you can get it to work by using aws-appsync-auth-link directly. Here's a snippet from our React codebase:
import { createAuthLink, AuthOptions } from 'aws-appsync-auth-link';
import { createSubscriptionHandshakeLink } from 'aws-appsync-subscription-link';
import {
  ApolloClient,
  from,
  HttpLink,
  InMemoryCache,
  split,
  NormalizedCacheObject,
} from '@apollo/client';

/**
 * Create Appsync Client
 *
 * Similar to AWSAppSyncClient from 'aws-appsync', but works with Apollo 3 rather than <2.6. Based on
 * https://github.com/awslabs/aws-mobile-appsync-sdk-js/pull/561#issuecomment-701696316
 */
export function createAppsyncClient({
  url,
  region,
  auth,
  name,
}: AppsyncClientConfig): ApolloClient<NormalizedCacheObject> {
  const httpLink = new HttpLink({ uri: url });

  return new ApolloClient({
    name,
    cache: new InMemoryCache(),
    link: from([
      createAuthLink({ auth, url, region }),
      split(
        (op) => {
          const { operation } = op.query.definitions[0] as any;
          return operation !== 'subscription';
        },
        httpLink,
        createSubscriptionHandshakeLink({ auth, url, region }, httpLink),
      ),
    ]),
  });
}

export interface AppsyncClientConfig {
  /** Client name */
  name: string;
  /** Appsync API URL */
  url?: string;
  /** Appsync AWS Region (e.g. eu-west-1) */
  region?: string;
  /** Auth configuration */
  auth?: AuthOptions;
}

@alan-cooney - Good morning Alan, god this is something I would have loved to have seen about a month ago! I've just finished setting up authenticated, filtered subscriptions against a user pool, which ended up in basically an identical implementation to what you've used above. I really wanted to use Apollo as well and not the amplify client, but lord knows I had to pay for that decision haha. I use your client in my lambdas, I love that it's very basic, it's all I need it to do. I'll put the PR together now for the HTTPS events, I've been using a fork of it for a week and it's been grand. Cheers, Tom.


MegaMenu doesn't collapse/unfold on mobile

[x] I have searched the Issues to see if this bug has already been reported
[x] I have tested the latest version

Steps to reproduce

Go to the mega menu default example.
Resize the screen width to something that triggers the collapse (don't use the screen size icons on top the example)
Tap on the Navbar toggle to unfold Navbar. Tap on the dropdown toggle ("Company").

Current behavior
The Navbar collapses again. The dropdown content is not visible.
Expected behavior
The Navbar should show the content of the dropdown below "Company".
Context
Tested in latest versions of Chrome and Safari on MacOS. Also applies to production code, not just examples which I only use for easier reproducibility.
I generally don't find any example of the MegaMenu dropdown working in flowbite-react. The main library examples work as expected.
Related issue #1403 (dropdown seems to not be production-ready in Next.js)

CC @tulup-conner

I am experiencing the same issue if I use the code from the example.
May be the example code ist just wrong: If you don't surround the <MegaMenuDropdown> with the <NavbarLink> it works fine.


Server should report errors rather than crashing when the SDK is invalid

The analysis server should verify that the path passed in on the command-line is valid. If not, it should report a fatal error and shutdown. This behavior should be documented in the spec.
However, it should be tolerant of having a directory separator at the end of the passed in path.
See https://groups.google.com/a/dartlang.org/forum/#!topic/analyzer-discuss/7NL4L4blLZg for additional information.

dart analyze is tolerant of trailing slashes, and reports errors when a path is invalid. I'll close this as fixed.
$ dart analyze pkg/dartdev
Analyzing dartdev...                   15.7s
No issues found!
$ dart analyze pkg/dartdev/
Analyzing dartdev...                   3.5s
No issues found!
$ dart analyze pkg/dartde
Directory or file doesn't exist: pkg/dartde

Usage: dart analyze [arguments] [<directory>]
-h, --help                   Print this usage information.
    --fatal-infos            Treat info level issues as fatal.
    --[no-]fatal-warnings    Treat warning level issues as fatal.
                             (defaults to on)

Run "dart help" to see global options.


[QUERY] Accepting Messages without using deprecated classes

Query/Question
Hello,
We use azure-spring-cloud-stream-binder-servicebus-queue version 2.12.0 to accept messages from an azure service bus. Our Code is structured according to the example in  https://docs.microsoft.com/de-de/azure/developer/java/spring-framework/configure-spring-cloud-stream-binder-java-app-with-service-bus . It works but uses the class com.azure.spring.integration.core.api.Checkpointer, which is deprecated.
Is there a documented way to accept messages without using deprecated classes? Links to documentation are welcome.
Why is this not a Bug or a feature Request?
It works, but using a deprecated class
Setup (please complete the following information if applicable):

OS: MacOS 12.0.1
IDE: IntelliJ
Library/Libraries: com.azure.spring:azure-spring-cloud-stream-binder-servicebus-queue:2.12.0

Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[ *] Query Added
[ *] Setup information Added

@yiliuTo could you please assist @dvag-martin-anlauf?

@dvag-martin-anlauf , thanks for reporting this and we will update this doc soon. And as the javadoc of com.azure.spring.integration.core.api.Checkpointer says, you could replace it with com.azure.spring.integration.core.api.Checkpointer, for example, you could change the consume bean as the below one:
 @Bean
 public Consumer<Message<String>> consume() {
     return message -> {
         Checkpointer checkpointer = (Checkpointer) message.getHeaders().get(CHECKPOINTER);
         LOGGER.info("New message received: '{}'", message.getPayload());
         checkpointer.success()
                 .doOnSuccess(s -> LOGGER.info("Message '{}' successfully checkpointed", message.getPayload()))
                 .doOnError(e -> LOGGER.error("Error found", e))
                 .subscribe();
     };
 }

Hi Yi,
thanks for your reply. I think you mean I should replace it with class com.azure.spring.messaging.core.checkpoint.Checkpointer. Thanks to your hint I found it in the documentation  ( https://azuresdkdocs.blob.core.windows.net/$web/java/azure-spring-integration-core/2.12.0/index.html?com/azure/spring/integration/core/api/Checkpointer.html ).
Which dependency exactly do I have to include to be able to use class com.azure.spring.messaging.core.checkpoint.Checkpointer for com.azure.spring:azure-spring-cloud-stream-binder-servicebus-queue:2.12.0?

Hi @dvag-martin-anlauf , both of the classes com.azure.spring.integration.core.api.reactor.Checkpointer and com.azure.spring.messaging.core.checkpoint.Checkpointer are in package com.azure.spring:azure-spring-integration-core, and you don't need to include this package explicitly because it is also one of the dependencies of azure-spring-cloud-stream-binder-servicebus-queue

Hi @dvag-martin-anlauf, sorry for the wrong information above, the deprecated class of Checkpointer cannot be replaced currently, this is due to that is a message header we put into the message, so replacement is not supported. We will update our javadoc to correct it.
And you could replace it in our 4.x version with the class of com.azure.spring.messaging.checkpoint.Checkpointer, for more details about migration to 4.x, you can refer to the migration guide, 4.x reference doc and samples

Ok, thank you for the answers.


Find checksum algorithm of Bresser Water Leakage Sensor 7009975

A basic decoder for the Bresser Water Leakage Sensor has been implemented, see the following Bitbench and
https://github.com/matthias-bs/BresserWeatherSensorReceiver/issues/77.
The decoder is based on bresser_6in1.c. The ID seems to change on every reset/battery change. The first two bytes are presumably a checksum/crc/digest, but the algorithm is currently unknown. Several attempts have been made, but to no avail.
Any help is appreciated.

Dear Matthias,
it would be very much coincidental, but maybe source code for decoding data from the Govee Water Leak Detector H5054 helps in one way or another?
It says:

Last byte contains the parity bits in index 2-6 (101PPPP1).
The parity checksum using CRC8 against the first 5 bytes

-- https://github.com/NorthernMan54/rtl_433_ESP/blob/v0.3.0/contrib/govee.c

It is most likely nonsense, as it will be a different device, using a completely different protocol, I did not investigate about it yet, and you most probably know about this implementation already. However, there is always a chance for the right rubberducking at the right time, so apologies for the noise.
With kind regards,
Andreas.

Dear Andreas,
thanks for the hint, I'll check this. It is quite common that these kind of sensors are rebranded. I already checked for possible similarities with other leakage sensors in the merbanan/rtl_433 project, but without any luck.
Best regards
Matthias

As discovered by @MaCH, a CRC16/XMODEM  calculation is applied to the 5 bytes of the messages following the 2 bytes with the original CRC.
See
https://github.com/merbanan/rtl_433/issues/2576#issuecomment-1751134478
@MaCH: Thanks a lot for figuring this out!


merge upstream

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 18 committers have signed the CLA.:x: spiffcs:x: luhring:x: wagoodman:x: developer-guy:x: jonasagx:x: kzantow:x: houdini91:x: kmoens:x: fg-j:x: 06kellyjac:x: samj1912:x: cipher-ardvark:x: briankoe741:x: robdimsdale:x: jonmcewen:x: Crysinyan:x: ericlarssen-wf:x: westonsteimelYou have signed the CLA already but the status is still pending? Let us recheck it.


[Backport 17.06] NetworkDB qlen optimization

Backport of #2216 to 17.06.  This should be considered a starting point.  Behaves as expected.  Needs further review from a logic standpoint.
git checkout -b 17.06-netdb-qlen-issue origin/bump_17.06
git cherry-pick -sx 5ed38221164e04c78d20f17839aab52fafd7fe88

Cherry-Pick Conflicts

Location
Conflict Reason
Resolution

networkdb/broadcast.go:113,networkdb/broadcast.go:171
node was removed by #2216. nDB.config.NodeName changed to nDB.config.NodeID via #1936 and was then removed in #2216
"ours". Keeping this message in since I don't know when and why it became unnecessary. See https://github.com/docker/libnetwork/pull/2216/commits/5ed38221164e04c78d20f17839aab52fafd7fe88#r200441648. Decision to leave this in amenable to further research into why it was removed with #2216, which removed it to make networkdb more efficient.

networkdb/cluster.go:30
Order of variables in patch context does not match following #2169 which backported #2134.
"both". Keep rejoinClusterDuration and rejoinInterval as in 17.06 and bring in maxQueueLenBroadcastOnSync from #2216.

networkdb/delegate.go:277
reapEntryInterval moved to networkdb.go:Config in #1957
Stay with 17.06 const convention for reapEntryInterval

Logical Conflicts

Location
Conflict Reason
Resolution

networkdb/delegate.go:179
#2040 not in 17.06. fatal error: sync: Unlock of unlocked RWMutex
"ours". Don't need to unlock for a lock that 17.06 does not have. Do not take this line from #2216.

How I tested

Vendor this PR onto github.com/docker/docker-ee tag v17.06.2-ee-21 and change networkdb StatsPrintPeriod from 5 minutes to 15 seconds to improve observability in test.

In a separate build backport the networkdb diagnostic API to libnetwork 9a47f8d2780614c1cfb2572bd713a222402f6420 and docker-ee cd8d740be0c048f156438d21975af753ac1b5225 (v17.06.2-ee-20).  Use this build to stress networkdb in steps 6 and 8.

https://github.com/docker/libnetwork/pull/2027
https://github.com/docker/libnetwork/pull/2216
https://github.com/docker/libnetwork/pull/2032
https://github.com/moby/moby/pull/35677

Bring up a 31 node dind cluster (one manager 30 workers) with the build from step 1.

Join one worker on 17.06 build from step 2 with networkdb diagnostic API.

Create an overlay network and deploy a mode global service to it.

Use the diagnostic API to introduce a "static load" of 1400 additional entries, half in endpoint_table, and half in overlay_peer_table on the test network.

Wait for test network qLen to reach 0 on all nodes according to NetworkDB stats in dockerd logs.

Use the diagnostic node to introduce a "dynamic load" by adding and 0.5s later removing an endpoint_table entry, doing this three times a second continuously.  This seems to be about the max rate the cluster can sustain under otherwise quiet conditions before qLen begins to grow without bound.

Restart one of the non-diagnostic workers, and observe its qLen.  Prior to this PR, qLen on the joining node initially rises to the total number of entries, then steadily increases from there over minutes.  With this PR qLen on the joining node matches that of other nodes on the first sample after rejoining (within 15s StatsPrintPeriod).

Test tooling
Scripts developed for testing this pr provided for reference below.  They probably won't work flawlessly in your environment.
test.sh.txt brings up dind cluster.  provide argument down to remove the nodes.
stressndb.sh.txt requires arguments either static to introduce 1400 entries or dynamic to produce the load noted in steps 6 and 8 above, respectively.

Haven't checked all the details, but would it be better to include some of the additional commits that caused the conflicts (e.g. include https://github.com/docker/libnetwork/pull/1936 so that the cherry-pick will be clean)?

Don't have enough experience with this code base to know what octopuses lurk behind the intervening PRs.  I suppose it would make sense to start down that path and see what kind of hair starts growing.   Should I do that on a separate PR so we can track progress and compare the results?

😂 yes, if you could give it a quick go and push it separately, that'd be useful.
I do understand the concerns, and yes, we should look carefully if there's nothing in the cherry-picks that we don't want, just that it could help future cherry-picks / backports if we have less modifications in the branch.

PTAL @euanh

@thaJeztah, @trapier Did you come to any conclusions about whether it's worthwhile to backport the intermediate commits to make future merges easier?

I have not followed through on my suggestion to take another branch and investigate the cost taking the interim PRs.  Other accountabilities current preclude my ability to proceed with this investigation.
For whatever it's worth, my sense is there isn't currently and before its EOL won't be a great demand for additional backports to 17.06.   EE Engine 17.06 is currently scheduled for support EOL on 2020-04-16 .


[Bug] zstd compress is not available

Search before asking

[X] I searched in the issues and found nothing similar.

Paimon version
master
Compute Engine
format
Minimal reproduce step
use compress zstd

What doesn't meet your expectations?
do not work
Anything else?
No response
Are you willing to submit a PR?

[X] I'm willing to submit a PR!


fix(sdk,app)!: performance of json-ld VC's

Loading JSON-LD contexts takes a lot of time, now by default document loader with embedded contexts is used.
Breaking change: CredentialNewInquirer can now return an error as the last argument.
Before
Swift:
let inquirer = CredentialNewInquirer(nil)
Now
Swift:
var newInquirerError: NSError?
let inquirer = CredentialNewInquirer(nil, &newInquirerError)

Kotlin code is unchanged.

Codecov Report
Patch coverage: 30.00% and project coverage change: -1.86 :warning:

Comparison is base (d58dede) 89.77% compared to head (0c4e18f) 87.92%.

:exclamation: Current head 0c4e18f differs from pull request most recent head ab05590. Consider uploading reports for the commit ab05590 to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #453      +/-   ##
==========================================
- Coverage   89.77%   87.92%   -1.86%
==========================================
  Files          79       80       +1
  Lines        2945     3015      +70
==========================================
+ Hits         2644     2651       +7
- Misses        199      254      +55
- Partials      102      110       +8

Impacted Files
Coverage Δ

pkg/common/doc_loader.go
0.00% <0.00%> (ø)

pkg/openid4ci/openid4ci.go
86.57% <26.66%> (-1.95%)
:arrow_down:

cmd/wallet-sdk-gomobile/openid4ci/interaction.go
82.72% <53.33%> (-5.03%)
:arrow_down:

cmd/wallet-sdk-gomobile/openid4vp/interaction.go
75.90% <61.53%> (-2.97%)
:arrow_down:

cmd/wallet-sdk-gomobile/credential/inquirer.go
92.00% <66.66%> (-3.66%)
:arrow_down:

pkg/openid4vp/openid4vp.go
88.65% <100.00%> (-0.28%)
:arrow_down:

pkg/openid4vp/opts.go
87.50% <100.00%> (-1.39%)
:arrow_down:

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

Just a note for the breaking changes above: Kotlin also should handle error, so this needs to be documented as well. (don't need a code example, just need to let users of the SDK know to put the call in a try block if they're not already)

There's a typo in the commit title - Should be VCs not VC's.

Just a note for the breaking changes above: Kotlin also should handle error, so this needs to be documented as well. (don't need a code example, just need to let users of the SDK know to put the call in a try block if they're not already)

Also, on a similar note: the Android app's Kotlin code needs to add exception checks (there aren't any right now)

Just a note for the breaking changes above: Kotlin also should handle error, so this needs to be documented as well. (don't need a code example, just need to let users of the SDK know to put the call in a try block if they're not already)

Also, on a similar note: the Android app's Kotlin test code needs to add exception checks (there aren't any right now)

Actually, nevermind about this - I suppose it doesn't really matter that much for the tests.

The commit title message still says "VC's" - that should be fixed too.

The commit title message still says "VC's" - that should be fixed too.

To clarify: I'm talking about the actual Git commit title message (I see the PR title on GitHub has been fixed)


Add 2.7 support

But also fix all bugs discovered from using parsers tests to discover
the 2.7 support.

This is the most bananas Ruby code I recently wrote.
It (locally) passes its own tests, and the corpus. Currently still relies on accessing ruby27.y from the parser repo to load the operator precedences.
Also the code is not yet reduced. Basically I smashed any conditional in there to get the tests to pass. I've to do a (mutant assisted) pass to reduce the code .
Overall unparser is now much better, I removed the cheats ;)

It (locally) passes its own tests, and the corpus. Currently still relies on accessing ruby27.y from the parser repo to load the operator precedences.

This is fixed, generates a data file in lib/unparser/precedence/data.rb now from scripts/dump-precedence.rb, the rubyX.y are still source of truth.

This is fixed, generates a data file in lib/unparser/precedence/data.rb now from scripts/dump-precedence.rb, the rubyX.y are still source of truth.

Lol turns out that I do not even need the precedence data, mutant successively taught me that I can get away with a far simpler signal.

@dgollahon Thanks for all your comments, all fixed.

This now passes mutant on Unparser::{Emmiter,Writer}* expressions. Minus exclusions that are mostly from mutant crashing MRI and mutant trying to unparse arg nodes as root. Which is not supported anymore by this unparser.
Mutant will update to the lastest unparser and than the exclusions can be removed.


Remove unreachable catches in type inference

This PR removes the unreachable catches since NumberFormatException, ParseException and IllegalArgumentException are raised when parsing invalid data into some types.

Current coverage is 88.25%

Merging #56 into master will increase coverage by +1.14% as of 25a1e0f

@@            master     #56   diff @@
======================================
  Files           12      12
  Stmts          621     613     -8
  Branches        82      82
  Methods          0       0
======================================
  Hit            541     541
  Partial          0       0
+ Missed          80      72     -8

Review entire Coverage Diff as of 25a1e0f

Powered by Codecov. Updated on successful CI builds.

I am going to merge this.


Website: Add correct urls to all links

Ask Peter or me if unsure of any

Still a bunch of links missing from the developers page:

This seems broken

Do you have the links for these two?
Contract ABI And Addresses - ?
Smart contract docs in github - ?

What is the status on this?

I believe we'll only be able to update those before the release. See #7507


Version 0.7.0

What started off as a minor patch has turned into a bit more. Changes:

statistical tests in lifelines.statstics. now return a StatisticalResult object with properties like p_value, test_results, and summary.
removed suppress_print kwarg in statistical tests.
fixed a bug in how log-rank statistical tests are performed. The covariance matrix was not being correctly calculated. This resulted in slightly different p-values.
WeibullFitter, ExponentialFitter, KaplanMeierFitter and BreslowFlemingHarringtonFitter all have a conditional_time_to_event_ property that measures  the median duration remaining until the death event, given survival up until time t.

@spacecowboy for review please!

Looks good and shiny

Something always ****s up the VMs on my machine.... Wheel building is underway.

Wheels are done.
http://python-wheels.cowboyprogrammer.org/lifelines/

:+1: uploaded


Support serialized BYTES data with non-default factor

DistinctCountHLL - non-default log2m
PercentileEst - non-default max error
PercentileTDigest - non-default compression

Added SerializedBytesQueriesTest

Codecov Report

Merging #4666 into master will increase coverage by 0.15%.
The diff coverage is 57.4%.

@@             Coverage Diff              @@
##             master    #4666      +/-   ##
============================================
+ Coverage     64.54%   64.69%   +0.15%
  Complexity       16       16
============================================
  Files          1056     1056
  Lines         56191    56185       -6
  Branches       8325     8326       +1
============================================
+ Hits          36268    36349      +81
+ Misses        17220    17139      -81
+ Partials       2703     2697       -6

Impacted Files
Coverage Δ
Complexity Δ

...n/function/PercentileEstMVAggregationFunction.java
100% <100%> (ø)
0 <0> (ø)
:arrow_down:

...unction/DistinctCountHLLMVAggregationFunction.java
27.43% <27.65%> (+0.16%)
0 <0> (ø)
:arrow_down:

.../function/DistinctCountHLLAggregationFunction.java
38.31% <51.42%> (+10.86%)
0 <0> (ø)
:arrow_down:

...ion/function/PercentileEstAggregationFunction.java
65.06% <53.33%> (+11.81%)
0 <0> (ø)
:arrow_down:

...function/PercentileTDigestAggregationFunction.java
64.63% <56.52%> (+1.34%)
0 <0> (ø)
:arrow_down:

...nction/PercentileTDigestMVAggregationFunction.java
69.23% <66.66%> (ø)
0 <0> (ø)
:arrow_down:

...ation/function/MinMaxRangeAggregationFunction.java
76.31% <67.44%> (+3.05%)
0 <0> (ø)
:arrow_down:

...y/aggregation/function/AvgAggregationFunction.java
86.48% <78.94%> (+5.76%)
0 <0> (ø)
:arrow_down:

...impl/dictionary/DoubleOnHeapMutableDictionary.java
36.58% <0%> (-24.4%)
0% <0%> (ø)

...ache/pinot/common/utils/TarGzCompressionUtils.java
68.23% <0%> (-12.95%)
0% <0%> (ø)

... and 34 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 26a0696...10538a3. Read the comment docs.


Restrict functionality of personal_groups

As a user, I need a working permission system. The personal_group is required for a functioning authorization system. This group type has limited functionality to ensure a working permission system. It should not be possible to delete a personal group or add a new member to it.
Also, the 'group-management'-Page should hide the 'Add user' and 'Delete group' buttons:

Dependencies
Depends on:

#6
#179

Acceptance Criteria

[ ]  It's not possible to add new members to a personal group.
[ ]  It's not possible to delete a personal group.
[ ] On the 'group management'-page of a personal group, the  'Add user' and 'Delete group' buttons are not displayed.

@TimRiedel @janiswehen @konrad-gerlach
You have integrated the personal groups. Am I right that you have also completed this task?

Negative, I only added can_manage, can_view and can_borrow permissions to personal groups as can be seen in PR #283 and as far as I can see from the issue #179 of @janiswehen and @konrad-gerlach, they considered it to be purely a backend task. Backend-wise they implemented, that personal groups can only have one user, otherwise an error is thrown. The communication in PR #244 suggests, that the reviewer was aware, that the restricted functionality of personal groups is necessary, however this issue here was referenced as the solution to this problem.

For deleting: Use https://stackoverflow.com/questions/123078/how-do-i-validate-on-destroy-in-rails

For consistency's sake personal_groups are now automatically created after the user is created (not opt in anymore)

User now can also not be in two personal_groups enforced by validation on memberships.

It's not possible to add new members to a personal group. Was already implemented in #179

https://stackoverflow.com/questions/2462203/rails-has-many-with-dynamic-conditions/20412163#20412163 for ensuring personal groups are dependents which are destroyed


KOGITO-2405: Fix info logs

JIRA: https://issues.redhat.com/browse/KOGITO-2405
Description: Fix logs in Main.go
Please make sure that your PR meets the following requirements:

[x] You have read the contributors guide
[x] Pull Request title is properly formatted: [KOGITO-XYZ] Subject
[x] Pull Request contains link to the JIRA issue
[x] Pull Request contains description of the issue
[x] Pull Request does not include fixes for issues other than the main ticket
[ ] Your feature/bug fix has a unit test that verifies it
[x] You've tested the new feature/bug fix in an actual OpenShift cluster

Just a minor observation, this code was auto-generated by the Operator-SDK. Since they were using other logger implementation, the output differs. It's a left over from the logger change.
Please always add me as a reviewer when changing the pkg or cmd packages. Thanks!


Offer correct completion when between a boolean JSX attr and the close tag

Fixes #4574

:+1:

:+1:


Add the ability to get container registry credentials from the attestation agent

Description
We want to add the ability to support optional credentials when pulling image from authenticated registries that we get from the attestation_agent (via the KBC) in a similar way to how we flow the sigstore/policy/public GPG keys for signature verification.
image-rs already has the ability to pass authentication information on the pull request, so once https://github.com/confidential-containers/attestation-agent/issues/92 is implemented we just want to glue the capability together similar to how we read the signature files: https://github.com/confidential-containers/image-rs/blob/d60dc9c870eab93b3beb5d8f05ecde27b972c1b7/signature/src/agent.rs#L119
I think the best approach (rather than the agent-rpc.rs in kata having to access the attestation-agents getresource end point), is to update pull_image
https://github.com/confidential-containers/image-rs/blob/d60dc9c870eab93b3beb5d8f05ecde27b972c1b7/src/image.rs#L139-L145
to try and get the auth_info using the get_resource call if it’s not supplied on the request. This should be optional though. There are some registries that a completely public (like quay.io/confidential-containers repo we are using for the test images), some that are private and you can't get anything without credentials and then a gray area of things in between. For example any public repo in docker hub can be accessed without credentials, but as an anonymous IP you are limited to (~100 IIRC) requests a month, and after that need to log in to get more, so good get into a state that you can pull anonymously sometimes, not then get rejected later.
I think the best approach is to continue the logic we have in image-rs at the moment: Default to let mut auth = RegistryAuth::Anonymous; and credentials aren't mandatory, but we can attempt the get_resource request to try and get them and if they are supplied then we configure registry auth based on then.

I think the best approach is to continue the logic we have in image-rs at the moment: Default to let mut auth = RegistryAuth::Anonymous; and credentials aren't mandatory, but we can attempt the get_resource request to try and get them and if they are supplied then we configure registry auth based on then.

Hi, do you mean that while we pull an image from registry A, we try to get credential from the KBC via get_resource?
Besides, I found that https://github.com/containers/image/blob/main/docs/containers-auth.json.5.md has defined an auth.json file, which exactly matches our needs here. Do we need to follow this?

I'd like to take this.
Goal
Implement auth.json support for image-rs.
Roadmap

[ ] Implement feature of auth.json
[ ] Unit tests
[ ] Prepare related resources on the AA side
[ ] Integration tests using image-rs


Add pnpm version to volta config

Pins pnpm version to the volta tool manager config.

@mattsolo1 FYI per discussion in another PR I'm checking out pnpm 8.14.3, so far so good, so if no regressions there may as well jump to 8.14.3 in this PR as well.


plugins/neotest: fix adapter warning

error: undefined variable 'props'
       at /nix/store/hrvknxmyxnhswx4wj7mksix7i08vli8k-source/plugins/by-name/neotest/adapters.nix:49:93:
           48|             Nixvim (plugins.neotest.adapters.${name}): This adapter requires `treesitter` to be enabled.
           49|             You might want to set `plugins.treesitter.enable = true` and ensure that the `${props.treesitter-parser}` parser is enabled.
             |                                                                                ^
           50|           '';

Not sure where that value is supposed to come from ? Any ideas?
This change will output
evaluation warning: Nixvim (plugins.neotest.adapters.zig): This adapter requires `treesitter` to be enabled.
                    You might want to set `plugins.treesitter.enable = true` and ensure that the `zig` parser is enabled.
evaluation warning: Nixvim (plugins.neotest.adapters.python): This adapter requires `treesitter` to be enabled.
                    You might want to set `plugins.treesitter.enable = true` and ensure that the `python` parser is enabled.
evaluation warning: Nixvim (plugins.neotest.adapters.plenary): This adapter requires `treesitter` to be enabled.
                    You might want to set `plugins.treesitter.enable = true` and ensure that the `plenary` parser is enabled.
evaluation warning: Nixvim (plugins.neotest.adapters.playwright): This adapter requires `treesitter` to be enabled.
                    You might want to set `plugins.treesitter.enable = true` and ensure that the `playwright` parser is enabled.
evaluation warning: Nixvim (plugins.neotest.adapters.jest): This adapter requires `treesitter` to be enabled.
                    You might want to set `plugins.treesitter.enable = true` and ensure that the `jest` parser is enabled.
evaluation warning: Nixvim (plugins.neotest.adapters.java): This adapter requires `treesitter` to be enabled.
                    You might want to set `plugins.treesitter.enable = true` and ensure that the `java` parser is enabled.
evaluation warning: Nixvim (plugins.neotest.adapters.go): This adapter requires `treesitter` to be enabled.
                    You might want to set `plugins.treesitter.enable = true` and ensure that the `go` parser is enabled.
evaluation warning: Nixvim (plugins.neotest.adapters.dotnet): This adapter requires `treesitter` to be enabled.
                    You might want to set `plugins.treesitter.enable = true` and ensure that the `dotnet` parser is enabled.
evaluation warning: Nixvim (plugins.neotest.adapters.deno): This adapter requires `treesitter` to be enabled.
                    You might want to set `plugins.treesitter.enable = true` and ensure that the `deno` parser is enabled.
evaluation warning: Nixvim (plugins.neotest.adapters.bash): This adapter requires `treesitter` to be enabled.
                    You might want to set `plugins.treesitter.enable = true` and ensure that the `bash` parser is enabled

Not sure where [props] is supposed to come from ? Any ideas?

Looking through the file history & git blame,

5004178c0c116630e1abd6dac9c11e7cfbf9fe32 removed props from mkAdapter
50038f6c8f1460784320a2f022750c1d39781ef4 further refactored this

At a glance, it seems treesitter-parser is the current name for props, but it shouldn't matter if the warning you're producing now is sensible.

@mergify backport nixos-24.11

@mergify queue


Multiple groups with draggable items : drag all group instead of items

Dear all,
Many thanks for this great and very useful package.
I have 2 questions:

Is it possible to implement dragging of group of items ?
When moving an item from one group to another, how to handle the previous location of this item within the structure ?

Many thanks in advance for you feedback,
BR
David

Is it possible to implement dragging of group of items ?

Yes, it is possible to do this, but it was not documented in the readme file yet. I updated the documentation, you can find it here.

When moving an item from one group to another, how to handle the previous location of this item within the structure ?

What do you mean by this? Do you have an example?

Example: I have a group A with items 1, 2, 3 and a group B with no item
I move item 2 from group A to B. How do I know in the result array that 2 is coming from A ? Because on the backend, I have to remove it from A and add it to B.
I hope I made myself clear.
Thanks for help

In your blade file, you know which items belongs to which group, so you should be able to know that in your Livewire component class as well before you process the updated order

Duplicate of https://github.com/nextapps-be/livewire-sortablejs/issues/5


update contributing guide to include track-specific contributing views

https://github.com/exercism/todo/issues/182
@Insti how does this look?

Looks great :+1:


TestCosignCheckCorrect failed

Pls, fix cosign test.
URL: https://github.com/tofuutils/tenv/actions/runs/7875659983/job/21488010720

cosign behaviour seem to have changed, it return 1 and still display "Verified OK"


fixed sample

Put replay buffer sample into internal function for all sample code to use and removes augmentation for next_obs for SVEA because if I understand the paper correctly it should not be augmented.

Thanks! I have merged the proposed changes into main.


fix(vue-demo-store): latest nuxt compatibility

JUST TO CHECK
⚠  not working main branch: https://stackblitz.com/github/shopware/frontends/tree/main/templates/vue-demo-store
✅ working branch of this PR: https://stackblitz.com/github/shopware/frontends/tree/fix/latest-nuxt-release-compatibility/templates/vue-demo-store
related: https://github.com/nuxt/nuxt/issues/20209

it's fixed with 3.4.1


Add missing collateral fields to ProtocolParamUpdate

Closes #1296.
Pre-review checklist

[ ] All code has been formatted using our config (make format)
[ ] Any new API features or modification of existing behavior is covered as defined in our test plan
[ ] The changelog has been updated under the ## Unreleased header, using the appropriate sub-headings (### Added, ### Removed, ### Fixed), and the links to the appropriate issues/PRs have been included

when I run npm i -packages-lock-only in the template I get the warning that there are 9 vulnerabilites. Which is strange as we have the same dependencies as in the main package.json. Any idea why this could be @jy14898?

@pb99u069 Maybe we dealt with these package-lock issues for CTL but not the template, we'd need to diff the locks to find out where they don't agree


refactor(website/changelog): extract GuiChangeItem to make the Linux GUI / Windows GUI changelog easier to edit

Can supersede #5845
This applies to the commented-out upcoming release 1.1.6. If it was uncommented it would look like this.
Linux GUI:

Windows:

@jamilbk Sounds good. I went back to 1.1.5 and 1.1.4 to test out the optional enable and pull params


Made a blog post about your repo

Hi Phil,
Thanks for all your amazing repos. @kashif and me wrote a blog about your diffusion repo, where we go over your code step-by-step. We called it the "Annotated Diffusion Model".
https://huggingface.co/blog/annotated-diffusion
Let me know if you like it or whether there's anything to be improved!

cc'ing @lucidrains for better visibility as you probably have dozens of repos you're currently working on :D

@NielsRogge love it! share the knowledge :)


CI support for tests

We should have the baseline for the project, generally three kinds of tests:

unit test -> make test
integration tests -> make test-intergration
e2e tests -> make test-e2e

/kind feature
/priority important-soon
/milestone v0.1.0


Assign null coalescing to coalesce equal

Use the null coalescing assignment operator ??= where possible.

Coverage decreased (-0.0002%) to 99.892% when pulling 399e84ad68682d261ab435a071c55e4a3b1468ee on MathiasReker:0-assign-null-coalescing-to-coalesce-equal into 5859b2e926eb0b21c86e922542c9466b71f37df1 on slimphp:4.x.


Bug when drag in same row

Hello! When you drag a control between mid-row size controls, the view starts to break. I found an example of dragging in a grid that may help you. Very good product!
https://stackblitz.com/edit/angular-dragdrop-grid?file=src%2Fapp%2Fapp.component.ts

Thank you for input and feedback.
Will surly updates on this.

This issue is resolved in ASW form builder pro version. Please have a look into it. Below is the demo url for the same
http://localhost:4200/#/product/form-builder/demo


I have issues compiling my flutter app for iOS after integrating Google maps flutter plugin

== Building for iOS ==
== /usr/local/bin/flutter build ios --debug --no-codesign ==
Warning: Building for device with codesigning disabled. You will have to manually codesign before deploying to device.
Building com.example.airtasker for device (ios)...
Running pod install...                                             11.8s
Running Xcode build...
Xcode build done.                                           36.2s
Failed to build iOS app
Error output from Xcode build:
↳
** BUILD FAILED **
Xcode's output:
↳
/Users/builder/programs/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-0.5.21+8/ios/Classes/GoogleMapMarkerController.m:192:38: warning: values of type 'NSUInteger' should not be used as format arguments; add an explicit cast to 'unsigned long' instead [-Wformat]

Hi @Profmax001
could you please provide your updated  flutter doctor -v
and your  flutter build --verbose ?
Also, to better address the issue, would be helpful
if you could post a minimal code sample to reproduce the problem
Thank you

You just included a compilation warning, not the build error.  We'll need the flutter build ios --debug --no-codesign --verbose logs.

Without additional information, we are unfortunately not sure how to resolve this issue. We are therefore reluctantly going to close this bug for now. Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact descriptions what happens, logs and the output of 'flutter doctor -v'  please.
All system setups can be slightly different so its always better to open new issues and reference related issues.


tensorrt_yolo sample yolov5 model throw error on inference

Checklist

[X] I've read the contribution guidelines.
[X] I've searched other issues and no duplicate issues were found.
[X] I'm convinced that this is not my fault but a bug.

Description
The tensorrt_yolo package links to a couple of YoloV5 ONNX models. I converted the yolov5l model to .engine and run it, but the node throws error immediately:
[INFO] [1661150089.510299859] [tensorrt_yolo]: Found /home/haoru/autoware_interface/install/autoware_perception_launch/share/autoware_perception_launch/config/model/yolov5l.engine
[INFO] [1661150091.209141479] [tensorrt_yolo]: Inference engine prepared.
terminate called after throwing an instance of 'std::runtime_error'
  what():  cudaErrorIllegalAddress<EMAIL_ADDRESS>an illegal memory access was encountered

compute-sanitizer reports the illegal memory access comes from enqueueV2 on line 304. A quick Google around and this is a known old issue with Yolov5 and AutoShape:

https://stackoverflow.com/questions/70732939/cuda-illegal-memory-access-when-running-inference-on-engine
https://github.com/ultralytics/yolov5/issues/7128

The issue goes away when I download pre-trained models off PyTorch Hub and convert it to TensorRT using the scripts provided by the ultralytics repo:
python export.py --weights yolov5s.pt --include engine

Expected behavior
CUDA should not throw error
Actual behavior
CUDA throws illegal memory access error
Steps to reproduce

Convert the yolov5l model linked in tensorrt_yolo to TensorRT trtexec --onnx=yolov5l.onnx --saveEngine=yolov5l.engine
Run the tensorrt_yolo node
Expect throw

Versions

OS: Ubuntu 20.04
TensorRT Version: 8.4.1-1+cuda11.6

Possible causes
I'm not a pro in TensorRT but here are a couple of potential causes:

The model file was generated before the fix in https://github.com/ultralytics/yolov5/issues/7128
Both .engine and .onnx must be generated at the same time using the given method mentioned in https://github.com/ultralytics/yolov5/issues/7128:

python export.py --weights yolov5s.pt --include engine

It would be great if someone can explain where the linked model comes from, and update it if necessary.
Also I'm not sure what I'm doing to the linked model is the right way to run inference. It would be great if more documentation could be linked on the model conversions.
Additional context
No response

@HaoruXue there was previously a discussion about prompting the user to download the necessary files required by any ML models or inference frameworks. A similar solution could be provided for this bug to prevent the CUDA error. Check https://github.com/autowarefoundation/autoware/discussions/2508

I think .engine file will be automatically created if you specify the onnex file in the launch file.
@wep21 do you know how to solve this issue?

@mitsudome-r I tested not converting the onnx model in advance and now it works. Maybe it is something worth documenting that the package would download model directly and convert onnx upon first launch

After discussing with Mitsudome-san I'll submit a PR for documentation changes in tensorrt_yolo.

@HaoruXue @mitsudome-r
I added some patch to official yolov5 onnx to fit the current tensorrt_yolo implementation. Do you need a converter script?

@wep21 if my understanding is correct, currently you need to run the node once to convert the onnx to tensorrt engine. For the sake of deployment are there alternative ways to do it that makes this happen at a earlier stage? Maybe running a converter script in the build process?


cannot compile link and compile with value_type != bool

Currently having the following issue when compiling
~/SSTGraph/TinySet_small.h:182:19: error: static assertion failed   182 |     static_assert(binary);       |                   ^~~~~~ ~/SSTGraph/TinySet_small.h:183:40: error: no matching function for call to ‘TinySetV_small<unsigned int>::insert(std::tuple<unsigned int>, const extr a_data&)’   183 |     return insert(std::make_tuple(e), d);

What commands are you using to compile it?
Are you using the provided main file, or including the template file into your own program?
And what compiler are you using?
It looks like you are using the wrong insert function for a tinyset.
There are two versions of it.
One only takes in an object of type el_t, which is a uint32_t.
The only takes in a std::tuple<el_t, value_type> where value_type is what a tinyset is templated by.
You can only use the first one if you tinyset is in binary mode, which means the value_type is currently a bool, which is the default, but it looks like for you you are currently templating it by a unsigned int.

I am running with :
g++ -std=gnu++17 -c -DHAVE_OPENMP -DHAVE_LIBNUMA -DHAVE_LIBPAPI -DNDEBUG -I/home/soukaina/SSTGraph -DHAVE_TBB -DSST_HASHMAP_WITH_TBB -DHAVE_SST -DTINYSET_32=1 -DN O_INLINE_TINYSET=1 -DSST_FAIR_SHARED_MUTEX   -I../ -I../third-party/libcommon/include/lib/  -fopenmp -Wall -O3 -march=native -mtune=native -fno-stack-protector .. /library/sstgraph/sst.cpp -o objects/library/sstgraph/sst.o
I am trying to add a single vertex to the matrix by calling :
`
g = new SparseMatrixV<false, uint32_t>(num_vertices, num_vertices);
g->insert(vertex_id, vertex_id, 0);
`
I can use the  g->insert(vertex_id, vertex_id) but how do I set the unsigned int weight (i.e., value) ?

That fixed it but having another failure
home/soukaina/SSTGraph/SparseMatrix.hpp:494:5:   required from ‘void SparseMatrixV<is_csr_, value_type>::remove(el_t, el_t) [with bool is_csr_ = false; value_typ e = unsigned int; el_t = unsigned int]’ ../library/sstgraph/sst.cpp:191:61:   required from here /home/soukaina/SSTGraph/TinySet_small.hpp:784:5: error: use of deleted function ‘TinySetV_small<unsigned int>::pma_types_::~pma_types_()’ /home/soukaina/SSTGraph/TinySet_small.hpp: In instantiation of ‘void TinySetV_small<value_type>::change_index(uint32_t, const extra_data&) [with unsigned int old_ b = 1; unsigned int new_b = 2; value_type = unsigned int; uint32_t = unsigned int; TinySetV_small<value_type>::extra_data = TinySetV_small<unsigned int>::extra_da ta_]’:
This is my sst.cpp https://github.com/cwida/gfe_driver/commit/6985cd841769e3001804da99fec6818676e3e062#diff-85f6ab84c69589f4706ab532e66287d36372f5cb1790bf48368c0b8c66a0d638

Your main problem is that in sst.cpp lines 222 and 229 you call insert like g->insert(sst_source_vertex_id, sst_source_vertex_id);
But since this is a weighted graph you need to pass in the weight as well.  The compile error is because it is not sure what you want to happen since you didn't specify a weight, and it is best to catch these errors at compile time instead of doing something like picking a value of 1.
Also there seems to be some issues with these flags -DTINYSET_32=1 -DNO_INLINE_TINYSET=1 in that they don't work anymore.  These were just for sensitivity analysis and actually disable most of the optimizations done in this work.  I'll work on fixing them as well some other cleanup must have broken them and I didn't rerun that experiment.

I just pushed a fix for -DNO_INLINE_TINYSET=1 so it should compile and work again.
However I will say that this will be less efficient and slightly bigger than not using the flag.
Se table VI column noInline.
Also, I see that you are using openMP, this will be slower than using the cilk version

Thanks but I have been having this issue when setting the value_type to anything other than bool
e = unsigned int; el_t = unsigned int]’ ../library/sstgraph/sst.cpp:223:64:   required from here /home/soukaina/SSTGraph/TinySet_small.h:182:19: error: static assertion failed   182 |     static_assert(binary);       |                   ^~~~~~ /home/soukaina/SSTGraph/TinySet_small.h:183:40: error: no matching function for call to ‘TinySetV_small<unsigned int>::insert(std::tuple<unsigned int>, const extr a_data&)’   183 |     return insert(std::make_tuple(e), d);       |                                        ^
do you have any suggestion for this?

That issue seems to be from the fact that in your code you make calls like
g->insert(sst_source_vertex_id, sst_source_vertex_id); which doesn't work unless the value type is bool.  You must add edges with (src, dest, value) if the value type is anything other than bool

Thank you, it compiles now. I have an unrelated question. Is there a fn for adding new vertices that do not exist, or are the height and width fixed at construction of SpareMatrixV?

Great.  To answer your question their is not a builtin function for adding a vertex.  In theory if you would like to do this you would simple keep the number of vertices a power of two, with a mark to say if the vertex was active or not, and then double the possible number when needed and copy the required data.
Also, I pushed some changes that added Parlaylib as another parallel library option which is much easier to install than cilk since it is just a c++ library, and will give much better performance than openmp would have.


Refactor json handling for cli into pkg/command

Consistently use `-o json` as the CLI arguments for printing JSON output across all commands that support JSON output

This PR refactors the JSON/MultipleOutput handling from cilium/cmd/helpers into pkg/command, then reuses this from various commands including cilium-health. While we're at it, remove the variations on json output like --json on a few commands, so all commands should be consistent with respect to how you get them to print JSON output.
Related: #2083

test-me-please

test-me-please

test-me-please

test-me-please


Add com.linkedin.gobblin to alias resolver

@ibuenros can you review?

It would be ideal if the classpath scanner package list could be configured.  Trying to add a new implementation of a class that is loaded via Alias doesn't work currently unless I put it within the gobblin package.  The same is true when trying to use this in another context.

https://issues.apache.org/jira/browse/GOBBLIN-65
Please update your PR title with following prefix: [GOBBLIN-65]


Validator nodes are getting flooded with "Queue of packets to send over substream is pretty large"

According to @ddorgan, several gigabytes of logs of warnings are generated.
This happens when the number of messages waiting to be sent on the network goes over 2048.
We need to investigate whether this is normal, or if this indicates some underlying issue in the sync layer. If it is normal, then there should probably some mechanism in place to indicate that the remote is not ready and avoid filling a huge buffer of messages.

This is resolved with fixes to gossip protocol


Replace libsass with sassc-embedded

This PR removes the deprecated libsass and replace it with sassc-embedded, providing latest sass features and fast gem installation.
This should essentially be a drop in alternative to current sassc-ruby.

Installation
Add these line to your application's Gemfile:
gem 'sassc', github: 'sass/sassc-ruby', ref: "refs/pull/233/head"
gem 'sassc-embedded'

This PR is created to persist the refs/pull/233/head ref in sass/sassc-ruby repository regardless of status of the fork.


Add the possibility to register multiple interceptors

related to #1405
related to #1093

[x] I have read the Contribution Guidelines
[x] I have commented on the issue above and discussed the intended changes
[x] A maintainer has signed off on the changes and the issue was assigned to me
[x] All newly added code is adequately covered by tests
[x] All existing tests are still running without errors
[x] The documentation was modified to reflect the changes OR no documentation changes are required.

Changes
The registration of the interceptor is now handled in ITypeRegistrar this makes it possible to register multiple interceptors and also to use DI in interceptors.
Additionally, an InterceptResult-Method was introduced that runs after the command and can be used to alter the result value or to do some cleanup after the command.

@spectreconsole/maintainers what do you think?

@nils-a I took a look at the code changes. I even pulled down your branch on my machine, did a dotnet pack and dotnet nuget push to a local feed just to be able to use your changes in action.
My overall first impression is positive! The additions to ICommandInterceptor has allowed me to clean up a significant chunk of what I had in my Program.cs, especially regarding the "Hacks" I had to implement.
There's one small gap, however. When an exception occurs, I need to be able to handle that with access to DI. Unfortunately, the InterceptResult() doesn't seem like it would be called when there's an exception that leaks out of a command class. Instead, that gets handled in CommandApp.RunAsync() where either 1) it gets leaked out to my Program.cs (which is how I currently do it) or 2) gets passed to the provided exception handler, if provided.
Here's the problem I'm dealing with. I use Serilog in my application. I register a factory in DI that I use to create an ILogger instance which gets registered as a singleton.
When I handle exceptions in my Program.cs, I do not have access to my underlying ILifetimeScope, so I'm forced to use something like AnsiConsole.WriteException(). But this would not deliver that exception information to other important sinks I've registered with Serilog (e.g. file logs).
When an exception occurs, I'd like to be able to use an instance of ILogger to write the exception information through Serilog, so that it gets delivered to multiple destinations (console included). With the provided exception handler mechanism, this isn't possible since I am not allowed an opportunity to resolve ILogger from my DI container.
One way I can think of to allow for this is to have something like ICommandExceptionHandler that gets resolved (by Spectre.Console) through DI, giving me an opportunity to resolve dependencies in a constructor that I can use to log exception information. If we can reuse ICommandInterceptor for this, that'd be fine too, but given the different levels in the stack trace, I'm not sure if that type is usable at the CommandApp level. Design & solution I leave to you, but I can't completely get rid of my exception handling logic from Program.cs (nor my hack) until I'm able to do this.
If you need additional details or review, please don't hesitate to ask!

One small detail I might add:
If you decide to go with a registered type to handle exception processing, we still need the existing exception handler functionality as a fallback. There's a possibility that, due to DI dependencies and order of execution, that you would fail to resolve instances of ICommandExceptionHandler (or whatever you use).
In those cases, the behavior I'd expect is that you silently ignore those failures and treat them as if they are not registered to begin with. You'd proceed to call the configured exception handler (or propagate it, depending on how the user configured things).
This allows me to do AnsiConsole.WriteException() (actually, I'd probably just let spectre handle it) in the configured exception handler as a fallback, and use ILogger in my exception handler subclass.
So basically I think this means:

If registered exception handler objects are available and process an exception, we don't go to the command handler fallback
If no exception handlers are registered, OR they fail to be constructed, then we use the exception handler as a fallback.

You might even make #1 a user choice similar to how ASP.NET middleware works (user can say they "handled" the exception or not, which would control whether or not the fallback is used).
All this can probably get pretty complicated so again, I am happy to let you work out the details. I just wanted to brain dump some logistical concerns.
Thanks again for everything.

@rcdailey thank you for the feedback. Regarding exception handling with DI, you might want to have a look at #1411 which should address that.

Excellent!! With both of these changes, I am able to get rid of all of my hacks. I cherry picked your other PR into this one, did another local build, and tested out the changes on my end.
This is the Program.cs I started with (before your two changes):
internal static class Program
{
    private static ILifetimeScope? _scope;
    private static IBaseCommandSetupTask[] _tasks = Array.Empty<IBaseCommandSetupTask>();
    private static ILogger? _log;

    [SuppressMessage("Design", "CA1031:Do not catch general exception types")]
    public static int Main(string[] args)
    {
        var builder = new ContainerBuilder();
        CompositionRoot.Setup(builder);

        var logLevelSwitch = new LoggingLevelSwitch();
        var appDataPathProvider = new AppDataPathProvider();
        CompositionRoot.RegisterExternal(builder, logLevelSwitch, appDataPathProvider);

        var app = new CommandApp(new AutofacTypeRegistrar(builder, s => _scope = s));
        app.Configure(config =>
        {
        #if DEBUG
            config.PropagateExceptions();
            config.ValidateExamples();
        #endif

            config.Settings.PropagateExceptions = true;
            config.Settings.StrictParsing = true;

            config.SetApplicationName("recyclarr");
            config.SetApplicationVersion(
                $"v{GitVersionInformation.SemVer} ({GitVersionInformation.FullBuildMetaData})");

            var interceptor = new CliInterceptor(logLevelSwitch, appDataPathProvider);
            interceptor.OnIntercepted.Subscribe(_ => OnAppInitialized());
            config.SetInterceptor(interceptor);

            CliSetup.Commands(config);
        });

        var result = 1;
        try
        {
            result = app.Run(args);
        }
        catch (Exception ex)
        {
            if (_log is null)
            {
                AnsiConsole.WriteException(ex, ExceptionFormats.ShortenEverything);
            }
            else
            {
                _log.Error(ex, "Non-recoverable Exception");
            }
        }
        finally
        {
            OnAppCleanup();
        }

        return result;
    }

    private static void OnAppInitialized()
    {
        if (_scope is null)
        {
            throw new InvalidProgramException("Composition root is not initialized");
        }

        _log = _scope.Resolve<ILogger>();
        _log.Debug("Recyclarr Version: {Version}", GitVersionInformation.InformationalVersion);

        _tasks = _scope.Resolve<IOrderedEnumerable<IBaseCommandSetupTask>>().ToArray();
        _tasks.ForEach(x => x.OnStart());
    }

    private static void OnAppCleanup()
    {
        _tasks.Reverse().ForEach(x => x.OnFinish());
    }
}

And this is where we are after all the cleanup:
internal static class Program
{
    [SuppressMessage("Design", "CA1031:Do not catch general exception types")]
    public static int Main(string[] args)
    {
        var builder = new ContainerBuilder();
        CompositionRoot.Setup(builder);

        var app = new CommandApp(new AutofacTypeRegistrar(builder));
        app.Configure(config =>
        {
        #if DEBUG
            config.PropagateExceptions();
            config.ValidateExamples();
        #endif

            // config.Settings.PropagateExceptions = true;
            config.Settings.StrictParsing = true;

            config.SetApplicationName("recyclarr");
            config.SetApplicationVersion(
                $"v{GitVersionInformation.SemVer} ({GitVersionInformation.FullBuildMetaData})");

            config.SetExceptionHandler((ex, resolver) =>
            {
                var log = (ILogger?) resolver?.Resolve(typeof(ILogger));
                if (log is null)
                {
                    AnsiConsole.WriteException(ex, ExceptionFormats.ShortenEverything);
                }
                else
                {
                    log.Error(ex, "Non-recoverable Exception");
                }
            });

            CliSetup.Commands(config);
        });

        return app.Run(args);
    }
}

I was able to clean up quite a bit. Also notice I no longer needed the hack in my custom type registrar to access the ILifetimeScope. Another nice touch is the SetExceptionHandler(), which I can use now, to grab the ILogger. It would be nice if there was a version of Resolve() that was more statically typed with generics, but not a huge deal.
The other stuff cleaned up nicely as separate interceptor classes:
public class VersionLogInterceptor(ILogger log) : ICommandInterceptor
{
    public void Intercept(CommandContext context, CommandSettings settings)
    {
        log.Debug("Recyclarr Version: {Version}", GitVersionInformation.InformationalVersion);
    }
}

public class GlobalTaskInterceptor(IOrderedEnumerable<IGlobalSetupTask> tasks) : ICommandInterceptor
{
    public void Intercept(CommandContext context, CommandSettings settings)
    {
        tasks.ForEach(x => x.OnStart());
    }

    public void InterceptResult(CommandContext context, CommandSettings settings, ref int result)
    {
        tasks.Reverse().ForEach(x => x.OnFinish());
    }
}

Overall I am pleased with these improvements. Thank you very much for listening to my feedback!


Form input group class mistake

In renders.py there is a function called make_input_group that adds addon_before_class or addon_after_class .
But it creates a group form that looks like this:

		Some label

	<select name="some" class="form-select" title="" required="" id="id_some">
		<option value="" selected="">---------</option>
		<option value="1">Some option</option>
	</select>

So this html looks like this:

But in Boostrap5 group form docs there is nothing about class input-group-prepend. Because it was dropped:

So html should look like this:

	Some label
	<select name="some" class="form-select" title="" required="" id="id_some">
		<option value="" selected="">---------</option>
		<option value="1">Some option</option>
	</select>

And it should look like this:

I have pretty easy method to solve it by rewrite a make_input_group and a make_input_group_addon functions:
def make_input_group_addon(self, content):
    if not content:
        return ""
    content = '{content}'.format(content=content)
    return content

def make_input_group(self, html):
    if self.is_input_group:
        before = self.make_input_group_addon(self.addon_before)
        after = self.make_input_group_addon(self.addon_after)
        html = self.append_errors("{before}{html}{after}".format(before=before, html=html, after=after))
        html = '
{html}
'.format(html=html)
    return html

Please add this in django-bootstrap5

I can confirm this.

Do you mind creating a PR for this?

mea culpa. I recognized now that I used all the time the wrong package django-bootstrap-v5 ... thank you @blag for poking my nose on that mistake ... switched now and what a miracle! It works! This issue imho can be closed.


Large output of craziness

Hey there,
After Ionic Deploy successfully downloaded and extracted an update, it threw these errors in my console. It tried to load the Facebook SDK as a local file instead of over the network, and it didn't play nice with the StatusBar plugin. Just throwing this out there...

Greetings @sean-hill!
I've closed this issue because my sensors indicated it was old and inactive, and may have already been fixed in recent versions of Ionic. However, if you are still experiencing this issue, please feel free to reopen this issue by creating a new one, and include any examples and other necessary information, so that we can look into it further.
Thank you for allowing me to assist you.


BUG STRET intersection

Describe the problem
Steps to reproduce

create an intersection on any street, or upgrade
cars do not travel through the site
I have to access the mod settings and reset
the vehicles start to travel but very slowly

Log files
output_log.txt
TMPE.log
Savegame?
https://steamcommunity.com/sharedfiles/filedetails/?id=2977603985
Screenshots?
https://youtu.be/V2s9LLWlX7Y
Notes or questions?
Compatibility Report no have problem

From the mod description:

hell, thank you very much, already corrected what was wrong, you can close


The Traditional Chinese Localization folder for iOS is incorrecct

Switch your iOS language to Traditional Chinese and start Message Center inside an app will see English "Message Center" instead of the localized version.
The problem is the localized folder name for traditional Chinese is not zh.lproj  it should be zh-Hant.lproj
by changing the folder name to zh-Hant.lproj you should see the proper localized version.
Change
apptentive-ios/ApptentiveConnect/resources/localization/ zh.lproj
to
apptentive-ios/ApptentiveConnect/resources/localization/ zh-Hant.lproj
Thanks

Thank you for your help with this. It will be fixed in an upcoming release.

This should be fixed in version 2.0.4.


refactor: remove not printing errors to console in production

:tada: This PR is included in version 5.7.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Reduce Docker API calls for log collection, when container logs got disabled

The agent should not query logs from Docker API for containers having LOGSENE_ENABLED flag set to false (either by LOGSENE_ENABLED_DEFAULT=false or explicit set of LOGSENE_ENABLED=false per container).
Origin: https://github.com/sematext/sematext-agent-docker/issues/21#issuecomment-292934284

We will try to call container.detach() https://github.com/mcollina/docker-loghose/blob/master/lib/loghose.js#L26 in Docker Loghose to stop the log stream once LOGSENE_ENABLED=false got detected (after docker inspect call ...).

Ok, thanks for looking into this.

As I debugged the other issue, I saw that all the containers get listed by docker-allcontainers and then attached by loghose. And sematext-docker-agent via logsense-js just reacts to the attached event.
So quite a lot of containers get attached and later detached. Is there a reason why you wouldn't filter in the docker-allcontainers library? Maybe add new property like matchByEnv or something like it?

Use v1.31.26 to reduce api calls...

Thanks, I have installed it, seems to be fine, though I didn't notice any significant changes in Docker performance - still even a few percent counts. :+1:
One more minor question: We now have set LOGSENE_ENABLED_DEFAULT=false which effectively turns out the log shipping for the sematext-agent self. I did want to re-enable it by specifying LOGSENE_ENABLED=true as an env var on the sematext-agent pods/containers, but somehow the sematext-agent doesn't get it: after startup when it reaches out for the own container thru Docker API it still thinks LOGSENE_ENABLED=false somehow. Might there be some conflict there, or do I maybe something wrong?

Did you use SKIP_BY_IMAGE? We set it by default to /sematext-docker-agent/, but it might get overwritten when customers set SKIP_BY_IMAGE.
We should set LOGSENE_ENABLED=false for sematext-agent-docker container - so there would be no conflict with SKIP_BY_IMAGE. Build for fix in :dev image is running. Please try sematext/sematext-agent-docker:dev once build is done:
https://hub.docker.com/r/sematext/sematext-agent-docker/builds/

Thanks @megastef, but still no luck with the new :dev image. I had a look at your recent code change, and so I am not really sure that I was clear enough.
So what we would like to achieve is that each of our sematext-agents grabs their own log via docker API and sends that to Logsene. LOGSENE_ENABLED_DEFAULT=false and LOGSENE_ENABLED=true is set for the sematext-agent pods, I also tried to set SKIP_BY_IMAGE to some dummy value. Still I get the following when running oc logs sematext-agent-2iyhf:
...
Container 1ecdd7ffc07ef121b00a12cce630bf42c71281ce4bddf0479909ca2901ef226b /k8s_sematext-agent.8a332beb_sematext-agent-2iyhf_logging_236c8b28-30c0-11e7-b4cc-0295f8e72b3b_27626ae1 setting LOGSENE_ENABLED=false
...
Following env vars are set:
oc env pod/sematext-agent-2iyhf --list
# pods sematext-agent-2iyhf, container sematext-agent
LOGSENE_TOKEN=d0a82a77-b218-4788-ba60-659ba7477ca3
KUBERNETES=1
PATTERNS_URL=https://code.sbb.ch/projects/KD_CLOUD/repos/sematext/browse/patterns.yml?raw
MAX_CLIENT_SOCKETS=2
ENABLE_LOGSENE_STATS=true
LOGSENE_ENABLED_DEFAULT=false
LOGSENE_ENABLED=true
SKIP_BY_IMAGE=nothing

Ahh, sorry the :dev image disabled agent logging to Logsene completely ... going to revert the change.
Have you tried this config with :latest ? I think it should work and would log to LOGSENE_TOKEN.
It works for me - getting SDA logs in Logsene using:
LOGSENE_ENABLED=true
SKIP_BY_IMAGE=nothing

We should remove the default for SKIP_BY_IMAGE and set in SDA start script LOGSENE_ENABLED=false, so you could overwrite it with true, as you did. Then you would not need SKIP_BY_IMAGE=nothing

Still no luck. Have you also specified LOGSENE_ENABLED_DEFAULT=false?
I will otherwise have a look into this with @ReToCode next week.

Yes. Here is the env from my docker-compose file (without token):
sematext-agent-docker:
 image: 'sematext/sematext-agent-docker:latest'
 environment:
 - LOGSENE_TOKEN=44a966f0...
 - LOGSENE_ENABLED=true
 - SKIP_BY_IMAGE=nothing
 restart: always
 volumes:
 - '/var/run/docker.sock:/var/run/docker.sock'

Logsene screenshot with SDA logs:

I have found the root cause here. The problem is this line here: https://github.com/sematext/sematext-agent-docker/blob/master/lib/dockerInspect.js#L43
.indexOf("LOGSENE_ENABLED")  is true for "LOGSENE_ENABLED_DEFAULT" which is first in the list

I changed it to this, then it worked:
     var rv = list[i].split('=')
      if (rv[0] == name) {

An application container should not have an Environment variable LOGSENE_ENABLED_DEFAULT, only the Sematext Docker Agent itself. Application containers get tagged with LOGSENE_ENABLED=true/false to overwrite the default used by SDA only.
I wrote a blog post about LOGSENE_ENABLED_DEFAULT usage: https://sematext.com/blog/2017/05/15/docker-log-management-enrichment/
Anyhow, the problem of "fuzzy" match of env variable names needs to be fixed.
Thank you for reporting!

It's clear for other containers. But we want the logs of the SDA container too, there we have the DEFAULT=false but also LOGSENE_ENABLED=true which then results to false.


Add OTP Supervisors to Portuguese(Brazil)

Reviews? @philss

@pragmaticivan sure :+1:

@pragmaticivan done with the review :)

done @philss :)

@pragmaticivan :shipit: o/


chore: automated localization updates

##Description This is the localization ADO build pipeline pull request. #minor

Closing as out of date.


V2 thoughts

use esbuild instead of Rollup for perf?

it still supports Babel if a .babelrc file is found

make progress indicators optional via --progress flag
multiple entry points/outputs

for instance ts-engine build index.ts test-utils.ts

detect react in package.json and then apply react config to build/test/lint if it exists

also need to have a play with Deno, if that shows great promise then its potentially not worth a drastic v2 and might be worth just keeping v1 very stable.
maybe play with Rome too if it looks close?


Tutorial: Saving and Loading Locations (lat/long/height)

Saving and Loading Locations
Target release date: 1/13/2023
Checklist

[ ] Complete technical implementation
[ ] Create a new version and upload to Unreal Engine Marketplace
[ ] Complete text review, Link
[ ] Publish page

References
VR Tutorial on UE marketplace
VR series introduction on Cesium site
Google Drive folder

@CesiumBen @xuelongmu The text for the tutorial looks great. No outstanding comments to merge. I adjusted a few commas, that's about it.
Time to create in Prismic? Don't wait for me to wrap it up!

🎆 🎉


Change name of log file

Codecov Report

Merging #367 (57b7d66) into master (70cac74) will increase coverage by 9.04%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #367      +/-   ##
============================================
+ Coverage     55.63%   64.67%   +9.04%
- Complexity      705      858     +153
============================================
  Files           139      136       -3
  Lines          3196     3176      -20
  Branches        420      421       +1
============================================
+ Hits           1778     2054     +276
+ Misses         1319     1021     -298
- Partials         99      101       +2

Impacted Files
Coverage Δ

...c/main/java/seedu/awe/commons/core/LogsCenter.java
78.37% <ø> (ø)

src/main/java/seedu/awe/model/group/GroupName.java
66.66% <0.00%> (-11.91%)
:arrow_down:

...main/java/seedu/awe/model/expense/Description.java
63.63% <0.00%> (-9.10%)
:arrow_down:

...va/seedu/awe/logic/commands/AddExpenseCommand.java
72.88% <0.00%> (-3.49%)
:arrow_down:

...rc/main/java/seedu/awe/logic/parser/CliSyntax.java
87.50% <0.00%> (-2.50%)
:arrow_down:

...seedu/awe/storage/JsonSerializableAddressBook.java
72.97% <0.00%> (-2.03%)
:arrow_down:

...java/seedu/awe/logic/parser/EditCommandParser.java
90.90% <0.00%> (-1.40%)
:arrow_down:

...a/seedu/awe/logic/commands/EditContactCommand.java
96.42% <0.00%> (-0.55%)
:arrow_down:

src/main/java/seedu/awe/model/expense/Cost.java
55.81% <0.00%> (-0.44%)
:arrow_down:

...edu/awe/logic/parser/CreateGroupCommandParser.java
86.66% <0.00%> (-0.29%)
:arrow_down:

... and 51 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 70cac74...57b7d66. Read the comment docs.


x.match is not a function

Hi,
I can't seem to do much as I simply get x.match is not a function when trying to run browserify.
https://gist.github.com/z3t0/983ffa04dd2e8bf41536

Hi @z3t0, it appears that you're using the old glslify@1 API here. Please see the migration guide in the readme (thankfully it's quite short!): https://github.com/stackgl/glslify#migrating-from-glslify1-to-glslify2
I'll make glslify provide a more constructive error for this before closing the issue.

@hughsk Thanks! It's all working now. I was trying to revive an old project with too many dependencies to figure out where things were breaking, and yes providing a more informative error would be great.

Great! Added the error message, should hopefully fix things up for people in the future :D

documentation for migrating seems to have moved - for anyone looking, its here :  http://stack.gl/packages/#stackgl/glslify


Add support for snap-ci

Closes #16
I couldn't find a way to get owner or repo from snap's environment variables :-(

Current coverage is 77.65%

Merging #17 into master will change coverage by +1.70% by 23328eb

Coverage Diff
@@            master     #17   diff @@
======================================
  Files           14      15     +1
  Stmts           79      85     +6
  Branches        32      34     +2
  Methods         23      25     +2
======================================
+ Hit             60      66     +6
  Partial          1       1
  Missed          18      18

Powered by Codecov

Just forced pushed an update because I forgot to add this to getConfiguration (and it broke my build)

Thanks @kentcdodds. Does SnapCI work with open source too? If they have an builds endpoint I can update our server to not require the token for public repos.

I hooked them up using GitHub on my open source project, so yeah, they do.

Can you send me a link to their api endpoint to get builds/jobs. Thanks!

Updated the PR to use the SNAP_COMMIT environment variable. I've asked someone from snap to help with the api endpoint. Thanks!

Hey guys, dev from snap-ci here. You can get the latest build using -
GET /project/:owner/:repository/branch/:branch_name/pipelines/{latest,newest}
you can find more info and examples in our docs. Right now all our API endpoints require authentication including the public builds. You can supply the username and api token in the url for now. We will look into the possibility of removing the authentication for public builds soon. Let me know if you have any problems integrating.

@akshaykarle thank you for the reply! Does a single uses api key work for all public repos? I ask because I'd like to hookup snap-ci into Codecov backend so that customers will no longer need repo tokens making the installation more seamless. I can use "my personal" access token to request public repos if necessary until you remove the requirement.  Thanks!

@stevepeak unfortunately no. You can use the API token only to access the builds that you collaborate on. So you may have to ask users to enter their API token and username. Can they supply this as arguments to codecov.io?

@akshaykarle unfortunately it wont work in that case. Until snap-ci can allow access to public builds with no token customers will need to provide the repo token.
Is there a way to get notified if this changes in the future?

@stevepeak, any way I can be notified when I can start using snap-ci to report coverage even with a work-around?

I'll publish this to npm now. Thanks!

It's definitely published and the library works, but codecov throws up when I try to make the request:
https://snap-ci.com/kentcdodds/ng-stats/branch/master/logs/defaultPipeline/16/Coverage?back_to=build_history

$ cat ./coverage/lcov.info | codecov
configuration:  { service: 'snapci',
  build: '16',
  commit: '6a60680fac80b5cf2c491e9a6bba42b20f81e14a',
  branch: 'master',
  pull_request: undefined,
  token: '********',
  package: 'node' }
error sending to codecov.io:  { [Error: non-success response]
  detail:
   { statusCode: 400,
     body: '{"message": "Invalid value \'snapci\' (str): must be ci-provider (at service)", "uploaded": false, "meta": {"status": 400, "request": "2476771e-db9a-4f9d-a395-4d1704ece149"}}',
     request:
      { url: 'https://codecov.io/upload/v2?service=snapci&build=16&commit=6a60680fac80b5cf2c491e9a6bba42b20f81e14a&branch=master&pull_request=&token=********&package=node',
        body: 'TN:\nSF:/var/snap-ci/repo/src/index.js\nFN:8,_interopRequireDefault\nFN:28,(anonymous_2)\nFN:30,(anonymous_3)\nFN:49,hijackDigest\nFN:56,$digest\nFN:65,isChromeApp\nFN:75,autoload\nFN:80,(anonymous_8)\nFN:86,showAngularStats\nFN:169,(anonymous_10)\nFN:173,(anonymous_11)\nFN:183,track\nFN:187,(anonymou    ........................ etc...

Fixed the issue with snapci, I should have caught this before, sorry for that: d61345c9bff7204a969d6352e0bc8c986589f681

Verified. Thanks!

Well... It worked on one project and failed on another. Any ideas?

Was the token included on the failed build? That is odd indeed. Perhaps you can transition to the bash uploader.
- cat ./coverage/lcov.info | ./node_modules/.bin/codecov
+ bash <(curl -s https://codecov.io/bash) -f ./coverage/lcov.info

Well I feel dumb... I didn't have the token :-( 100% coverage :-) https://codecov.io/github/kentcdodds/api-check

Hey no problem! It happens to the best of us. Nice job with 100% coverage!

heh, really helps when you have a githook that doesn't allow you to commit
anything less than 100% code coverage :-)
https://github.com/kentcdodds/api-check/blob/master/package.json#L46
-Kent C. Dodds
On Mon, Jun 22, 2015 at 11:56 AM, Steve Peak<EMAIL_ADDRESS>wrote:

Hey no problem! It happens to the best of us. Nice job with 100% coverage!
—
Reply to this email directly or view it on GitHub
https://github.com/cainus/codecov.io/pull/17#issuecomment-114199197.

I'm going to patch the server to chop off the var/snap-ci/repo automatically. So the files line up correctly.

Perfect. Thanks!
-Kent C. Dodds
On Mon, Jun 22, 2015 at 11:57 AM, Steve Peak<EMAIL_ADDRESS>wrote:

I'm going to patch the server to chop off the var/snap-ci/repo
automatically. So the files line up correctly.
—
Reply to this email directly or view it on GitHub
https://github.com/cainus/codecov.io/pull/17#issuecomment-114199532.

@stevepeak I've already spoken to our product owner about using the API without auth for public builds and we've put the feature in our backlog. We don't have a public listing of the backlog yet, but you can usually keep track of what is new on snap from our docs, blogs and what's new. I can get back to you once this is available so that we can make the codecov experience better.

@akshaykarle thank you for doing this! I look forward to this change of API. Cheers!

@akshaykarle, looks like there is no SNAP_BRANCH environment variable available for pull request builds :-( This breaks codecov... Here's some useful output from my private build:
All of the environment variables available from snap
$ export SNAP_CI=true
$ export CI=true
$ export SNAP_CACHE_DIR=/var/go
$ export LANG=en_US.UTF-8
$ export LC_ALL=en_US.UTF-8
$ export SNAP_WORKING_DIR=/var/snap-ci/repo
$ export SNAP_PIPELINE_COUNTER=1
$ export SNAP_STAGE_NAME=Test
$ export SNAP_PULL_REQUEST_NUMBER=1
$ export SNAP_UPSTREAM_BRANCH=master
$ export SNAP_COMMIT=fb4aec4b75e8c8efe732ae421b0f4e2a06b7214d
$ export SNAP_COMMIT_SHORT=fb4aec4
$ export SNAP_TRACKING_PIPELINE=true
$ export SNAP_INTEGRATION_PIPELINE=false

The attempt to send coverage stats to codecov:
configuration:  { service: 'snap',
  build: '1',
  commit: 'fb4aec4b75e8c8efe732ae421b0f4e2a06b7214d',
  branch: undefined,
  pull_request: '1',
  token: '********',
  package: 'node' }
error sending to codecov.io:  { [Error: non-success response]
  detail:
   { statusCode: 400,
     body: '{"uploaded": false, "meta": {"status": 400, "request": "1b1d451e-055a-46f5-9e06-698feb2ac8a8"}, "message": "Invalid value {\'package\': \'node\', \'build\': \'1\', \'pull_request\': \'1\', \'service\': \'snap\', \'commit\': \'fb4aec4b75e8c8efe732ae421b0f4e2a06b7214d\', \'token\': \'********\'} (dict): missing required properties: [\'branch\']"}',
     request:
      { url: 'https://codecov.io/upload/v2?service=snap&build=1&commit=fb4aec4b75e8c8efe732ae421b0f4e2a06b7214d&branch=&pull_request=1&token=********&package=node',
        body: 'TN:\nSF:/var/snap-ci/repo/app/index.common.js\nFNF:0\

... etc

So it's missing branch because SNAP_BRANCH is not available in the PR build... Why is that? Is it a bug? Can it be fixed? Are we going to have to figure out the branch ourselves via git?

Uh oh... Using snap-shell if I execute $ git rev-parse --abbrev-ref HEAD I get: master even on the PR build... If I execute $ git branch, I get:
* master
  pull-1

This tells me that snap-ci has no concept of pull request branches... What do you think a timeline would be to make it possible for me to send what branch this PR is for to codecov @akshaykarle? This basically makes codecov not work with PRs when building with snap. A real downer :-(

@stevepeak, what does snap need to do for this?

@kentcdodds @stevepeak I've just sent PR #18 to resolve the issue with pull request builds.
We don't set the $SNAP_COMMIT environment variable purposely because for pull request builds your build is really running on an unmerged upstream branch from the pull request changes. The absence of $SNAP_COMMIT environment variable is also used to identify that it is a pull request build. The branch you are integrating with is identified in the build using the $SNAP_UPSTREAM_COMMIT environment variable hence I decided to use that if the SNAP_COMMIT environment variable was not preset.


Error: "Cannot read property 'idAttribute' of undefined" in collection

Description
If I create new collection class, that extends Backbone.Collection, and define it's "model" property as a function which returns instantiated model - then on collection constructed error "Cannot read property 'idAttribute' of undefined" is thrown. That's because class methods has no property "prototype", which is used in Backbone.Collection.prototype.modelId method.
Expected behavior
No error thrown if collection has property "model" defined as class method.
Actual behavior
Error "Cannot read property 'idAttribute' of undefined" thrown.
Here is an example: https://jsfiddle.net/e1ybjmw3/
Environment

Backbone version: 1.3.3
Additional build tools, etc: no build tools (that's important, because if babel used all works fine)

Yes, but it looks unpleasant, especially if this is the only situation in application where such approach (extending classes directly through prototype) is used, plus if the collection is extended with many methods then you need to scroll down several screens to see the "model" property.
It kills all the benefits of syntaxic sugar of es6 classes.

yeah that's ugly. I'm writing in coffeescript so it doesn't look that bad for me, but still a hack

This is my patched solution:
https://gist.github.com/syntruth/a76762aab0e442833bfd88bd937aa766
...it's not pretty, but it's working for now.
If I wasn't using Backbone Stickit, I'd moved to the Backbone-ES6 version.

Backbone-ES6 is literally the same code but written in ES6. I has all the same issues

Another way, to make model a function, w/out using prototype is use get, i found it a bit more good-looking
class C extends Backbone.Collection {
  get model() {
    return function(attrs, opts) {
      return new M(attrs, opts);
    };
  }
}

If you set model to a function that returns an instance (and doesn't have a prototype.idAttribute), you need to define modelId as well. Documented over here:

If your collection uses a model factory and those models have an idAttribute other than id you must override this method.


How long did it take to train this model?

I am wondering whether I can afford to train this model. So could you tell me which GPU did you use and how long did it take to train on the GPU. Thank you.

Hi @safeanimal
Please refer to this issue.


Find a faster encoding/decoding method than LZString

LZString is too slow for this use case, since we are encoding/decoding the entire store every time. Need a fast encoding/decoding method that reduces the size less.
Perhaps one that shortens keys, turns dates into numbers etc.

Imprelemented LZipper algorithm which increases the compression rate.