Investigate long epoch transition during Pyrmont sync

I was able to catch a 4.84s epoch transition in my local environment using Chrome profiler

An overview:

prepareEpochProcessState takes 530ms ++, and there are some small executions happened after that
processRewardsAndPenalties takes 2.4s, getAttestationDeltas takes 1.17s, epochBalances setter takes 764ms
rotateEpoch takes more than 1s, computeEpochShuffling takes 687ms
hashTreeRoot takes 425ms

event loop lag somehow was at 1.5s only, I'm attaching the snapshot as well.
CPU-20210215T150254-4s-epoch-transition.cpuprofile.zip

IMO we have likely milked as much performance out of things as reasonable and should just attempt to mitigate the slowness.
We should just break up epoch processing with await sleep(0); to just prevent any single piece of the epoch transition from taking
For instance, there's not much that can be done regarding re-hashing the balances. It's just computationally intensive work that has to be done.
Similar issue with just setting the state balances. The balances list needs to be converted to a tree, and that just takes time.
If we yield back to the event loop in between our longer-running subtasks, it likely won't even matter that the epoch transition takes time.

@wemeetagain I had a chat with Paul from Lighthouse and their epoch transitions take 20-30 ms, 100 times faster than ours. That's an insane difference that should be at least investigated.

It looks like we might not be iterating thru our cached validators/balances where we can?

getAttesationDeltas()/BigInt performance is really unpredictable (ranging from 98ms to 1375ms) as shown in PR #2064 , one possibility is to implement the function in assemblyscript. From a quick look, we can just  pass balances, config params (5 of them), EpochProcess (may pass 20 different params), finalized epoch and receive back new balances (if assemblyscript does not support passing objects as argument).
not sure if we want to do a POC for it at this time.

not sure if we want to do a POC for it at this time.

I think it's worth it! Using assembly script won't introduce new complexities such as multi-treading

so I tried assemblyscript, one issue I had was OOM issue although I configured different gc strategies there and manually called __collect() (tried with v0.9.2), so for now I think this is more suitable to functions where we can allocate a static memory allocation similar to how as-sha256 was implemented.
Also in order to pass bigint to wasm we have to use --experimental-wasm-bigint flag which is a different barrier, not sure when that become official in nodejs.

IMO we have likely milked as much performance out of things as reasonable and should just attempt to mitigate the slowness.
We should just break up epoch processing with await sleep(0); to just prevent any single piece of the epoch transition from taking
For instance, there's not much that can be done regarding re-hashing the balances. It's just computationally intensive work that has to be done.
Similar issue with just setting the state balances. The balances list needs to be converted to a tree, and that just takes time.
If we yield back to the event loop in between our longer-running subtasks, it likely won't even matter that the epoch transition takes time.

Oh man, we have milked so much more performance out of this :tada:
Closing, add new issues for specific improvement strategies


style(frontend): uses session storage instead of local storage for closable message

Motivation
In some parts of the application, we display closable message bloxes. When logged in, closed message boxes should not appear again. But, if the user logs out and then logs in again, the messages should be displayed again.
Changes

uses session storage instead of local storage.
resets session storage on logout

Tests
before:
https://github.com/user-attachments/assets/bf9c3b99-53fe-4a9c-a31e-33b744c5f6d6
after:
https://github.com/user-attachments/assets/601804fc-619d-466d-82e0-7a9ae8082c66

But, if the user logs out and then logs in again, the messages should be displayed again.

In the case of explicit logout (i.e., when the user clicks the 'Logout' button), or also in the case of automatic logout when the session expires?
If it's the former, I think we should stick with the current implementation and add a function to clear the local storage for this specific option when the user clicks 'Logout.' This functionality is already partially implemented in auth.service and would only require adding the clear action.
Side note: As far as I remember, the current implementation was designed this way because users can potentially have multiple identities and might find it annoying if this information always pops up when they switch accounts. Similarly, we also considered that on a single laptop, a user might not want to see this information repeatedly each time they sign up again, assuming they click 'Logout' to terminate their session. Of course, these were just assumptions.

@peterpeterparker I just had a chat with @StefanBerger-DFINITY and he meant that it is ok that the messages are shown again if the session exires or the user changes his identity. If a user changes the identity some other tokens can be enabled and/or broken/ missing an Index canister. This means it would always makes sense to display the messages again if the identity has changed.

Surprising, that's the kind of small thing that really annoys me as a user when I use an app but that's probably just me then.
Alright, let me take a look at the code in the PR.


Is it possible to visualize real trader trade history?

Thank you for all the great work and time invested in this library. I find it very interesting to experiment with and well built. I did some days of backtesting and just started some experiments with real trader using command line.
Question: Is it possible to somehow visualize real trader buy/sell points in real-time (or based on some logs afterwards) the same way as strat runners are being visualized? It would be great to see real trader history along strat runners in web ui.
Thanks.

Not yet, but that is the next upcoming feature (the trader will be part of the UI as well). See here for more info: #737


Error on setup/repair

Please provide a brief summary of the bug
Every time i repair/setup adoptium it says there is an error on line 2502 and 2503 and ends the setup wizard so now i am unable to play my game due to the fact the installation download is broken, i have tried the one i had before and it gave the error so i redownloaded it and it gave the same error, it might be cause by me updating my windows (update was 2023-03 Cumulative Update Preview for Windows 10 Version 22H2 for x64-based Systems (KB5023773) )
Please provide steps to reproduce where possible
Launch OpenJDK17U-jdk_x64_windows_hotspot_17.0.6_10.msi and do the setup or repair the current one
Expected Results
It to install/repair properly without giving an error and canceling the wizard
Actual Results

This happens (image) stating an error on lines 2502 and 2503
What Java Version are you using?
I dont have java installed
What is your operating system and platform?
windows 10.0.19045 N/A Build 19045 x64-based PC
How did you install Java?
as stated i do not have java

Did it work before?
worked before i installed the update

Did you test with the latest update version?
yes

Did you test with other Java versions?
no

Relevant log output
No response

Upon installing java and retrying i still encounter the same issue

@JasonP-01 You have two Java's on your system, one Java 8 and one Java 17.  If you are using Java only for Minecraft I recommend using the default Microsoft Build of OpenJDK 17.0.3 that comes with Minecraft.
If the MSI installers are not working correctly you may need to run them as administrator or try other Windows based clean up tools.

the issue is not with minecraft its now with i cant run my .jars cause nothing is registering as a viable option, i can select java se runtime environment as an extra option but it just opens cmd prompt for 0.5 seconds and clsoes and then does nothing

If you open a command prompt and type java -version what do you get?

I get nothing, command prompt accepts it as a cmd (once i manually
installled java) and provides zero output and goes to the next cmd i enter.
Before i downloaded java it said unknown command its not an
internal/external command
On Sat, 01 Apr 2023, 00:33 Martijn Verburg, @.***>
wrote:

If you open a command prompt and type java -version what do you get?
—
Reply to this email directly, view it on GitHub
https://github.com/adoptium/adoptium-support/issues/753#issuecomment-1492681821,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A4LE7UTGHCWP2LQJ7JFSY4TW65LTNANCNFSM6AAAAAAWNG2VXE
.
You are receiving this because you were mentioned.Message ID:
@.***>

Hmm, I can only recommend using some sort of a registry/program files cleaning tool to remove all traces of the old Java installs and reinstall from scratch - something is likely corrupted


Change: Membership.nodes remove Option from value

Changelog
Refactor: replication state should be bound to membership config.
Replication state belongs to a specific membership config.
E.g. given 3 membership log:

log_id=1, members={a,b,c}
log_id=5, members={a,b}
log_id=10, members={a,b,c}

When log_id=1 is appended, openraft spawns a replication to node c.
Then log_id=1 is replicated to node c.
Then a replication state update message {target=c, matched=log_id-1} is piped in message queue(tx_api),
waiting the raft core to process.
Then log_id=5 is appended, replication to node c is dropped.
Then log_id=10 is appended, another replication to node c is spawned.
Now node c is a new empty node, no log is replicated to it.
But the delayed message {target=c, matched=log_id-1} may be process by raft core and make raft core believe
node c already has log_id=1, and commit it.
In this commit, A ReplicationCore stores the membership log id it
works for.
When RaftCore receives a UpdateMatchedLogId, it must check the
membership log id before processing it.
When a new membership log is seen, the old replciation streams have to
be cleaned up and then spawn new ones.
Change: Membership.nodes remove Option from value
Before this commit, the value of Membership.nodes is Option<N: Node>: Membership.nodes: BTreeMap<NID, Option<N>>
The value does not have to be an Option.
If an application does not need openraft to store the Node data, it
can just implement trait Node with an empty struct, or just use
BasicNode as a placeholder.

Using Option<N> as the value is a legacy and since #480 is merged, we
do not need the Option any more.

This change is

@Licenser
The Option in Membership.nodes is useless and can be removed.:)


refactor: minio -> s3

Closes #21

@DrJume @LouisHaftmann Added defaults for the s3 driver that point to AWS S3. The title of the docs page now includes both S3 and MinIO, and the verbiage is now S3 storage to make it more clear the driver works with any S3-compatible storage

only one small change. after that we can merge this pr and I'll create a new pre-release build.
Thanks for your work so far! ❤

By the way, have you thought about making an issue/PR to actions/runner to allow setting a custom ACTIONS_CACHE_URL without patching the runner? We're not running them in Docker (as this has it's own challenges with Docker-in-Docker setup), meaning we had to disable automatic self-updates for the patch to stay. So maybe there's a change GitHub can support this natively 🙃

Yeah this would be nice, but sadly it seems that GitHub is not interested in this change.
See here for more context:

https://github.com/github/docs/issues/2271
https://github.com/orgs/community/discussions/18549
https://github.com/actions/toolkit/issues/1051
https://github.com/actions/toolkit/pull/947

By the way, have you thought about making an issue/PR to actions/runner to allow setting a custom ACTIONS_CACHE_URL without patching the runner? We're not running them in Docker (as this has it's own challenges with Docker-in-Docker setup), meaning we had to disable automatic self-updates for the patch to stay. So maybe there's a change GitHub can support this natively 🙃

Yeah, self-updates would be nice. We didn't think about that, because we use ephemeral runners, but it's a valid use case.
Maybe it is possible to hook into the self-update with a script which is executed afterwards to re-patch the binary?

Yeah this would be nice, but sadly it seems that GitHub is not interested in this change.

😢

Yeah, self-updates would be nice. We didn't think about that, because we use ephemeral runners, but it's a valid use case.
Maybe it is possible to hook into the self-update with a script which is executed afterwards to re-patch the binary?

Not sure, our devops manage that. We'll have to do something like that as GitHub does not promise compatibility with older version runners 😞 :

If you do not perform a software update within 30 days, the GitHub Actions service will not queue jobs to your runner. In addition, if a critical security update is required, the GitHub Actions service will not queue jobs to your runner until it has been updated.

@DrJume So it turns out it's almost impossible to make it work with non-ephemeral runners :/
Looking through the runner's code, there are no hooks we could use. Most of the self-update stuff is done on the C# side and there's a single sh script that runs to finalize the update, but the problem is that it's copied from the newly downloaded binary as opposed to just root of the runner. Moreover, there's no command to run the self-update - the only way it can be triggered is through GitHub sending specific messages to the runner.
That's unfortunate because it looks like all we can do is also run ephemeral runners :(

@DrJume So it turns out it's almost impossible to make it work with non-ephemeral runners :/
Looking through the runner's code, there are no hooks we could use. Most of the self-update stuff is done on the C# side and there's a single sh script that runs to finalize the update, but the problem is that it's copied from the newly downloaded binary as opposed to just root of the runner. Moreover, there's no command to run the self-update - the only way it can be triggered is through GitHub sending specific messages to the runner.
That's unfortunate because it looks like all we can do is also run ephemeral runners :(

A last option would be to watch the runner binary and patch it automatically.
I would recommend https://github.com/parcel-bundler/watcher for file watching with NodeJS.

we are using ephemeral runners in our setup but kubernetes is required for docker in docker to work. maybe we could put together a guide for you if you're interested


After a few API requests i start gettting Error: API:Invalid nonce

Hi Kraken Team,
After a few API requests i start gettting Error: API:Invalid nonce
I already increased by the nonce window from 7 to 7000 & 15000, i got the same result anyway.
I also start sparsing by calls to the API by random milliseconds, it did not help either... :(
Error: API:Invalid nonce
at rawRequest (C:\Users\adomingues\Documents\testKraken\node_modules\kraken-api\kraken.js:54:9)
at
at process._tickCallback (internal/process/next_tick.js:188:7)
Any help?
Thanks,
Axel

@axeldomingues I'm hitting the same issue. What are you referring to when you mention reusing the params object? Do you mean the parameters object you can pass into the function to filter your API results? If so what was your workaround? Thanks for any help!

yes, the parameters object must be new every call. I hope it helps. Cheers


Updated the GitHub Actions script to include caching

Added caching to the Actions flow

Caches the cargo registry at ~/.cargo/registry
Caches cargo binaries at ~/.cargo/bin
Caches cargo git at ~/.cargo/git
Caches /target build artifacts
Caches based off of the hash of the Cargo.lock, so changes that alter it will require full rebuilds
Will hopefully provide faster CI build/test times

r? @pietroalbini

I don't think this is effective in the long term: GitHub Actions's cache is immutable, and the same key won't be reuploaded if the files on disk change. Files in target/ are regenerated after rustc updates, so we'll need to include the rustc version in the cache key.
You can see how crates.io does it.

Anything that speeds up builds is a plus in my books, do you prefer cargo's caching + caching cargo artifacts?

I think this PR is fine if the rustc version is added to the cache keys. Otherwise once a new stable version is released we'd lose all the performance boost of caches.

Great, thanks!


setVolume on initialization

Hi there!
In my particular case I need to start the video muted. Haven't found anything on docs about it.
How can I setVolume(x) on initialization? I mean, I can use the controller to grab the apropriate scope where the interface is, but... shouldn't we be able to access directly the controls from the controller?
Thanks in advance

shouldn't we be able to access directly the controls from the controller?

Agreed! This will definitely be in the next version — which will be written with Angular2.
For the moment you can add the muted attribute to the video element:
<video muted vi-screen></video>

Please let me know how you get on with that.

Great! Thanks @Wildhoney :+1:
Tried 'mute' already, forgot about the past tense heh
Then guess we could start muted untill Angular2 ngVideo :)


can you pleas publish to open-vsx.org in addition to the VS Code Marketplace.

Hi
can you pleas publish to open-vsx.org in addition to the VS Code Marketplace.
The publishing process is documented in the Open VSX Wiki.
Thank you

Hi
It is already published, check this link:
https://open-vsx.org/extension/DanielSanMedium/dscodegpt
Today I'm going to publish the new version 2.1.18 with Llama models 👍

Great thank you!
I am waiting for the 2.1.18 for the Llama models :)

Thank you!


README Markdown Formatting

README markdown titles are improperly formatted.

what a keen example of neglect for proper due diligence to the right thing to do. downvote. 👎  >:(


Testing on the cmd package

Similar to the qoa package, I'd like to see embedded files for the supported conversion types and unit tests that do the full round of conversions and confirm the checksums match the expected files

Implemented


Add documentation about a known incompatibility between mysql-async a…

…nd oxmysql (mysqljs vs oxmysql)

Might be a possible minor inconvenience when switching from mysql-async to oxmysql, which is quite easy to fix with this config, so could be something which is useful to refer to in the documentation.


Text selection is not visible in dark mode

Switch to dark mode and try to copy some text. It's really annoying that selection is not visible.

Switch to dark mode and try to copy some text. It's really annoying that selection is not visible.

Visibile for me tho

@pawan-100ms Give some more context

I am using Safari on Mac

.

Just checked it's visible on chrome but not Safari.

@Deep-Codes did you find any fix for this?

@Deep-Codes did you find any fix for this?

Hey Currently giving exams so didn't have time to look into it. but anyways opened a PR for the fix 👍🏽.

Closing this since the PR is merged


Turn Expandable into an Accordion Card

Call Expandables out a bit more in the UI

@blanchardjeremy we use Expandable in 3 places: The two at the top of the page, the one you noted with the calculation details, and the one that shows the details for your location. IMO it looks good to have them all be this new component, I don't see why we'd want to change some but not all.

@jy2wong I've addressed all the issues you raised. However, in order to make keyboard navigation work, the card header now has a blue outline when it has focus, which IMO doesn't look great. We can remove it, but then it's not clear during keyboard navigation that it has focus, so we need some other way to visually indicate that. Thoughts?

One thing the white background calculation details achieves is clear indication of where the calculation details end (otherwise it's not visually clear that "how to reduce risk" isn't a calculation detail".
How would it look if the background colour of the expanded content for both prevalence details and calculation details was changed to #F8F9FA (same colour as the old calculation details bg)?

I think setting padding-left: 0.75rem on the header will help line up the icon with the [ ] Override location-based data checkbox.

A reason we'd want to change some but not all is that the surrounding background colour is different between the top-of-calculator and within-calculator expandable. Using the same colours in all places gives the top-of-calculator expandables noticeably more "LOOK AT ME" power.
re: focus: this might help. It's slightly annoying that Safari doesn't support it, but it looks like there's a polyfill?
https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible

@blanchardjeremy we use Expandable in 3 places: The two at the top of the page, the one you noted with the calculation details, and the one that shows the details for your location. IMO it looks good to have them all be this new component, I don't see why we'd want to change some but not all.

Yeah. I agree that we should use this new format. I think the styling should be different because the grey-on-grey here doesn't create a "box" around the calculation details. Part of the visual "functionality" of this component is that it stands out as distinct from the rest of it's section. Grey-on-grey here doesn't let the user know where this "expanded" box ends.

Also, just "ditto-ing" the not-great blue outline thing. Especially the corners being cut off.

@jy2wong hmm I was not able to get the polyfill working, do you mind giving it a shot

Looks good.
For the calculation details: I think you referring it to the "old way" is okay. But another way is to use the same Accordion component and just style this instance of it differently using a class.

For the calculation details: I think you referring it to the "old way" is okay. But another way is to use the same Accordion component and just style this instance of it differently using a class.

I'm confused because that's what I did here (use the same Accordion component and just style this instance of it differently using a class)

For the calculation details: I think you referring it to the "old way" is okay. But another way is to use the same Accordion component and just style this instance of it differently using a class.

I'm confused because that's what I did here (use the same Accordion component and just style this instance of it differently using a class)

Oh I didn't actually look at the code. I just assumed it was different because the little Chevron styling didn't look as smooth as the other accordions. Gotcha!
Well good enough to release IMO!


Support for easy-rsa version 3

This module should detect version 3 of easy-rsa, and use the updated vars file and no longer source the vars file before running easyrsa.
FreeBSD uses easy-rsa 3 as a dependency to OpenVPN.

For what I was doing the files that need changing are the params.pp to use version 3, the template vars file for the newer variables and the ca.pp to use the newer commands whilst removing the ./vars call. I've managed to stand up a working openvpn server with these changes on RHEL 7.4 using easy-rsa 3.0.3.
I might be wrong but is this the variable EASYRSA_REQ_CN="ChangeMe" you can use to set the Common Name in the ./vars file or at command runtime?

@jameskirsop You can echo a Common Name and pipe it in, the newline from echo will act like you've hit enter.
So, echo foo | ./easyrsa build-ca nopass will work.
When I had a brief look at this I couldn't work out what CN was needed here...

As mentioned in #269, Epel has now replaced easy-rsa with version 3.x and so this module is now broken for anyone using CentOS (at least EL7).

After a fair bit of hacking around I've got something that creates working server and client configs, but the changes are pretty dirty and will need cleanup before I commit them to my fork and create a PR. I'll try and do this over the next week or so.
I ended up adding a clause specifically for CentOS 7 that uses a different params file so that anything using the pre 3.x easy-rsa still works OK.
I'm not able to get the client to auto deploy config successfully though... but that's probably outside the scope of this thread.

I was able to work around this by manually uninstalling easy-rsa 3 and installing easy-rsa 2 from RPM

Odd because I can't find easy-rsa2.x in the epel repo any more...

@barrypitman That was also my solution for the time being, however the EPEL does not contain easy-rsa anymore. I was lucky enough to retrieve it from another server. See my attachment for all the files in the 2.0 folder.
easy-rsa.zip

Yep, this is broken in CentOS 6 now too.

Have added #278 to address this

Since PR #292 is merged, this bug should be considered as closed.
Thank you @NoodlesNZ for the work proposed with PR #278 used as a basis.


Add 'Ignored' status

I added 'Ignored' status using '--ignored' flag.

I was looking exactly for that
LGTM

Any progress on this? I wouldn't mind helping to get this merged, anything I can do?

resolved the conflict here but can also change it here
https://github.com/Xuyuanp/nerdtree-git-plugin/pull/64
I think the maintainer is just inactive

Ah ok. @Xuyuanp can we help with anything? Would be nice to get this merged and #64 is ready to go.

Thanks

Thanks @Xuyuanp

As this feature may cost more time (#76), I disable it by default. If you want to enable it again, please set g:NERDTreeShowIgnoredStatus to 1 in vimrc.
See more details in 76cd21b1259d2242edce3d62247d0b7b5c77e33e


tooling: Add invoke vscode devcontainer cmd

What does this PR do?
Add a new "invoke" command to configure "devcontainer" plugin in VS code
the new command is invoke vscode.devcontainer --image "my-agent-devenv:latest"
This command will bootstrap the /devcontainer/devcontainer.json use by the devcontainer plugin to use a container as remote development environment more information in the devcontainer plugin documentation
Motivation
Improve datadog-agent developer experience by simplifying the configuration of its development environment.
Additional Notes
Possible Drawbacks / Trade-offs

Describe how to test/QA your changes
Run the command invoke vscode devcontainer --image "my-agent-devenv:latest", it should create the file .devcontainer/devcontainer.json
Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

Hey ! Code LGTM !
Could you add some documentation about this task though ?
Since it's related to development environment I'd say the best place to document this would be https://github.com/DataDog/datadog-agent/blob/main/docs/dev/agent_dev_env.md

Hi @amenasria
I can, but the Dockerfile used to build devenv container is not public yet. It requires some extra work which need to be plan by the agent-guild. So the doc that I will provide will not be complete.

Also there's a typo: the new task is not invoke vscode.devcontainer but invoke vscode.setup-devcontainer.
(typo is in the description and in the QA)

Hey ! Code LGTM !
Could you add some documentation about this task though ?
Since it's related to development environment I'd say the best place to document this would be https://github.com/DataDog/datadog-agent/blob/main/docs/dev/agent_dev_env.md

Hi @amenasria
I can, but the Dockerfile used to build devenv container is not public yet. It requires some extra work which need to be plan by the agent-guild. So the doc that I will provide will not be complete.

Aaah ok ! I guess it's fine for now then !

@amenasria
doc updated https://github.com/DataDog/datadog-agent/pull/14031/commits/45d2ac09533ae5c9df231e5e13982483df55fe47


Repo topics URL points to GitHub.com in GHES docs

Code of Conduct

[X] I have read and agree to the GitHub Docs project's Code of Conduct

What article on docs.github.com is affected?
<EMAIL_ADDRESS>What part(s) of the article would you like to see updated?
Specifically, there is a mention of finding top topics and it points to GitHub.com:

To browse the most used topics, go to https://github.com/topics/.

However on GHES, this should be the hostname of the GHES instance.

Additional information
This is on all GHES docs that I can find.

I'm working on this in #34007

@IAmHughes Thank you for opening an issue and linking it to your PR! ✨


文件审核

Coverage increased (+0.1%) to 98.093% when pulling e5b4575a2581cd66f081f28b636561e4178a57c5 on huangda7502002:master into db893e6b5353bc6a2437a5d07381e39eac900ad6 on rugao-web-fullstack:master.


fix: Add recognizers for form dialog

Description
The form dialogs are filtered when creating recognizer. But the form editor will update the recognizer from *.lu to *.lu.qna.
Runtime need the CrossTrainedRecognizerSet, So In this PR we generate the recognizers for for dialog.

Task Item
closes #4888

Screenshots

Coverage decreased (-0.002%) to 54.645% when pulling 833793826f78f589ba4d5d602d175fd3fb8daaf7 on lei9444:fixform into a97e8e21dec23c3d6e9311875128d9f7dd7b68f9 on microsoft:main.

Looks good to me. @mewa1024 can you help verify this PR fixed your issue.

Looks good to me. @mewa1024 can you help verify this PR fixed your issue.
@chrimc62

Hi @boydc2014 , I'm adding Chris McConnell to this discussion since I don't know if this change has downstream effects.


Errors uploading files with multi-add

An RBK user got this error when trying to add multiple records with file uploads (she hit "submit" a second time after the first failure). She was able to add a single record with no problems. You can test by selecting any specimen from https://dev.rebuildingakidney.org/chaise/recordset/#2/Gene_Expression:Specimen or https://staging.rebuildingakidney.org/chaise/recordset/#2/Gene_Expression:Specimen and clicking "Add" in the Images section. (I was able to successfully add two Image records at a time on rbk-dev, so it at least works some of the time).

Before each of the following tests I downloaded new czi files from random records on dev-rbk ranging from 50 mb up to 350 mb. I created 5 records each time with a different file uploaded for each record for each test. (I uploaded 15 distinct files across the 3 tests)
I tested with no network limit (~500 MBps upload, maybe 10 ms latency) and saw no issues. I waited maybe 1 minute for this to create the records before I saw the resultset view.
I tested with a normal network limit (~6 MBps upload, 300 ms latency) and saw no issues. I waited close to 5 minutes for this to create the records before I saw the resultset view.
I tested with a slow network limit (~2.5 MBps upload, 500 ms latency) and saw no issues. I waited close to 15 minutes for this to create the records before I saw the resultset view.

More info from cris:
Emily let me know in a different thread that she is using Windows 7 Enterprise and uses Firefox (<IP_ADDRESS>) and Chrome (73.0.3683.86).

could there be some race condition with the multi-add (i.e. somehow looking at the checksum result for the wrong record)?

UPDATE: this case is very unlikely. We make sure to create an individual upload job for each

we need to be careful not to share something like a "file pointer/file descriptor" which has internal state such as current seek position, since different chunks cannot safely seek to a different offset to read the content they want to send
when retrying a chunk, we have to remember to re-seek back to the beginning so we send the same data again (rather than whatever comes next after the chunk we already tried to send)

suspicion that chaise isn't handling the retry on chunks properly
The only retry that should continue would be if the attempt to cancel had a transient error and the cancel itself needs to be reissued
UPDATE: we create the set of chunks before any are sent to the server. Each chunk object keeps track of its start and end point in the original file. When retrying chunks, we are resending the same request object to the server again without going back into the code in hatrac.js. The retry logic is in http.js as a sort of interceptor

the logs show an upload job created and then an attempt to finalize it w/o ever sending a chunk

chaise shouldn't try to finalize the upload job if it wasn't going to send data. it should have just deleted the job in that case (to leave the existing file).
chaise is issuing a "job finalization" request prematurely, before chunks have successfully completed

see some sequences (in the logs) where many PUT chunk requests are getting a 404 response, I think because the job has already been cancelled by DELETE but then it keeps retrying chunks anyway

evidence that the job cancellation is buggy, with lots of useless chunk retry happening after the job was already cancelled
cancellation should be tracked on the client-side upload object
all subsequent callbacks should check that state flag and avoid performing additional useless work on the dead upload

RBK user in florida continues to have problems after the hatrac patch.

I went over the code to figure out if there are any flaws in the current implementation of upload/hatrac.
We can summarize the whole logic of uploader as following:

Calculate checksum for all the files
Check whether files already exist on hatrac (and avoid uploading them)
Create upload job for all the files
Upload each file, chunk by chunk
Complete upload job for all the files

Apart from the first step, all the other steps are talking with server and therefore require some sort of flow-control. The first issue is that we're only utilizing flow-control for the 4th step. The other issue is that in this flow-control we're sending 10 chunks at a time, which seems like a high number and we might want to reduce it.
Also to keep track of the progress, we're just counting the number of chunks that are done (done means the request has been sent to the server, all the retries has been done, and server finally sent a successful response).  Which we might want to change this to a proper state management. So instead of counting, we should check which chunks are done. Because if a callback has been called twice, it might cause the count to be out of sync with the actual number of chunks (although based on my understanding of the code this doesn't seem to be the case).

I was able to produce the md5 missmatch error. Although this might not be the exact scenario that users faced the issue, but it's showing the same symptoms. This error is being thrown when user tries to upload several files that some of them already exist on the server. The mixture of new and existing files is causing this issue.
I was able to fix this bug by changing the logic of ending the 4th step (in the explained steps above) and starting the 5th step.

Some background can be gathered from the following 2 queries. The first query surrounds the initial error occurrence, the second query surrounds the latest error occurrence. On March 28th (Thurs):
SELECT
  devicereportedtime,
  r_status,
  c_action,
  r_method,
  r_path
FROM derivarequests
WHERE fromhost IN ('www.gudmap.org', 'www.rebuildingakidney.org')
  AND devicereportedtime > '2019-03-28 11:38:00'
  AND devicereportedtime < '2019-03-28 11:58:00'
  AND syslogtag ~ '^hatrac'
  AND u_fname ~ 'Emily'
ORDER BY devicereportedtime, id;

This query (when run against log2.isrd.isi.edu on the rsyslog database) encompasses all log information surrounding the initial case that this error was reported for.

The initial job she ran a couple days ago included 18 files to be uploaded (9 images and 9 thumbnails). During the initial check to see if the uploads exist already in hatrac, 2 of them returned a 200 code (already exist).
16 upload jobs were created (the 2 files that already existed did not have jobs created). After 14 jobs had finished uploading all of their parts, the finalize was prematurely issued for 9 of the files (2 of the files that were included in this finalize were the 2 that already existed).
This premature firing of finalize caused some errors to start occurring while trying to upload chunks for the 15th file to upload. It caused an "upload/cancel" action to be sent to the server and all 3 files had a DELETE request issued against them which would cause the continual errors in the retry logic. A second set of finalize queries were sent, that had not been sent already, for the other 2 separate files where they failed with a 500 error then a 404 failure right after.

On April 1st (Mon):
SELECT
  devicereportedtime,
  r_status,
  c_action,
  r_method,
  r_path
FROM derivarequests
WHERE fromhost IN ('www.gudmap.org', 'www.rebuildingakidney.org')
  AND devicereportedtime > '2019-04-01 11:05:00'
  AND devicereportedtime < '2019-04-01 11:15:00'
  AND syslogtag ~ '^hatrac'
  AND u_fname ~ 'Emily'
ORDER BY devicereportedtime, id;

This query (when run against log2.isrd.isi.edu on the rsyslog database) encompasses all log information surrounding the latest case that this error was reported for.

This job she ran yesterday included 6 files to be uploaded (3 images and 3 thumbnails). During the initial check to see if the uploads exist already in hatrac, 3 of them returned a 200 code (already exist). Those happened to be for each thumbnail. The thumbnails were so small they only took 1 chunk to upload.
3 upload jobs were created (the 3 thumbnails that already existed did not have jobs created). After 2 jobs had finished uploading all of their parts, the finalize was prematurely issued for 1 of the files (the file included in this finalize was the file that had not been uploaded yet).
This premature firing of finalize caused some errors to start occurring while trying to upload chunks for the 3rd file. It caused an "upload/cancel" action to be sent to the server and all 3 files had a DELETE request issued against them which would cause the continual errors in the retry logic. A second set of finalize queries were sent, that had not been sent already, for the other 2 separate files where they failed with a 500 error then a 404 failure right after.

On March 28th (Thurs):
SELECT
  devicereportedtime,
  r_status,
  r_method,
  r_path
FROM derivarequests
WHERE fromhost IN ('www.gudmap.org', 'www.rebuildingakidney.org')
  AND devicereportedtime > '2019-03-28 12:20:00'
  AND devicereportedtime < '2019-03-28 12:25:00'
  AND syslogtag ~ '^hatrac'
  AND u_fname ~ 'Emily'
ORDER BY devicereportedtime, id;

This job, ran on thursday, included 4 files to be uploaded (2 images and 2 thumbnails). During the initial check to see if the uploads exist already in hatrac, 2 of them returned a 200 code (already exist).
2 upload jobs were created (the 2 thumbnails that already existed did not have jobs created). After the first job finished uploading all of its parts, the finalize was prematurely issued for 1 of the files (the file in this finalize was the file that had not been uploaded yet).
This premature firing of finalize caused some errors to start occurring while trying to upload chunks for the 2nd file. It caused an "upload/cancel" action to be sent to the server and both files had a DELETE request issued against them which would cause the continual errors in the retry logic. A second finalize query was sent, the one that had not been sent yet, for the other file which failed with a 500 error then a 404 failure right after (presumably because it retried on the 500 error response).

On March 29th (Fri):
SELECT
  devicereportedtime,
  r_status,
  r_method,
  r_path
FROM derivarequests
WHERE fromhost IN ('www.gudmap.org', 'www.rebuildingakidney.org')
  AND devicereportedtime > '2019-03-29 06:10:00'
  AND devicereportedtime < '2019-03-29 06:15:00'
  AND syslogtag ~ '^hatrac'
  AND u_fname ~ 'Emily'
ORDER BY devicereportedtime, id;

This failure is almost identical to the one above in this comment. It includes the same 2 files that are trying to be uploaded (non-thumbnails).

This job, ran on friday, included 4 files to be uploaded (2 images and 2 thumbnails). During the initial check to see if the uploads exist already in hatrac, 2 of them returned a 200 code (already exist).
2 upload jobs were created (the 2 thumbnails that already existed did not have jobs created). After the first job finished uploading all of its parts, the finalize was prematurely issued for 1 of the files (the file in this finalize was the file that had not been uploaded yet).
This premature firing of finalize caused some errors to start occurring while trying to upload chunks for the 2nd file. It caused an "upload/cancel" action to be sent to the server and both files had a DELETE request issued against them which would cause the continual errors in the retry logic. A second finalize query was sent, the one that had not been sent yet, for the other file which failed with a 500 error then a 404 failure right after (presumably because it retried on the 500 error response).

On April 1st (Mon):
SELECT
  devicereportedtime,
  r_status,
  r_method,
  r_path
FROM derivarequests
WHERE fromhost IN ('www.gudmap.org', 'www.rebuildingakidney.org')
  AND devicereportedtime > '2019-04-01 10:59:00'
  AND devicereportedtime < '2019-04-01 11:05:00'
  AND syslogtag ~ '^hatrac'
  AND u_fname ~ 'Emily'
ORDER BY devicereportedtime, id;

This job, ran on monday, included 6 files to be uploaded (3 images and 3 thumbnails). During the initial check to see if the uploads exist already in hatrac, 3 of them returned a 200 code (already exist).
3 upload jobs were created (the 3 thumbnails that already existed did not have jobs created). After 2 jobs had finished uploading all of their parts, the finalize was prematurely issued for 1 of the files (the file included in this finalize was the file that had not been uploaded yet).
This premature firing of finalize caused some errors to start occurring while trying to upload chunks for the 3rd file. It caused an "upload/cancel" action to be sent to the server and all 3 files had a DELETE request issued against them which would cause the continual errors in the retry logic. A second set of finalize queries were sent, that had not been sent already, for the other 2 separate files where they failed with a 500 error then a 404 failure right after.

From reproducing the bug today:
SELECT
  devicereportedtime,
  r_status,
  r_method,
  r_path
FROM derivarequests
WHERE fromhost IN ('staging.rebuildingakidney.org')
  AND devicereportedtime > '2019-04-03 14:44:00'
  AND devicereportedtime < '2019-04-03 14:45:00'
  AND syslogtag ~ '^hatrac'
  AND u_fname ~ 'Josh'
ORDER BY devicereportedtime, id;

I was trying to upload 3 files, 2 that already existed on the server and 1 new one. The new file had its job properly created, but it tried to finalize the file before any of its chunks were uploaded. This is because of the order that the code in chaise executes. This error only occurs when the file that doesn't exist yet is one of the last files to upload.
The flaw in the count logic can be seen with this case because we know that the 1st 2 files shouldn't have an upload job being created. We also know in the code that we get to those callbacks and try to finalize all jobs before the last file has actually uploaded.

The changes to fix this issue are merged with master in both ermrestjs and chaise.
The new #1753 issue has been created for more improvement regarding the uploader.

@ljpearlman @hongsudt I tested the same scenarios in rbk-dev with the new changes and everything seems to be working fine. We should be able to update the deployments and ask our user to try again.

I am going to close this issue due to inactivity. We should create a new issue if the bug still exists.


Automated cherry pick of #9636: fix(region): aws lb create tags param

Cherry pick of #9636 on release/3.6.
#9636: fix(region): aws lb create tags param

Codecov Report

Merging #9649 (4cb9c93) into release/3.6 (b9d30c0) will increase coverage by 2.21%.
The diff coverage is 2.31%.

@@               Coverage Diff               @@
##           release/3.6   #9649       +/-   ##
===============================================
+ Coverage         5.86%   8.08%    +2.21%
===============================================
  Files              828     107      -721
  Lines           129133   12954   -116179
===============================================
- Hits              7577    1047     -6530
+ Misses          120876   11787   -109089
+ Partials           680     120      -560

Flag
Coverage Δ

aFlag
8.08% <2.31%> (+2.21%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/apigateway/handler/auth.go
0.00% <0.00%> (ø)

pkg/hostman/diskutils/nbd/driver.go
0.75% <0.75%> (ø)

pkg/hostman/diskutils/nbd/lvmutils.go
4.93% <4.93%> (ø)

pkg/monitor/alerting/rule.go
1.86% <0.00%> (-1.03%)
:arrow_down:

pkg/multicloud/esxi/manager.go
0.62% <0.00%> (-0.09%)
:arrow_down:

pkg/multicloud/esxi/vnic.go
0.00% <0.00%> (ø)

pkg/multicloud/esxi/network.go
0.00% <0.00%> (ø)

pkg/monitor/alerting/notifier.go
0.00% <0.00%> (ø)

pkg/mcclient/options/base.go

pkg/keystone/models/endpoints.go

... and 620 more

Continue to review full report at Codecov.

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


Update akka-persistence-inmemory to <IP_ADDRESS>

Updates com.github.dnvriend:akka-persistence-inmemory from <IP_ADDRESS> to <IP_ADDRESS>.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.github.dnvriend", artifactId = "akka-persistence-inmemory" } ]

Codecov Report

Merging #296 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master    #296   +/-   ##
======================================
  Coverage    80.5%   80.5%
======================================
  Files         128     128
  Lines        3334    3334
  Branches      136     136
======================================
  Hits         2684    2684
  Misses        650     650

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 f5d3309...b19ea8a. Read the comment docs.


D400 Confusion

In https://github.com/astropy/astropy/pull/14272#discussion_r1070093557 we are looking to turn on D400, but possibly encountered a bug.  While D400 says a line should end in a period, it's D401 that requires imperative phrasing. With D401 turned off, is a question mark not a suitable alternative to a period?
Thanks in advance for the clarification.

There's actually a separate rule for this, D415, which allows period, question mark, or exclamation point.

Ah! Thanks, we will swap D400 for D415.

Sweet :)


Update elasticsearch index playbooks

inb4 the travis build breaks

Resolved the issue with permission in travis. But it seems something is wrong with your ansible

Yeah, I'm dumb, woops


fix(wrangler): remove triggered_by annotation from createDeployment

This got lost in translation:
https://github.com/cloudflare/workers-sdk/pull/5224#discussion_r1531287879
What this PR solves / how to test
Fixes npx wrangler versions deploy --experimental-gradual-rollouts being rejected by the API, as triggered_by can't be set by the client.
Author has addressed the following

Tests

[x] Not necessary because: experimental feature

Changeset (Changeset guidelines)

[x] Included

Public documentation

[x] Not necessary because: experimental feature, docs are WIP

Needs a changeset so internal users know to upgrade to use versions deploy


Added user specific info to sCONFIRMPASSWORDCHANGE mail

Description
Please describe your pull request:

Why is it necessary?
It is currently not possible to user firstname or other fields in mail template
What does it improve?
Adds the fields
Does it have side effects?
Nope

Questions
Answers

BC breaks?
no

Tests pass?
yes

Related tickets?

How to test?

Hi @shyim,
thanks for the pull request.
Could you please change the following things:

Don't read the user_addresses please select only a whitelist of s_user (user names are stored their)
If you want to select attributes too, please consider ambiguous column selection. s_user.id and s_user_attributes.id is duplicated. Please store the user_attributes inside a sub array attribtues

What would you think if I get the customer model convert it as array and remove some fields like password. So we would have anything about the user in mail context

I'd prefer a whitelist instead of a blacklist.

Aye Aye Captain its updated :)

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/issues/SW-17466.
Please use this issue to track the state of your pull request.

Thanks again @shyim :+1:


FEATURE: Register docs link under sidebar topics section.

Requires new plugin API added in core: https://github.com/discourse/discourse/pull/16732

Thank you @nbianca :+1:


[PlanetScale Compatibility] All tables need a primary key

The password_resets table has no unique key, which prevents you from promoting a DB branch to production.

Any harm in adding a basic primary, auto-incrementing id column?

password_resets is not part of the eloquent driver, it's in statamic/statamic.
There should be no harm in adding it to your own migration though.
fyi that migration is a direct copy from laravel/laravel into statamic/statamic
https://github.com/laravel/laravel/blob/9.x/database/migrations/2014_10_12_100000_create_password_resets_table.php


PHOENIX-2743 HivePhoenixHandler for big-big join with predicate push …

Rebased on the current master as a single patch.

Already merged.


Support annotating moves in build mode (both with text and !/? symbols)

Need to enable comments or a hint section to enter while create repertoire. Also, during training need to be able to have the comment/hint section hidden and open it whenever the user needs it

Another user requested this: "Also put some comment on positions (on entering, hint if fail, hint if fail twice)."

Another user requested this: "Hey there! Really liking this tool. Is there a way for us to write notes for each position, or for each repertoire? I think that's the only other thing you could add to send this to the next level! Let me know what you think!"

I really like the tool, but I am also missing the oportunity to add some explanations to the moves in build mode. Something like a textbox below the repertoire tree view, that shows my notes of the currently selected move.
I do not mind if they are not visible in the training mode at all. As you already pointed out, the goal of the training mode is to get them right anyway.


[realsense2] Add tm2 feature for support T265 devices

Since tm2 is required on T265 devices.
Add tm2 as a feature for realsense2.
Related issue #10640
Note: All features have passed on the following triplets:

x86-windows
x64-windows
x64-windows-static (openni2 failed due to openni2  only supports dynamic build)

As for tm2, I have asked @piotr-tanski to help test and this can work on T265 devices,

/azp run

LGTM, thanks for the PR!


Error in rose-task-hook2

resolution_fixed   |    by<EMAIL_ADDRESS>
When rose-task-hook2 is used with cylc handlers with compound names, e.g.
execution timeout handler = "rose task-hook2 --mail"

rose gives an error
  File "/usr/local/rose/lib/python/rose/suite_hook.py", line 124, in main
    args = suite_engine_proc.process_suite_hook_args(*args, **vars(opts))
  File "/usr/local/rose/lib/python/rose/suite_engine_procs/cylc.py", line 954, in process_suite_hook_args
    hook_event, suite, task, hook_message = args
ValueError: too many values to unpack
          execution timeout handler = "rose task-hook2 --mail"

Adding a diagnostic print shows it's being called with args
('execution', 'timeout', 'au_aa120_orig', 'atmos_no_omp_no_prebuild.1', 'job started 1.0 minutes ago, but has not finished')

whereas suite-hook gives
('execution timeout', 'au_aa120_orig', 'atmos_no_omp_no_prebuild.1', 'job started 1.0 minutes ago, but has not finished')

rose-task-hook2 has
   rose task-hook $opt $STATE $SUITE $JOB "$MSG"

but this should be
   rose task-hook $opt "$STATE" $SUITE $JOB "$MSG"

Issue migrated from trac:142 at 2024-01-31 18:07:45 +1100

Scott Wales<EMAIL_ADDRESS>changed owner from `` to Scott Wales<EMAIL_ADDRESS>

Scott Wales<EMAIL_ADDRESS>changed status from new to closed

Scott Wales<EMAIL_ADDRESS>changed resolution from `` to fixed

Scott Wales<EMAIL_ADDRESS>committed [16425]

In [changeset:"16425fb905cd4b2846aae3a26811d9257165716f/puppet"]:
#CommitTicketReference repository="puppet" revision="16425fb905cd4b2846aae3a26811d9257165716f"
Quote variables in task-hook2

The hook is failing when the 'execution timeout' hook is called, due to
the space in the name. Quote variables to keep them together

Fixes #142

<EMAIL_ADDRESS>commented

Now failing with a different error.
+ rose task-hook ' -v -v' succeeded au-aa123 fcm_make.2014072400 'job succeeded'
Traceback (most recent call last):
  File "/usr/lib64/python2.6/runpy.py", line 122, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib64/python2.6/runpy.py", line 34, in _run_code
    exec code in run_globals
  File "/usr/local/rose/lib/python/rose/suite_hook.py", line 135, in <module>
    main()
  File "/usr/local/rose/lib/python/rose/suite_hook.py", line 124, in main
    args = suite_engine_proc.process_suite_hook_args(*args, **vars(opts))
  File "/usr/local/rose/lib/python/rose/suite_engine_procs/cylc.py", line 954, in process_suite_hook_args
    hook_event, suite, task, hook_message = args
ValueError: too many values to unpack

The way rose-task-hook constructs the opt variable gives it a leading space. When this is quoted the space prevents the python OptionParser picking it up as an option and it gets treated as an extra unexpected argument.
rose-task-hook should use
rose task-hook $opt "$STATE" "$SUITE" "$JOB" "$MSG"

rather than
rose task-hook "$opt" "$STATE" "$SUITE" "$JOB" "$MSG"

<EMAIL_ADDRESS>changed status from closed to reopened

<EMAIL_ADDRESS>changed resolution from fixed to ``

Scott Wales<EMAIL_ADDRESS>changed status from reopened to closed

<EMAIL_ADDRESS>commented

Script currently has
chmod a+r "$HOME/cylc-run/$SUITE/log/job/$JOB*"

Quoting stops the shell filename expansion and so the chmod fails. log/suite/err has messages like
chmod a+r '/home/599/mrd599/cylc-run/au-aa123/log/job/gcom_test.2014081800*'
chmod: cannot access `/home/599/mrd599/cylc-run/au-aa123/log/job/gcom_test.2014081800*': No such file or directory

Scott Wales<EMAIL_ADDRESS>commented

In [changeset:"b65d54f9d4af5d68c297093e75a0c1379f0fcb88/puppet"]:
#CommitTicketReference repository="puppet" revision="b65d54f9d4af5d68c297093e75a0c1379f0fcb88"
Fix 'opt' quoting

This is a list, not a single value

Fixes #142

<EMAIL_ADDRESS>changed status from closed to reopened

<EMAIL_ADDRESS>changed resolution from fixed to ``

Scott Wales<EMAIL_ADDRESS>changed resolution from `` to fixed

<EMAIL_ADDRESS>commented

Fixed in puppet commit bf6430520a1c9aa40d8d2ec4db7b775e8ee34eb6

<EMAIL_ADDRESS>commented

Suggested fix is to move the * outside of the quotes.

<EMAIL_ADDRESS>changed resolution from `` to fixed

<EMAIL_ADDRESS>changed status from reopened to closed


Does django-select2 support dependent dropdowns?

For example, I have a form with fields Continent, Country, State, City, University.
Country depends on continent, state depends on city and etc.
When I select country, for example, USA, and start typing in the input box city's name, request must be:
q=New&country_id=1
Does some widget support this behavior? If it doesn't support, will it be supported in next versions?

Hi @tisOO,
no none of the widgets supports this feature, but you could add it yourself. You'd need to do some javascript hackery. Too much to be included as a feature here. Check out how we pass data to the endpoint https://github.com/applegrew/django-select2/blob/master/django_select2/static/django_select2/django_select2.js#L7-L12
You can simply create your own endpoint that expects another argument to build a queryset.

Thank you!


Feature Request: nvm binary

Feature Request: nvm binary

Allow install script to install to global directory /usr/share/nvm
Create a shell script that runs the nvm command like an executable /usr/bin/nvm

#!/bin/bash

export NVM_DIR="/usr/share/nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

nvm $@

nvm is per-user, so it should never be installed globally. We already have nvm-exec that can be run as a binary, as well.

i build docker images, but cannt use it in jenkins docker pipline.
so binary is importent to me.

could this be a app image or a snap on linux? If so I can create a github action that bundles it as one


Compressed file instead of all modules...

This is incredible!
Charge speed will be increased!

Done.

Done.


Fix problems with login page

Fix broken authentication method provided by Firebase and correct inoperative input

Okay then, I guess we could just close this PR. I'll pay more attention next time.

@JRobsonJr U_U


Envoy doesn't add headers in case of Gateway Timeout

Description:
Envoy doesn't add headers specified in the route configuration in case of upstream timeout.
Repro steps:
Send request to upstream which doesn't respond within specified route timeout.
Expected: envoy adds headers specified under response_headers_to_add
Actual: envoy doesn't add any headers:
          'server' => 'envoy',
          'content-length' => '24',
          'Reason' => 'Gateway Timeout',
          'URL' => 'http://authxserver.service/infra_test/idempotent',
          'HTTPVersion' => '1.1',
          'content-type' => 'text/plain',
          'date' => 'Fri, 31 Aug 2018 13:21:31 GMT',
          'Status' => 504

route config:
    {
     "match": {
      "regex": "^/(infra_test/idempotent|/iam/issue-refresh-token|identity/user-exists/.*)"
     },
     "route": {
      "cluster": "authxserver.prod.cluster",
      "timeout": "0.500s",
      "retry_policy": {
       "retry_on": "5xx",
       "num_retries": 2,
       "per_try_timeout": "0.150s"
      },
      "response_headers_to_add": [
       {
        "header": {
         "key": "x-envoy-authxserver-endpoint-type",
         "value": "3"
        }
       }
      ]
     }

When upstream timeout, the response should be returned by envoy, and response_headers_to_add should be understood to refer to the addition of header to the content returned by upstream.

I looked at the code, the current implementation will only add the header when the upstream response is waited.
https://github.com/envoyproxy/envoy/blob/master/source/common/router/router.cc#L638

Yeah it could be an enhancement, note filters before router could respond to the request too, so the change might be wide. @zuercher (per TODO in the code above) thoughts?

I think the same happens for 503 errors.
Problem with this is that in case of CORS headers not being added in the response, browser shows a CORS error in console and it often obscures the real issue that caused the 504/503.
People think it's a CORS issue, when it's really something wrong with the upstream service

Has there been any movement on this? I'm also experiencing the timeout issue being masked as a CORs error in the browser because of this and it would be great if there was someone workaround for fixing!

cc @alyssawilk this might be a good one to look at as you continue your quest to unify a bunch of handling around local replies.

I suspect it's easy enough to move the code around and apply to the new (unified) local response path.  Do you think response headers to add should be added unilaterally (runtime guarded) even on local responses, or configured for [only when proxied | all local responses]?
The other complication I can think of would be caching, making sure we have the right APIs for if headers should be added before insert or applied to cache hits as headers are sent upstream if there's no one correct answer to what users want there.  cc @toddmgreer for thoughts on that.

Alternately we could just expect folks dup their headers into the local reply content modification.  if so maybe a FAQ for that?

I suspect it's easy enough to move the code around and apply to the new (unified) local response path. Do you think response headers to add should be added unilaterally (runtime guarded) even on local responses, or configured for [only when proxied | all local responses]?

My thinking was that we could have common code that both the local reply path and router call to add the response headers, based on the currently snapped/cached route. Agreed this should be runtime guarded, but IMO we could do it unilaterally. Variants of this bug have been opened a ton of times and I think it's the behavior people expect.

The other complication I can think of would be caching, making sure we have the right APIs for if headers should be added before insert or applied to cache hits as headers are sent upstream if there's no one correct answer to what users want there. cc @toddmgreer for thoughts on that.

Yeah I agree this is complicated. My thinking here though is since the cache filter is not a local reply, it would be acting as the router for cached responses, and could do what it wants in terms of adding headers before or after caching?

So the plan would be doing route-based local header modifications and local reply mapper modifications on local responses?
I'm fine with default on with a runtime guard given if folks complain we can always make it configurable after the fact - better than starting with complexity if you don't think it's needed.

So the plan would be doing route-based local header modifications and local reply mapper modifications on local responses?

Yeah. Basically just take the code that the router already uses, and move it somewhere common.

I'm fine with default on with a runtime guard given if folks complain we can always make it configurable after the fact - better than starting with complexity if you don't think it's needed.

+1

Yeah I agree this is complicated. My thinking here though is since the cache filter is not a local reply, it would be acting as the router for cached responses, and could do what it wants in terms of adding headers before or after caching?

If "local reply" means "reply generated by sendLocalReply", then CacheFilter doesn't send local replies. If it just means a reply based on in-process (at the time) state, then CacheFilter will often send local replies.
I don't think CacheFilter should decide whether to add custom headers before or after caching--what would it base the decision on? If you want to add a response header that will be the same for future responses from cache, add it before/upstream of CacheFilter. If the response gets cached, the added headers will be present in all responses (possibly from multiple Envoys) based on that cache entry. If you want to add a response header that may be different in every response, add it after/downstream of CacheFilter.
Perhaps it should be a HeaderInjectionFilter, and the config can say where it goes?

If "local reply" means "reply generated by sendLocalReply", then CacheFilter doesn't send local replies. If it just means a reply based on in-process (at the time) state, then CacheFilter will often send local replies.

The latter, like the router filter.

Perhaps it should be a HeaderInjectionFilter, and the config can say where it goes?

This is more complicated than I would like, given that we have had this functionality for a long time in the router filter and are trying to make it consistent for local replies. IMO it would be simpler to just say that the cache filter acts like the router and just adds the headers post-caching and pre-response.

It may be a bit more complicated than that, as I think (may be misremembering) when doing cache validation the filter sends the upstream headers, then the cached body.  If that's true we should just be careful there's no path where we apply them twice.

It may be a bit more complicated than that, as I think (may be misremembering) when doing cache validation the filter sends the upstream headers, then the cached body. If that's true we should just be careful there's no path where we apply them twice.

Good point. Perhaps there is nothing to do if we assume that the router will add the headers and they get cached?

It may be a bit more complicated than that, as I think (may be misremembering) when doing cache validation the filter sends the upstream headers, then the cached body. If that's true we should just be careful there's no path where we apply them twice.

Good point. Perhaps there is nothing to do if we assume that the router will add the headers and they get cached?

Exactly.

It may be a bit more complicated than that, as I think (may be misremembering) when doing cache validation the filter sends the upstream headers, then the cached body. If that's true we should just be careful there's no path where we apply them twice.

Good point. Perhaps there is nothing to do if we assume that the router will add the headers and they get cached?

Exactly.

In successful cache validation, the upstream will respond with a 304, the router filter will add custom headers, and the new custom headers will replace the previously cached ones.

Perfect, sounds like a plan. :)


Can not override or disable the default key 'Alt'

I customize Alt-m key binding to toggle menu-bar display/hide.

'body':
'alt-m': 'window:toggle-menu-bar'

But, the defalut key Alt is still available.
This always cause the menu-bar display/hide actions when I use Alt key for others.
So, hope to disable or override the default Alt keymap.

Version: 0.187.0
OS: Linux

I also need this. I use alt + left/right to switch windows and whenever I get to atom and release alt, the menu bar will pop.

I second that. I use custom alt-i/j/k/l for caret movement. Didn't notice this until I made the menu bar to auto-hide (although it's not surprising behavior).

+1

Same issue.
Trying to map alt-f to emacs-like move-to-end-of-word, but aways trigger File tab in menubar.
I'm using Ubuntu 14.10

so any progress here? Can't use emacs bindings because of this.

@uptownhr
try this:
# in your init.coffee
atom.menu.template.forEach (t) ->
  t.label = t.label.replace("&", "")
atom.menu.update()

got this method from here https://discuss.atom.io/t/alt-key-menu-bar-interaction-overrides-shortuts/9192/7?u=giyyapan
BTW, I'm using Ubuntu

@giyyapan Sadly didn't work, alt still opens the menu bar with this.

@LoLei  Well, I've got no other idea then.
Sorry :cry:

@giyyapan that worked for me. I'm on ubuntu 14.04.

@giyyapan It's okay, thanks for the effort!

This is also happening to me.
Windows 10, Windows 7

I hope they could fix this soon...I don't like to have a menu or window decorations, a lot of the hotkeys I use with my OS use the alt key so this is very obnoxious.

This worked for me, I'm using Ubuntu with i3wm and OpenBox
Add this to your keymap.cson
'atom-text-editor':
'alt': ' '
I hope this works for you guys :) ...this was driving me crazy.

@angelojulioth Thank you, worked like a charm!

@angelojulioth Thanks so much, that did the trick.
To rebind it to another key, you can add something like this in the keymap file:
'.platform-win32, .platform-linux':
  'ctrl-q': 'window:toggle-menu-bar'

Although that makes the info popup window open everytime...

The below fixed this completely for me (on Ubuntu):
'.platform-win32, .platform-linux':
  'alt': 'abort!'
  'alt-f1': 'window:toggle-menu-bar'

This actually works for disabling the default Alt binding as well!
It behaves a little differently than Alt, because the menu bar stays visible until you toggle it back off (and there's the popup, like @LoLei mentioned). I don't mind the "permanent" toggle, I actually prefer it that way.

@kankaristo that worked for me

@kankaristo Yes, it works, thank you!

@LoLei  Your rebinding idea was great, It worked...but now that I'm using Arch Linux the '.platform-win32, .platform-linux': line doesn't work anymore, I don't know why, but my solution works great, and I can still toggle menu from the settings window(if I ever need it), so If there's any other Linux user here using any other distro than Ubuntu and reading this, they can still bind alt key to nothing and rebind to other keys if they want to. You should already close this issue @mengzdsd :)

@kankaristo fix works. Thanks! +1

@kankaristo This works. However this now pops up a notification about the menu bar getting hidden.

'.platform-win32, .platform-linux':
  'alt': 'abort!'
  'alt-f1': 'window:toggle-menu-bar'

With @kankaristo 's solution, this issue can be closed.


intermediary stage of lighter grants_tagger

Description
This converts the package to a base form that is more lightweight, without heavy dependencies like wellcomeml and libpecos.
It makes the bertmesh transformer the default model used in prediction and evaluation.
By using make virtualenv-dev the extra dependencies can be easily installed when needed.
Checklist

[ ] Linked to Notion or GitHub issue
[ ] Added tests
[ ] Updated README
[ ] DVC up to date

Release checklist

[ ] DVC repro up to date
[ ] Models synced in S3
[ ] Version updated
[ ] CHANGELOG.md updated
[ ] Model and package version aligned

To release:

make build
make deploy

Also tests should pass

When we get tests to pass and implement a recipe to update both requirements, let's mark the tests according to which dependendencies they need and run the tests that need the dev dependencies by installing the dev virtualenv while running the other with installing the default ones to ensure that the repo will work with the light deps.

Build is now passing.
Tests are working, including locally via running pytest.
@nsorros Please review the changes I made when you have time

Are those dependencies needed in unpinned_requirements for predict and download to work? If not move to dev.
matplotlib
gensim==4.0.0
scispacy
scikit-multilearn
streamlit
seaborn

also create two sets of the tests that you run independently using pytest mark. for the light installation run only the predict / download tests and for all other tests run everything. for the light only install the light version

Also I do not think download or predict works. Can you provide a sample that works?
In download case there is a wrong version in the package but even when using version = "0.2.4" this only downloads xlinear. If anything we should download bertmesh although we can discuss whether that is needed at this point.
In predict case it requires a path to a label binarizer which is not needed for bert mesh. I run grants_tagger predict malaria Wellcome/WellcomeBertMesh models/xlinear/label_binarizer-2022.12.0.pkl so i used xlinear label binarizer but this did not work either.
For download I suggest

we remove the download model since it is not needed anymore since the production model is a transformer and coming from the hub. we make download to default to epmc so we remove the subcommand and update the documentation.
we make predict to work only with wellcome bert mesh which is our production model so we remove the need for label binarizer and we update the documentation

We should also use this opportunity to simplify the default requirements. Here is the list I used locally that mostly worked
pandas
xlrd
scikit-learn
numpy
transformers
scipy
wasabi
typer
tqdm
requests
openpyxl
torch

this is for unpinned requirements.

After all that is done, also check which packages are taking most of the space in the virtualenv, say top 5? For me at this point these are
562912  venv/lib/python3.8/site-packages//torch
208728  venv/lib/python3.8/site-packages//scipy
117504  venv/lib/python3.8/site-packages//pandas
117160  venv/lib/python3.8/site-packages//transformers
111576  venv/lib/python3.8/site-packages//numpy

the most heavy is torch which for me is 500GB but for some linux variants gets into the GBs. It would be good to force a cpu installation of torch for inference in order to make this really light 🪶

also create two sets of the tests that you run independently using pytest mark. for the light installation run only the predict / download tests and for all other tests run everything. for the light only install the light version

The predict test I decided to skip for now. It was a bit too much hassle to modify it to the new model

You can run tests reserved for inference time via:
pytest -m inference_time

Also the cuda libraries are not removed. Add grep -v  in the make recipe.
ERROR: Could not find a version that satisfies the requirement nvidia-cublas-cu11==<IP_ADDRESS> (from versions: 0.0.1.dev5, 0.0.1)
ERROR: No matching distribution found for nvidia-cublas-cu11==<IP_ADDRESS>

We are not at 1.4GB size for virtualenv
1424296	venv/lib/python3.8/site-packages/
730120	venv/lib/python3.8/site-packages/torch
92672	venv/lib/python3.8/site-packages/pydantic
87564	venv/lib/python3.8/site-packages/scipy
67852	venv/lib/python3.8/site-packages/sympy
63360	venv/lib/python3.8/site-packages/pandas


MAINT: Update files as per pyansys standards

Update Contributing, Authors file
Replace .flake8 with pyproject.toml file for pre-commit
Remove .codespelrc since the ignored words are used from vocabularies
Update pre-commit-config with new and current changes
change codecov.yml location
Remove .tox.ini and move to pyproject.toml

LGTM! Could you present this as well in tuesday's meeting? Especially flake8-pyproject and tox as part of the pyproject.toml config

Sure.


Enhancement of website content

Name
About
Title
Labels
Assignee

Updating Website content
Changing the text on the website to make it look better and more appropriate
Improvement of website content
enhancement content text
@utkarshluthra

Enhancement
Is your feature request related to a problem?
The content on the website seems very formal and plagiarised
Describe the solution you'd like
Writing content in a more professional and descriptive form such that it can be easier for the user. Making content more appropriate.
Describe alternatives you've considered
NA
Teachability, Documentation, Adoption, Migration Strategy
NA

The issue has been fixed so closing the issue.


DEVAI-193: Add Permissions Doc as README

What does this PR do?:

This PR converts the permissions doc located here to markdown so it is accessible by anyone and not limited to Red Hatters.
Which issue(s) this PR fixes:

https://issues.redhat.com/browse/DEVAI-193
PR acceptance criteria:
Testing and documentation do not need to be complete in order for this PR to be approved. We just need to ensure tracking issues are opened and linked to this PR, if they are not in the PR scope due to various constraints.

[ ] Tested and Verified

[x] Documentation (READMEs, Product Docs, Blogs, Education Modules, etc.)

How to test changes / Special notes to the reviewer:
Just documentation additions.

When I went over the permissions + subscriptions previously I believe I was comparing from here and here and since my personal app had many more permissions than that I trimmed them down. After revisiting the permissions and subscriptions I came to the following:
The following permissions can be removed even though they are listed within https://pipelinesascode.com/docs/install/github_apps/ and https://backstage.io/docs/integrations/github/github-apps/#app-permissions :

Checks - Read & Write
Environments - Read & Write
Secrets - Read & Write
Variables - Read & Write
Plan - Read & Write
Commit Statuses - Read
Issues - Read & Write

All of these permissions are not required and/or not used by our software templates (i.e Issues since we don't create Issues with the templates, Secrets because we don't use repo secrets, Variables, etc).
With the removal of these permissions we can also remove the following subscriptions:

Check Suite
Check Run
Commit Comment
Issue Comment
Repository Dispatch
Workflow Dispatch
Workflow Job
Workflow Run

I'm a bit confused about the Repository Dispatch, Workflow Dispatch, Workflow Job and Workflow Run removals since I was convinced we found out those were required when debugging issues with the pipeline triggers but I was able to get everything running without them. Let me know if there is any we should keep even though we are not currently using them (such as Issues) and I can add them back.
cc @yangcao77 @maysunfaisal @thepetk @michael-valdron

My 2¢:

When I went over the permissions + subscriptions previously I believe I was comparing from here and here and since my personal app had many more permissions than that I trimmed them down. After revisiting the permissions and subscriptions I came to the following:

If the PaC documentation lists the permissions or subscriptions as required, we should include them to be safe, even if we're not using them today.
The Backstage documentation is more advisory based on your needs, so I'm worried less about it than PaC.

My 2¢:

When I went over the permissions + subscriptions previously I believe I was comparing from here and here and since my personal app had many more permissions than that I trimmed them down. After revisiting the permissions and subscriptions I came to the following:

If the PaC documentation lists the permissions or subscriptions as required, we should include them to be safe, even if we're not using them today.
The Backstage documentation is more advisory based on your needs, so I'm worried less about it than PaC.

wdyt @redhat-ai-dev/ai-development-team ? Keeping PaC to stay on the safe side would have the following being added back (even if unused at this point in time):

Checks - Read and Write
Issues - Read & Write
Plan - Read Only
Check run
Check suite
Issue comment
Commit comment


cinnamon.cinnamon-common: 5.6.6 -> 5.6.7

Description of changes
https://github.com/linuxmint/cinnamon/compare/5.6.6...5.6.7
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

@ofborg test cinnamon


Page streaming update - option 1

(At least one more option to come...)

We've decided against this, in favour of #48.


Avoid consuming F2 when name editing is disabled

In the MultiSelectTreeViewItem.OnKeyDown, do not set e.Handled while processing F2 unless the editing is possible. This allows users to add their own key binding for F2 in inputbindings on the control. Currently one can have AllowEditItems = false but the item still "eats" the key down.
I hope this makes sense.

Thanks!


Fix/metadata on collection

metadata wasn't added when serialising multiple objects

I think travis messed up here, could you restart it?


Question : how to show data table with respective label in chart

Hi all,
how to show data table with respective label in Chart ?
is it possible ?
Like below picture
Thank you.

I think you could just manually iterate through the data and assign the values to your div manually. Or are you wanting this on the canvas?

Yes , need on the canvas. may be i didnt find and see any property of chart.js provides it like excel.

You need to create a new axis type to do this. It could derive from the built in category scale but would have custom draw and measurement functionality.

Thank you @etimberg

@oguzAtes if you've got questions on how to implement this, jump into our slack channel and i can help you out

Closing since implementing a new axis is the proper way to do this

Hey @oguzAtes I need the same feature on all my charts. Were you able to implement this somewhere?

@richbleeker , i'm sorry for late.
i did not implement this. I changed requirement, i displayed row data on pop up screen.
did you implement ? i yes , i want to see that , thank you.
@etimberg  thank you for help.

@etimberg
Could you please provide the sample code for the category fix to achieve the requested format?
With advance thanks by Manickam.G

I also need the the same

You need to create a new axis type to do this. It could derive from the built in category scale but would have custom draw and measurement functionality.

@etimberg
where i contact to receive how to implement this?


Copying empty selection clears clipboard

When user tries to copy text from TextEditor while the selection is empty, the clipboard is cleared. This is not expected, since most text editors don't behave this way.
Clipboard should not be cleared, when user attempts to do this.

The clipboard isn't cleared; it's set to the contents of the current line.
This is the same behavior as Visual Studio.

Note that this feature can be disabled by setting textEditor.Options.CutCopyWholeLine = false;.


Mining too slow, wrong configurations?

We build a bitcoin-candy mining pool using z-nomp, but the speed to generate blocks looks abnormal. It's insanely slow compared to our hashing power, wonder if there's anyone who can help us figure this out. Here is the URL of our mining pool:
http://pool.cdy.one/
The official website of bitcoin-candy is:
https://cdy.one/
Bitcoin-candy uses equihash as pow algorithm, and generate blocks every two minutes.
Some configurations:
"clustering": {
"enabled": true,
"forks": 8
},
"defaultPoolConfigs": {
    "blockRefreshInterval": 500,
    "jobRebroadcastTimeout": 35,
    "connectionTimeout": 600,
    "emitInvalidBlockHashes": false,
    "validateWorkerUsername": true,
    "tcpProxyProtocol": false,
    "banning": {
        "enabled": true,
        "time": 600,
        "invalidPercent": 50,
        "checkThreshold": 500,
        "purgeInterval": 300
    },
    "redis": {
        "host": "<IP_ADDRESS>",
        "port": 6379,
        "password": ""
    }
},

"ports": {
    "3857": {
        "tls":false,
        "diff": 0.1,
        "varDiff": {
            "minDiff": 0.04,
            "maxDiff": 16,
            "targetTime": 15,
            "retargetTime": 90,
            "variancePercent": 30
        }
    },
   "3856": {
        "diff": 32
    }
},

Equihash verifying bug invites fake miners.