parallel tasks should have the option to kill children on exit

Feature Description
Currently, when a child of a a parallel task exits …

… with an exit code of zero
… with a non-zero exit code

the runner continues as if nothing happened (without any logging, unless fork is enabled)
the runner exits (with an error message + exit code of 1) — without killing any still-living child tasks

Makefile.toml
[tasks."parent"]
[tasks."parent".run_task]
# fork = true
name = ["child:1", "child:2"]
parallel = true

[tasks."child:1"]
script = '''
#!/usr/bin/env bash

sleep 1
# toggle below to trigger a non-zero exit code
# false
'''

[tasks."child:2"]
script = '''
#!/usr/bin/env bash

sleep 2
'''

This is mostly an issue for long-lived tasks, like filesystem watchers. My use case is two long-lived tasks; if one fails, the other continues in the background, and I need to remember to ps aux | grep and kill manually.

I've used concurrently extensively, and I really like its implementation. It provides --kill-others and --kill-others-on-fail flags (and a corresponding killOthers: ("failure" | "success")[] API option).

Without --kill-others[-on-fail], when a child exits …

… with an exit code of zero
… with a non-zero exit code

the runner continues as if nothing happened (without any logging) — this is the same behavior as cargo-make
the runner continues as if nothing happened (without any logging), then exits with a code of 1

With --kill-others, when a child exits …

… with an exit code of zero
… with a non-zero exit code

the runner exits with a code of 1, killing other children with SIGTERM
the runner exits with a code of 1, killing other children with SIGTERM

With --kill-others-on-fail, when a child exits …

… with an exit code of zero
… with a non-zero exit code

the runner continues as if nothing happened (without any logging) — this is the same behavior as cargo-make
the runner exits with a code of 1, killing other children with SIGTERM

Describe The Solution You'd Like
I think the current implementation is mostly fine, with the exception of not killing children on exit. In my opinion, there's two potential simpler solutions that wouldn't involve adding configuration options:
When the child of a parallel task exits with a non-zero exit code, …

… do nothing; then exit with the existing error message and exit code of 1 when all other children exit
… exit immediately and kill all living children

This wouldn't solve my use-case, but it at least would resolve the existing bug.

Higher-effort would be to implement an option similar to concurrently, maybe nesting it under the existing parallel option:
parallel = { kill_others = ["failure", "success"] }

or, if we want to be able to specify the signal sent to living children (though this might be difficult to implement cross-platform), maybe:
parallel = { on_error = "SIGKILL", on_exit = "SIGTERM" }

or even specifying a task (that would be provided with the info of the process to be killed) to enable arbitrary actions:
[task."name"]
parallel = { on_error_task = "name:on_error" }

[task."name:on_error"]
script = '''
#!/usr/bin/env bash

notify-send -u critical "killing task ${CARGO_MAKE_TASK_NAME}"
kill "${CARGO_MAKE_TASK_PID}"
'''

Happy to draft up a PR, just curious which direction (if any) the maintainers would like to see this feature go!

@ezracelli thanks a lot for the detailed info.
question, did you look at the cleanup task capability? maybe we can use that to 'kill' the background process?
from this section:
https://github.com/sagiegurari/cargo-make#commands-scripts-and-sub-tasks
[tasks.cleanup]
command = "echo"
args = ["cleanup"]

[tasks.cleanup-example]
run_task = { name = ["echo1", "echo2", "fail"], fork = true, cleanup_task = "cleanup" }

@ezracelli did it solve your issue?

@sagiegurari Thanks for the tip! I did a bit of experimentation with cleanup_task, but unfortunately as it doesn't know what the PIDs of the children are, it requires maintaining a project-local /run-type directory with pidfiles (so the cleanup task can kill them). This isn't a cross-platform solution, though, as Windows doesn't do PIDs the same way *NIX does. My solution, on *NIX:
mkdir -p ./.run/
echo $$ > ./.run/process.pid
exec process

… and the cleanup_task:
if [ -d ./.run ]; then
  cat ./.run/*.pid | xargs kill
  rm ./.run/*.pid
fi

Obviously, this isn't portable to e.g. Windows, so this solution would require a separate Windows-specific makefile.toml if a project wanted to support cross-platform task running.
In my opinion, leaving zombie child processes running (the current behavior) is actually a bug. cargo-make is amazing, this is the one thing that feels like it's not fully fleshed out :grin:

i'm trying to see if we have a workaround that is quick without having to do pretty complex stuff inside cargo-make.
for example, you said you would need different makefile for windows, but actually you have a way to extend specific tasks per platform: https://github.com/sagiegurari/cargo-make#usage-platform-override
anyhow, cargo-make comes with duckscript embedded.
so you could use 'spawn' to call an executable, get its pid and store that in an env var (using set_env command).
than in cleanup task, call exec with kill by pid you stored in the env var.
if this is a pattern that happens alot, you could setup a plugin that does all that for you.
https://github.com/sagiegurari/cargo-make#usage-plugins
plugins are a way to give cargo-make more power without coding it inside cargo-make.
i agree that leaving zombie child processes isn't great. that can happen for many different tools and usually child processes are killed not by parent process but by the OS unless they probably prevent that or something.
while solving your specific usecase might be 'low-med' effort, there are other more complex scenarios that could lead to real complexity. for example while if child started a child on its own but than is killed by cargo-make (parent) process? who kills the sub child?
so i prefer to see if we can get to a solution for your specific use case without building a feature that might break for others.

did it solve your issue?

I would argue that even if the cleanup task suggestion works, it would be a workaround at best and not a solution. I agree with @ezracelli that it very much feels like a bug, however I can see how this would be "working as designed". IMO at a minimum there should be a not in the (tiny) section about parallel tasks clarifying this fairly un-intuitive behavior.

@scottbot95 thanks for the feedback.

IMO at a minimum there should be a not in the (tiny) section about parallel tasks clarifying this fairly un-intuitive behavior.

would you like to submit a PR that explains it better? if you do, please make sure to update the content.md which the README is generated from

Also, unless I'm missing something, you cannot provide a cleanup task with a duckscript task so your proposed duckscript solution would require at a minimum 3 tasks (cleanup, the duckscript task, and a wrapper parent with run_task = { name = [ "duckscript"], cleanup_task = "cleanup" })

i didn't get this part. you already have 2 tasks, right?
the task that starts up at least one task in parallel and the task that is invoked from it
now we need to

add a cleanup task
modify the invoked task to not be command+args but be duckscript that invokes the command and args so you can keep the pid in some env var. so its not adding another task, its replace how you would right the original task

ya i get its not amazing, but its a tricky area that can lead to many edge cases.

would you like to submit a PR that explains it better?

I am travelling currently, but I can work on an update when I get back home in a day or two. I don't think there needs to be much.

i didn't get this part ....

Ahhhh yeah that makes sense I was just confused. Thanks!

documentation updated


Create "Sign up to our mailing list" component using Mailchimp

[ ] Setup gatsby mailchimp plugin (located here)
[ ] add proper Mailchimp keys (ask @peterpme)
[ ] insert template onto the website footer

I can handle this. Would just need access to either the mailchimp account or the keys + endpoint.


Safe.moe 502

Front page of Safe.moe says at the current moment
502 Bad Gateway
nginx/1.10.3

Are you OK?

Unfortunately I can't do anything about it since safe.moe is just one of many sites using lolisafe. I'll go ahead and let the owner know about it but that's as much as I can do. Right now it seems fixed though.


Merge test_canonical_types.py into test_ptype.py

This pull request seems to be completed - should we merge it?

Oops sorry, might have forgotten to hit the button!

That was quick. No worries. I thought you might add more.


Post status to a webhook

Is your feature request related to a problem? Please describe.
Is it possible to get the status from the AS3 posted as a webhook the same way Declarative Onboarding does?
https://clouddocs.f5.com/products/extensions/f5-declarative-onboarding/latest/schema-reference.html#device
Describe the solution you'd like
{
    "class": "AS3",
    "action": "deploy",
    "webhook": "http://example.com/webhook",
    .....

Thank you for your feedback. Unfortunately, we have decided that this functionality is not as valuable for AS3, and we are not interested in investing resources into it at this time. I am closing this issue.


[3pt]  - Add all items counter on the Homepage - Student A

Even if the API gives you the number of items, you will create a specific function to calculate it.
Make sure that the correct number is displayed on the Homepage.
Respect the following rules:

Each counter should be implemented as a separate module.
A counter function should look for specific DOM elements (e.g. for the comments counter it should look for comments) and make the counting based on what is actually displayed on the page.
A counter function should cover all the edge cases you can think about.

Hi @Javed-Shahbaz, I created a PR for this issue, can you review please?
https://github.com/Javed-Shahbaz/JavaScript-Capstone/pull/27


gt implementation is missing

Most types do not yet support comparison operations.
To fix this, go into vm/src/obj and enrich builtin object types with orderable operators like __gt__, __le__ etc..

I'm new here but this seems done?


Add remaining 1.4 release features

We're changing keybindings to actions, so this needs to be documented.
Additional information on how actions can appear inside the command palette is also needed.
Preview tags from 1.3 need to be removed.
Closes #141

Docs Build status updates of commit 36ef936:
:warning: Validation status: warnings

File
Status
Preview URL
Details

TerminalDocs/command-palette.md
:warning:Warning
View
Details

TerminalDocs/customize-settings/actions.md
:warning:Warning
View
Details

TerminalDocs/get-started.md
:warning:Warning
View
Details

TerminalDocs/index.md
:warning:Warning
View
Details

TerminalDocs/panes.md
:warning:Warning
View
Details

TerminalDocs/search.md
:warning:Warning
View
Details

TerminalDocs/troubleshooting.md
:warning:Warning
View
Details

TerminalDocs/TOC.yml
:white_check_mark:Succeeded
View

TerminalDocs/command-palette.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/customize-settings/actions.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/get-started.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/index.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/panes.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/search.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/troubleshooting.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

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

Docs Build status updates of commit e9f6b56:
:warning: Validation status: warnings

File
Status
Preview URL
Details

TerminalDocs/command-palette.md
:warning:Warning
View
Details

TerminalDocs/customize-settings/actions.md
:warning:Warning
View
Details

TerminalDocs/customize-settings/global-settings.md
:warning:Warning
View
Details

TerminalDocs/get-started.md
:warning:Warning
View
Details

TerminalDocs/index.md
:warning:Warning
View
Details

TerminalDocs/panes.md
:warning:Warning
View
Details

TerminalDocs/search.md
:warning:Warning
View
Details

TerminalDocs/troubleshooting.md
:warning:Warning
View
Details

TerminalDocs/TOC.yml
:white_check_mark:Succeeded
View

TerminalDocs/command-palette.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/customize-settings/actions.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/customize-settings/global-settings.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/get-started.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/index.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/panes.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/search.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/troubleshooting.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

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

Docs Build status updates of commit b67330d:
:warning: Validation status: warnings

File
Status
Preview URL
Details

TerminalDocs/command-palette.md
:warning:Warning
View
Details

TerminalDocs/customize-settings/actions.md
:warning:Warning
View
Details

TerminalDocs/customize-settings/global-settings.md
:warning:Warning
View
Details

TerminalDocs/get-started.md
:warning:Warning
View
Details

TerminalDocs/index.md
:warning:Warning
View
Details

TerminalDocs/panes.md
:warning:Warning
View
Details

TerminalDocs/search.md
:warning:Warning
View
Details

TerminalDocs/troubleshooting.md
:warning:Warning
View
Details

TerminalDocs/TOC.yml
:white_check_mark:Succeeded
View

TerminalDocs/command-palette.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/customize-settings/actions.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/customize-settings/global-settings.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/get-started.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/index.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/panes.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/search.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/troubleshooting.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

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

Docs Build status updates of commit 6236cab:
:warning: Validation status: warnings

File
Status
Preview URL
Details

TerminalDocs/command-palette.md
:warning:Warning
View
Details

TerminalDocs/customize-settings/actions.md
:warning:Warning
View
Details

TerminalDocs/customize-settings/global-settings.md
:warning:Warning
View
Details

TerminalDocs/get-started.md
:warning:Warning
View
Details

TerminalDocs/index.md
:warning:Warning
View
Details

TerminalDocs/panes.md
:warning:Warning
View
Details

TerminalDocs/search.md
:warning:Warning
View
Details

TerminalDocs/troubleshooting.md
:warning:Warning
View
Details

TerminalDocs/TOC.yml
:white_check_mark:Succeeded
View

TerminalDocs/command-palette.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/customize-settings/actions.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/customize-settings/global-settings.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/get-started.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/index.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/panes.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/search.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/troubleshooting.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

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

Docs Build status updates of commit 1fcaa5d:
:warning: Validation status: warnings

File
Status
Preview URL
Details

TerminalDocs/command-palette.md
:warning:Warning
View
Details

TerminalDocs/customize-settings/actions.md
:warning:Warning
View
Details

TerminalDocs/customize-settings/global-settings.md
:warning:Warning
View
Details

TerminalDocs/customize-settings/profile-settings.md
:warning:Warning
View
Details

TerminalDocs/get-started.md
:warning:Warning
View
Details

TerminalDocs/index.md
:warning:Warning
View
Details

TerminalDocs/panes.md
:warning:Warning
View
Details

TerminalDocs/search.md
:warning:Warning
View
Details

TerminalDocs/troubleshooting.md
:warning:Warning
View
Details

TerminalDocs/TOC.yml
:white_check_mark:Succeeded
View

TerminalDocs/command-palette.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/customize-settings/actions.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/customize-settings/global-settings.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/customize-settings/profile-settings.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/get-started.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/index.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/panes.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/search.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/troubleshooting.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

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

Docs Build status updates of commit 2e0dce7:
:warning: Validation status: warnings

File
Status
Preview URL
Details

TerminalDocs/command-palette.md
:warning:Warning
View
Details

TerminalDocs/customize-settings/actions.md
:warning:Warning
View
Details

TerminalDocs/customize-settings/global-settings.md
:warning:Warning
View
Details

TerminalDocs/customize-settings/profile-settings.md
:warning:Warning
View
Details

TerminalDocs/get-started.md
:warning:Warning
View
Details

TerminalDocs/index.md
:warning:Warning
View
Details

TerminalDocs/panes.md
:warning:Warning
View
Details

TerminalDocs/search.md
:warning:Warning
View
Details

TerminalDocs/troubleshooting.md
:warning:Warning
View
Details

TerminalDocs/TOC.yml
:white_check_mark:Succeeded
View

TerminalDocs/command-palette.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/customize-settings/actions.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/customize-settings/global-settings.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/customize-settings/profile-settings.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/get-started.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/index.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/panes.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/search.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

TerminalDocs/troubleshooting.md

Line 8, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'terminal'.

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

Docs Build status updates of commit 6533147:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

TerminalDocs/TOC.yml
:white_check_mark:Succeeded
View

TerminalDocs/command-palette.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/actions.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/global-settings.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/profile-settings.md
:white_check_mark:Succeeded
View

TerminalDocs/get-started.md
:white_check_mark:Succeeded
View

TerminalDocs/index.md
:white_check_mark:Succeeded
View

TerminalDocs/panes.md
:white_check_mark:Succeeded
View

TerminalDocs/search.md
:white_check_mark:Succeeded
View

TerminalDocs/troubleshooting.md
:white_check_mark:Succeeded
View

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 in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit 3a52e74:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

TerminalDocs/TOC.yml
:white_check_mark:Succeeded
View

TerminalDocs/command-palette.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/actions.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/global-settings.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/profile-settings.md
:white_check_mark:Succeeded
View

TerminalDocs/get-started.md
:white_check_mark:Succeeded
View

TerminalDocs/index.md
:white_check_mark:Succeeded
View

TerminalDocs/panes.md
:white_check_mark:Succeeded
View

TerminalDocs/search.md
:white_check_mark:Succeeded
View

TerminalDocs/troubleshooting.md
:white_check_mark:Succeeded
View

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 in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit ff2234c:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

TerminalDocs/TOC.yml
:white_check_mark:Succeeded
View

TerminalDocs/command-palette.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/actions.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/global-settings.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/profile-settings.md
:white_check_mark:Succeeded
View

TerminalDocs/get-started.md
:white_check_mark:Succeeded
View

TerminalDocs/index.md
:white_check_mark:Succeeded
View

TerminalDocs/panes.md
:white_check_mark:Succeeded
View

TerminalDocs/search.md
:white_check_mark:Succeeded
View

TerminalDocs/troubleshooting.md
:white_check_mark:Succeeded
View

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 in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit 7f5f110:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:bulb:Suggestion

Details

TerminalDocs/TOC.yml
:white_check_mark:Succeeded
View

TerminalDocs/command-palette.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/actions.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/global-settings.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/profile-settings.md
:white_check_mark:Succeeded
View

TerminalDocs/get-started.md
:white_check_mark:Succeeded
View

TerminalDocs/index.md
:white_check_mark:Succeeded
View

TerminalDocs/panes.md
:white_check_mark:Succeeded
View

TerminalDocs/search.md
:white_check_mark:Succeeded
View

TerminalDocs/troubleshooting.md
:white_check_mark:Succeeded
View

.openpublishing.redirection.json

Line 5, Column 72: [Suggestion-redirect-url-invalid] Can't redirect document ID for redirected file 'customize-settings/key-bindings.md' because redirect URL 'TerminalDocs/customize-settings/actions.md' is invalid or is in a different docset. Specify a redirect_url in the same docset, or set redirect_document_id to false in .openpublishing.redirection.json.

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 in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit ed3478a:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

TerminalDocs/TOC.yml
:white_check_mark:Succeeded
View

TerminalDocs/command-palette.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/actions.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/global-settings.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/profile-settings.md
:white_check_mark:Succeeded
View

TerminalDocs/get-started.md
:white_check_mark:Succeeded
View

TerminalDocs/index.md
:white_check_mark:Succeeded
View

TerminalDocs/panes.md
:white_check_mark:Succeeded
View

TerminalDocs/search.md
:white_check_mark:Succeeded
View

TerminalDocs/troubleshooting.md
:white_check_mark:Succeeded
View

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 in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit 23b78c2:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:bulb:Suggestion

Details

TerminalDocs/TOC.yml
:white_check_mark:Succeeded
View

TerminalDocs/command-palette.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/actions.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/global-settings.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/profile-settings.md
:white_check_mark:Succeeded
View

TerminalDocs/get-started.md
:white_check_mark:Succeeded
View

TerminalDocs/index.md
:white_check_mark:Succeeded
View

TerminalDocs/panes.md
:white_check_mark:Succeeded
View

TerminalDocs/search.md
:white_check_mark:Succeeded
View

TerminalDocs/troubleshooting.md
:white_check_mark:Succeeded
View

.openpublishing.redirection.json

Line 5, Column 102: [Suggestion-redirect-url-invalid] Can't redirect document ID for redirected file 'customize-settings/key-bindings.md' because redirect URL 'https://docs.microsoft.com/microsoft/terminal/customize-settings/actions' is invalid or is in a different docset. Specify a redirect_url in the same docset, or set redirect_document_id to false in .openpublishing.redirection.json.

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 in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit 7de98e7:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

TerminalDocs/TOC.yml
:white_check_mark:Succeeded
View

TerminalDocs/command-palette.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/actions.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/global-settings.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/profile-settings.md
:white_check_mark:Succeeded
View

TerminalDocs/get-started.md
:white_check_mark:Succeeded
View

TerminalDocs/index.md
:white_check_mark:Succeeded
View

TerminalDocs/panes.md
:white_check_mark:Succeeded
View

TerminalDocs/search.md
:white_check_mark:Succeeded
View

TerminalDocs/troubleshooting.md
:white_check_mark:Succeeded
View

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 in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


CANCEL AXIS/ALL doesn't check if axis is in use

Reported by Ansley B Manke on 31 Oct 2002 19:08 UTC
def axis/x xir = {1,2,3.5,6,7,9.9}
let v = sin(x[gx=xir])
list v
can ax/all
list v
Note: just need code in deallo_all_axes.F to check for this...
Migrated-From: http://dunkel.pmel.noaa.gov/trac/ferret/ticket/473

Comment by<EMAIL_ADDRESS>on 5 Nov 2002 22:14 UTC
deallo_all_axes.F


Fix GitHub signup redirect to home page

Couldn't test it out, cause i was too lazy to setup github client ID and client secret. So test before merging 😅.

And i could remove the lock file change if you want.


Update to Babel 7

Babel 7 just got released, bringing bags of goodies, among them faster transpilation. Probably it's a good idea for us to upgrade as well.

@elhigu If you approve, I could work on this.

I suppose it can be updated. I would like more if we could drop it completely, but I don't think that is going to happen at least this year.

Well, if we migrate to Typescript we could drop it immediately, but since that isn't likely to be completed anytime soon either, April 2019 sounds realistic for when we could drop Babel directly (I don't think we really need any Node 10 features such as async iterators).

Blocked by https://github.com/59naga/babel-plugin-add-module-exports/issues/65

Well, this means that knex will break other projects which try to use Babel 7.
Would love to see this upgraded, but also -- why do you require babel-runtime as a non-dev-dep?

@pgebheim Why would it break them? Other projects consume already transpiled sources so they do not depend on how knex uses Babel.
Babel-runtime is an interesting topic, though. @elhigu Could you comment on why we need it if we transpile anyway?

@kibertoad Right now its breaking projects because babel-runtime is specified as a dependency, so it gets tracked into every project that includes Babel.
The end result is that there are multiple babel-runtime versions in the project and babel will break.

Upon further investigation I think the error is a bit of a red herring. Knex definitely shouldn't be exporting babel-runtime as a real dependency, but the issue I am seeing is because electron-compile needs babel6.
It just so happens that since knex provided a real dep for babel-runtime and its version is newer than specified in electron-compile, the loading of the dep resolves to the version specified in Knex.

Fixed with #2813.


Add Client-Side Library dialog causes VS to show reload file dialog for libman.json

Functional impact

The user can no longer undo edits in the file due to the reload.
If the file had unsaved edits, those are lost after reload.

Minimal repro steps

Open libman.json file in VS
Right click a folder and select Add-> Client Side Library
Type any library name and click install.

Expected result
The libman.json file is updated with the new library (and shows the highlight on the left that indicates the portion that was edited.)

If libman.json was unsaved before installing the library, it would be good to confirm with the user to Save the file as part of the operation.
Actual result
A reload file dialog is shown:

Notes:

Fixed via commit:
https://github.com/aspnet/LibraryManager/commit/38537f94ce2cbedac106828c63ad7b195f365958


How do we use the wkwebview build?

After creating this issue:
https://github.com/inProgress-team/react-native-youtube/issues/389
It was closed as this build was pushed "[MM-18656] Use WKWebView over UIWebView":
https://github.com/mattermost/react-native-youtube/pull/1
It's not clear how to use this build. Any help would be greatly appreciated.

@danielfein What are you having difficulties with? We use the WKWebView as a dependency now that needs to be installed with Cocoapods

I can't get passed "'WKYTPlayerView.h' file not found" and this build appears to be a fix for it. I'm not sure how to use that build, though. It seems that was uploaded a few days ago, and the latest npm publish date was around 2 weeks ago. Just trying to figure out how to use that code so I can actually implement. It seems new integrations of react-native-youtube aren't working for many people.

what do you mean by build? a merge? a commit?
Can you try installing and setting the example app in this repo? Should be pretty straight forward if you use cocoapods

I was confused and thought that project was the same. Turns out the issue still exists in this repo. I don't really make sense to set up the example app for me, I'm trying to implement it into a specific project. Following the steps I've received that error every time.

Duplicate #389

Upgrading to RN 60 was the only fix.

@danielfein . Agreed from your above comment.


enhancement of compare feature

splited from #25322

split branch/tags dropdown as two parts: repository dropdown and branch/tags dropdown. that's same with github.

user can search any repository in repository search box.

show a single error log instead of a 404 page when the head repo or user, the head or base ref is not exist. then user still can choose other option easyly.

I think it's supposed to render like this, at least does so for me on current main:

I think it's supposed to render like this, at least does so for me on current main:

fixed https://github.com/go-gitea/gitea/pull/29766/commits/94916dbfc057b345f82c3a66c6a4d35f5a3c3dff

Test failures related.

split branch/tags dropdown as two parts: repository dropdown and branch/tags dropdown. that's same with github.

Is there a condition when it shows 4 selection boxes or is it always?
Wondering because at least in some cases, github only shows 2 boxes, like here:
https://github.com/go-gitea/gitea/compare/release/v1.22

Is there a condition when it shows 4 selection boxes or is it always?

to chose other repository easily. then the server can save time loading branch information for the all associated repository it uses. at last user can chose all repos by ui now.

Wondering because at least in some cases, github only shows 2 boxes, like here:

yes, in fact github provide two optional views, one has repo chose options, the others don't have, and user can switch it by click the 'compare across forks' buttuon. I has try it in #25322 also. but as lunny says (https://github.com/go-gitea/gitea/pull/25322#issuecomment-1595791732), looks the second view is not so necessary.

Github has a link `compare across forks` to switch from 2 columns to 4 columns compare UI.


Misleading error when connecting to a cluster w/o encryption

Description
The Python client requires mandatory encryption enabled on the TypeDB Cluster server to be able to connect. If the encryption on the server is disabled you get the error message like that:
E0320 12:00:47.322331000<PHONE_NUMBER> ssl_transport_security.cc:1501]    Handshake failed with fatal error SSL_ERROR_SSL: error:100000f7:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER.
Traceback (most recent call last):

Environment

OS (where TypeDB server runs): macOS 12.6.3
TypeDB version (and platform): 2.16.1
Other environment details:

Reproducible Steps

Start a TypeDB cluster. Do not set encryption = True (it is set to False by default).
Try to connect with the Python client to a TypeDB Cluster with the default config (Encryption = False).

Expected Output
Something about TypeDB Cluster does not have Encryption enabled.
Or TypeDB Cluster failed to provide any suitable encryption method. Check the servers configuration.
Actual Output
Fetching list of cluster servers from <IP_ADDRESS>:1729...
E0321 18:32:32.646661000<PHONE_NUMBER> ssl_transport_security.cc:1501]    Handshake failed with fatal error SSL_ERROR_SSL: error:100000f7:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER.
Traceback (most recent call last):
  File "/Users/vladimir/Documents/GitHub/typedb_test_queries/cluster.py", line 10, in <module>
    with TypeDB.cluster_client("<IP_ADDRESS>:1729", credentials) as client:  # Connect to TypeDB cluster
  File "/Users/vladimir/Library/Python/3.9/lib/python/site-packages/typedb/client.py", line 76, in cluster_client
    return _ClusterClient([addresses], credential, parallelisation)
  File "/Users/vladimir/Library/Python/3.9/lib/python/site-packages/typedb/connection/cluster/client.py", line 42, in __init__
    self._server_clients: Dict[str, _ClusterServerClient] = {addr: _ClusterServerClient(addr, credential, parallelisation) for addr in self._fetch_server_addresses(addresses)}
  File "/Users/vladimir/Library/Python/3.9/lib/python/site-packages/typedb/connection/cluster/client.py", line 62, in _fetch_server_addresses
    raise TypeDBClientException.of(CLUSTER_UNABLE_TO_CONNECT, ",".join(addresses))
typedb.common.exception.TypeDBClientException: Client Error: Unable to connect to TypeDB Cluster. Attempted connecting to the cluster members, but none are available: '<IP_ADDRESS>:1729'.

Additional information

The very same error happens to be if we try to connect to a TypeDB server with a cluster_client method.


WIP:install job kickstart duration metrics

--> Install job kickstart duration after cd is created

forgot to log using cdLog.WithField

another mistake was logging job.status.completionTime. Working on both

/lgtm

/lgtm
/ok-to-test

/lgtm

/Retest

/retest

/lgtm


vimacs: init at 2016-03-24

modified:   maintainers/maintainer-list.nix
new file:   pkgs/applications/editors/vim/vimacs.nix
modified:   pkgs/misc/vim-plugins/generated.nix
modified:   pkgs/misc/vim-plugins/overrides.nix
modified:   pkgs/top-level/all-packages.nix

Motivation for this change
vimacs is a vim-based editor with emacs key bindings
It is both a plugin as well as a wrapper around vim.  The wrapper is needed to set up vim as a modeless editor.
For the nix derivation, I've added the RTP and overrides to the wrapper commands allowing users to find this usable without any complex customization in vimrc.  This should let it co-exist happily with the original vim they are using.
I've tested vimacs (vm) and gvimacs (gvm) on both darwin and Linux built with --pure.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[x] macOS
[x] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Notify maintainers
cc @

Please add andrep/vimacs to vim-plugin-names. This is what causes it to appear in generated.nix.

Done - added this, rebased against master, and broke out maintainer addition to a separate commit.

Why add set nopaste and inoremap <C-c> <C-l>? (What is it about nix/nixpkgs that requires this here instead of either upstream on in users' configs?)

The documentation generally suggests it is on the user to add such modifications to their vimrc file, although as you might expect this requires the end-user to not just use the application but also make corresponding modifications to their environment.  The documentation around this is, at best, confusing.  In my experience, I've found this undesirable for novice users expecting "emacs-like" behavior.
One of the great features of Nix is that because of the ability to use RTP to optionally include the module, so you can now use vimacs in both ways -- if someone adds the vimPlugin and uses a standard vim plugin loader, they have access to using the module in a vim-mode and can change their vimrc as desired for any configuration (or partial configuration) of their choosing.  If they use the script, they get the emacs-style options turned on without vimrc changes affecting their base vim runs.

I was able to build and use this on NixOS.
Thanks!

Really appreciate you taking a look!
Thanks, Jason

Which documentation suggests adding these two specific things?  I don't see them in http://algorithm.com.au/code/vimacs/about/ or in https://github.com/andrep/vimacs .
I appreciate that this is trying to be helpful, but I'm wary of making vimacs work differently in Nix than elsewhere, and just the difference creating another little pain point when someone is trying to migrate a bunch of their things to Nix at the same time.
Best thing: If these really should just be defaults, let's propose them upstream (such as like this: https://github.com/chkno/vimacs/pull/1/files ).  Having links to documentation where this is recommended and being able to say in the pull request "Why say 'should' in documentation instead of just doing it?" would create the right kind of conversation, I think.
Second best thing: 1. Explain in a comment in pkgs/applications/editors/vim/vimacs.nix why this should be done (doc links), why it can't go upstream, and why it's painful to push it off to the user, and 2. Make it easy to turn it off, such as by having buildCommand pull in this part from another field that can be overridden:
  extraArgs = ''-c "set nopaste" -c "inoremap <C-c> <C-l>"'';
  buildCommand = ''
    ...
    '--cmd "let g:VM_Enabled = 1" --cmd "set rtp^=@rtp@" ${extraArgs}' \
    ...

and then if someone doesn't want this, they can
self: super: {
  vimacs = super.vimacs.overrideAttrs(_: { extraArgs = ""; });
}

I appreciate that this is trying to be helpful, but I'm wary of making vimacs work differently in Nix than elsewhere, and just the difference creating another little pain point when someone is trying to migrate a bunch of their things to Nix at the same time.

That's sensible, I appreciate your point of view.  We can match upstream in both cases and leave it to the user to override.

  extraArgs = ''-c "set nopaste" -c "inoremap <C-c> <C-l>"'';
  buildCommand = ''
    ...
    '--cmd "let g:VM_Enabled = 1" --cmd "set rtp^=@rtp@" ${extraArgs}' \
    ...

and then if someone doesn't want this, they can
self: super: {
  vimacs = super.vimacs.overrideAttrs(_: { extraArgs = ""; });
}

I was planning to do the opposite (leave extraArgs empty and support override to add them).
I'm pretty new to Nix, but tried testing this as suggested above with a .config/nixpkgs/overlays and found that I could override extraArgs, but it would not apply to the buildCommand expansion.
Would extraArgs need to move to arguments to avoid having the end user also override the buildCommand?  Or am I not applying it at the right point/way?

also, for adding vim plugins, you should have one update commit, then another commit where you add the name of the plugin and run update again. https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks/vim.section.md#adding-new-plugins-to-nixpkgs

also, for adding vim plugins, you should have one update commit, then another commit where you add the name of the plugin and run update again. https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks/vim.section.md#adding-new-plugins-to-nixpkgs

@jonringer updated, resolved merge conflicts and retested on Ubuntu and Catalina.  LMK if you need anything additional here.
Thanks

cc @timokau @evanjs do you mind taking a look?

Leaving only technical comments, I haven't heard of the project yet and can't comment on it.
I have a slight worry that this is abandoned on init (2016-03-24, copyright on the website till 2010). It seems a bit like this is a "because I can" project that was mostly done for the novelty. Are you actually using this day-to-day @millerjason?

The original versions date back to 2002, so while the full history isn't in github there have been a number of releases over a decade span (see vim.org for history).  By measures of vim karma, github stars, or forks this is above other things recently accepted into Nix.  You will find users have filed issues against vim as recently as 2019 (https://github.com/vim/vim/issues/4974) referencing it so I do not consider it abandoned.  Emacs key bindings haven't changed in a long time, so I don't expect this module to need constant modifications.
I do use this day-to-day and find it the best way to support emacs key binding in vim.  Its complexity to setup outside of Nix does make it hard for novice users to adopt, but Nix helps a lot in that respect.

After reading http://algorithm.com.au/code/vimacs/about/ I'm not exactly a convert, but I do understand why somebody might want to use it.
What's not entirely clear to me yet is: Why does this need to wrap vim, why isn't the plugin sufficient?

What's not entirely clear to me yet is: Why does this need to wrap vim, why isn't the plugin sufficient?

Changing vim bindings to support modeless editing obviously will override some of the original vim behavior, so the wrapper script allows you to run vim to get classic behavior and vimacs to get modeless behavior.  If you did this as a package in your vimrc then you'd have to pick one or the other.

So basically the only difference is that vim will load the plugin and vimacs will not load the plugin?

So basically the only difference is that vim will load the plugin and vimacs will not load the plugin?

The wrapper will add the plugin to vim's RTP, enables insert mode, and enables the plugin.  More importantly: under a non-GUI to also handles the tty changes necessary to avoid flow control problems (which would occur if you used the plugin outside of the script).

More importantly: under a non-GUI to also handles the tty changes necessary to avoid flow control problems (which would occur if you used the plugin outside of the script).

Can you explain that part?
One disadvantage of the wrapping approach is that you won't be able to use nixpkgs to further customize that vim instance (for example installing additional addons). Couldn't something equivalent be achieved with
vimacs = pkgs.vim_configurable.customize {
  name = "vimacs";

  vimrcConfig = {
    customRC = ''
      startinsert
    '';
    packages.vimacs = with pkgs.vimPlugins; {
      start = [ vimacs ];
    };
  };
};

?

More importantly: under a non-GUI to also handles the tty changes necessary to avoid flow control problems (which would occur if you used the plugin outside of the script).

Can you explain that part?
One disadvantage of the wrapping approach is that you won't be able to use nixpkgs to further customize that vim instance (for example installing additional addons). Couldn't something equivalent be achieved with
vimacs = pkgs.vim_configurable.customize {
  name = "vimacs";

  vimrcConfig = {
    customRC = ''
      startinsert
    '';
    packages.vimacs = with pkgs.vimPlugins; {
      start = [ vimacs ];
    };
  };
};

?

Emacs (and Vimacs, since it has the same key bindings) needs to pass through IXON, IXOFF when it is run, otherwise the terminal will capture C-s and C-q instead of pass it to vim.  That has to be turned off as emacs does.  One cannot do that in a vimrc file, as best as I know.
These are perhaps better questions for upstream.  The wrapper script is upstream and intentional here.

I just tried it, and I can bind to C-s and C-q in plain vim. Have you tried the configuration I posted above?

I just tried it, and I can bind to C-s and C-q in plain vim. Have you tried the configuration I posted above?

Thanks for the suggestions, I'm definitely learning different ways to approach this in Nix.  What you're suggesting is pretty neat, although I could not get it to work for me the same way.
First, I think we'd also want let g:VM_Enabled = 1, so I added that.
It does appear to work for C-s and C-q for me (maybe more recent versions of vim no longer need flow control overrides).
Still, it is not the same.  Here are the differences I see immediately:

C-Z generates "^L:echo "Returning to Normal mode; press ^Z again to suspend Vimacs".  Unfortunately, it also adds this to the working buffer.  Maybe it's not functioning in command mode properly or not initializing the module properly?  Normally this is a message, not added to the buffer.  Some part is initialized incorrectly or in the wrong order.
I lose my vim status bar, although perhaps this is due to nix hiding my original dotfiles.
Other commands (vm, vmdiff, vimacsdiff) would also have to be added (the script handles all of these).  That's not complicated, but unclear if this path reduces complexity.
vim_configurable has been broken on MacOS for years under Nix, so this fails to work for Mac

Thanks, Jason

@jonringer friendly ping, just in case this got lost in your email (normally I wouldn't ping so quickly, but since you reviewed #83119 I assume this got lost).

Maybe part of my reservations is also just my inherent "why would anybody want this" bias as a vim user ;)

I'm in a similar camp. But there may be a community around this, and I think @millerjason did a solid job trying to get it to fit within nixpkgs.
I think we should merge #83119 first as I think fixing conflicts will be easier on this branch

@jonringer friendly ping, just in case this got lost in your email (normally I wouldn't ping so quickly, but since you reviewed #83119 I assume this got lost).

No problem, I only have so many hours to address nixpkgs issues, what I ever I get to, I get to; many of them get dropped off :(

I'm in a similar camp. But there may be a community around this, and I think @millerjason did a solid job trying to get it to fit within nixpkgs.
I think we should merge #83119 first as I think fixing conflicts will be easier on this branch

@timokau @jonringer Thanks, much appreciated.  Standing by to rebase once the other is merged.

https://github.com/NixOS/nixpkgs/pull/83119 is merged now, so after a rebase this should be good :)

#83119 is merged now, so after a rebase this should be good :)

Thanks -- rebase completed.

Thanks! I'll merge this once ofBorg has finished eval, as long as @jonringer doesn't beat me to it.
Welcome to the maintainers team :) Based on our interaction on this PR, I think you'll be a great addition and I'm looking forward to your future contributions if you decide to make any. I can even overlook your questionable taste in editors ;)

Thanks for reviewing the PR, guys - I appreciate the scope of your task to review so many of these and your thoughtfulness.
Now that Nix finally has a good editor to use, I'll be unencumbered to help more often. :)

Now that Nix finally has a good editor to use

The eternal war of editors, may it never stop


have a look at implementing json schema validation support

http://json-schema.org/example1.html

+1


java-library plugin: implementation becomes transitive, when deployed via mavenDeployer

Expected Behavior
When using the implementation configuration of the java-library plugin, I would expect that the pom.xml that's generated and deployed does NOT include things from that configuration.
Current Behavior
external dependencies declared in the implementation configuration become "runtime" dependencies.  Runtime dependencies are considered by gradle to be transitive.
Context
Specifically, this issue pertains to using slf4j correctly - you're supposed to only make slf4j-api be transitive and not any implementation choice for the logger.  If I put implementation 'org.slf4j:slf4j-simple:+', and deploy the library, then anyone depending on it pulls in slf4j-simple too.
Steps to Reproduce (for bugs)

make one library which has api 'org.slf4j:slf4j-api:+' and implementation 'org.slf4j:slf4j-simple:+'
Deploy or install it
make another library that depends on the first from the deployed or installed location
Run ./gradlew dependencies

expect to not see slf4j-simple in the dependencies.

Your Environment

Build scan URL:

Ok - please check out this repo showing off the issue https://github.com/scr/gradle-transitive-deps/ apparently, it's worse than I thought - even without publishing; adding a dependency causes the implementation to leak!

I see the behavior your describing, but believe it to be intentional, and as documented.  Implementation dependencies ARE needed at runtime.
It would only be a 'leak' if the implementation dependencies leaked into the compileClasspath.  Does that make sense?

Yeah, I get it - read the fine print and all - man, that dependency part of maven/gradle is so complicated - I really wish it could be cleared up hand waivy somehow :D

I guess I find it funny that optional is a plugin; not a first-class declaration.


feat(gitlab): Enable retry on failures while fetching secrets

What does this PR do?
Alternative to #29087
Change the way we store secrets in script. Instead of
export VAR=$(fetch_secret)

use
VAR=$(fetch secret) || exit $?; export VAR

To be able to use the retry:exit_codes feature from gitlab, we need to throw the error in gitlab configuration. As a consequence, we need to split assignation and export (cf this shell check), otherwise the return value of fetch_secret would be ignored
Motivation
Prevent the failures when emissary container is down before the job starts.
Possible Drawbacks / Trade-offs
Contrary to the solution proposed on #29087, with this implementation we cannot do:
VAR=$(fetch_secret) run_command_needing_VAR

And in some cases (regression_detector) we added more storage on variables because it's not possible to do
$(fetch_secret) | use_secret_from_stdin

neither. However we leverage the PIPESTATUS array to send password on stdin when possible (docker).
While the above is the recommended way we can see in  #29087 it adds complexity to the gitlab configuration and impacts readability.
Describe how to test/QA your changes
Pipeline is successful

I just noticed that we are missing adding exit_codes: 42 to the KMT retry logic too, as it's different from the default one.

/merge


Make Time.run() return a promise

As already mentioned in #21
Important would be that the Promise resolves to true in the passing case.

So I will get notified when this issue closes ^^

closing in favor of #32


docker stats show image name running container

I'd like to print image name from my current running containers, while showing statistics. The issue si similar to https://github.com/docker/docker/issues/20973, but referring to image name:
docker stats --format "table {{.Container}}\t{{.Name}}\t{{.ImageName}}\t{{.CPUPerc}}\t{{.MemUsage}}\t{{.BlockIO}}\t{{.NetIO}}"
Request is: property .ImageName should be available to format shown statistics

That information is currently not exposed through the API https://docs.docker.com/engine/api/v1.26/#operation/ContainerStats
Can you describe the use case? The stats endpoint is already a resource heavy endpoint, so anything we add should be carefully considered. Having a better feeling for the use case, and why it's a requirement helps in making such decisions

It's a pleasure @thaJeztah, let me try to explain my point of view:
I'm debbuging the behaviour of many containers running on my docker-machine. Right now I need to open two consoles: one showing each container id from which image was created (I need this information in order to know which application is running in), and another console with the stats showing the resources consumed for each container. It would be great to show the image name also, and then I know identify quickly the container with its content.
Otherwise, for me is even more important the image name rather than the container id, because container will be destroyed when the environment is destroyed. Also the container id do not give me information about the content of the container and the image name yes.
Perhaps we can take the convention of naming all the containers with the image-name and a random suffix, but I think getting this random name when creating the container should be tricky.
Let me know if you want more information.


Deep transition RNNs/Stacked RNNs

Hi, I'm looking at your tutorial for Translation with a Sequence to Sequence Network and Attention. n_layers is the depth of your RNN. Thank you for a well-written and easy-to-follow tutorial. I have a couple of questions.
You are applying the RNN cell in a loop (for i in range(self.n_layers)) where the hidden state is fed from one layer to the next. According to https://arxiv.org/pdf/1312.6026.pdf, this is known as Deep Transition (DT) RNN. There is also something called stacked RNN in this paper, which is what I previously have referred to as Deep RNN. Would it be a good idea to clarify the differences to avoid confusion?
Also, I find it a bit confusing with hardcoded batch-size of 1. Is there a good reason not to mention batching? It doesn't make the code much more difficult to read.
Olof

@olofmogren I was confuse about the loops of gru, too, when I checked the official tutorial in http://pytorch.org/tutorials/intermediate/seq2seq_translation_tutorial.html. The tutorial in practical-pytorch (use nn.GRU which accepts the n_layer parameter, no loops of gru anymore) now is different from the official tutorial, I think maybe it is not intend to use the "transition" in pytorch's official doc, it maybe just a bug.....^_^. It's my opinion.


feat(#9): multiple tags, all tests runs

closes #9
History:

**feat(#9): contains, ***
feat(#9): clean for clippy
feat(#9): reason
feat(#9): docs
feat(#9): test case
feat(#9): run all tests
feat(#9): runs
feat(#9): runs all
feat(#9): runs all tags
feat(#9): win off
feat(#9): puzzle

PR-Codex overview
This PR focuses on enhancing the testing framework by introducing tagging for tests, allowing selective execution based on tags, and improving the testing scripts in the tests directory.
Detailed summary

Added a new test command in justfile to execute shell scripts in the tests directory.
Updated the check command to include the same shell script execution.
Introduced tagging for tests in src/lib.rs to enable selective running.
Added new tests (runs_very_slow, runs_fast, runs_slow) with tag functionality.
Updated tests/runs_all.sh, tests/runs_all_tags.sh, tests/runs_fast.sh, and tests/runs_slow.sh to validate output based on tags.
Removed the windows-2022 platform from the CI configuration in .github/workflows/just.yml.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

@rultor merge

@rultor merge

@rultor merge

@h1alexbel OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@h1alexbel Done! FYI, the full log is here (took me 29min)

@rultor release, tag is 0.0.2

@rultor release, tag is 0.0.2

@h1alexbel OK, I will release it now. Please check the progress here


I guess problems with inherited groups

I have a problem that persists, I have created 3 groups:
Users, Veterans and hunters.
Permissions for users:
towny_maxplots.6
Permissions for veterans:
towny_maxplots.10
towny_maxplots.6 (false)
group.users
Permissions for hunters:
towny_maxplots.13
towny_maxplots.10 (false)
group.veteran
The fact is that veterans can not have more than 6 plots and hunters are alerted that they can not have 6 or 10 plots (the latter is random)
In the verbose, I do not see the node towny_maxplots

If you don't see the node in verbose, then Towny isn't actually checking for it.


Flighting in a production environment

Is it allowed to enable a flight in a production environment?
If yes, how?
If no, this is not clear from this page.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 2c6788e8-dfb0-6108-71ae-e265bad542a2
Version Independent ID: 68a26703-3d8c-4d46-6f3f-37c30aa79373
Content: Data management - Finance & Operations | Dynamics 365 | #MSDyn365FO
Content Source: articles/dev-itpro/data-entities/data-entities-data-packages.md
Service: dynamics-ax-platform
GitHub Login: @Sunil-Garg
Microsoft Alias: sunilg

@JeroenLeeflang, we have updated the content to clarify the process for enabling flights in a product environment. Thanks for catching this and reporting to us.


Fix issue with multiple versions

Description

Updated installers
Refactored DotnetCoreInstaller
Added LTS runtime installation before requested dotnet installation (see Detailed solution description)
Added E2E tests that check for the problem described in the issue

Detailed solution description
When dotnet is installed after usage of some other version, install script fails to override dotnet.exe as it appears to be used by a process. Workaround is to pass --skip-unversioned-files flag to the install script and avoid overriding this file altogether. However, to ensure better compatibility and to avoid vulnerability issues, LTS runtime is now installed first, providing up-to-date unversioned files (such as CLI) for further usage.

Additional E2E tests were added to address this issue in the future.
The new E2E test failing on the main branch with an error as described in the issue: https://github.com/nikolai-laevskii/setup-dotnet/actions/runs/4961107288/jobs/8877470722

Suggested changes

We might consider running the whole solution only on Windows, as this is the only system where problem appears. This change will take minutes to implement, so it's just a matter of preference and how team decides
30 additional checks in E2E tests might be excessive, I left them here just for demonstration. I am planning to reduce their number to 3 after the review. So let me know if you want to leave some

Failed test
It doesn't always fetch install script for some reason, so it can't consistently check if it's up to date. Nothing critical.
Related issue:
https://github.com/actions/setup-dotnet/issues/387
Check list:

[ ] Mark if documentation changes are required.
[x] Mark if tests were added or updated to cover the changes.

Refactoring description
Refactoring was conducted only for installer.ts module. The most significant changes are in DotnetCoreInstaller class:

Logic related to the install dir was separated and moved to simple static DotnetInstallDir class
Logic related to the install script was moved to DotnetInstallScript class, which now allows to invoke install-script multiple times and conditionally apply script arguments.

Example of DotnetInstallScript class usage (just an example code, not how it is actually set here)
// Conditionally invoke install script
if (IS_WINDOWS) {
    // initialize DotnetInstallScriptClass
    const installScript: Promise<exec.ExecOutput> = await new DotnetInstallScript()
          // arguments can be inserted via this method
          .useArguments('-Runtime', 'dotnet')
          // version can be set via this method, it's just a syntactic sugar over useArguments that will insert arguments based on version provided
          .useVersion({ type: '-Channel', value: '6.0', qualityFlag: false })
          // useVersion and useArguments methods are chainable
          // script then can be then executed with execute method
          .execute();

    if (installScript.exitCode) { /* handle error */ }
}

const {exitCode, stderr} = await new DotnetInstallScript()
    // arguments do not convert automatically due the ambiguity in casing between some (such as -JSonFile and --jsonfile)
    .useArguments(IS_WINDOWS ? '-Version' : '--version', '6.0.100')
    .execute()

The script preparation is conducted upon calling the constructor and all platform-specific arguments are inserted by default

This PR is outdated and I will close it to avoid any confusion and accident merges.
It was split into two separate PRs and the whole branch was completely reorganized to make it easier to review.
Refer to the following PRs instead:

Refactor installer
Sequential version install fix


fix fix the comparison errors caused by inconsistent accuracy

Proposed changes
Issue Number: close #xxx
Problem Summary:
Keep the scale of low precision data to resolve the comparison errors caused by inconsistent accuracy:
Check tag 'q09' failed, line 3, DECIMAL result mismatch.
Expect cell is: 0.0395
But real is: 0.039535109

Checklist(Required)

Does it affect the original behavior: (No)
Has unit tests been added: (No)
Has document been added or modified: (No)
Does it need to update dependencies: (No)
Are there any changes that cannot be rolled back: (No)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

Will this cause the bug to be covered up? The decimal type doesn't seem to have precision errors

Will this cause the bug to be covered up? The decimal type doesn't seem to have precision errors

Maybe we should change this back after the decimal v3 is completed. Because currently, the decimal type doesn't return real precision.

This fix was introduced for two reasons:

The previous fix judges whether two numbers(float & double) are equal by the threshold of relative change. However, this is a fixed value, which may not solve the accuracy problem with larger error, so the rounding method may be better.
Other correctness regression tests(tpch 100/1000) are prepared to be added, but the correct result sets come from other frameworks(Trino/Spark). Different frameworks cannot guarantee consistent behavior of decimal.

Will this cause the bug to be covered up? The decimal type doesn't seem to have precision errors

Maybe we should change this back after the decimal v3 is completed. Because currently, the decimal type doesn't return real precision.

This fix was introduced for two reasons:
1. The previous fix judges whether two numbers(float & double) are equal by the threshold of relative change. However, this is a fixed value, which may not solve the accuracy problem with larger error, so the rounding method may be better.

2. Other correctness regression tests(tpch 100/1000) are prepared to be added, but the correct result sets come from other frameworks(Trino/Spark). Different frameworks cannot guarantee consistent behavior of decimal.

OK.
BTW, maybe we should make some modifications to these result sets from other frameworks as appropriate.


#409: show player names in tournament sheet

Resolves #409

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

4 of 4 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.003%) to 92.195%

Totals

Change from base Build<PHONE_NUMBER>:
0.003%

Covered Lines:
6037

Relevant Lines:
6292

💛  - Coveralls


The Example High-Res Screen Detection Code Does Not Work

Expected Behavior
On my high-res screen laptop, the code should return 2. (My laptop is 3200 x 1800, and robot.getScreenSize() returns 1600 x 900.)
Current Behavior
It returns 1 instead.
Steps to Reproduce (for bugs)

Go on a Windows 8 computer with a high-res display. (The screen resolution is 2 times robot.getScreenSize().)
Run the example in http://robotjs.io/docs/syntax#screencapturex-y-width-height.

Context
This issue causes all my robot.getPixelColor(x, y) calls to be at (x/2) and (y/2). I cannot fix this by multiplying the arguments by 2 since it results in "Error: Requested coordinates are outside the main screen's dimensions."
Your Environment

RobotJS version: 0.4.7
Node.js version: 7.10.0
npm version: 4.2.0
Operating System: Windows 8 x64
Screen Resolution: 3200 x 1800

This issue has been closed because it has been inactive for > 240 days.
You may reopen this issue if it has been closed in error.


feat: add tooltip model by asset model

What does this PR do ?

Implements tooltip models by asset model
Allows to view measure/metadata with a label
Possibility of adding titles, text, images & links to tooltips

How should this be manually tested?
Please refer to the PR on iot-platform mentioned below.
Other changes
This PR is linked to a PR in the iot-platform : https://github.com/kuzzleio/iot-platform/pull/184

Be careful when creating new models in tests, if they were not intended to persist after execution you have to add theirs document ids in the collection.ts deleteModels method. If not added, it could disrupt other tests as they are executed in a random order

I think de data model for the tooltips need some more work, let's du a pair review before merging


Bluetooth: Fix conditional compilations

Fix conditional compilations that fail when combinations
of Broadcaster, Observer, Peripheral and/or Central are
selected to build an application.
Signed-off-by: Vinayak Kariappa Chettimada<EMAIL_ADDRESS>

@joerchan your review is still blocking this one

@jhedberg dismissed it


EIP4844: Impove performance by avoiding merkle trees when generating KZG challenges

Both in compute_aggregated_poly_and_commitment and in validate_blobs_sidecar we are generating challenge scalars using hash_to_bls_field() which calls hash_tree_root().
There is actually no reason to compute merkle roots when we are generating these challenge scalars. We should instead just straight sha256 hash the values we care about.
Doing this change will improve performance when we are computing and verifying KZG proofs.
(/cc @hwwhww @Inphi @protolambda )

@hwwhww Thanks for the patch! I think @Inphi is gonna implement the change on his side pretty soon, so let's wait for his performance results before we merge this.

This indeed yields a significant performance improvement:
name                 old time/op    new time/op    delta
VerifyMultiple/8-6     73.9ms ± 0%    40.7ms ± 0%   ~     (p=1.000 n=1+1)
VerifyMultiple/16-6     138ms ± 0%      81ms ± 0%   ~     (p=1.000 n=1+1)

name                 old alloc/op   new alloc/op   delta
VerifyMultiple/8-6     25.2MB ± 0%    22.1MB ± 0%   ~     (p=1.000 n=1+1)
VerifyMultiple/16-6    50.4MB ± 0%    44.1MB ± 0%   ~     (p=1.000 n=1+1)

name                 old allocs/op  new allocs/op  delta
VerifyMultiple/8-6       400k ± 0%      301k ± 0%   ~     (p=1.000 n=1+1)
VerifyMultiple/16-6      800k ± 0%      603k ± 0%   ~     (p=1.000 n=1+1)

Verifying blob txs is about 40-50% faster with this.

Closing this since https://github.com/ethereum/consensus-specs/pull/2981 has been merged. Thanks all!


fix: Several fixes for product addition

Hi everyone!
Here are a few fixes for the product addition screen.
From the carousel
The screen was displayed with tabs + non-functioning exit buttons (#5975).
Blocking product selection
The next button was blocked, but the scroll was still possible
Buttons bar in dark mode
Old visual:

Button in dark mode (#5961)
New color:

Codecov Report
Attention: Patch coverage is 0% with 9 lines in your changes missing coverage. Please review.

Project coverage is 6.50%. Comparing base (4d9c7fc) to head (488598c).
Report is 546 commits behind head on develop.

Files with missing lines
Patch %
Lines

.../product/add_new_product/add_new_product_page.dart
0.00%
7 Missing :warning:

...app/lib/pages/product/product_incomplete_card.dart
0.00%
2 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##           develop   #5978      +/-   ##
==========================================
- Coverage     9.54%   6.50%   -3.05%
==========================================
  Files          325     441     +116
  Lines        16411   24977    +8566
==========================================
+ Hits          1567    1624      +57
- Misses       14844   23353    +8509

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


[WIP] daemon: sync BPF maps with K8s BPF maps

WIP
Signed-off by: Ian Vernon<EMAIL_ADDRESS>I most likely will refactor this in the future so we are doing this on a per-map basis. Eventually, I would like to factor out the code in such a way that we can spawn controllers on a per-map basis, but this wouldn't do much because we have to hold global locks in the loadbalancer to do this.
Fixes: #4457

This change is

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

Moving back to wip after realizing that I introduced a bug somewhere along the line with parsing of the special backend "0".

test-me-please

Unit tests failed, will triage.

test-me-please

@joestringer I've followed all of your recommendations - they made the PR more easy-to-review and the code more maintainable. Let me know what you think.

test-me-please

Tested again with my above outlined test case, and it still works, indicating that rebase did not introduce regressions.

test-me-please

Build failure:
https://jenkins.cilium.io/job/Cilium-PR-Ginkgo-Tests-Validated/5743
Issues occurred downloading YAML files from GitHub (not related to changes), and K8s upstream tests timed out.

test-me-please

Build failures were due to #5251 , rebased and am testing again.

test-me-please

Got hit by new ineffassign precheck: https://jenkins.cilium.io/job/Cilium-PR-Ginkgo-Tests-Validated/5758/execution/node/41/log/
Will fix and reupload.

Fixed ineffassign issues, testing again.

test-me-please


Add option to show Time till level in xp vs % till goal complete

In the xp info box it has the % till your goal is complete, I would maybe like an option to switch that to the total time till goal is complete.

If you hover over the progress bar the time till goal is completed will pop up

I understand that, I would like to switch that with the % in the progress bar

Bump.

Time to Level needs to be added.
Thanks.


Hover Effect on the navbar can be considered

Is your feature request related to a problem? Please describe.
The nav items do not show any hover effect when the cursor is pointed not only in the navbar but many places in the entire site
Describe the solution you'd like
Hovering is one such effect that gives a dynamic user experience and increases user interaction. Thus the hover effect must be given to nav items
Describe alternatives you've considered
If not hover, then I guess the buttons must change their colour upon selection and when the cursor is pointed at them!
Additional context
Please assign me this issue!
This will be my first GSSOC'24 contribution

@Aanyaa26 go ahead , the css class must be hierarchical


Changes to the incremental responses

Fixes: https://github.com/apollo-server-integrations/apollo-server-integration-next/issues/203
Preface: This is my first exposure to working with these Node objects on the server side so I'm not entirely sure if what I've done is correct.
I changed the way the incremental responses are sent back to the client. In the issue I noted
      for await (const chunk of httpGraphQLResponse.body.asyncIterator) {
        body.push(chunk);
      }

this await is stopping the server from incrementally delivering the responses and instead they're all delivered at once.
These changes allow the responses to be streamed back instead of all at once.
The logs in the client now show
what is data? {book: {…}} false 12:22:18
what is data? {book: {…}} false 12:22:19

Where the second book: {} has the deferred data and is delivered 1 second after the first in which the 1 second is hard coded in my project using this package.

A couple things I've noticed. With these changes the Preview and Response panes in the Chrome DevTools aren't showing any data even though the response is working

I'm guessing something I've changed messed this up.

Thank you for the thorough explanation! I'll try to take a closer look this week.

Thank you for all the feedback! It is a much cleaner implementation.
On the Preview panel, there definitely is some way for the data to show up. This screenshot is from my work's application, which uses Apollo Client + graphql-ruby. I'll spend some time this morning and see if I can't uncover any information as to what is going on

Okay I figured it out and I believe it is an upstream issue in Apollo Server and improperly setting the header.
what are raw headers? HeaderMap(2) [Map] {
  'cache-control' => 'no-store',
  'content-type' => 'multipart/mixed; boundary="-"; deferSpec=20220824',
  __identity: Symbol(HeaderMap)
}

When the headers are written in and the deferSpec=20220824', portion is retained, we do not get the Preview response.
I changed the code to
    const headers: Record<string, string> = {
      'content-type': 'multipart/mixed; boundary="-"',
    };
    // console.log('what are raw headers?', httpGraphQLResponse.headers);
    // for (const [key, value] of httpGraphQLResponse.headers) {
    //   headers[key] = value;
    // }

And the preview correctly displays

Thank you for looking into this. I don't think we want to change any headers coming from Apollo Server, so I'll go ahead and add a changeset and release this as is.
Thank you for the pull request!


CA not able to generate coverage report

make cov
urg -dir simv.vdb
Note: Bumping stack limit from 8515 to unlimited Kbytes.
URG Version R-2020.12-SP2                       Copyright (c) 1991 -  Synopsys, Inc.
This software and the associated documentation are proprietary to Synopsys,
Inc. This software may only be used in accordance with the terms and conditions
of a written license agreement with Synopsys, Inc. All other use, reproduction,
or distribution of this software is strictly prohibited.
Error-[URG-NVAT] No test found
URG could not find any valid test.
Please use the -dir option to specify the test directories to report.
makefile:254: recipe for target 'cov' failed
make: *** [cov] Error 1

fixed in 0.9.8


Is create-react-native-app supported?

I'm attempting to use this plugin with a create-react-native-app (CRNA) but when importing a .graphql file into a typescript file, I'm seeing the error:
Unable to resolve ./query.graphql" from "src/Welcome/index.tsx`: The module `./query.graphql` could not be found.

I noticed the babel-plugin-inline-import-graphql-ast package, but it works with react-app-rewired which is for create-react-app and not create-react-native-app.
Any ideas?
Here's my .babelrc
{
  "plugins": ["import-graphql"],
  "presets": ["babel-preset-expo"],
  "env": {
    "development": {
      "plugins": [
        "transform-react-jsx-source"
      ]
    }
  }
}

and package.json
{
  "name": "tortuga",
  "version": "0.1.0",
  "private": true,
  "devDependencies": {
    "@types/jest": "^22.2.3",
    "@types/react": "^16.3.14",
    "@types/react-native": "^0.55.16",
    "@types/react-test-renderer": "^16.0.1",
    "apollo-codegen": "^0.19.1",
    "babel-plugin-import-graphql": "^2.4.4",
    "react-app-rewired": "^1.5.2",
    "react-native-scripts": "1.14.0",
    "react-native-typescript-transformer": "^1.2.9",
    "tslint-react": "^3.6.0",
    "typescript": "^2.8.3"
  },
  "main": "./src/index.js",
  "scripts": {
    "start": "react-native-scripts start",
    "eject": "react-native-scripts eject",
    "android": "react-native-scripts android",
    "ios": "react-native-scripts ios",
    "test": "jest",
    "generate-schema": "apollo-codegen introspect-schema http://localhost:8080/graphql --output lib/schema.json"
  },
  "jest": {
    "preset": "jest-expo"
  },
  "dependencies": {
    "apollo-boost": "^0.1.7",
    "expo": "^27.0.2",
    "graphql": "^0.13.2",
    "react": "16.4.0",
    "react-apollo": "^2.1.4",
    "react-native": "~0.55.2",
    "tslint": "^5.10.0"
  }
}

Hi @pm-dev , I've never actually used RN, but I went ahead and installed CRNA and created an app with it to test this out and it worked fine for me. I didn't set up a GraphQL server or anything, just followed these steps:
ran yarn add -D babel-plugin-import-graphql
ran yarn add graphql
added "import-graphql" to .babelrc plugins section
created a query.graphql file with this:
query test {
  test
}

and added these two lines to their respective locations in the App.js file:
import { test } from './query.graphql'

<Text>{query.kind}</Text>

It printed out Document, which means the file is being properly read and transformed into a GraphQL AST object, so it should work fine.
This package actually is babel-plugin-inline-import-graphql-ast, I've just changed the name a few days ago. I use it with create-react-app and created react-app-rewire-inline-import-graphql-ast as a shortcut to setting this package up with react-app-rewired.
Anyway, to answer your question, this does appear to support CRNA. My guess would be that you have a typo in your import statement, either the specifier ({ query }) or the path ('./query.graphql').
Another possibility is that your using a more complicated document structure and making use of NODE_PATH or something.
Based on the error, it seems your file should be located at src/Welcome/query.graphql. Is that the case? And could you copy/paste your import statement?

@pm-dev Also, maybe update your version of CRNA?

@detrohutt Thanks for the quick response. I've confirmed that this library works with CRNA and it is only when importing into a typescript file, that the Cannot find module error happens. I've spent some time trying different tsconfig.json options, but no luck so far.

Oh it sounds like just a type issue. What i did was make a types folder in my project root with a fileExtensions.d.ts file like this in it:
declare module '*.graphql';

And then add that folder to my typeRoots in tsconfig.json:
"typeRoots": ["./types/", "./node_modules/@types/", "./**/node_modules/@types/"]

Changing the module compiler option in tsconfig.json from commonjs to es2015 allowed the js bundle to build.
My IDE was still reporting an error because it couldn't find the module for my .graphql file, which was fixed by your suggestion of adding fileExtensions.d.ts with
declare module '*.graphql';

Thanks for your help debugging.

A better solution would be the following:
declare module '*.graphql' {
  const documentNode: import('graphql').DocumentNode;
  export default documentNode;
}

It has the advantage that the imported graphql queries will have the proper DocumentNode type set.


word stage3: try remove rlc related

Description
keccak circuit

[x] remove output_rlc field

evm circuit

[x] begin_tx:  remove corresponding output_rlc
[x] sha3:  remove corresponding output_rlc
[x] create: remove corresponding output_rlc
[ ] blockhash: remove corresponding output_rlc

bytecode circuit

[ ] remove keccak lookup rlc
[ ] todo

tx circuit

[ ] todo
[ ] todo

pi circuit

[x] remove rlc output in keccak lookup
[ ] todo

sig circuit

[ ] todo
[ ] todo

aggregation circuit

[ ] fix test_aggregation_circuit & test_hash_circuit
[ ] todo

Issue Link
[link issue here]
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Contents

[item]

Rationale
[design decisions and extended information]
How Has This Been Tested?
[explanation]

How to fill a PR description
Please give a concise description of your PR.
The target readers could be future developers, reviewers, and auditors. By reading your description, they should easily understand the changes proposed in this pull request.
MUST: Reference the issue to resolve

make ready for ci testing purpose at the moment..


Precompilation workload

Hi,
I am trying to add a precompilation workload to my package but it fails due to MLJBase with the following error:
LoadError: Evaluation into the closed module `MLJBase` breaks incremental compilation because the side effects will not be permanent. This is likely due to some other module mutating `MLJBase` with `eval` during precompilation - don't do this.
The triggering piece of code seems to be the following pipeline definition:
with_encoder(model; encoder=encoder()) = Pipeline(TreatmentTransformer(;encoder=encoder),  model)

I've seen there has been a tentative to add a workload in the past, but this aborted. Should I just give up on that at the moment?

Mmm. I honestly don't know where eval would come in the Pipeline model code. But possibly this is a red herring and the real issue is the one pointed out it in the failed attempt. The remedy (get rid of the INTERFACE_MODE global constant) is not something likely in the near future.
Sorry I cannot be more helpful.

I see, thank you, I think that answers this issue for now!


Does not play well with Zotero data.

Zotero is a plugin for managing citations and bibliography in a document. The markdown does not seem to respect the links that Zotero makes.

I am not familiar with Zotero or what it does with citation or bibliography links. Do you have an example doc with a link that you can share?

Yes I have a sample document I can share.  Do you have a resume with your gmail address to share? I can also share a privat github repo

Closing this for now -- not sure about the details of what Zotero does. In general, we are trying to convert what you see in a Google Doc to the equivalent when rendered in Markdown/HTML. Trying to avoid non-obvious side effects or add specialized markup. (With the exception of definition lists, which Google Docs does not support natively.)
Please reopen if you have more details about what Zotero is doing.


Improve Blazor standalone web.config file remarks

Fixes #20405
🛑 HOLD! 🛑
Placing on hold for a bit while we work thru a problem on Azure Apps with the current file.
@cornem, would you like to review this one?
@robertmclaws ... Open a new issue from the bottom of the topic if you discover what the problem is with your app/file and still feel that we need a doc update to cover it. If this PR doesn't address it, your situation might become actionable after we know what the cause of the problem is. Let's treat it as a separate (new) issue if that turns out to be the case.

LGTM.

Updated with some warning guidance that additional config might be required.


ELM-501: Stop using MFA_plus_sec for human users

Currently every user is added to a minimum of 2 groups:

hmpps-mfa-users-group
MFA_plus_sec

hmpps-mfa-users-group is managed in terraform. MFA_plus_sec is managed in an old cloudformation stack
hmpps-mfa-users-group has 5 policies attached which are (nearly) duplicates of the 5 policies attached to the MFA_plus_sec.

aws-iam-user-selfservice-policy is the same as hmpps-user-selfservice-group-policy (prior to recent work done by Adrian)
enforce_mfa is the same as hmpps-mfa-group-policy
deny_all_outside_eu is the same as hmpps-deny-all-outside-eu-group-policy (prior to recent work by James)
billing-deny-write-policy is the same as hmpps-billing-deny-write-group-policy
Both have IAMUserChangePassword AWS managed policy attached

Terraform will perform the following actions:

  # module.bcarter.aws_iam_user_group_membership.this[0] will be updated in-place
!   resource "aws_iam_user_group_membership" "this" {
!       groups = [
-           "MFA_plus_sec",
            # (2 unchanged elements hidden)
        ]
        id     = "terraform-20230717142054495000000001"
        # (1 unchanged attribute hidden)
    }

Plan: 0 to add, 1 to change, 0 to destroy.