Tracing in node.js worker_threads

Hello,
I have a node.js / express api which uses worker_threads for some logic processing. Flow is when a request comes to the API, it sends message to worker_thread, worker thread does some logic (can call external API) and sends the response back to main thread.
We wanted to have tracing between main thread, worker thread and any external apis. So using opentelemetry packages for tracing. Since worker thread is independent from main thread, we are thinking context propagation between main and worker thread is the way to have trace continuity and followed this approach:-
Approach:

Initialize Node TraceProvider in both main thread and worker thread.
Using HttpInstrumentation and ExpressInstrumentation
Configured B3 Propagation
Upon new request, main thread injects headers
opentelemetry_api.propagation.inject(telemetryAPI.context.active(), headers)
In worker thread, it extracts the context by passing headers
Starts a new span with that context
Sets span and gets the context
Uses with context and callback to make use of the context.

// these are the steps - 5,6,7,8 mentioned above. All this is done in worker thread.
const ctx = opentelemetry_api.propagation.extract(opentelemetry_api.ROOT_CONTEXT, headers)
const span = tracer.startSpan(spanName, options, ctx);
const context = opentelemetry_api.trace.setSpan(opentelemetry_api.context.active(), span);
opentelemetry_api.context.with(context, async () => {
    // logic of worker thread
    // it can create new span (or) call some api
})

Problem we see now is its consuming too much CPU. If we just run at 13 requests per second for continuous 4min, its using CPU at 200%.
I ran profiler and could see most of the time is taking in worker thread and during the context. I just removed tracing from worker thread (step 4 to 8) and CPU usage for same is at 20%. Since we are using HttpInstrumentation, I could see the default traces for incoming requests.
Other approach I could think is, instead of initializing trace provider in worker thread, send a message to main thread. Main thread to use propagation to extract the context from headers and follow the same steps. Since this approach also uses context, I am thinking it will also have same impact on CPU.
Please suggest if there is a better approach to have the trace continuity between main thread and worker threads with less CPU usage.

[X] This only affects the JavaScript OpenTelemetry library
[ ] This may affect other libraries, but I would like to get opinions here first

That's unexpected. The context operations should be not that expensiv. in special for CPU intensive, longer running tasks usually done in workers the overhead should be relative low. I assume here that you really do significant work in worker.
Some questions:

How do you communicate between main and worker? What are the headers you refer to in your code?
Do you use a worker pool or do you created a fresh worker per request?
Which spanProcessor/Exporter is used in worker?

I don't see any reason why the overhead in worker should be different to main. Propagation is not doing that a lot. Effective traceId, SpanId and traceFlag is serialized into a string and parsed back to an object on receiver side. This should be neglicable compared to any reasonable work package worth to be moved from main to a worker.

Other approach I could think is, instead of initializing trace provider in worker thread, send a message to main thread. Main thread to use propagation to extract the context from headers and follow the same steps. Since this approach also uses context, I am thinking it will also have same impact on CPU.

I don't think thats easy to do. If there is no TracerProvider in worker there is no Span holding the recorded data (attributes, timestamp,...). Therefore also the nesting of spans in the worker is not recorded. To really reconstruct the trace it would be needed to send a message for each OTel APi call to main and I doubt this makes sense.

Thanks @Flarna for the reply.
Please find the response to the questions :-

How do you communicate between main and worker? What are the headers you refer to in your code?

main threads send message using worker.postMessage and listens on worker.on('message, callback)
worker threads listens on parentPort.on('message', callback) and sends message to main thread using parentPort.postMessage

Do you use a worker pool or do you created a fresh worker per request?

We use worker pool, we don't create fresh worker per request.

Which spanProcessor/Exporter is used in worker?

BatchSpanProcessor(@opentelemetry/sdk-trace-base) and CollectorTraceExporter (@opentelemetry/exporter-collector-proto)

I don't think thats easy to do. If there is no TracerProvider in worker there is no Span holding the recorded data (attributes, timestamp,...). Therefore also the nesting of spans in the worker is not recorded. To really reconstruct the trace it would be needed to send a message for each OTel APi call to main and I doubt this makes sense.

Here I was thinking, worker would just send an message (eg:- parentPort.postMessage({type:'createSpan', headers,..}) and the main thread to actually extract context from headers and then start span. I haven't tried this, but just thought.

Hmm, that's really strange. Actually it looks perfectly fine what you do here.
I see no reason why this should result in such a high overhead in worker but work fine in main thread.
I haven't tried a setup like this by myself. Is it possible to strip down your app into a small reproducer you could share here?

Hi, I am sorry I forgot to update this. We found that increasing worker memory (assigning resource limits while creating worker) reduced the CPU usage.

I assume the issue has been resolved. If not, please feel free to share a reproducible that we could take a look at.


Async rules?

I noticed this uses async rules, any particular reason? Seems all the current rules are completely synchronous.
FWIW, if you just want to compose async functions I wrote https://github.com/blakeembrey/throwback. It takes a chain of functions that return promises and any can either return value or return next() to continue execution. Might be a nice middleware pattern here if you want to keep async middleware.

Nice, throwback looks cool!
For async, I wasn't totally sure, but it seemed like keeping it async everywhere (url, html, window) made it nicely parallel, and didn't edge out use cases I hadn't thought of.
For example, there was one thing I had considered doing which was grabbing property="twitter:author:id" meta tags and expanding them by querying the Twitter API to get the author's full name. In a far-down-the-stack fallback for cases where the author isn't surfaced at all. It seemed like keeping it async would allow those kinds of more complex scraping use cases where something actually need to be calculated from the scraped data, without the user having to manage that themselves afterward. But maybe that's too complex...
Definitely most simple scraping cases would be sync.

Closing now since rules can either by sync or async by returning a promise!


Added TakeCommand.netkan

Hi, I'm the author of "Take Command" and would like to have it added to CKAN.
Thanks,
Sean.

Looks good, thanks for the PR.


Crash when opening app on M1

Process:               JXLook [91089]
Path:                  /Applications/JXLook.app/Contents/MacOS/JXLook
Identifier:            org.yllan.JXLook
Version:               0.1.1 (21)
Code Type:             ARM-64 (Native)
Parent Process:        ??? [1]
Responsible:           JXLook [91089]
User ID:               501

Date/Time:             2021-01-25 18:18:03.118 +0100
OS Version:            macOS 11.1 (20C69)
Report Version:        12
Anonymous UUID:        8A97B50A-A3AD-16B5-FABB-EEB884686F4D

Sleep/Wake UUID:       667B3FDD-9FCF-4AAD-8941-0D8556149325

Time Awake Since Boot: 230000 seconds
Time Since Wake:       230 seconds

System Integrity Protection: enabled

Crashed Thread:        0

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Termination Reason:    DYLD, [0x1] Library missing

Application Specific Information:
dyld: launch, loading dependent libraries

Dyld Error Message:
  dyld: Using shared cache: 64510D3B-D7B4-3C73-803C-AD9F01B790AD
Library not loaded: */libbrotlicommon.1.dylib
  Referenced from: /Applications/JXLook.app/Contents/MacOS/JXLook
  Reason: image not found

Binary Images:
       0x1044c0000 -        0x1044c7fff +org.yllan.JXLook (0.1.1 - 21) <E95FBBDE-7A5F-3579-A905-1EFCA07D4BF7> /Applications/JXLook.app/Contents/MacOS/JXLook
       0x10465c000 -        0x1046d7fff  dyld (832.7.1) <B7DB9E8A-A898-3C11-91A0-2B0264F05CB6> /usr/lib/dyld

The crash doesn't happen when I open it using Rosetta, but since it didn't use Rosetta automatically I'm assuming you compiled it as a universal binary and you were expecting it to work on M1. Am I right?

Yes. I expect it to work on M1. Now ordering a new MacBook Air to figure out what's going on.
Thanks for reporting.

Yes. I expect it to work on M1. Now ordering a new MacBook Air to figure out what's going on.
Thanks for reporting.

The estimated shipping date of my M1 MBA is Feb 20. 😡
However it should be fixed in the most recent version. Will release soon.

The estimated shipping date of my M1 MBA is Feb 20. 😡
However it should be fixed in the most recent version. Will release soon.


feat: add VT chat app to README

Add VT app, a minimal multimodal AI chat app with dynamic conversation routing, support both models backend by Ollama.
Thank you!

Thank you so much @jmorganca !


Ensure the sts or deployment created

ref: https://github.com/open-cluster-management/backlog/issues/14308
the problem here we use list with label to get the deployment or statefulset. There has case cannot list the statefulset or deployment with the expected label. there is no error returned.
for the canary test, we can find the test case is running before Deployment observability-grafana is not ready.
Signed-off-by: clyang82<EMAIL_ADDRESS>

FYI @hchenxa


Weird Crash with latest Mekanism

I don't know if it's really Mekanism related, but I get this : http://paste.ee/p/G7E8Z with latest Mekanism, it says it caught an exception from Mekanism, but I don't understand exactly what...
PS : Unrelated, I just noticed, but there isn't any way to balance fusion reaction energy output...
Can you add the energy required for firing up a reactor + the max energy output please ? For balance purposes, as this beast can potentially power all machines in my pack ( even MFR using x10 more power than usual and huge x2 ME system, and still produce WAAAAAAAAAAAY to much ). Please ?

The latest version of Mekanism is no longer compatible with Forge pre-fluid update. You need Forge 10.13.3.X

But there are no recommended forge versions past .1291 ... ( So, what do I do now ? ).

Wait until a new recommended version and use old mod version in the meantime (this can take a while)
or use a newer forge version, I've seen many users playing with 1395


update Urho3D-CMake-common.cmake

Urho3D's version of Urho3D-CMake-common.cmake is quite different than the one used by Urho3D Sample Platformer.  I suspect it leads to build errors.  Particularly, one I'm currently trying to chase down pertains to resource path prefix handling, and copying resources to the CMake build directory when USP is built "out of source".  Even if that doesn't turn out to be the solution to the problem, I bet Urho3D has probably fixed various bugs and changed how things are supposed to behave.

Not wanting to understand things so much as get them to work, I opted to replace the entire \CMake directory with the stuff from the most recent Urho3D.  Also deleted the top level FindUrho3D.cmake file as it duplicates the one contained in \CMake\Modules.  Also moved Build\bin to \bin so that resources would be correctly copied for an out-of-source CMake build.  With these changes and others filed in other issues, I can now run USP.  However all I've got is a menu that gives big button choices of "Play" and "Quit".  I'm not entirely sure what USP is supposed to be capable of, so I'm guessing there is something still wrong with acquiring resources.

It's updated now and should work.


VPAT-465 Fixed focus going to date grid from time component

 VPAT-465 | Date/Time picker | All browsers | Grid of dates cannot be focused


[nextra-theme-docs] Edit On GitHub link on mobile as well

currently only on desktop it visible

yes please, this is needed


Visual understanding of complex algorithms

I want to add a pictorial representation that helps quickly understand the complex algorithms. I will make sure that the representation perfectly aligns with your algorithm steps so that the user easily finds an analogy between the algorithm and its visualization and can seamlessly generate and understand the code. @pankaj-bind please assign me this

not planned


np.copy and memcpy

numpy.copy should be specialized to use memcpy when its argument is an ndarray and not an expression

Checked : current implementation uses std::copy that downgrades to memmove. benchmark don't exhibit significant performance difference with memcpy, so keeping current implementation.


nuxtState not set when nuxt is running in 'spa' mode

Having in default.js
export default function (ctx) {
  console.log('ctx.nuxtState returns undefined', ctx)
  ...
  const uri = '/api/graphql'
  const httpLink = createHttpLink({ uri })

  const link = ApolloLink.from([
    httpLink
  ])
}

And nuxt.config.js
apollo: {
  clientConfigs: {
    default: '~/apollo/client-configs/default.js'
  }
},
mode: 'spa'

ctx.nuxtState never gets set during page load. And thus apollo never runs. Once you turn off spa-mode nuxtState gets set correctly and everything runs smoothly.

This question is available on Nuxt community (#c218)

@dohomi this is not a question but a bug report. cmty automatically closed it.

It was normal nuxtState was not defined since according to the nuxt docs it only works in "universal" mode.


Not working w/o velocity

I had trouble initializing the drone with this line missing.

Thanks!

Thanks!


Add comments chain to email comes from comment of Files Changed in Pull Request

Gitea version (or commit ref):
1.13.0+dev-683-gb725c4ee5
Git version:
2.26.2
Operating system:
Alpine Linux
Database (use [x]):

[X] PostgreSQL
[ ] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[X] Yes (provide example URL)
[ ] No
[ ] Not relevant

Log gist:

Description
When a reviewer replies on the comment in "Files Changed" section in Pull Request, all i get in email is the text of this reviewer.
I suggest adding all the comments chain with the last one.
...
Screenshots

Hi!
I'm seeing the same problem.

I have this problem too. Do you have some resolution?


calamares: 3.2.62 -> 3.3.4

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/calamares/versions.
meta.description for calamares is: Distribution-independent installer framework
meta.homepage for calamares is: https://calamares.io/
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 3.3.0 with grep in /nix/store/28b00yz774ldvr05jsacbgxwxp728ipi-calamares-3.3.0
found 3.3.0 in filename of file in /nix/store/28b00yz774ldvr05jsacbgxwxp728ipi-calamares-3.3.0

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath
calamares
calamares-nixos

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/28b00yz774ldvr05jsacbgxwxp728ipi-calamares-3.3.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A calamares https://github.com/r-ryantm/nixpkgs/archive/75fa4eb4583fa10532f91a34b322130854a56803.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/75fa4eb4583fa10532f91a34b322130854a56803#calamares

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/28b00yz774ldvr05jsacbgxwxp728ipi-calamares-3.3.0
ls -la /nix/store/28b00yz774ldvr05jsacbgxwxp728ipi-calamares-3.3.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package failed to build:

calamares-nixos

1 package built:

calamares

Maintainer pings
cc @manveru @vlinkz for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/calamares/calamares/releases.
meta.description for calamares is: Distribution-independent installer framework
meta.homepage for calamares is: https://calamares.io/
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 3.3.1 with grep in /nix/store/p21gk3y7qn14f0vyc1fi76hd6id3x13x-calamares-3.3.1
found 3.3.1 in filename of file in /nix/store/p21gk3y7qn14f0vyc1fi76hd6id3x13x-calamares-3.3.1

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath
calamares
calamares-nixos

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/p21gk3y7qn14f0vyc1fi76hd6id3x13x-calamares-3.3.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A calamares https://github.com/r-ryantm/nixpkgs/archive/9da16885cb5b6f7f8ee18a92f59ed22c4082a37c.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/9da16885cb5b6f7f8ee18a92f59ed22c4082a37c#calamares

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/p21gk3y7qn14f0vyc1fi76hd6id3x13x-calamares-3.3.1
ls -la /nix/store/p21gk3y7qn14f0vyc1fi76hd6id3x13x-calamares-3.3.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package failed to build:

calamares-nixos

1 package built:

calamares

Maintainer pings
cc @manveru @vlinkz for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/calamares/calamares/releases.
meta.description for calamares is: Distribution-independent installer framework
meta.homepage for calamares is: https://calamares.io/
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 3.3.2 with grep in /nix/store/cpf7bwkj0xffmjagw477s2fzw3hgmsya-calamares-3.3.2
found 3.3.2 in filename of file in /nix/store/cpf7bwkj0xffmjagw477s2fzw3hgmsya-calamares-3.3.2

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath
calamares
calamares-nixos

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/cpf7bwkj0xffmjagw477s2fzw3hgmsya-calamares-3.3.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A calamares https://github.com/r-ryantm/nixpkgs/archive/848dd5ad7da98e3770029340cd4fbd3cf4540766.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/848dd5ad7da98e3770029340cd4fbd3cf4540766#calamares

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/cpf7bwkj0xffmjagw477s2fzw3hgmsya-calamares-3.3.2
ls -la /nix/store/cpf7bwkj0xffmjagw477s2fzw3hgmsya-calamares-3.3.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package failed to build:

calamares-nixos

1 package built:

calamares

Maintainer pings
cc @manveru @vlinkz for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/calamares/calamares/releases.
meta.description for calamares is: Distribution-independent installer framework
meta.homepage for calamares is: https://calamares.io/
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 3.3.3 with grep in /nix/store/sca5vzklnfh739y4r7cdl04lwcc60pz2-calamares-3.3.3
found 3.3.3 in filename of file in /nix/store/sca5vzklnfh739y4r7cdl04lwcc60pz2-calamares-3.3.3

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath
calamares
calamares-nixos

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/sca5vzklnfh739y4r7cdl04lwcc60pz2-calamares-3.3.3 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A calamares https://github.com/r-ryantm/nixpkgs/archive/838e9f15ecded6292cc881fd6348dab1a5f0d007.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/838e9f15ecded6292cc881fd6348dab1a5f0d007#calamares

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/sca5vzklnfh739y4r7cdl04lwcc60pz2-calamares-3.3.3
ls -la /nix/store/sca5vzklnfh739y4r7cdl04lwcc60pz2-calamares-3.3.3/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package failed to build:

calamares-nixos

1 package built:

calamares

Maintainer pings
cc @manveru @vlinkz for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/calamares/calamares/releases.
meta.description for calamares is: Distribution-independent installer framework
meta.homepage for calamares is: https://calamares.io/
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 3.3.4 with grep in /nix/store/k6kfg7vqj86x8hc2m4zpq82xdr2ds51p-calamares-3.3.4
found 3.3.4 in filename of file in /nix/store/k6kfg7vqj86x8hc2m4zpq82xdr2ds51p-calamares-3.3.4

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath
calamares
calamares-nixos

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/k6kfg7vqj86x8hc2m4zpq82xdr2ds51p-calamares-3.3.4 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A calamares https://github.com/r-ryantm/nixpkgs/archive/e9733faeef2631ba2497ae2998b87f6fd65b2cdc.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/e9733faeef2631ba2497ae2998b87f6fd65b2cdc#calamares

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/k6kfg7vqj86x8hc2m4zpq82xdr2ds51p-calamares-3.3.4
ls -la /nix/store/k6kfg7vqj86x8hc2m4zpq82xdr2ds51p-calamares-3.3.4/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package failed to build:

calamares-nixos

1 package built:

calamares

Maintainer pings
cc @manveru @vlinkz for testing.


[NEW ICON] Laravel Orchid

Skill Name
Orchid
Why?
Laravel panel builder
Reference Image

Svg Availability

[X] I have given the official svg version of the logo in the Reference Image field.

Code of Conduct Acknowledgment

[X] I have read and agree to the Code of Conduct.

Example


Add CAFF

https://crates.io/crates/caff-archive

I'm keeping the idea, but as I said, this file format is fairly anecdotal, so I'm not going to support it for the time being.
Thanks!


Implement end-to-end EKS integration test

Implementing feature requested in Issue #100: End-to-end integration test using EKS.
Description of changes:
Using EKS, this new end-to-end integration test covers service exports and imports across two EKS clusters, as well as testing service consumption by the importing cluster. The test is largely based on this blog. The test can be run using the command make eks-integration-suite.
This gives the project an integration test that more accurately represents the actual use-case of the controller, in that it tests the controller's functionalities with two EKS clusters instead of one local cluster, as the previous test had been. Adding this to the project workflows allow for more accurate testing of the current state of the controller, ensuring its core functionalities are maintained across commits.
Testing:

The original integration test,make integration-suite, still runs successfully.
The test has been successfully run multiple times in a row with no manual intervention
Should the test fail for whatever reason, the user is able to run make eks-integration-cleanup and the EKS clusters are properly cleaned for any upcoming tests

Next steps:

This integration test needs be added to project workflow
The test requires the user to manually setup EKS clusters, a guide which will be made available to the public
In the future, possible improvements to the test can be making it a one-touch test, so the user does not have to manually create the EKS clusters

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Codecov Report

Merging #154 (c4402ad) into main (902d864) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #154   +/-   ##
=======================================
  Coverage   74.05%   74.05%
=======================================
  Files          15       15
  Lines        1453     1453
=======================================
  Hits         1076     1076
  Misses        300      300
  Partials       77       77

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 902d864...c4402ad. Read the comment docs.

No blockers for me, thanks for the improvements.

The change to local kubectl usage was because the version in the testbin folder is 1.19.2, and caused some issues when trying to install and uninstall the controller. Local kubectl will be used for now to resolve this issue.


Seaside

Seaside cards!
I've added all the Seaside cards.
Let me know if you have any thoughts.
Below are a few of the more notable changes I made:
Duration Cards
I put the common Duration logic in duration.py.
This includes the ActionDuration base class that handles a lot of the logic for Action-Duration cards.
It also has some common Effect classes used for Durations.
The Player class now has a playmat_persist_counts member.
This member is used to keep track of which Duration cards (and Throne Room variants that played Duration cards) should be left in play at the end of a player's turn.
Player Mats
The Player class now has a mats member for cards to add mats specific to them.
I used this for Island and Native Village.
Distributing Curses
The Game class now has get_opponents() and distribute_curses() member functions.
get_opponents() iterates over a player's opponents in turn order.
distribute_curses() uses get_opponents() to distribute curses.
Doing this in turn order can matter when there are fewer curses in the supply than the number of opponents (the last player(s) won't get curses).
I used these functions in the new Seaside cards and also updated the Base and Intrigue cards where applicable.

@jbw3  Wow this is sick, I've just gotten around to see this. I'll pull changes down and give it a test run tomorrow. Did you have any difficulties implementing these cards? Cool to see the effect changes being used here!

@evanofslack Thanks! It was fun to implement the cards. For some of the durations, it was a little tricky to make sure the effects got registered/unregistered in all the right cases. Some of these tricky cases was using Throne Room with Durations.

@evanofslack By the way, I don't believe I have permission to merge, so feel free to whenever you are ready.


VoNR setup

Hello! I am currently trying VoNR and I have seen #314. I would like to know if sa-vonr-deploy.yaml in the main branch currently supports voice calls? Should I use the branch mentioned in #314? In addition, when I am using the main branch's sa-vonr-deploy.yaml, the upf will report the error 'can't find FAR by error indication'. Is this normal?

Hey,

I would like to know if sa-vonr-deploy.yaml in the main branch currently supports voice calls?

No it doesnt

Should I use the branch mentioned in https://github.com/herlesupreeth/docker_open5gs/discussions/314?

yes

In addition, when I am using the main branch's sa-vonr-deploy.yaml, the upf will report the error 'can't find FAR by error indication'. Is this normal?

I am not sure what scenario you are testing with main branch so cant say why you are seeing that log

ok, thx for your help, I will try it again.


Tutorials Overhaul

This PR will be broken up into a few pieces. All based on this DIP-002

[x] Overhaul the "Deploy A Contract" page to be local-first and use suave-geth spell
[x] Introduce new page to emphasise onchain-offchain programming model in detail
[x] Introduce new page to illustrate next stepp in building a SUAPP after emitting logs and understanding the programming model. Will be done after further consultation with @ferranbt about which suapp-pattern is most illustrative.
Do we go full app-ofa-private and then how-to-store-a-pvt-key-and-do-cool-stuff-with-it? Or leave the onchain-offchain where it is and introduce confidential storage with the pvt key example?

TODO in follow up PRs, detailed in DIP003 and DIP004.
Remember to add information to the offchain-http page in "Concepts" section. I would really appreciate it if @dmarzzz or @ferranbt could take a first run at what absolutely should be on this page, which I can then refine and edit.

This PR requires https://github.com/flashbots/suave-geth/pull/230 to land before it can be merged, as that has the alterations needed for spell to work as documented.


Bot tries to do stuff when user replies to bot messages

Describe the bug
When bot works, it sends messages to users. When user tries to reply to such message with some text, then bot accepts it as a command and tries to do something according to user sent text.
This is not valid behavior for bot. Bot should only listen to commands started with slash "/...".
To Reproduce
Steps to reproduce the behavior:

Go to bot and send any command.
Double-click on received message from bot
Send some text as a reply
See help message from bot.

Expected behavior
Bot should not try to reply to such messages. Or it should?
Since bot only understands such messages that starts with slash "/..." it has to check it before send it to integration flow. So if user replies with some text to bot message, it shall check if command is valid and starts with slash, and only then send this message in integration flow. If message is any text or not valid command, then ignore such messages.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: Windows
Telegram for windows
Version 4.11.6

Additional context
To think if such behavior has to be implemented or not. Since telegram bot API is designed to work like this, to work with messages that has been sent to bot via reply method, then it's probably the correct way of bot functioning. Bot still understands correct commands started with slash.

In PR #113 made bot ignore user replies to messages sent by bot with any not valid text (not in command list and not starts with slash)


trim(): Use default 'mask' when it is empty

The default 'mask' value is pretty complex, as it includes many characters.  Yet, if one needs to specify the trimming direction, the third argument, 'trim()' currently requires the 'mask' value to be provided explicitly.
Currently, an empty 'mask' will make 'trim()' call return 'text' value that is passed in unmodified.  It is unlikely that someone is using it, so the chances of scripts being broken by this change are low.

An alternative approach is to use v:none instead of an empty string: https://github.com/vim/vim/pull/13363.

Would v:none be more appropriate than an empty mask?
v:none		[...]
		This can also be used as a function argument to use the
		default value

Would v:none be more appropriate than an empty mask?
v:none		[...]
		This can also be used as a function argument to use the
		default value

Here: https://github.com/vim/vim/pull/13363
It seems to make sense from the user standpoint.
But it would be the first time a built-in function uses v:none to mean "use default value".

it would be the first time a built-in function uses v:none to mean "use default value"

I didn't know that.

I have included #13363 so we can close this one then. Thanks!

Would v:none be more appropriate than an empty mask?
v:none		[...]
		This can also be used as a function argument to use the
		default value

Here: #13363
It seems to make sense from the user standpoint. But it would be the first time a built-in function uses v:none to mean "use default value".

looks vim's tradition or used to use '' empty string to stand for 'default', cannot remember somewhere else had 'v:none'
if this is true, i think this is a bad start, which going to diverge or confuse, is it still possible to revert back to '' ?

@ilya-bobyr please consider to revert to use '' instead by reopen or another  PR.

For personal use, I don't care one way or the other. And as I mentioned, I was not aware v:none was not used with builtin functions; even for one of v:nones documented purposes in builtin functions.
But using v:none is much cleaner, safer, and consistent than the traditional method (magic value of given type); and an improvement to the language. I hope moving forward it can, and is, used to request the default value for builtin functions as well as user functions.
In this case the assumption is made that mask is hardcoded and not a computed value.

I also think that the fact that existing functions use a magic value to mean "default" is not the best argument.
It is a know antipattern, and if Vim9 has already introduced a better alternative, why not use it?
It has to start somewhere - one of those functions will be the first :)
So, maybe the question should not be "should an empty string be used", maybe it should be "is there a good reason not to use v:none"?

to me I am not interested in what's the difference between v:none v:null '' 0 zero or something else, and the difference between is == or something else. to me as long as let me happy & ran performance to script is good enough.

I agree. The most important thing is being able to get the job done.

to me as that's the tradition and if no good reason to change, (i donot think it is a magic value, here it is a string), then I think as vimer we should insist.

I see a distinction between magic value and special value as a parameter

magic value
if a parameter is normally a string, and one particular value of string means something entirely different, '' in this case means default value, then I call that a magic value.
special value
a parameter that is not of the expected type that means something, in this case v:none means default value.

I don't like "magic value", and would rather have a "special value". A "magic value" can run into problems; for example if you want the parameter to mean its ordinary meaning and not its magic meaning.

// but let me introduce another popular language's principle: 'less is more'.
// and I guess you are both from c++ or Java background 😄

// There's too many issues  there; a different discussion for another day ;-)

to me I am not interested in what's the difference between v:none v:null '' 0 zero or something else, and the difference between is == or something else. to me as long as let me happy & ran performance to script is good enough.

I agree. The most important thing is being able to get the job done.

@errael um... donot get me wrong, no job bother me.. ahaha..
i just say '' is a tradition rule and simple&clear, so i recommend let's follow,
let's have fun! anyway~ :smile:
--
shane.xb.qian


Exit with helpful error messages if vars are unset

Only one minor point. It will need a rebase in order to pull in the new Drone config.

@daniel-ac-martin ^^^

@easternbloc: You've still got the -z check in there that you don't need.

dammit!

Just needs a buttery biscuit.

@daniel-ac-martin buttered!


Adapt Sedge to handle the current keystore format used by Charon

🎯 Problem to be solved
Sedge expects a specific keystore directory structure to import keys, which is different from the structure used by Charon.
🛠 Proposed solution

[ ] Manually test the key import process by restructuring the keystore directory to match Sedge's expected format
[ ] If the manual test is successful, update Sedge to handle the current keystore format used by Charon
[ ] Alternatively, if the manual test fails, investigate and address any underlying issues with the key import process

Please add your planning poker estimate with Zenhub @sugh01


Add Ansel and Jason to AUTHORS

@anseljh, @jboehmig: Might each of you send me a pull request adding
yourselves to the AUTHORS file? Doing so is the easiest way I know to
keep record that all contributors license their contributions CC0-1.0.
@anseljh, for you, a line like:
Ansel Halliburton<EMAIL_ADDRESS>
@jboehmig: You might do:
Jason Boehmig<EMAIL_ADDRESS>(https://ironclad.ai) [Ironclad, Inc.]

I will insist that contributors make similar changes for new PRs going
forward. That we we've a clear record that we're copyright clean.

@jboehmig: If you can't get to adding yourself to AUTHORS, might you give me permission to add a commit doing so in your name?


Only consider windows on the current virtual desktop when moving tab to next window

I use Windows virtual desktops a lot in my workflow, on each desktop I might have 1 or 2 Firefox windows open. It would be helpful if this extensions would move the tab between the two windows on the current desktop (or open a new window in case there is only one open).
Currently, the tab will get moved between open windows on all desktops, which isn't that useful to me (as it limits me to one virtual desktop).

Second this!


A silent sign-in request was sent but no user is signed in.

Library

[ ]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>
Framework

[ ]<EMAIL_ADDRESS>
Description
I'm using MSAL library in my project. I'm facing issue in auto token renewal.
When the id token is expired and our application tries to generate access token, it does not refresh the id token and throws, "msal:acquireTokenFailure" event while getting access token.
AADSTS50058: A silent sign-in request was sent but no user is signed in.
Trace ID: 4a70467a-cdac-4edf-88da-04b31ef82800
Correlation ID: 04e87429-0fbe-4d4c-84da-170f290f1738
Timestamp: 2020-08-06 08:33:24Z
We found that, we can subscribe to this failure event using broadcast service and then re-trigger the login process using loginRedirect().
MSAL Configuration
const protectedResourcesKeysLocal: Map<string, string> = new Map<string, string>();
protectedResourcesKeysLocal.set('<ADMIN_API_ENDPOINT>', '<ADMIN_API_AZURE_CLIENTID>');
protectedResourcesKeysLocal.set('<ENGINE_ENDPOINT>', '<ENGINE_AZURE_CLIENTID>');
protectedResourcesKeysLocal.set('<AUDITSAPI_URL>', '<AZURE_AUDITSAPI_ID>');

const msalConfig: IMsalConfiguration = {
  clientIdKey: '<ADMIN_UI_AZURE_CLIENTID>',
  authorityURLKey: '<AZURE_AUTHORITY_ENDPOINT>',
  azureRedirectURIKey: '<REDIRECT_URI>',
  azureLoggingEnabledKey: '<isLoggingEnabled>',
  extraQueryParametersKey: '<EXTRA_QUERY_PARAMETERS>',
  unprotectedResourcesKeys: [],
  protectedResourcesKeys: protectedResourcesKeysLocal
};

Expected behavior
msal library should handle this case and should redirect user to login screen.
id token and access token should be renewed without throwing any error.
Browsers/Environment

[ ] Chrome

Hi @w595shubham . This is a known issue with msal-angular, which we are planning to address soon. We'll follow up when it has been added to msal-angular.

@hectormmg any updates on this? Will updating to msal 1.4.0 resolve this issue? We are not using msal-angular, just msal.

@rugglcon if you are seeing this behavior in<EMAIL_ADDRESS>I'd expect to see it fixed when we release 1.4.1, based on the changes in #2206.


epinio-cli

Requested Feature
Like heruku-cli, i would like to see epinio-cli
https://docs.epinio.io/installation/install_epinio_cli

@gitricko Thanks for the suggestion! The feature has been added, and can be used in the following way:
"features": {
    "ghcr.io/devcontainers-contrib/features/epinio:1.0.0": {}
}


template modifications

i have removed RewriteBase / line already everything is working fine it just doesnt load the extra css code for the modifiactions i made

@Kimson11 Do you read this:
Little explanation about the installation - if you paste installation of project in directory something like http://localhost/SHOP, you must set this directory to application/config/config.php - $config['base_url'] = 'http://localhost/SHOP'; and must remove from .htaccess file "RewriteBase /" line because css and js files will not be loaded! But you must know that the best way to install this platform is to set it in root http://localhost directory or if you want to be in other directory just set virtual host for this and point him to there. (example: http://shop.dev - point to localhost/shop directory). How to create virtual hosts you can read here: http://goo.gl/UvpYMG
?

yes installation procedure in the readme file


Add parse_ion processor

Description
Add parse_ion processor.
This collects most of the logic based on the common config options into an abstract class AbstractParseProcessor.
Since Ion is a superset of JSON, I inherited the JSON test suite for the Ion processor, and added an additional test to ensure that the Ion specific features work correctly.
Note: Since eventually the parsed objects need to be converted to JSON, Ion Timestamps are parsed into ISO-8601 Z strings. Ion Blobs are parsed into base64 encoded strings as per default Jackson behavior. Annotations are currently stripped entirely; in the future we could possibly add config options to support exposing them as extra fields (e.g. {foo: bar::"baz"} => {"foo": "baz", "foo$annotations": ["bar"]}).
Documentation Issue: https://github.com/opensearch-project/documentation-website/issues/5769
Issues Resolved
Resolves #3730
Check List

[X] New functionality includes testing.
[X] New functionality has a documentation issue. Please link to it in this PR.

[X] New functionality has javadoc added

[X] Commits are signed with a real name per the DCO

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

@dlvenable Thanks for the review, the latest commits should resolve your comments :)


upgrade pict-rs to 0.4.2

Update pict-rs to  0.4.2
Increment LED
I've been testing this for a little bit and everything seems to be running just fine.

Hey there, thanks for the PR!
I really do appreciate you working to upgrade and test this. But as a rule, I like to keep parity with the "official" Lemmy deployment, which currently still uses 0.4.0:
https://github.com/LemmyNet/lemmy-ansible/blob/a95c3321c3611ab0616dae361ded35c21b9da206/templates/docker-compose.yml#L52
However, I will leave this PR open for now. If Lemmy 0.18.5 rolls by and they still haven't upgraded their pict-rs version, and your own server doesn't have any issues running 0.4.2, (I can't imagine it would), I'll go ahead and accept this version change :)

No worries! I didn't realize the official was still on 0.4.0. I was mainly interested in the new timeout feature in hopes that it would help my free tier Google Cloud instance stop freezing up!
I am in the Matrix chat linked on join-lemmy.org and it seems some of the bigger instances have migrated to 0.4.2 successfully, including Lemm.ee.
And no rush in accepting this pull request. I just knew you said you were busy yesterday so thought I'd contribute what little I could!

Turns out Lemmy is using 0.4.3 now!

Even better!


Add Kontena to Platforms

Disclaimer: I'm one of the founders of Kontena
www.kontena.io

+1

Added

Hi @miskun please find in 0.9.4 https://github.com/cncf/landscape/tree/master/landscape


Feature request: Add an option for vue-tsc to report unused slots and css statements

Inside VSCode I see that Volar shows reference count for slots and css statements:

Is it possible to add an option for vue-tsc to report slots and css statements with zero references?

Thanks for the suggestion, but unfortunately there is no proper way to implement this feature, and we cannot count references accurately.


geom_3d in interventions table ?

Why is there a geom_3d in m_t_intervention while it is already in e_t_evenement ?
Also in m_t_intervention, the relation with e_t_evenement is now the column topology_id while it is called "evenement" in other tables (such as o_t_itineraire, f_t_foncier).
It can be renamed topology_id or evenement_id (maybe better as the table is title e_t_evenement, sorry for the French...) but it should be the same everywhere.

Quand cette modification sera faite, il faudrait certainement adapter la VUE des interventions pour qu'elle continue à fonctionner.


Update mark-definite-framework-results to log Jenkins user in audit logs

We want the Jenkins user who starts the mark-definite-framework-results to be recorded in our audit log, so we can see later who made a change.
By default the mark-definite-framework-results script uses the unix username, which on Jenkins is not very useful. Instead we use the build tag and build user envvars from the build user vars plugin to make a more useful message.

I've tested this on Jenkins


Make examples files check if matplotlib is available.

Yes, that would be better.
I'll merge for now and maybe there's a rethink of plotting needed in general ... something for the new discussions channel perhaps?


Metric to evaluate recommendations

There is currently no metric to evaluate the quality of recommendations, so you will have to get a sense for how "good" the recommendations are based on how people react to the recommendations.
We need to set up a framework for A/B testing models with users. We want the framework to be ready when the app has users, so iteration can be done quickly.

We have developed rough user surveys to evaluate model performance. This is still a work in progress, and an area for future development.


Borrowable container prototype

This is a very early draft of an in-memory container construct that supports noncopyable elements and provides direct borrowing access to its storage.

The Container protocol is a noncopyable amalgamation of multi-pass Sequence types and a limited subset of Collection. The same construct provides both iteration and indexing.
Iteration is done by exposing Spans over in-memory storage. Indices are better integrated with iterators -- we can start an iterator at a given index, and retrieve the index for the current position of any iterator.
Container has a BorrowingIteratorProtocol sister protocol. This may get merged into Container to reduce the number of conformances needed, but initial drafts implied that would not lead to a satisfying user experience.
Container has no equivalent for Indices nor SubSequence. If stored borrows become a thing, then these may come back, although perhaps not as customizable associated types.
We have BidirectionalContainer and RandomAccessContainer replicating the old collection hierarchy. I decided against doing clever associatedtype BidirectionalIndex trickery to reduce the number of protocols; although that idea solves some vexing issues with conditional conformances, initial drafts indicated that it obfuscates things too much.
The new HypoArray type is a noncopyable, heap-allocated, not implicitly resizing (but explicitly resizable) variant of Array that supports noncopyable elements. ("Hypo-" hints at "under" or "bottom". It pains me to capitalize the name like this; we may return to Hypoarray later.)
The new DynoArray type is a noncopyable, heap-allocated, implicitly resizing variant of Array that supports noncopyable elements. (This roughly corresponds to std::vector in C++.) ("Dyn-" hints at "force" or "power".)
The new HypoDeque and DynoDeque types implement the same variants for Deque.
For flat containers, the preexisting unsafe handle types are sort of equivalent to non-owning, unsafe variants of the hypo types. (HypoDeque is in fact directly using its unsafe handle as its storage representation.)
It may make sense to convert these to nonescapable, safe(r) constructs later, shared by all variants of the same data structure. (However, this nonescapable type cannot serve as storage representation, which is going to be annoying.) It may even make sense to make these nonescapable handle types public -- for example, in Array's case, this handle type is roughly the same as OutputSpan. However, Array is a special case; it is unclear if doing this would make sense for other data structures.
The preexisting Deque is reformulated to use the same unsafe handle type as HypoDeque and DynoDeque.

The immediate next item on my todo list is to investigate the last item's impact on Deque's performance.
Checklist

[X] I've read the Contribution Guidelines
[X] My contributions are licensed under the Swift license.
[X] I've followed the coding style of the rest of the project.
[ ] I've added tests covering all new code paths my change adds to the project (if appropriate).
[ ] I've added benchmarks covering new functionality (if appropriate).
[ ] I've verified that my change does not break any existing tests or introduce unexplained benchmark regressions.
 Something has gone badly wrong, and it's worth investigating.

The 7x performance regression was mostly because of runtime exclusivity checks on Deque._Storage._value. Taking that out reduced to gap to ~30%, which is a lot more acceptable.

There is some new constant(ish) overhead that causes trouble for append and Deque.init(UnsafeBufferPointer):

The UBP initializer used to be as fast as Array's, but it can now be as much as ~8 times slower, until the effect disappears at ~8k items.
I'm not yet sure what this is. We're now doing two allocations per Deque instance, but this smells different. This is worth a look, too.

We're now doing two allocations per Deque instance, but this smells different.

Maybe not -- these benchmarks were taken on a Linux VM, and I don't have a good instinct on the complexity of the default allocator there.


Add way to specify library paths

Some targets may use different lib paths for linker for different target-triplets.
Allow change:
project.paths.include ?=
project.paths.lib ?=

target.paths.include ?=
target.paths.lib ?=

build.paths.include += $(target.paths.include) $(project.paths.include)
build.paths.lib += $(target.paths.lib) $(project.paths.lib)

Fixed in commit #952bae09155b2cdde888fb171f05a0cad1179f77


Mock up add/save goal screen in provider app

Screen mockup and requirements for "Add/save" goal in provider app.

Which fields need to be shown?
Which fields are mandatory?
Prompt/description text?
Requirements for goal relationships (i.e., observation, target measures, condition)

[Uploading... Card 118 Add Goal.docx]

https://app.zenhub.com/files/430794588/72272581-f425-4397-9612-5dd2d9686896/download

Google Drive: https://docs.google.com/document/d/1zLTr_L2wSA4q0l-wUoawA315DpCQjJ7P/edit?usp=sharing&ouid=114658391514455419481&rtpof=true&sd=true


fix inc quantized model loading

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.


TECH-4995: fix bug detecting compound primary keys in Rails 4

[0.4.1] - Unreleased
Fixed

Fixed a bug detecting compound primary keys in Rails 4.

@jebentier FYI, I had to make a couple changes to get the tests green, and I had to generalize the function with the old hack in it to run if in sqlite || Railsl 4.


Package Reorganization by Type

I  would suggest reorganizing the installation packages by TYPE, for example, if a person is looking only for text editors, or software development packages, in this way the list is packages if more short in the client-view.

This take some modify in the method to get info of packages, but it can be made even in yapi. I copy this issue and put in yapi.

I have sent an invite to join the slack channel and have invited to the organization. Please join all channels in the slack group for rewrite and yapi for notifications on updates and build status.

 #5 - Package reorganization by type

How should we get information if packages are put onto a github repo online. I have an idea of a json file, however that means that we must generate it for every change and we would need to change the search functionality to allow for type.


Apa102 not behaving as expected

I'm not sure if this is a bug or not, but I'm seeing the following behavior when using the Apa102 LED/pixel strip:
I'm trying to turn the pixels/LEDs on when pressing one of the buttons and off after releasing:
    private void doRainbow(boolean pressed) {
        Log.d(TAG, "rainbow pressed: " + pressed);
        ledstrip.setBrightness(1);
        try {
            int[] rainbow = new int[NUM_LEDS_IN_STRIP];
            if (pressed) {
                for (int i = 0; i < rainbow.length; i++) {
                    rainbow[i] = Color.HSVToColor(255, new float[]{i * 360.f / rainbow.length, 1.0f, 1.0f});
                }
            } else {
                for (int i = 0; i < rainbow.length; i++) {
                    rainbow[i] = Color.HSVToColor(0, new float[]{0, 0, 0});
                }
            }
            Log.d(TAG, "rainbow being written: " + rainbow[0] + " " + rainbow[1] + " " + rainbow[2] + " " + rainbow[3] + " " + rainbow[4] + " " + rainbow[5] + " " +rainbow[6]);
            ledstrip.write(rainbow);
//            ledstrip.write(rainbow); <--- if I write 2x, this all works as expected
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

This doesn't seem to work. It'll end up reversing what I want to have happen (will be on when not pressed even though the log indicates I just wrote [0,0,0,0,0,0,0] to the ledstrip).
If I write 2x, it works as expected. Am I misusing this, or is it a bug?

Will try to reproduce with the bare Apa102 driver.

I think I am observing the same behaviour - when I set colors to the strip, they start lighting up with a step delay https://github.com/tomaszrykala/DoReFindMi/issues/3

I'm experiencing the same thing however I don't think it's the Apa102 that's the problem.
I have a button press method containing two method calls, one after the other:
The first one clears the AlphaNumericDisplay;
    private void clearText() {         AlphanumericDisplay segment = null;         try {             segment = RainbowHat.openDisplay();             segment.setEnabled(false);             segment.close();         } catch (IOException e) {             e.printStackTrace();         }     }
The second one writes a colour to the Apa102;
 private void lightLedStrip(float[] hsvColor) {         Apa102 ledstrip;         try {             ledstrip = RainbowHat.openLedStrip();             ledstrip.setBrightness(1);             int[] colors = new int[RainbowHat.LEDSTRIP_LENGTH];             for (int i = 0; i < colors.length; i++) {                 colors[i] = Color.HSVToColor(hsvColor);             }             ledstrip.write(colors);             ledstrip.close();         } catch (IOException e) {             e.printStackTrace();         }     }
A button press will call one of these two methods per turn.

I believe this is likely the problem we're seeing: http://blog.pimoroni.com/apa102-variants/

It turned out that the solution was just to increase the number of clock cycles in the end frame to the magic number of 36 (!?), and everything behaved as expected.

The specific commit for their python lib - https://github.com/pimoroni/blinkt/commit/829aac0106bb08b6d10bba5c3ad001b468622c39.
While messing around with the apa102 on another platform, I discovered writing an additional 4 bytes (a full LED frame) before the closing sequence (1*32) made everything work for me.

https://cdn-shop.adafruit.com/datasheets/APA102.pdf

@loeschg +1 for diagnosing the issue!

I should add that my solution isn't perfect. I end up getting a brief flash on the rightmost led (I assume due to whatever my additional led frame gets evaluated as). If I figure out a better solution, will post back here.

This should be fixed in apa102 driver version 0.4. Please verify.

Fixed with https://github.com/androidthings/contrib-drivers/commit/f8cd83c005ca70d97ed1c60f35e71adcf5cc9276
Thanks for the diagnosis @loeschg!


Added MessageID AUG

added Message ID AUG (AUG | Application server started) to help determine if audit shutdown was due to application shutdown

#sign-off

Learn Build status updates of commit 896db77:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

articles/sentinel/sap/configure-audit.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

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

#sign-off


Looks nice + is buggy

Hi, I give up because it works not with a Ubuntu 18.04 LTS and it is buggy! Sorry ;-(

Hi, use centos 7, I warned about ubuntu


Discord Loader: Loop already running

When running the discord loader example (I am using my own discord_token and my own channel _id):
from llama_index import download_loader
import os

DiscordReader = download_loader('DiscordReader')

os.environ['DISCORD_TOKEN'] = 'O...s'

channel_ids = [6...0]  # Replace with your channel_id
reader = DiscordReader()
documents = reader.load_data(channel_ids=channel_ids)

I get a "Loop already running" runtime error:
File c:\Users\TheDr\Anaconda3\envs\python310\lib\site-packages\llama_index\readers\llamahub_modules/discord/base.py:128, in DiscordReader.load_data(self, channel_ids, limit, oldest_first)
    123     if not isinstance(channel_id, int):
    124         raise ValueError(
    125             f"Channel id {channel_id} must be an integer, "
    126             f"not {type(channel_id)}."
    127         )
--> 128     channel_content = self._read_channel(
    129         channel_id, limit=limit, oldest_first=oldest_first
    130     )
    131     results.append(
    132         Document(channel_content, extra_info={"channel": channel_id})
    133     )
    134 return results

File c:\Users\TheDr\Anaconda3\envs\python310\lib\site-packages\llama_index\readers\llamahub_modules/discord/base.py:96, in DiscordReader._read_channel(self, channel_id, limit, oldest_first)
     92 def _read_channel(
     93     self, channel_id: int, limit: Optional[int] = None, oldest_first: bool = True
     94 ) -> str:
     95     """Read channel."""
---> 96     result = asyncio.get_event_loop().run_until_complete(
     97         read_channel(
     98             self.discord_token, channel_id, limit=limit, oldest_first=oldest_first
     99         )
    100     )
    101     return result
File c:\Users\TheDr\Anaconda3\envs\python310\lib\asyncio\base_events.py:617, in BaseEventLoop.run_until_complete(self, future)
    606 """Run until the Future is done.
    607
    608 If the argument is a coroutine, it is wrapped in a Task.
   (...)
    614 Return the Future's result, or raise its exception.
    615 """
    616 self._check_closed()
--> 617 self._check_running()
    619 new_task = not futures.isfuture(future)
    620 future = tasks.ensure_future(future, loop=self)

File c:\Users\TheDr\Anaconda3\envs\python310\lib\asyncio\base_events.py:577, in BaseEventLoop._check_running(self)
    575 def _check_running(self):
    576     if self.is_running():
--> 577         raise RuntimeError('This event loop is already running')
    578     if events._get_running_loop() is not None:
    579         raise RuntimeError(
    580             'Cannot run the event loop while another loop is running')

RuntimeError: This event loop is already running

Thank you. Yes, after installing nest-asyncio and calling it within my code it worked. I think the example needs to be amended to reflect this:
from llama_index import download_loader
import os
import nest_asyncio

nest_asyncio.apply()

DiscordReader = download_loader('DiscordReader')

os.environ['DISCORD_TOKEN'] = 'O...s'

channel_ids = [6...0]  # Replace with your channel_id
reader = DiscordReader()

yeah the example was more for general code usage not for jupyter use. but glad to see this is resolved, closing issue for now


Update or clean install of @code <IP_ADDRESS> displaying blank screen and consuming CPU

VSCode Version: <IP_ADDRESS>
OS Version: Windows Server 2012 R2

Steps to Reproduce:

Install or Update to <IP_ADDRESS>
Run

@kevsully do you mind taking a look at these steps https://github.com/Microsoft/vscode/issues/14222#issuecomment-255724170 by @bpasero to help us understand what's the problem?

@kevsully are you running Windows on a VM?

Hi bpasero, sorry for delay. I'm looking at this again now. Yes the 2012 R2 box(es) are hosted in Azure. I'll try the steps you mention above and let you know.

OK, so I looked through the previous #14222 and mine is a bit different as there are no extensions, no preview build, just a clean new install. I tried it on upgrade as well and had same experience. Azure server instance. Happy to share or do a screen share with someone if interested as it is easy to repro... takes just a few minutes.

This seems to be https://github.com/Microsoft/vscode/issues/13882


Show Active/Inactive pill for workflow rules

When displaying workflow rules in the impact analysis - can you show if the workflow rule is active or not in a little pill much like you do with read/write on apex classes, etc...
Thanks

Hey @DanBeerNebula , this is coming up in HappySoup 2.0 which comes out later this year. I'm not doing any new dev work on the old HappySoup so we'll have to wait a bit but it'll be there! There will also be pills to show what type of workflow it is (i.e create only, or update, etc).

Hey @pgonzaleznetwork - I thought you might say it will be in 2.0!
The type of workflow is a great idea!
Thanks,

No worries, thanks for reaching out!


After setup, it tells me that i have to use same wifi and enable bluetooth

I'm in the same wifi, apple id with both devices, bluetooth is activated but it doesn't work.
Versions:
Macos 15.1
Ios 18.0.1

this is probably not related to this patch, id encounter these issues even if I used the feature "officially" (with an US App Store account), sometimes Mac+iPhone connection just breaks but a reboot usually fixes that

already tried rebooting (both) didn't work


Is there a way to get bulk request failed items via save all or in the exception object

Hi , I am using spring data jest to index some of my bulk data sets using spring data saveAll method . THis breaks sometimes and throws an exception as below
om.github.vanroy.springdata.jest.exception.JestElasticsearchException: Cannot execute jest action , response code : 200 , error : One or more of the items in the Bulk request failed, check BulkResult.getItems() for more information. , message : null 	at com.github.vanroy.springdata.jest.mapper.DefaultErrorMapper.mapError(DefaultErrorMapper.java:30) 	at com.github.vanroy.springdata.jest.JestElasticsearchTemplate.execute(JestElasticsearchTemplate.java:1218) 	at com.github.vanroy.springdata.jest.JestElasticsearchTemplate.execute(JestElasticsearchTemplate.java:1208) 	at com.github.vanroy.springdata.jest.JestElasticsearchTemplate.bulkIndex(JestElasticsearchTemplate.java:697) 	at org.springframework.data.elasticsearch.repository.support.AbstractElasticsearchRepository.saveAll(AbstractElasticsearchRepository.java:184)
This is fine but could there be a way to get the bulk result object in the exception throws so the calling client can be aware of how to handle and debug the same .

Hi @gauravbrills ,
You can catch JestElasticsearchException and use getResult to retrieve result data.
Exemple :
try {
    result = elasticsearchTemplate. bulkIndex(XXX)
} catch(JestElasticsearchException e) {
    ((BulkResult) e.getResult()).getItems()
}

Please keep me in touch if it works for you.

@VanRoy  Ya I am aware of the above approach and doing by using the same in my custom repository . but could we ha some custom method to do this some kind of abstraction in a a jest specific repository . Though I agree the design of jest is to follow core spring data  elasticsearch interfaces .
Though not a major issue ..

@gauravbrills Indeed, I try to stay close as possible to SDE. But your idea could be interested, I will think about it.
Thanks for your feedback.
Julien.


Revert to v0 behaviour for string coercion

As in v0, strings are once again coerced to token nodes (instead of string nodes).
Effective fixes for coerced strings:

character escaping handled automatically
string "a\nb\nc" is no longer interpreted as a string appearing on multiple lines.

Bring some clarity to rewrite-clj.node/string-node's usage and
expectations via its docstring.
Alternative to PRs #216 and #217.
Fixes #214

Failed build jobs seems to maybe be related to different versions of GHA runner images... and node... and node cache... and ???.
CI build output for npm install
npm ERR! code EACCES
npm ERR! syscall open
npm ERR! path /Users/runner/.npm/_cacache/tmp/5c0e8b0b
npm ERR! errno -13
npm ERR!
npm ERR! Your cache folder contains root-owned files, due to a bug in
npm ERR! previous versions of npm which has since been addressed.
npm ERR!
npm ERR! To permanently fix this problem, please run:
npm ERR!   sudo chown -R 501:20 "/Users/runner/.npm"

npm ERR!      /Users/runner/.npm/_logs/2023-02-16T18_29_41_010Z-debug-0.log
Error: Process completed with exit code 243.

Does not seem to be related to workflow cache, it only tries to cache ./node_modules.
Failing on runner image macos-12 version 20230214.2...
similar job passing on runner image macos-12 version 20230205.1...
Seems GitHub is rolling out an update...
Retry on failed jobs did not work, but perhaps retry chooses the same runner image as failed job.
Seems like the new default of node for newer image is v18... probably related to that?
I'll try an empty commit to trigger a new build and see what happens.

Ok, yeah, caught GitHub in a middle of a runner image release.
More macos jobs are failing now.

@borkdude when you have a chance this is the proposal that I understood us agreeing to.
If you have any thoughts or second thoughts, happy to hear them.

I'll take a last glance tomorrow and then I'll try to backport it to clj-kondo.

LGTM!


Add lineupSlot to basketball Player object

The lineupSlotId field represents the slot in the team lineup that a player occupies during the current matchup. This information may be useful for optimizing lineups or predicting matchup outcomes.
I verified this change against my team in a private league, but I'm not sure if there are any other steps I should take—let me know if I missed anything 😄
>>> for player in my_team.roster:
...     print("{:>2} {}".format(player.lineupSlot, player.name))
...
SG James Harden
IR Jimmy Butler
 C Nikola Vucevic
PG Kyle Lowry
 G D'Angelo Russell
UT Brook Lopez
PF Lauri Markkanen
UT Devonte' Graham
IR Kevin Love
BE Rui Hachimura
BE Darius Bazley
SF Keldon Johnson
 F Robert Covington
BE DeAndre Jordan
UT Delon Wright

Codecov Report

Merging #175 (6f3b62c) into master (705725d) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master     #175   +/-   ##
=======================================
  Coverage   93.31%   93.31%
=======================================
  Files          22       22
  Lines         867      868    +1
=======================================
+ Hits          809      810    +1
  Misses         58       58

Impacted Files
Coverage Δ

espn_api/basketball/constant.py
100.00% <ø> (ø)

espn_api/basketball/player.py
96.00% <100.00%> (+0.16%)
:arrow_up:

Continue to review full report at Codecov.

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

Codecov Report

Merging #175 (6f3b62c) into master (705725d) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master     #175   +/-   ##
=======================================
  Coverage   93.31%   93.31%
=======================================
  Files          22       22
  Lines         867      868    +1
=======================================
+ Hits          809      810    +1
  Misses         58       58

Impacted Files
Coverage Δ

espn_api/basketball/constant.py
100.00% <ø> (ø)

espn_api/basketball/player.py
96.00% <100.00%> (+0.16%)
:arrow_up:

Continue to review full report at Codecov.

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

Awesome, this looks great! Thanks for contributing!

Awesome, this looks great! Thanks for contributing!

Now part of package version v0.11.0!

Now part of package version v0.11.0!

Thanks! 🤩

Thanks! 🤩


chore: bdd-nh-1586897225 to 0.0.1

chore: Promote bdd-nh-1586897225 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Automated: Bump Docker images

Hello! This is an automated pull request.
I have looked for the following Docker images, and updated your files referencing any version(s) of these images:

qlikcore/mira:2.0.0
qlikcore/engine:12.368.0
qlikcore/licenses:1.1.4

The true way to render ourselves happy is to love our work and find in it our pleasure.  (Francoise de Motteville)

Coverage remained the same at 89.802% when pulling 3046a5ddab1f6d5526d547f7432c7cae0ac90963 on docker-images/1555480799 into 7c1b5a822f7745a3403901cf432bd58b9c9f581c on master.


Enhancement/Programming Exercise/Improve failed submission handling

Checklist

[x] I tested all changes and all related features with different users (student, tutor, instructor, admin) on the test server https://artemistest.ase.in.tum.de.
[x] ~Server: I added multiple integration tests (Spring) related to the features~
[x] Server: I added @PreAuthorize and check the course groups for all new REST Calls (security)
[x] Server: I implemented the changes with a good performance and prevented too many database calls
[x] Server: I documented the Java code using JavaDoc style.
[x] ~Client: I added multiple integration tests (Jest) related to the features~
[x] ~Client: I added authorities to all new routes and check the course groups for displaying navigation elements (links, buttons)~
[x] Client: I documented the TypeScript code using JSDoc style.
[x] ~Client: I added multiple screenshots/screencasts of my UI changes~
[x] ~Client: I translated all the newly inserted strings into German and English~

Motivation and Context

Improve the failed submission handling for programming exercises: https://github.com/ls1intum/Artemis/issues/991.
See https://github.com/ls1intum/Artemis/pull/707 for generell information on the feature.
Description

Instead of always just retriggering a failed build, we go through the following checks/steps:

We query Bamboo for the last build result of the given build plan. If it exists and matches the commitHash of the last commit, we just save this result.

We check if any build is running for the participation. If so, we inform the client so it can show the 'is building' label on the result comp.
Note: I did not implement any further polling logic as suggested, as this would need more time.
Note 2: I did not see an easy way to check if the running build belongs to the latestCommit.

The last fallback is to just retrigger the build on Bamboo.

Steps for Testing

Scenario 1: Failed submission (CIS executed build but did/could not inform Artemis about created build result)

Log in to Artemis
Go to the code-editor, submit
Delete the created result + feedbacks from your db
Wait 2 minutes => Artemis will now consider the submission failed
Click on the red retry button next to the result component
=> Artemis should not trigger the build again, but try to retrieve the build results from Bamboo.

Scenario 2: Failed submission (CIS has high build activity, build is either queued or running)

Log in to Artemis
Go to the code-editor, submit
Cancel the build in Bamboo
Wait 2 minutes => Artemis will now consider the submission failed
Trigger the build on Bamboo, quickly click on the red retry button next to the result component
=> Artemis should not trigger the build again, but find out that the build is still running on Bamboo

Screenshots

The changes look good to me. I only see one small improvement possibility, see inline comments.
We should make sure the timer fires again in case the build is queued or currently building so that the animation is shown for another 2 min and fails again after this time if the results is not retrieved.
If this is already the case, just make sure to document it in the marked place as it was not obvious to me.

You are right, I improved the implementation to also reset the timer.


Fix ReactCxx xcodeproj

The ReactCxx project was not updated when RCTMap was removed in 48f30eca7e3d4c239501de515a7cc35615ed6bd1, this fixes it. It was also missing the systemJSCWrapper.cpp file.
Test plan
Tested that UIExplorerCxx now builds
cc @mkonicek

Ah missed that Xcode project! Thanks a lot Janic.

Yea it's not built on CI so it's pretty easy to break, I think it's temporary until we use cxx bridge by default so we don't need to bother building it.


Performance issues with RDraw

I get performance issues (mouse pointer starts lagging) when I add an Rdraw element to the map component. Works when I use pure openlayer. Any ideas on what could be causing this?
export const RlayerMap = memo(() => {
    const origin = [2.364, 48.82];
    const initial: RView = { center: fromLonLat(origin), zoom: 11 };

    return (
        <div style={{ height: 800, width: "100%" }}>
            <RMap
                width={"100%"}
                height={"100%"}
                initial={initial}
                noDefaultControls={true}
            >
                <RControl.RLayers>
                    <RLayerTileWebGL
                        properties={{ label: "OpenTopo" }}
                        // url="my url"
                        attributions="Kartendaten: © OpenStreetMap-Mitwirkende, SRTM | Kartendarstellung: © OpenTopoMap (CC-BY-SA)"
                    />
                    <RControl.RZoom />
                </RControl.RLayers>
                <RLayerVector>
                    <RInteraction.RDraw type={"Circle"} />
                </RLayerVector>
            </RMap>
        </div>
    );
});

Alas, this is a very error-prone optimization and the difference is barely noticeable - it comes mostly because Chrome emits a warning. I prefer to not do this especially since it will be valid only when the interaction is empty - once you add any processing to this interaction, the performance is the same as raw Openlayers.

@PaliMartin Which version of Openlayers are you using? 7.3.0 has a number of improvements - including suppression of the Chrome warning - and it is marginally faster.

If you don't use pointer move events in your application, you can somewhere in the initialisation before the map is created (it is fine in the global context):
RFeature.pointerEvents = ['click'];

This will increase performance if you have a layer with lots of features.

Addressed in #165


[7.1.0] Testing

Forked from #485

Cherry-picked in https://github.com/bazelbuild/bazel/pull/21583

Cherry-pick was attempted, but failed to push. Please check if the branch, cp485-7.1.0, already exists
cc: @bazelbuild/triage


run the main.py

Hello, thank for your works. I try to run the main.py in pycharm, but the code exits like this:

I am sure that I have installed those packages mentioned, but I can't run the code successfully!
Can you tell me why? Thank you very much!

Hi,
you have to specify a config file to run, e.g. python main.py configs/conv3d_sep2

Thanks for your  reply, I ran the main.py just like the demo script, but still has the save error,I tracked the code and found the point that cause the error:  import pycocotools.mask as cocomask。I used the pip to install the pycocotools

However, I can't import the package. Besides,these code could also cause the error:

I will try to reinstall the pycocotools!

I have addressed the problem mentioned above, but I had other problems。
1、According to the parameters given in demo script, I ran the main.py and found that your project was organized under Linux，some file paths could not be found。Could you please elaborate on the data sets need to be downloaded to run demo successfully and how to organize the directory?
2、How could I test with my vedio?
Thank you very much!

Hello, how do you solve the problem of importing packages? I am experiencing a similar problem, ImportError: cannot import name 'deconv_output_length', I guess it is my tensorflow and Python version. Which version of tensorflow and Python are you using? I look forward to your reply, thank you very much!

Hello, my tensorflow version is 1.13.1 with gpu, python=3.5.2. I addressed the import problem by recompiling the pycocotools with vc14. The vc version in my computer is vc12, however the pycocotools in windows must be compiled with vc14.

Thank you very much for your reply, I will use this method to try to solve my problem.@xdg2016

Thanks for your reply, I ran the main.py just like the demo script, but still has the save error,I tracked the code and found the point that cause the error: import pycocotools.mask as cocomask。I used the pip to install the pycocotools

However, I can't import the package. Besides,these codes could also cause the error:

because these codes also import the pycocotools package
I will try to reinstall the pycocotools!
@pvoigtlaender

Hi,
I think these import issues should be fixable by adding the current path (root folder of TrackR-CNN) to your PYTHONPATH. Please let me know if that works for you.

1、According to the parameters given in demo script, I ran the main.py and found that your project was organized under Linux，some file paths could not be found。Could you please elaborate on the data sets need to be downloaded to run demo successfully and how to organize the directory?

Hi,
please follow the instructions in the README:
You'll need to adjust the KITTI_segtrack_data_dir and load_init flags to point to the KITTI MOTS data directory, you can download KITTI MOTS from here:
https://www.vision.rwth-aachen.de/page/mots

Hello, how do you solve the problem of importing packages? I am experiencing a similar problem, ImportError: cannot import name 'deconv_output_length', I guess it is my tensorflow and Python version. Which version of tensorflow and Python are you using? I look forward to your reply, thank you very much!

This looks like it might be a problem with the TensorFlow version. Maybe try a slighly different/earlier version? Definitely do not use TensorFlow 2.0.

hi!,i follow the readme and run Forwarding and tracking code ,but i get this error

Traceback (most recent call last):
File "/home/daxiong/anaconda3/envs/tensorflow-gpu/lib/python3.6/site-packages/tensorflow/python/framework/common_shapes.py", line 671, in _call_cpp_shape_fn_impl
input_tensors_as_shapes, status)
File "/home/daxiong/anaconda3/envs/tensorflow-gpu/lib/python3.6/contextlib.py", line 88, in exit
next(self.gen)
File "/home/daxiong/anaconda3/envs/tensorflow-gpu/lib/python3.6/site-packages/tensorflow/python/framework/errors_impl.py", line 466, in raise_exception_on_not_ok_status
pywrap_tensorflow.TF_GetCode(status))
tensorflow.python.framework.errors_impl.InvalidArgumentError: Dimension size, given by scalar input 0, must be non-negative but is -1 for 'testnet/tower_gpu_0/conv3d_1/split' (op: 'Split') with input shapes: [], [1,5,23,77,1024] and with computed input tensors: input[0] = <-1>
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "main.py", line 39, in
tf.app.run(main)
File "/home/daxiong/anaconda3/envs/tensorflow-gpu/lib/python3.6/site-packages/tensorflow/python/platform/app.py", line 48, in run
_sys.exit(main(_sys.argv[:1] + flags_passthrough))
File "main.py", line 34, in main
engine = Engine(config)
File "/home/daxiong/TrackR-CNN/core/Engine.py", line 55, in init
reuse_variables=reuse_variables)
File "/home/daxiong/TrackR-CNN/network/Network.py", line 17, in init
self._towers = self._build_towers(config, dataset, is_trainnet, freeze_batchnorm, reuse_variables)
File "/home/daxiong/TrackR-CNN/network/Network.py", line 68, in _build_towers
tower = NetworkTower(config, tower_setup, input_tensors_dict_sliced, dataset)
File "/home/daxiong/TrackR-CNN/network/NetworkTower.py", line 65, in init
layer = self._create_layer(name, layer_def, tower_setup, input_tensors_dict, dataset)
File "/home/daxiong/TrackR-CNN/network/NetworkTower.py", line 145, in create_layer
layer = class(**layer_def)
File "/home/daxiong/TrackR-CNN/network/ConvolutionalLayers.py", line 302, in init
curr_split = tf.split(curr, n_features_inp, axis=-1)
File "/home/daxiong/anaconda3/envs/tensorflow-gpu/lib/python3.6/site-packages/tensorflow/python/ops/array_ops.py", line 1214, in split
split_dim=axis, num_split=num_or_size_splits, value=value, name=name)
File "/home/daxiong/anaconda3/envs/tensorflow-gpu/lib/python3.6/site-packages/tensorflow/python/ops/gen_array_ops.py", line 3261, in _split
num_split=num_split, name=name)
File "/home/daxiong/anaconda3/envs/tensorflow-gpu/lib/python3.6/site-packages/tensorflow/python/framework/op_def_library.py", line 767, in apply_op
op_def=op_def)
File "/home/daxiong/anaconda3/envs/tensorflow-gpu/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 2508, in create_op
set_shapes_for_outputs(ret)
File "/home/daxiong/anaconda3/envs/tensorflow-gpu/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 1873, in set_shapes_for_outputs
shapes = shape_func(op)
File "/home/daxiong/anaconda3/envs/tensorflow-gpu/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 1823, in call_with_requiring
return call_cpp_shape_fn(op, require_shape_fn=True)
File "/home/daxiong/anaconda3/envs/tensorflow-gpu/lib/python3.6/site-packages/tensorflow/python/framework/common_shapes.py", line 610, in call_cpp_shape_fn
debug_python_shape_fn, require_shape_fn)
File "/home/daxiong/anaconda3/envs/tensorflow-gpu/lib/python3.6/site-packages/tensorflow/python/framework/common_shapes.py", line 676, in _call_cpp_shape_fn_impl
raise ValueError(err.message)
ValueError: Dimension size, given by scalar input 0, must be non-negative but is -1 for 'testnet/tower_gpu_0/conv3d_1/split' (op: 'Split') with input shapes: [], [1,5,23,77,1024] and with computed input tensors: input[0] = <-1>.

Thank you, I recompiled the pycocotools source code with vc14，and it works. I have another question:
If I want to use my trained YOLOv3 detector, and test on my video, how should I modify the code to use your TrackR-CNN, and is TrackR-CNN a online method?

@xdg2016 TrackR-CNN is a near-online method (because the 3D convs look a few frames into the future). If you need an online variant, you can just leave the 3D convs out, which changes the results only slightly (shown in the paper).
TrackR-CNN includes a detector, so if you want to use YOLOv3, then there's no real point anymore in using TrackR-CNN

@DaxiongAI From the stacktrace it's hard to see for me what's going on. Do you have any further useful information to figure out what's wrong? Which TensorFlow version are you using? Maybe you can step through with the debugger and try to gather some information?

Thank you, I recompiled the pycocotools source code with vc14，and it works. I have another question:
If I want to use my trained YOLOv3 detector, and test on my video, how should I modify the code to use your TrackR-CNN, and is TrackR-CNN a online method?
@pvoigtlaender

now you can run it successfully, right? I am trying to test it. what problems should I notice?

Closing this due to inactivity, please reopen if needed.


feat(rpc): Filecoin.EthEstimateGas

Summary of changes

Changes introduced in this pull request:

implement RPC methods Filecoin.EthEstimateGas
API compare tests
open issues: #4554 #4555

     Running `target/quick/forest-tool api compare /home/me/fr/snapshots/calibnet/forest_snapshot_calibnet_2024-07-16_height_1794896.forest.car.zst --filter EthEstimateGas`
| RPC Method                  | Forest

                                      | Lotus

                                                                                |
|-----------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Filecoin.EthEstimateGas (2) | Rejected("Message has no gas limit set")

                                      | Rejected("failed to estimate gas: message execution failed: exit 33, revert reason: 0x5416eb985902a47900000000000000000000000000000000000000000000000000000000, vm error: message failed with backtrace:\n00: f0131175 (method<PHONE_NUMBER>) -- contract reverted (33)\n (RetCode=33)")                                         |
| Filecoin.EthEstimateGas     | Rejected("Message has no gas limit set")

                                      | Rejected("failed to estimate gas: message execution failed: exit 33, revert reason: none, vm error: message failed with backtrace:\n00: f0120961 (method<PHONE_NUMBER>) -- contract reverted (33)\n (RetCode=33)")                                                                                |
| Filecoin.EthEstimateGas (2) | Rejected("Message has no gas limit set")

                                      | Rejected("failed to estimate gas: message execution failed: exit 33, revert reason: none, vm error: message failed with backtrace:\n00: f0133994 (method<PHONE_NUMBER>) -- contract reverted (33)\n (RetCode=33)")                                                                                |
| Filecoin.EthEstimateGas     | Rejected("Message has no gas limit set")

                                      | Rejected("failed to estimate gas: message execution failed: exit ErrUnhandledMessage(22), revert reason: none, vm error: message failed with backtrace:\n00: f01024 (method<PHONE_NUMBER>) -- invalid method:<PHONE_NUMBER> (22)\n (RetCode=22)")                                                                                |
| Filecoin.EthEstimateGas     | Rejected("message execution failed: exit 6, reason: message failed with backtrace:\n--> caused by: send::send -- sender does not have funds to transfer (balance<PHONE_NUMBER>41994155272, transfer 8099.99987) (5: insufficient funds)\n (RetCode=6)") | Rejected("failed to estimate gas: message execution failed: exit SysErrInsufficientFunds(6), revert reason: none, vm error: message failed with backtrace:\n--> caused by: send::send -- sender does not have funds to transfer (balance<PHONE_NUMBER>41994155272, transfer 8099.99987) (5: insufficient funds)\n (RetCode=6)") |
| Filecoin.EthEstimateGas     | Valid

                                      | Valid

                                                                                |

Reference issue to close (if applicable)

Closes #4556
Other information and links

Change checklist

[x] I have performed a self-review of my own code,
[x] I have made corresponding changes to the documentation,
[x] I have added tests that prove my fix is effective or that my feature works (if possible),
[x] I have made sure the CHANGELOG is up-to-date. All user-facing changes should be reflected in this document.

@sudo-shashank Please re-approve again. This PR constantly gets merge conflicts : )


[BUG] Default help description prefix not updating when using custom embeds

When I change the prefix of a guild from & to mp! with getJDACommands().getGuildSettings().put(guild.getIdLong(), commandSettings);, and then type mp!help, I will get an embed like this:

So, the prefix in the commands changes, but not in the description of the embed.
The defaultHelp part of the embed.json I'm using:
{
  "defaultHelp": {
    "title": "Help",
    "description": "De volgende commando's zijn beschikbaar. Typ `{prefix}{helpLabel} <command>` om specifieke hulp te krijgen",
    "color": "#00ff00"
  },
}

Can you look into this issue for me? With the default embeds it's working fine.

I wasn't able to reproduce the bug.
Could you please provide more context? E.g. when are you updating the commandSettings object? Which version of jda-commands are you using? etc

I'm on v1.1.1 of JDA-Commands, with Java 11 and JDA v4.2.1_262.
And I update the prefix like this:
Guild guild = ...;
String newPrefix = ...;

final CommandSettings commandSettings = getDefaultSettings();
commandSettings.setPrefix(newPrefix);
jdaCommands.getGuildSettings().put(guild.getIdLong(), commandSettings);

public static CommandSettings getDefaultSettings() {
  return new CommandSettings("/", true, true, true);
}

To be clear, I have this problem ONLY when I set up a custom JSON embed.
.setEmbedFactory(new JsonEmbedFactory(new File("embeds_nl.json")))

this bug was fixed with commit 94c6a6a. I haven't build a new version yet because there are still some things on my todo list that I want to implement first.


[sysrst] intr_status can be only triggered once for a pin edge change

@msfschaffner
Found an issue when I tried to test a pin edge triggered interrupt.
The key_intr_status was triggered twice, but in the 2nd time, the intr_status kept low. Looks like the q_sync_q wasn't clear so that intr_status was no longer set after the 1st interrupt.

Use this command to open waves

ot_debug -j smart:43fbabc0-ae75-4800-8b71-9242d470b6e0

cc: @patel-madhuri

It looks like the interrupt pulse was generated based on the wkup_req register status, which means that the interrupt does not fire unless that register is cleared.
This feels awkward from a programming model perspective.
I changed this so that interrupt generation is not dependent on the state of that register in #11575.

It looks like the interrupt pulse is generated based on the wkup_req register status, which means that the interrupt does not fire unless that register is cleared. This feels awkward from a programming model perspective. I changed this so that interrupt generation is not dependent on the state of that register in #11575.

I see. The fix makes sense. Thanks @msfschaffner


Add additional neato error messages to status attribute

Description:
Adding additional neato error messages.
Breaking Change
There are now additional error messages provided in the status attribute.
Related issue (if applicable): fixes #N/A
Pull request in home-assistant.io with documentation (if applicable): home-assistant/home-assistant.io#N/A
Example entry for configuration.yaml (if applicable):
neato:
  username: username
  password: password

Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.

Hmm the travis error seems unrelated to this PR, not sure why the minor text change caused an error here.


Previous and next posts not rendered for welcome posts

Issue Summary
After populating the db with the new welcome posts fixtures, no previous or next posts at the bottom of each post is rendered. The reason for that might be for the published_at date not being populated within the fixtures.
Steps to Reproduce

Fresh install of Ghost beta (fresh db init) to see the new welcome posts fixtures
Click on any post
See, that there's no 'read next' section at the bottom
Add a new post
See that the section appears, but with wrong content

Expected behaviour
Click on the first welcome post, see the second one in 'Read next' section.
Click on the second welcome post, see the previous and the next one. And so on...
Technical details:

Ghost Version: 1.0 beta-1
Node Version: 4.5
Database: sqlite/MySQL

The reason for that might be for the published_at date not being populated within the fixtures.

The published_at field is being populated (it's generated automatically by the post model) but because fixtures are created so quickly and we only store time with a resolution of seconds all posts have the same published_at value which means the prev/next queries do not find any posts with earlier/later published_at values.
I believe the fix will be to specify a published_at field for the posts in the fixtures so that we can distribute them in time to allow the prev/next queries to function.


Disable auto-remove for HNSW

/kind improvement
Disable the file auto-remove for HNSW, we will manage the index file in Milvus

/hold

The other PR has fixed this, close it