feat(#82): implement sandbox workflows

Description
This PR introduces features for both creating and removing sandbox environments. The sandbox creation functionality ensures that developers can deploy isolated testing environments, while the sandbox removal feature automates the cleanup of resources when they are no longer needed (e.g., after a pull request is closed). These functionalities are integrated with AWS CodePipeline and CodeBuild to streamline infrastructure management.
Related Issue
This change addresses Issue #82, which involves automating the lifecycle of sandbox environments.
Motivation and Context
The addition of sandbox creation and removal features is necessary to:
Provide developers with temporary, isolated environments for testing new features.
Automate the cleanup of unused resources to reduce costs and improve project efficiency.
Ensure consistent infrastructure provisioning and decommissioning workflows.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] My code follows the code style of this project.
[x] I have performed a self-review of my code.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING.md document.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.
[x] You have only one commit (if not, squash them into one commit).

Summary by CodeRabbit

New Features

Introduced three new GitHub Actions workflows:

Sandbox Creation: Automates the creation and rebuilding of sandbox environments upon pull requests and specific pushes.
Sandbox Deletion: Manages the deletion of sandboxes when pull requests are closed.
Website Deployment: Automates the deployment of the website on pushes to the main branch.

Documentation

Added comprehensive documentation for the new sandbox workflows, detailing setup, prerequisites, and IAM role configuration.

Deployment has started for version: http://sandbox-test-82-implement-sandbox-workflows.s3-website.eu-central-1.amazonaws.com

Latest Version is ready: http://sandbox-test-82-implement-sandbox-workflows.s3-website.eu-central-1.amazonaws.com
This deployed website will be automatically deleted after 7 days
To keep it active, please make a new commit to trigger a redeployment

The deployment process for the sandbox has started.
Please wait until the latest version is ready

The deployment process for the sandbox has started.
Please wait until the latest version is ready

The deployment process for the sandbox has started.
Please wait until the latest version is ready

The deployment process for the sandbox has started.
Please wait until the latest version is ready

The deployment process for the sandbox has started.
Please wait until the latest version is ready

The deployment process for the sandbox has started.
Please wait until the latest version is ready

The deployment process for the sandbox has started.
Please wait until the latest version is ready

The deployment process for the sandbox has started.
Please wait until the latest version is ready

The deployment process for the sandbox has started.
Please wait until the latest version is ready

The deployment process for the sandbox has started.
Please wait until the latest version is ready

The deployment process for the sandbox has started.
Please wait until the latest version is ready

The deployment process for the sandbox has started.
Please wait until the latest version is ready

:x: Health check failed for the sandbox bucket.
Please check the CodeBuild logs for detailed error information.

The deployment process for the sandbox has started.
Please wait until the latest version is ready

Latest Version is ready: http://sandbox-test-82-implement-sandbox-workflows.s3-website.eu-central-1.amazonaws.com
This deployed website will be automatically deleted after 7 days
To keep it active, please make a new commit to trigger a redeployment

The deployment process for the sandbox has started.
Please wait until the latest version is ready

Latest Version is ready: http://sandbox-test-82-implement-sandbox-workflows.s3-website.eu-central-1.amazonaws.com
This deployed website will be automatically deleted after 7 days
To keep it active, please make a new commit to trigger a redeployment

The deployment process for the sandbox has started.
Please wait until the latest version is ready

Latest Version is ready: http://sandbox-test-82-implement-sandbox-workflows.s3-website.eu-central-1.amazonaws.com
This deployed website will be automatically deleted after 7 days
To keep it active, please make a new commit to trigger a redeployment

The deployment process for the sandbox has started.
Please wait until the latest version is ready

The deployment process for the sandbox has started.
Please wait until the latest version is ready

The deployment process for the sandbox has started.
Please wait until the latest version is ready

The deployment process for the sandbox has started.
Please wait until the latest version is ready

Latest Version is ready: http://sandbox-test-82-implement-sandbox-workflows.s3-website.eu-central-1.amazonaws.com
This deployed website will be automatically deleted after 7 days
To keep it active, please make a new commit to trigger a redeployment

The deployment process for the sandbox has started.
Please wait until the latest version is ready

The deployment process for the sandbox has started.
Please wait until the latest version is ready

The deployment process for the sandbox has started.
Please wait until the latest version is ready

The deployment process for the sandbox has started.
Please wait until the latest version is ready

Latest Version is ready: http://sandbox-test-82-implement-sandbox-workflows.s3-website.eu-central-1.amazonaws.com
This deployed website will be automatically deleted after 7 days
To keep it active, please make a new commit to trigger a redeployment

The deployment process for the sandbox has started.
Please wait until the latest version is ready

The deployment process for the sandbox has started.
Please wait until the latest version is ready

Latest Version is ready: http://sandbox-test-82-implement-sandbox-workflows.s3-website.eu-central-1.amazonaws.com
This deployed website will be automatically deleted after 7 days
To keep it active, please make a new commit to trigger a redeployment

Latest Version is ready: http://sandbox-test-82-implement-sandbox-workflows.s3-website.eu-central-1.amazonaws.com
This deployed website will be automatically deleted after 7 days.
To keep it active, please make a new commit to trigger a redeployment.

The deployment process for the sandbox has started.
Please wait until the latest version is ready

The deployment process for the sandbox has started.
Please wait until the latest version is ready

Latest Version is ready: http://sandbox-test-82-implement-sandbox-workflows.s3-website.eu-central-1.amazonaws.com
This deployed website will be automatically deleted after 7 days.
To keep it active, please make a new commit to trigger a redeployment.

The deployment process for the sandbox has started.
Please wait until the latest version is ready

Latest Version is ready: http://sandbox-test-82-implement-sandbox-workflows.s3-website.eu-central-1.amazonaws.com
This deployed website will be automatically deleted after 7 days.
To keep it active, please make a new commit to trigger a redeployment.

The deployment process for the sandbox has started.
Please wait until the latest version is ready

Latest Version is ready: http://sandbox-test-82-implement-sandbox-workflows.s3-website.eu-central-1.amazonaws.com
This deployed website will be automatically deleted after 7 days.
To keep it active, please make a new commit to trigger a redeployment.

The deployment process for the sandbox has started.
Please wait until the latest version is ready

The deployment process for the sandbox has started.
Please wait until the latest version is ready

The deployment process for the sandbox has started.
Please wait until the latest version is ready

The deployment process for the sandbox has started.
Please wait until the latest version is ready

Latest Version is ready: http://sandbox-test-82-implement-sandbox-workflows.s3-website.eu-central-1.amazonaws.com
This deployed website will be automatically deleted after 7 days.
To keep it active, please make a new commit to trigger a redeployment.

The deployment process for the sandbox has started.
Please wait until the latest version is ready

Latest Version is ready: http://sandbox-test-82-implement-sandbox-workflows.s3-website.eu-central-1.amazonaws.com
This deployed website will be automatically deleted after 7 days.
To keep it active, please make a new commit to trigger a redeployment.


chore: deprecate top level promise await behaviour

#10106
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[ ] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[ ] This message body should clearly illustrate what problems it solves.
[ ] Ideally, include a test that fails without this PR but passes with it.

Tests

[ ] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[ ] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpm changeset and following the prompts. Changesets that add features should be minor and those that fix bugs should be patch. Please prefix changeset messages with feat:, fix:, or chore:.

In dev we have access to node.universal_id and node.server_id which take us directly to the file that exports the load function, which gives the developer something they can cmd-click (rather than trying to hunt around for the file based on the route ID). I've updated the message


Night CI 2023-04-21: Failed

action url: https://github.com/spidernet-io/spiderpool/actions/runs/4760921881

The same issue as #1682.


fix: ui updates colors and borders

This PR...
Changes
Updated according to Julio Comments:
please change colors to:

top: #101314

left: #191F21

the border colors of drop-downs in the top, which are gray-4, have them to gray-5

the left tab, when highlighted, looks like it have a 2px radio. we need to take that out

first time, when file explorer is open, the tab on the left does not appear highlighted. We need to highlight it so the tab look is there from scratch

Fixes

How to test it

Screenshots

Checklist

[ ] tested locally
[ ] added new dependencies
[ ] updated the docs
[ ] added a test

Nice! @jmelnych @julioramosest I feel like the background color of the left menu icons is changing slower than the pane appears. Is there an animation on the left menu icon background? Can we make the background color change of the icon to be instant?

@jmelnych @devcatalin Thanks guys, colors look are correct. No strong opinion on color hover animation, I go along your comment Catalin. Just 1 thing pops up - since we now how the left arrow to collapse the column, maybe we don't need now the "Hide File explorer" etc tooltip. It appears just when you click to expand since the cursor is already there and it's a bit annoying. I would keep the action, just not the tooltip. We'll talk it over tomorrow in the UX meeting.

@devcatalin, nice catch about left-panel button background - I removed the transition

Right @jmelnych I think we can remove the "hide [xxx]" tooltips. And to have it perfect, I'd do one last thing. When highlighted, the tabs look a bit narrow vertically to me. I think if we could add 4px padding (or similar to that effect) above and below each icon they would look great. Also you can save that empty space there is now between label and label. What do you think?

Now it's fine for me. Approving it.


auth_token is not verified during init()

Unlike name/password, a submitted auth_token is not verified during init (the natural place to raise an error).

No longer applies to master


how to create a new component?

In MMDetection, model components are basically categorized as 4 types. Backbone, neck, head and roi extractor. If I want to add a new component, what should I do ?

Create a new python file to implement the new component and put them in their corresponding directories.

I have create a new one according to the document, but the error #2377  occurred when i run dist_train.

You can try to set find_unused_parameters=True first in your config and see whether the bug still exists.


SNOW-1660880: Properly raise NotImplementedError when ambiguous/nonexistent are non-string in ceil/floor/round

Which Jira issue is this PR addressing? Make sure that there is an accompanying issue to your PR.

Fixes SNOW-1660880

Fill out the following pre-review checklist:

[x] I am adding a new automated test(s) to verify correctness of my new code

[ ] If this test skips Local Testing mode, I'm requesting review from @snowflakedb/local-testing

[ ] I am adding new logging messages
[ ] I am adding a new telemetry message
[ ] I am adding new credentials
[ ] I am adding a new dependency
[ ] If this is a new feature/behavior, I'm adding the Local Testing parity changes.

Please describe how your code solves the related issue.
Properly raise NotImplementedError when ambiguous/nonexistent are non-string in ceil/floor/round.

Thanks for this fix!
btw: Looks like if I add a comment (not inline), it will become a comment in the corresponding JIRA ticket (seems like a feature of BuWa (Bug Watcher)


Improve how the Names of months are show

In mobile devices, the names of months are not shown correctly, maybe just show the first three letters os word
AGO  SET OUT
to show better

@davidcostadev can I create a PR to solve this?
I'd change the string format from 'MMMM YY' to 'MMM YY'

Yes, you can. I love the idea.


Update polysemy-plugin version bound

The test suite is made for 0.3 and doesn't compile with earlier versions due to Yo now taking another argument since https://github.com/isovector/polysemy/pull/71

Thanks!


Fixed copying shadow pages with urls

tasks:

[ ] test coverage
[ ] gather feedback for my changes

informations:

q
a

Fixed tickets
fixes #1787

BC breaks
none

Documentation PR
none

@wachterjohannes please also merge into develop

@c00n84 Can you test this solution?

@danrot styleci fails

@wachterjohannes Because it's targeted at master :wink:

@danrot ok (: see it!

We won't release a hotfix for that. Already merged in develop.


typo fixed

fixed typo in documentation related to Typo in the documentation #120.
https://microsoft.github.io/autogen/docs/Examples/AutoGen-AgentChat
changed framwork -> framework

Codecov Report

Merging #127 (fec4a6a) into main (a087347) will decrease coverage by 0.34%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #127      +/-   ##
==========================================
- Coverage   41.03%   40.69%   -0.34%
==========================================
  Files          17       17
  Lines        2091     2091
  Branches      469      469
==========================================
- Hits          858      851       -7
- Misses       1156     1162       +6
- Partials       77       78       +1

Flag
Coverage Δ

unittests
40.69% <ø> (-0.24%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.
see 1 file with indirect coverage changes


docs: minor changes versioning

minor changes 2.1 to 2.3

Some of the changes in this PR need to be ported to 2.3 branch.
Thanks.


Custom Log levels are getting truncated

 logger.log(Level.getLevel("FLOW_ERROR"), "This is a flow_error level message");
 logger.log(Level.getLevel("FLOW_INFO"), "This is a flow_info level message");

Something like above is getting truncated to nearest level in https://github.com/ops4j/org.ops4j.pax.logging/blob/master/pax-logging-api/src/main/java/org/ops4j/pax/logging/log4jv2/Log4jv2Logger.java#L175.L186 while printing the levels. Is there anyway we can print the custom levels
Thanks in Advance

@grgrzybek appreciate your inputs on this. Thanks .

Hmm, something's wrong with the notifications... I didn't get an email about this one. Sorry!
I'm reviewing the pax-logging issues now.

Hmm, something's wrong with the notifications... I didn't get an email about this one. Sorry!
I'm reviewing the pax-logging issues now.

I'm afraid this should be treated as a limitation of Pax Logging.
The main design goals of Pax Logging were/are:

bring logging facades (like commons-logging or slf4j) into OSGi world - this includes APIs of Log4j1, Log4j2 and Logback
bridge all the APIs/facades to any of the backed service (namely: Log4j1, Log4j2 and Logback)

So the most important API is logger.info(message) (and similar), where you specify the level using method name.
I know there are APIs that allow you to pass custom level to generic logger.log() method, but mind that for example behind org.apache.logging.log4j.Logger.info() method there may be a ... Log4j1 backend.
I know there's org.apache.logging.log4j.Logger#log(org.apache.logging.log4j.Level, ...)method, butorg.ops4j.pax.logging.log4jv2.Log4jv2Logger#logMessage()which is eventually called **has to** translate such call into an invocation oforg.ops4j.pax.logging.PaxLogger` interface which (further) does all the OSGi magic and delegate to any backend or even fallback Stdout logger of no backend is found.
That's why your custom logger's int value has to fit between some predefined levels...

I'm afraid this should be treated as a limitation of Pax Logging.
The main design goals of Pax Logging were/are:

bring logging facades (like commons-logging or slf4j) into OSGi world - this includes APIs of Log4j1, Log4j2 and Logback
bridge all the APIs/facades to any of the backed service (namely: Log4j1, Log4j2 and Logback)

So the most important API is logger.info(message) (and similar), where you specify the level using method name.
I know there are APIs that allow you to pass custom level to generic logger.log() method, but mind that for example behind org.apache.logging.log4j.Logger.info() method there may be a ... Log4j1 backend.
I know there's org.apache.logging.log4j.Logger#log(org.apache.logging.log4j.Level, ...)method, butorg.ops4j.pax.logging.log4jv2.Log4jv2Logger#logMessage()which is eventually called **has to** translate such call into an invocation oforg.ops4j.pax.logging.PaxLogger` interface which (further) does all the OSGi magic and delegate to any backend or even fallback Stdout logger of no backend is found.
That's why your custom logger's int value has to fit between some predefined levels...

Thanks for the response.

Thanks for the response.


Fix regressions in NuGet tasks (M103)

Wildcarded UNC paths were emitted with forward slashes, which caused NuGet.exe to interpret them as switches

The tasks no longer searched for nuget in the system path on non-Windows platforms
Notes:

NuGet has always been distributed with the agent on Windows, so we don't search the system path there.
The credential provider is always distributed with the agent (in versions where it exists), so we don't search the system path for that on any platform

:shipit:


Parsing behaviour tabula-java vs. tabula-extractor vs. tabula

Testfile: https://www.dropbox.com/s/6crie7y5gqadwa5/1.pdf?dl=0
Using tabula-extractor (installed via jruby -S gem install tabula-extractor) the extraction result looks like the following:
Command: tabula 1.pdf --spreadsheet -o tmp.txt
WOCHENPROGRAMM Tel. 03112/36484
"","","","","","","","",""
Film,Info,"Fr, 04.09","Sa, 05.09","So, 06.09","Mo, 07.09","Di, 08.09","Mi, 09.09","Do, 10.09"
"","","","","","","","",""
"Fack ju Göhte                                                       Doublefeature EHP ab € 13,-",239 min,"","","","","",21:30,""
Fack ju Göhte 2                                                     Vorpremiere,90 min,"","","","","",23:59,""
Ricki and the Flash                                                 Originalversion ohne Untertitel,"ab 6 J., sehensw.                     100 min","","","","",20:00,"",""
"Taxi Teheran                                                        Dieselkino Kult[ur] EHP ab € 7,-",86 min,"","","",19:00,"",19:00,""
Jack,98 min,"","","","","","",20:30
Fack ju Göhte 2,117 min,"","","","","","",16:30 18:00         20:15
Filmfrühstück: French Women - Was Frauen wirklich wollen            Frühstück ab 09:30 Uhr,ab 12 J.                         117 min,"","",11:00,"","","",""
Filmfrühstück: Ricki - Wie Familie so ist                           Frühstück ab 09:30 Uhr,99 min,"","",11:00,"","","",""
Filmfrühstück: The Transporter Refueled                             Frühstück ab 09:30 Uhr,96 min,"","",11:00,"","","",""
French Women - Was Frauen wirklich wollen,ab 12 J.                         117 min,17:30 20:15,17:30 20:15,17:30 20:15,17:30 19:45,17:30 19:45,17:30 19:45,17:30 19:45
Ricki - Wie Familie so ist,"ab 6 J., sehensw.                     100 min",17:00 19:45,17:00 19:45,17:00 20:00,17:00 20:00,18:45,17:00 20:00,17:00 20:00
The Transporter Refueled,96 min,18:15 20:45,18:15 20:45,16:30 18:30         20:30,17:45 20:45,17:45 20:45,17:45 20:45,17:45 20:45
Gallows,ab 16 J.                          81 min,21:00,21:00,21:00,21:00,21:00,19:45,19:00
Hitman: Agent 47,ab 16 J.                          97 min,18:00 20:00         22:00,18:00 20:00         22:00,16:45 18:45         20:45,18:30 20:30,18:30 20:30,18:00 21:00,18:30 21:00
"Der kleine Rabe Socke 2 - Das große Rennen                          EHP € 6,50","jfr., sehensw.                       73 min",16:00,16:00,14:45,15:15,16:00,15:15,15:15
Vacation - Wir sind die Griswolds,ab 12 J.                          99 min,19:00,19:00,19:00,19:00,19:00,19:00,19:00
Margos Spuren,ab 8 J.                          109 min,16:15,16:15,15:30,16:45,16:45,16:45,15:30
"Ooops! Die Arche ist weg 3D                                         EHP € 8,-","ab 6 J., sehensw.                      87 min",15:45,15:45,14:30,15:45,15:45,16:15,15:45
Pixels 3D,ab 6 J.                          101 min,16:45,16:45,15:00,16:00,16:30,16:00,16:15
Minions 3D,"ab 6 J., sehensw.                      91 min",16:30,16:30,14:15 16:00,16:30,16:15,15:45,16:00
Mission: Impossible 5 - Rogue Nation,ab 12 J.                         131 min,20:30,20:30,17:45,20:15,20:15,20:15,""
Dating Queen,ab 12 J.                         122 min,18:15,18:15,15:45,18:00,18:00,18:00,""
Broadway Therapy,93 min,18:45,18:45,18:00,"","","",""
Magic Mike XXL,ab 12 J.                         116 min,21:45,21:45,19:45,"","","",""

Using tabula-java (git clone and build via mvn clean compile assembly:single) the extraction fails with a Stackoverflow exception:
Command: java -jar tabula-extractor-0.7.4-SNAPSHOT-jar-with-dependencies.jar 1.pdf --spreadsheet -o tmp.txt
Exception in thread "main" java.lang.StackOverflowError
	at technology.tabula.QuickSort.split(QuickSort.java:96)
	at technology.tabula.QuickSort.quicksort(QuickSort.java:72)
	at technology.tabula.QuickSort.quicksort(QuickSort.java:73)
	at technology.tabula.QuickSort.quicksort(QuickSort.java:73)
	at technology.tabula.QuickSort.quicksort(QuickSort.java:73)
	at technology.tabula.QuickSort.quicksort(QuickSort.java:73)
	at technology.tabula.QuickSort.quicksort(QuickSort.java:73)
	at technology.tabula.QuickSort.quicksort(QuickSort.java:73)
        .....

Running tabula from source (master branch) - Auto detection of tables (but deselecting the title table)
Stream:
"Fack ju Göhte
Doublefeature EHP ab € 13,-",239 min,,,,,,21:30,
"Fack ju Göhte 2
Vorpremiere",90 min,,,,,,23:59,
"Ricki and the Flash
Originalversion ohne Untertitel","ab 6 J., sehensw.
             100 min",,,,,20:00,,
"Taxi Teheran
Dieselkino Kult[ur] EHP ab € 7,-",86 min,,,,19:00,,19:00,
Jack,98 min,,,,,,,20:30
Fack ju Göhte 2,117 min,,,,,,,"16:30 18:00
20:15"
"Filmfrühstück: French Women - Was Frauen wirklich wollen
Frühstück ab 09:30 Uhr","ab 12 J.
             117 min",,,11:00,,,,
"Filmfrühstück: Ricki - Wie Familie so ist
Frühstück ab 09:30 Uhr",99 min,,,11:00,,,,
"Filmfrühstück: The Transporter Refueled
Frühstück ab 09:30 Uhr",96 min,,,11:00,,,,
French Women - Was Frauen wirklich wollen,"ab 12 J.
             117 min",17:30 20:15,17:30 20:15,17:30 20:15,17:30 19:45,17:30 19:45,17:30 19:45,17:30 19:45
Ricki - Wie Familie so ist,"ab 6 J., sehensw.
             100 min",17:00 19:45,17:00 19:45,17:00 20:00,17:00 20:00,18:45,17:00 20:00,17:00 20:00
The Transporter Refueled,96 min,18:15 20:45,18:15 20:45,"16:30 18:30
20:30",17:45 20:45,17:45 20:45,17:45 20:45,17:45 20:45
Gallows,"ab 16 J.
              81 min",21:00,21:00,21:00,21:00,21:00,19:45,19:00
Hitman: Agent 47,"ab 16 J.
              97 min","18:00 20:00
22:00","18:00 20:00
22:00","16:45 18:45
20:45",18:30 20:30,18:30 20:30,18:00 21:00,18:30 21:00
"Der kleine Rabe Socke 2 - Das große Rennen
EHP € 6,50","jfr., sehensw.
              73 min",16:00,16:00,14:45,15:15,16:00,15:15,15:15
Vacation - Wir sind die Griswolds,"ab 12 J.
              99 min",19:00,19:00,19:00,19:00,19:00,19:00,19:00
Margos Spuren,"ab 8 J.
             109 min",16:15,16:15,15:30,16:45,16:45,16:45,15:30
"Ooops! Die Arche ist weg 3D
EHP € 8,-","ab 6 J., sehensw.
              87 min",15:45,15:45,14:30,15:45,15:45,16:15,15:45
Pixels 3D,"ab 6 J.
             101 min",16:45,16:45,15:00,16:00,16:30,16:00,16:15
Minions 3D,"ab 6 J., sehensw.
              91 min",16:30,16:30,14:15 16:00,16:30,16:15,15:45,16:00
Mission: Impossible 5 - Rogue Nation,"ab 12 J.
             131 min",20:30,20:30,17:45,20:15,20:15,20:15,
Dating Queen,"ab 12 J.
             122 min",18:15,18:15,15:45,18:00,18:00,18:00,
Broadway Therapy,93 min,18:45,18:45,18:00,,,,
Magic Mike XXL,"ab 12 J.
             116 min",21:45,21:45,19:45,,,,

Latice:
On Preview of Extracted Tabular Data" screen Infinite loading

Thanks, @davincho
I've started to look into this issue. There's something happening with the sorting algorithm we use. Forcing the use of java's builtin sorting method, seems to help:
java -Djava.util.Arrays.useLegacyMergeSort=true -jar ./target/tabula-extractor-0.7.4-SNAPSHOT-jar-with-dependencies.jar -p 1 --spreadsheet 1.pdf

I'll update this issue when I have the chance to dig deeper.

@jazzido using the additional parameter -Djava.util.Arrays.useLegacyMergeSort=true still leads to a StackOverflowError.

The bug can be also triggered in PDFBox alone. Just reported the issue: https://issues.apache.org/jira/browse/PDFBOX-2996

Try java option  -Xss2m (that one worked on PDBox)

Thanks @THausherr. It worked with that stack size.

@davincho, this should be now fixed in HEAD thanks to @melisabok's contribution (#32)
@THausherr, we will port this to PDFBox and submit a patch soon.


document SERIAL column type

Added in https://github.com/cockroachdb/cockroach/pull/7032.
Some notes to start with:
A SERIAL column is an INT column with a DEFAULT that is unique per row. Notably, ours is a bit different than Postgres's SERIAL and MySQL's AUTO_INCREMENT, both of which approximate a sequence starting at 1 (or maybe 0?).
Our implementation covers the essential uniqueness property, but the differences may be jarring to users so they should be called out in the docs. One important point to include is that there are two common misconceptions with Postgres's SERIAL and MySQL's AUTO_INCREMENTING. They do have holes and they are not strictly increasing.
Example of hole:
In client 1:
CREATE TABLE ab (a SERIAL PRIMARY KEY, b INT);
INSERT INTO ab (b) VALUES (1); BEGIN; INSERT INTO ab (b) VALUES (2);

In client 2:
BEGIN; INSERT INTO ab (b) VALUES (3); COMMIT;

In client 1:
ROLLBACK;

In client 3:
SELECT * FROM ab;
 a | b
---+---
 1 | 1
 3 | 3

Example of out-of-order:
In client 1:
CREATE TABLE ab (a SERIAL PRIMARY KEY, b INT);
BEGIN; INSERT INTO ab (b) VALUES (1); SELECT * FROM ab;

In client 2:
BEGIN; INSERT INTO ab (b) VALUES (2); COMMIT;

In client 3:
SELECT * FROM ab;
 a | b
---+---
 2 | 2

In client 1:
COMMIT;

In client 3:
SELECT * FROM ab;
 a | b
---+---
 1 | 1
 2 | 2

Note the (2, 2) was committed before (1, 1).

Nice. In the "hole" example, I think rollback the first transaction before the second transaction even starts.

Good point. You can even do it all in one client:
CREATE TABLE ab (a SERIAL PRIMARY KEY, b INT);
BEGIN; INSERT INTO ab (b) VALUES (1); ROLLBACK;
BEGIN; INSERT INTO ab (b) VALUES (2); COMMIT;
SELECT * from ab;
 a | b
---+---
 2 | 2

Notes:

Uses timestamp and node id to generate ID. Combination will always be unique.
Globally unique id without nodes having to talk to each other. Faster than linear sequence (12345). Completely independent.
Postgres doesn't do sequence strictly. Can be holes. Underlying principles the same.
This is experiment. Technically, a better solution than doing sequence, cause it's much faster.

We think this will work same as sequence, but it's a little jarring.
If too much user pushback, might change.
If prevents you from using feature or break something, let us know. "If you think this is incompatible with your application, xxx".

It's technically possible to replicate sequence manually with a transaction, but performance will be very bad. Essentially creating a global write lock on table, for each insert.

Two functions are currently can be used for providing distributed uniqueness: unique_rowid() , returns int or experimental_uuid_v4(), returns bytes .
id SERIAL PRIMARY KEY is currently the best thing to use. it's a wrapper for id INT DEFAULT unique_rowid() PRIMARY KEY .
Thx @mjibson , @dt .


Add isStormer()

Do the checklist before submitting the PR:

[x] Have you read the guidelines mentioned in CONTRIBUTING.md?
[x] Have you squashed your commits?

Q: What version of Node.js you've used in the project? (e.g. Node v10.11.0)
A:Node v8.10.0
Q: Mention the Issue Number! (e.g. Fixed #8)
A:Fixed #34

Give additional information regarding the PR below:
The index.js consists of two function :

maxPrimeFactors
isStormer
The result is an array of stormer numbers up till the entered number.

Codecov Report

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

@@           Coverage Diff           @@
##           master      #49   +/-   ##
=======================================
  Coverage   96.09%   96.09%
=======================================
  Files          35       35
  Lines         333      333
=======================================
  Hits          320      320
  Misses         13       13

Continue to review full report at Codecov.

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

I think something is wrong here. In order to squash commits, I messed up something else. Could you please help me here?


[ANNOUNCEMENT] Regarding Engines

After some discussion with @ninjamuffin99, we've concluded that limiting the engine list by some abstract measure of "notability" only limits discoverability of unique new projects. There's no reasons like Codename should be excluded when
As a result, our policy will be:

The list will be open to contributions, with a bit of proofreading/editing done for cleanup.

If you feel a given project should be on the list, make a contribution. Be sure to include specifics on why an individual would want to use it over other offerings.

If you feel a given project that is on the list should NOT be there, feel free to make a new issue to discuss.

EDIT (March 30): Notable projects which are deprecated are still notable, as long as they are open source. However, if they are unmaintained, any direct links to them should be moved to the ARCHIVED.md page.

Just realized I forgot to update the rule regarding deprecated projects.


Use latest master

Should let us use incap latest master according to: https://jitpack.io/docs/
Context

Contributor Checklist

[ ] Review Contribution Guidelines
[ ] Sign Gradle CLA
[ ] Link to Design Spec for changes that affect more than 1 public API (that is, not in an internal package) or updates to > 20 files
[ ] Provide integration tests (under <subproject>/src/integTest) to verify changes from a user perspective
[ ] Provide unit tests (under <subproject>/src/test) to verify logic
[ ] Update User Guide, DSL Reference, and Javadoc for public-facing changes
[ ] Ensure that tests pass locally: ./gradlew quickCheck <impacted-subproject>:check

Gradle Core Team Checklist

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation including proper use of @since and @Incubating annotations for all public APIs
[ ] Recognize contributor in release notes

--refresh-dependencies would trigger a refresh of all dependencies and not
only incap's snapshot. I fear it would be far worse, considering we are
rebuilding all gradle here... no ?
Is there a way to way to apply this resultution strategy only to the incap
artifact ?
2017-07-04 6:43 GMT-07:00 Stefan Oehme<EMAIL_ADDRESS>
@oehme commented on this pull request.
In subprojects/language-java/language-java.gradle
https://github.com/gstevey/gradle/pull/2#discussion_r125476572:

 // TODO - get rid of this cycle
 integTestRuntime project(':plugins')

}
+configurations.all {

resolutionStrategy.cacheChangingModulesFor 0, 'seconds'

That's a bit extreme, you can always run with --refresh-dependencies when
you know there's something new to consume. Setting it to 0 means that every
Gradle invocation will go and re-check this dependency against the remote
repo.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/gstevey/gradle/pull/2#pullrequestreview-47868865, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABv33XSMl_WpWkeHa_ow6kLH7qumc8f0ks5sKkGWgaJpZM4OLYSv
.

 And of course Gradle will only check changing/dynamic dependencies (of which we have none except incap). Also it'll only check whether the metadata has changed, it won't download anything if the checksum is still the same.

I updated the PR and added a comment. It should be good to merge @gstevey


Laravel 9 support

Bump symfony/process to 6.0 and orchestra/testbench to 7.*

Any update regarding this PR?

Hi @antonioribeiro any timeline on when this may get merged? Thank you!

Hello @antonioribeiro , first let me thank you for your awesome package, and secondly, I'd also would like to know if this PR could be merged...
Thanks again.

Any updates about merging this PR?
Thanks.

please upgrade for laravel 9 it will really helpful. or suggest any alternative package

@antonioribeiro Like everyone I have same question. When this PR will be merged?

@antonioribeiro it's almost a year this PR is open. Next week Laravel 10 is coming. Can you please tell us if you're thinking to abandon this package?

Duplicated PR https://github.com/antonioribeiro/version/pull/113


Bug fix: when canceling flows, we should send out Killed events corre…

…ctly

Pull Request Test Coverage Report for Build 6853

1 of 2 (50.0%)  changed or added relevant lines in 1 file are covered.
6 unchanged lines in 3 files lost coverage.
Overall coverage decreased (-0.006%) to 45.316%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

azkaban-common/src/main/java/azkaban/executor/AbstractExecutorManagerAdapter.java
1
2
50.0%

Files with Coverage Reduction
New Missed Lines
%

azkaban-common/src/main/java/azkaban/executor/AbstractExecutorManagerAdapter.java
1
59.51%

azkaban-common/src/main/java/azkaban/jobExecutor/AbstractJob.java
2
37.93%

azkaban-common/src/main/java/azkaban/jobExecutor/AbstractProcessJob.java
3
54.64%

Totals

Change from base Build 6849:
-0.006%

Covered Lines:
18088

Relevant Lines:
39915

💛  - Coveralls


Feat: Robust Versioning and binary distribution

Component
Forge, Cast, Foundryup
Describe the feature you would like
Feature: timestamp prefixed nightly versioning scheme
Use  the last commit date rather than build date to avoid ending up with builds for different platforms having different version strings, etc.
i.e. use some process to generate a version tag with a format like this: nightly-2022.02.10
Example
TZ=UTC git show --quiet --date="format-local:%Y.%-m.%-d" --format="nightly-%cd" >nightly-release.txt

Output
nightly-2022.2.8

an alternative format is the one used by Solidity for its nightly releases if you would like commit information as well
soljson-v0.8.11-nightly.2021.11.18+commit.2aeeef83.js

Alternative: 3rd Party solution
An alternative is. using a 3rd party service, e.g:

Releases on GitHub can have assets attached to them. You can link to each of them, however you can't link to the assets of > the latest release. With a Git Releases link, you can skip updating your README or public website with a new download link > whenever a new release has been done. Instead it will always point to the right location.

Available Asset URLs
gitreleases.dev/gh/gakonst/foundry/latest/foundry_man_nightly.tar.gz
gitreleases.dev/gh/gakonst/foundry/latest/foundry_nightly_darwin_amd64.tar.gz
gitreleases.dev/gh/gakonst/foundry/latest/foundry_nightly_linux_amd64.tar.gz

Re 3rd party solution, GitHub does have a redirect to the latest release, i.e.: https://github.com/gakonst/foundry/releases/latest/download/asset-name.zip

the ask is to have nightly-calver, not nightly-hash


Update docstrings and examples | distributed

Codecov Report
Patch has no changes to coverable lines.

Files Changed
Coverage

src/gravitorch/distributed/comm.py
ø

src/gravitorch/distributed/ddp.py
ø

:loudspeaker: Thoughts on this report? Let us know!.


fix #1398

Changed "touch" alias into New-Item to fix #1398
Description

Changed the touch in the after install part of the script, to avoid shimgen
Motivation and Context

Fixed it because I received notification from CodeTriage
How Has this Been Tested?

Local install/uninstall test + test env project
Screenshot (if appropriate, usually isn't needed):
Types of changes

[x] 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 change)
[ ] Migrated package (a package has been migrated from another repository)

Checklist:

[x] My code follows the code style of this repository.
[ ] My change requires a change to documentation (this usually means the notes in the description of a package).
[ ] I have updated the documentation accordingly (this usually means the notes in the description of a package).
[x] All files are up to date with the latest Contributing Guidelines
[x] The added/modified package passed install/uninstall in the chocolatey test environment.
[x] The changes only affect a single package (not including meta package).

Original Location

Original Repository
Open Issues Add the different issues underneath, and tick those that are fixed in this PR
[x] (gpg4win) The term 'touch' is not recognized as the name of a cmdlet
[ ] Include the link to the opened PR that removes the package from the original location
[ ] The migration guidelines have been followed

:x: Package verification failed, please review the Appveyor Logs and the provided Artifacts before requesting a human reviewer to take a look.


Group lights not turning on in dashboard but does in other places

Home Assistant release with the issue:

Frontend version: 20191204.1 - latest
Last working Home Assistant release (if known):
Operating environment (Hass.io/Docker/Windows/etc.):

Raspberry Pi 4, SD Card Application Class 2 128 GB
Integration:

https://www.home-assistant.io/integrations/hue/
Description of problem:

Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):

# Configure a default setup of Home Assistant (frontend, api, etc)
default_config:

# Uncomment this if you are using SSL/TLS, running in Docker container, etc.
# http:
#   base_url: example.duckdns.org:8123

# Text to speech
tts:
  - platform: google_translate

group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

Traceback (if applicable):

Additional information:
Really strange -- The UI shows the "Kitchen" group and it does work fine when I use it.  However when I use the "Light" group switch, absolutely nothing happens.  My understanding is that when I switch on the "Light" group it should also switch on the "Kitchen" group under it.

@sethen a group switch only affects the devices that are under it, because of that turning on the Light group should only affect the light kitchen. Likewise all devices under the kitchen group are turned on when the kitchen group is turned on via the group switch.

@sethen a group switch only affects the devices that are under it, because of that turning on the Light group should only affect the light kitchen. Likewise all devices under the kitchen group are turned on when the kitchen group is turned on via the group switch.

Right, what I am suggesting is that the devices are not turning on when doing that.

Oh sorry about that.
You should change "Kitchen" group to "Kitchen" light in the following sentence to make it more clear:

My understanding is that when I switch on the "Light" group it should also switch on the "Kitchen" group under it.

Do you have anything in your logfile about this issue? And how does the configuration for these groups look like?

Oh sorry about that.
You should change "Kitchen" group to "Kitchen" light in the following sentence to make it more clear:

My understanding is that when I switch on the "Light" group it should also switch on the "Kitchen" group under it.

Do you have anything in your logfile about this issue? And how does the configuration for these groups look like?

Yeah my terminology might not be the best since I am so new with HA.
Nothing in the logfile, this group was set up automatically by HA for some reason...  I took my SD card and flashed it again to start over.  This time when I set up my lights HA did not set up a group...  I am so confused?

I am not experiencing this issue anymore since reflashing my SD card.  I will reopen if I come across it again.

HA automatically creates these groups: https://www.home-assistant.io/integrations/group/#default-groups

HA automatically creates these groups: https://www.home-assistant.io/integrations/group/#default-groups
Was it the default group 'group.all_lights'?

No idea.  Why didn't it create the group the second time?

HA automatically creates these groups: https://www.home-assistant.io/integrations/group/#default-groups
Was it the default group 'group.all_lights'?

So, I have flashed my SD card twice and started over and discovered my lights.  It no longer creates this group anymore... Is it supposed to?

Yes it is supposed to. Could you check under Developer Tools -> States for this default group?


Fixing typos in documentation

Before creating a pull request, make sure that you have read the contribution file located at
https://github.com/pnp/powerShell/blob/dev/CONTRIBUTING.md
Type

[ ] Bug Fix
[ ] New Feature
[ ] Sample
[x] Documentation

Related Issues?
Fixes #X, partially fixes #Y, mentioned in #Z, etc.
Documentation typo.
What is in this Pull Request ?
Fixing typo's in documentation

Thank you @ValerasNarbutas for fixing these !!
Much appreciated 🙏😊

Thank you @ValerasNarbutas for fixing these !!
Much appreciated 🙏😊

no problem 👍


Add user model

Adds the User model to the rest of the ORM model classes.

Whats the difference between this and #58 ?

@pbenzoni, this just adds the User and RegistrationKey models. they're separate since they were slightly more complex classes, in case it made it easier for you to review. If this PR is merged, this code will be added to #58.


chore: fix unit tests

This PR fixes unit tests.
One thing though, creating a pod with a container that has no image is valid.
@alexzielenski  It looks like we are patching the schema to make image a required field ?

@alexzielenski no problem to close it.
Still, creating pods with containers having no image is valid, we should at least make the patching optional.

Still, creating pods with containers having no image is valid, we should at least make the patching optional.

Do you have a source/example of this? When I try to apply the case to my cluster I get the expected error, and in the source for Container validation there is logic to throw this error:
https://github.com/kubernetes/kubernetes/blob/3f8c4794eadf8aadd8a5bcb0b875bf0af5c2020b/pkg/apis/core/validation/validation.go#L3220-L3222
$ kubectl apply -f testcases/manifests/error_missing_image.yaml
The Pod "nginx-pod" is invalid: spec.containers[0].image: Required value

$ kubectl apply -f testcases/manifests/error_missing_image.yaml --server-side=true
The Pod "nginx-pod" is invalid: spec.containers[0].image: Required value

/close
in favor of #21

Hmmm maybe it’s just on openshift ?
It’s used with image streams iirc


[BUG] 50% of the plugin GUI's - does not work

Versions
Spigot/Paper/Sponge: Purpur-1331
GriefDefender: 2.0.0b
LuckPerms: 5.3.58

Describe the bug
There are a lot of buttons in the plugin GUI-they absolutely do not work. I tried deleting the plugin folder and the plugin itself, but it didn't help

Steps to reproduce the behavior
https://youtu.be/RYUBCALdTEY

GDDEBUG
https://griefdefender.github.io/debug/?WpYZhHcsHK

Screenshots
https://youtu.be/RYUBCALdTEY

I have the same problem, the buttons don't work for me

what is that error message in chat that appears when you try to click a button?

No error appears, it just doesn't work for me: https://youtu.be/KO1I1KAVMRQ

it does in  OstriySous-devs video.
what server version are you using?
Also make sure to test with GD/LP only to prevent conflics from chat plugins or other things.

I'm on version mohist-1.16.5-756-server.jar, I will test only with GP and LP

no need. Mohist doesnt work with the new Kyori so clicking anything in chat wont work.

you can find the issue thread here https://github.com/MohistMC/Mohist/issues/1626

Any suggestions on how to proceed?

sadly no. some people tried Arclight for 1.16+ or switched to pure SpongeForge/Paper.

As mentioned Mohist doesn't work, as for the GUI not working it works 100% on Paper and Sponge, the only time I've seen issues has been a lack of following the readme and deleting the libs folder etc
If you've purchased GD you should have access to the Discord server where latest dev builds are located.


ScrollToPlugin.min.js

Hi, kindly help. I want to scroll to anchor. Without simplebar, no problem. So I refer to your sample at https://github.com/Grsmto/simplebar/blob/master/demo/stress-test.html but no luck.
I'm using  SimpleBar.js - v2.5.1
Here's my HTML:

My content here...

To test the scrolling, I've run all these variation in browser's console:
TweenLite.to($('.x_content'), 0.5, {scrollTo:{y:100}, ease:Power2.easeOut});
No error nothing happen:
TweenLite.to($('.x_content')[0], 0.5, {scrollTo:{y:100}, ease:Power2.easeOut});
No error nothing happen:
TweenLite.to($('.x_content').simplebar('getScrollElement'), 0.5, {scrollTo:{y:100}, ease:Power2.easeOut});

$(...).simplebar is not a function
TweenLite.to($('.x_content')[0].simplebar('getScrollElement'), 0.5, {scrollTo:{y:100}, ease:Power2.easeOut});

$(...)[0].simplebar is not a function

@coisox sorry for the late answer, Simplebar is not a "jQuery plugin" anymore since version 2. So this won't work at all the way you wrote. I believe you were referring to the documentation of the version1.
Try this:
var simplebar = new Simplebar($('.x_content')[0]);
TweenLite.to(simplebar.getScrollElement(), 0.5, {scrollTo:{y:100}, ease:Power2.easeOut});


detection and dropped video are not in sync

ODC installation without docker, running on desktop PC with ubuntu 20.04 installed and AlexeyAB/darknet
ODC is running on localhost and port is forwarded via ngrok so we can access it from anywhere.
Files are dropped from my local pc which is on same network as machine running ODC
There is quite big missmatch between detection and video in background.

This is known, and as far as we can tell only cosmetic (in the sense that detections and counting should still work as expected).
I don't really know a quick way to fix this except refreshing the page browser window, which re-syncs the stream.

also try to reduce the resolution of the camera, high res stream have the tendency to get out of sync.. yolo only process at his best 600x600 pixels


Travis - add nightly build to allow_failures due to Travis issues

yey, broken pipe again
https://travis-ci.org/FriendsOfPHP/PHP-CS-Fixer/jobs/295661823#L748


🎁: Show that there exist more than quick-filters

Expected outcome
If there is more filters in advanced mode than quickFilter, we should have some indication showing that more filters are available.
Also when a hidden filter is applied, that should be visible to the user.
JC-portal has information about this:

This is missing in project portal.
Acceptance Criteria

[ ] User can see that more filters are available in advanced mode.
[ ] User can see if any advanced filters is active, also when advanced filter is hidden

Maybe something like this could work


Update WifiWizard2.js

Uncaught (in promise): TypeError: WifiWizard2.getConnectedSSID is not a function

Yup sure did, thanks for catching this, merged!


[nemo-qml-plugin-email] Add decryption capability to EmailMessage.

@pvuorela this PR shows how decryption (with or without attachments) can work.
It requires https://codereview.qt-project.org/c/qt-labs/messagingframework/+/499749 to be accepted first. But I'm providing this PR also to show the complete picture.

It requires sailfishos/messagingframework#16 also. I've been testing it with POP and IMAP protocols, with encrypted plain text emails, with or without attachments, and with or without signed content. It seems to be ok.

I've rebase the PR and also adjust it to API changes in the crypto service after recent upstream changes.


Get page from options

Hello. Excuse me for my bad english, because I use a google-translator. This commit was applied to a pagination could indicate the number of pages in the options, not just in the params of get.

Hi! The reason that I did this for the per_page param/option was so that developers could provide an override and prevent users from setting a custom per_page in certain instances. However, overriding the page param doesn’t make a lot of sense. Unless I’m missing something here, I’m going to close this out. I can reopen it if you had another purpose.

Without this commit, I can not set the page from the POST request, or other location. Page works only through the GET params.

Sorry, I’m not really sure I’m following... What kind of POST endpoint do you have? I’m not familiar with putting pagination on anything but a GET request


[SDK-4483] Add all known options to ad, adfs, pingfederate, saml, and waad

🔧 Changes
This PR adds all known properties to the ad, adfs, pingfederate, saml,  and waad connection options to prevent these options being removed when a update is performed
📚 References

🔬 Testing

📝 Checklist

[] All new/changed/fixed functionality is covered by tests (or N/A)
[] I have added documentation for all new/changed functionality (or N/A)

cc @willvedd as I can't seem to add you as a reviewer


feat(testing): Support setting the protocol when simulating requests

Current coverage is 100% (diff: 100%)

Merging #964 into master will not change coverage

@@           master   #964   diff @@
====================================
  Files          31     31
  Lines        1993   1993
  Methods         0      0
  Messages        0      0
  Branches      328    328
====================================
  Hits         1993   1993
  Misses          0      0
  Partials        0      0

Powered by Codecov. Last update 5fb037d...e1c1db7

Merging based on 2x LGTMs


[feat] Add iframe permissions

Hm I'm realizing that this is probably much more complicated than it needs to be - we should probably just allow users to pass through the allow and sandbox properties, with a warning when the sandbox property doesn't include allow-scripts and allow-same-origin

@kentwalters @BenjamynBaker I actually ended up just setting this up to always include allow-scripts and allow-same-origin whenever sandbox is specified. I'll also update the README here

LGTM! We'll let @BenjamynBaker stamp, then all good to merge.

LGTM


staticjinja: 3.0.1 -> 4.1.0, pythonPackages.docopt-ng: init at 0.7.2

Motivation for this change
Things done

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

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

[x] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

[x] (Package updates) Added a release notes entry if the change is major or breaking
[x] (Module updates) Added a release notes entry if the change is significant
[x] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 133635 at ff988372 run on aarch64-linux 1

5 packages built successfully:

nixos-install-tools
python38Packages.docopt-ng
python38Packages.staticjinja
python39Packages.docopt-ng
staticjinja (python39Packages.staticjinja)

1 suggestion:

warning: maintainers-missing
Package does not have a maintainer. Consider adding yourself?
Near pkgs/development/python-modules/docopt-ng/default.nix:18:3:
   |
18 |   meta = with lib; {
   |   ^

And fixed the merge conflict

This is a semi-automatic executed nixpkgs-review with nixpkgs-review-checks extension. It is checked by a human on a best effort basis and does not build all packages (e.g. lumo, tensorflow or pytorch).
Result of nixpkgs-review pr 133635 run on x86_64-linux 1

1 package blacklisted:

tests.nixos-functions.nixos-test

1 package failed to build and are new build failure:

nixos-install-tools: log was empty

4 packages built:

python38Packages.docopt-ng
python38Packages.staticjinja
python39Packages.docopt-ng
staticjinja (python39Packages.staticjinja)


Installer for 0.57.2 is broken

Microsoft PowerToys version
0.57.2
Running as admin

[ ] Yes

Area(s) with issue?
Installer
Steps to reproduce
I have to run the installer as admin, because of applocker here, so after the installer finishes it has to start PowerToys with the logged on user. Worked with the previous 0.57.0 broke with the current version.
✔ Expected Behavior
PowerToys runs with the current logged on user.
❌ Actual Behavior
The process that starts PowerToys went crazy trying to start PowerToys and failing to do so. PowerToys was spawned and killed and spawned and killed and so on. I had to restart the machine!
Other Software
No response

/dup #17720


refactor(tray): split gtk and ayatana appindicator features

What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Docs
[ ] New Binding issue #___
[ ] Code style update
[x] Refactor
[ ] Build-related changes
[ ] Other, please describe:

Does this PR introduce a breaking change?

[ ] Yes, and the changes were approved in issue #___
[ ] No

Checklist

[ ] When resolving issues, they are referenced in the PR's title (e.g fix: remove a typo, closes #___, #___)
[x] A change file is added if any packages will require a version bump due to this PR per the instructions in the readme.
[ ] I have added a convincing reason for adding this feature, if necessary

Other information
This allows users to have more control on what appindicator package to use, while giving us the possibility to allow both features to be enabled, which would make us resolve the library at runtime.

I have no idea what I need to install on Ubuntu for this to work lol


Define Hash field of GenerationStatus struct as optional

In the comment, Hash field of GenerationStatus struct is said to be an optional field although the field is not defined to be optional. Due to bug in Go, mandatory fields weren't enforced properly and therefore this mistake was never discovered.
Signed-off-by: Itamar Holder<EMAIL_ADDRESS>

What do you think?
@smarterclayton @soltysh

@smarterclayton @soltysh

@smarterclayton @soltysh ..... ?

@smarterclayton @soltysh last time


README's link to Litegl.js is broken

The Markdown syntax got mixed up somewhere, resulting in a link that goes to https://github.com/jagenjo/litescene.js/blob/master/litegl (404) instead of https://github.com/jagenjo/litegl.js.
The same applies to other links in the README as well.
See: https://github.com/jagenjo/litescene.js/blame/master/README.md#L14

True, I was writing the links wrong, I fixed it. Thanks Bendiken :+1:


MangaLek domain change

Checklist:

[ ] Updated extVersionCode value in build.gradle for individual extensions
[x] Updated overrideVersionCode or baseVersionCode as needed for all multisrc extensions
[ ] Referenced all related issues in the PR body (e.g. "Closes #xyz")
[ ] Added the isNsfw = true flag in build.gradle when appropriate
[x] Have not changed source names
[ ] Have explicitly kept the id if a source's name or language were changed
[x] Have tested the modifications by compiling and running the extension through Android Studio
[ ] Have removed web_hi_res_512.png when adding a new extension

https://manga-lek.net still works
untested pr likely made through github web ui
you are yemenihandsome

https://manga-lek.net still works
untested pr likely made through github web ui
you are yemenihandsome

https://manga-lek.net It no longer works, and this is a picture of the error. The pictures do not appear .

There are errors that appear when modifying directly from the browser. Testing is required before modification
I am not a yemenihamdsome


Missing documentation for build and test iree-dialects

We miss documentation about how to build and run iree-dialects. I got the commands myself and asked questions on discord. We should have it documented somewhere. We should also add a ctest thingy that invokes tests.
Build iree-dialect:
cd llvm-external-projects/iree-dialects
build_tools/build_standalone.sh

Run test:
cd build
ninja check-iree-dialects

This seems not working when doing integrations. (at least I failed yesterday)
The other way to do it is

cd to IREE build directory.
run cmake --build . --target check-iree-dialects.

note: there might be magic configurations, so I'm seeing a failure in llvm-external-projects/iree-dialects/test/iree_pydm/rtl/link.mlir locally.
FYI, @KoolJBlack

This will be obsolete if we merge iree-dialects into the main compiler/ directory. The current setup is quite awkward. We don't even test iree-dialects in our main test CI job: https://github.com/openxla/iree/pull/15530.


Is the time span correct in the HTR-United metadata file?

Hello!
The time span for the dataset is "1699-1700" but since this repo is for print materials from the 18th century, is it possible that you have a typo here?

Correction added:
https://github.com/Gallicorpora/HTR-imprime-18e-siecle/blob/c5a29028ed9c97cffb38e7651d35318f6e424325/htr-united.yml#L26


Create cs_cz.json

Czech translation

I removed the last 3 translation keys, since they are for
https://github.com/PortableGames/FabricWaystones


Play 2.7 and Scala 2.12.8

https://www.playframework.com/documentation/2.7.x/Migration27

Made a few changes since review:

sbt 1.2
drop support for Scala 2.10 (Play dropped support)
Fixed a few compiler warnings
Bumped version numbers so that I can release everything
Chris -> Claire


Lock repos

A lock repo is a repository that contains all of the required artifacts needed to reproduce an apko image.
The theory of operation behind this is that a user could run a command like apko lock, which would:

resolve the dependencies
create an environment where apk fetch may be used
use apk fetch to fetch them
use apk index to index them

A user could then use apko publish ... --lock-repo whatever/ which would then generate a signing key on the fly, sign the index, and then use it in place of the configured repos in the YAML file.
This in theory would also solve #65.

Postponing to v0.6.

Will this enable hermetic builds?

Any update on this issue? Would be great to have reproducible builds for using apko in prod.


Bug when add  new language

When i choose C++, it's auto choose Julia, SyperColider, I guess u copy code and forgot edit ;)

I checked it, and it works well.
Is this problem reappear frequently?
Or only in some specific operation?

Hi @laowch
I had create video for you:
https://drive.google.com/file/d/0B3jNXd3gkCRZeVF1dVJ2bXFieXM/view?usp=sharing
My OS: Android M
Version: Latest in google store

I fixed it.
Thanks for report.


[ISSUE #4385]Fix CI failing to pass

Fixes #4385
Motivation
Explain the content here.
Explain why you want to make the changes and what problem you're trying to solve.
Modifications
Describe the modifications you've done.

Fix CI failing to pass

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)
If a feature is not applicable for documentation, explain why?
If a feature is not documented yet in this PR, please create a followup issue for adding the documentation

These were being fixed in PR #4063.

@pandaapo  I will close this pr.

These were being fixed in PR #4063.

@pandaapo I closed this pr.


Add config type for joining from an external commit

This PR adds a new sort of join config to make joining using external commits easier. I believe it's mostly pretty obvious, so just a few things:

The types have a generic lifetime parameter, because aad has been a reference in the past and I wanted to avoid needless copying.
I am not quite sure about which of the arguments belong into the config and which should be arguments. The ones I included are more on the "small data" side, whereas things like group info and ratchet tree are more on the "large protocol objects" side. I wasn't sure what to do with the credential_with_key. Feedback on this is very welcome.

Fixes #1607

Thanks for tackling it! I think AAD really is the outlier here and I should get working on #1521 instead. I thought about it some more, and the current way the AAD is handled only came into existence because I didn't have any better ideas at the time, not because it's actually how folks are using it. All discussions I've had so far point to wanting an ad-hoc solution for the AAD. And since it's a breaking change for the storage provider, it would be good to get this in for v0.6. I'll get started with it.

Just a note: this PR also removes the --message-format json from the cargo rustdoc check in CI so it's more readable.

Do you want to do your aad changes inside this PR or do you want to do it separately @raphaelrobert? Not sure how to interpret your self-assign :)

Do you want to do your aad changes inside this PR or do you want to do it separately @raphaelrobert? Not sure how to interpret your self-assign :)

Self-assign is always for reviews. The PR is already is here already: https://github.com/openmls/openmls/pull/1615, but I'm still adding tests. I guess it would make sense to get in #1615 first because then you can drop the lifetime.

What's the plan here? @keks did you want to close this?

On a call we discussed restructuring this such that the external commit join config contains the regular join config, instead of mirroring all the fields. With that, and the changes to the AAD, I think it would make most sense to just start over on top of master, if we want to get this in.
Should I have another stab at this or should we close this unfinished?

This PR is really stale and the entire context the original issue lives in has changed since the introduction of the commit builder API, so I'll close this. The issue is still relevant, but this PR isn't, and maybe hasn't ever been a good solution.


Don't require a user in the DSN

raven-js requires a user part in the DSN passed to Raven.config, but in some scenarios this isn't desired. This PR makes user and optional part.
In our configuration, our sentry instance isn't publicly available, and we proxy requests from our frontend application through our backend app for reporting; because of this, we use our already authenticated users (and sentry auth is handled via the backend). We were on a very old version of raven-js which did not have this restriction. This restriction blocks us from being able to upgrade.
Let me know if you have any questions/requests, and thanks for your time!

I think I'd prefer proxies just take the input and deal with passing it forward. Can you see that as being unreasonsable?

Talked about this over IRC.
This is similar to how we used Sentry at Disqus. Basically pass thru everything to a backend, and apply a new DSN on the backend. I'm fine w/ supporting that use case for now, at least until we have a better answer to this behavior.

Thanks!


In the latest version (1.3.0), how to build coinbase1 coinbase2 merkle_branch

Bug Report
Check to see if a bug report already exists.  If you still want to create a new issue please include the information below.
Stack Trace or error message
Environment

Sia version:1.3.0
OS:

Any useful logs
Feature Request
Check to see if the feature is on the roadmap.  If it is not on the roadmap then clearly describe your feature request and why it would benefit Sia.
Sia roadmap

I assume this question relates to Sia stratum mining. Please direct your question there.


Missing frontmatter option for slideout menu?

I am searching for a way to enable the slideout menu (https://mszturc.github.io/obsidian-advanced-slides/plugins/menu/).

Is it configured by the slide frontmatter? (I don't find any setting here...)
Thanks,
Simon

By default most of the plugins are disabled. You can enable them in the Advanced Slides settings


Move questions from homepage to FAQ and add more

Also, we could turn the home page to an announcements and useful links


recover gracefully without env vars

when running on docker you have to specify env variables or grace doesn't launch well without complaining about the env missing in the logs.
docker run --rm -i -t -p 8080:8080 -e INSTANCE_INDEX=0 -e PORT=8080 cloudfoundry/lattice-app /lattice-app

would be good to assume port 8080 and have instance index default to "unknown" or "?" when the env vars are not set.

created https://www.pivotaltracker.com/story/show/90420532 to track this effort.  we will work with our pm to prioritize this into our backlog.

closing issue -- #90420532 has been accepted
this was addressed with 08e31e6a9a580c330ddea48f9d57216aa0f3370c


docs: update the warning in docker/README.md

Description

Updated the warning to be the same as https://github.com/autowarefoundation/autoware-documentation/pull/65.
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[x] I've confirmed the contribution guidelines.
[x] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

As @xmfcx pointed out in https://github.com/autowarefoundation/autoware/pull/141#issuecomment-1084817085, https://developer.nvidia.com/ngc/nvidia-deep-learning-container-license is broken.
To address this issue, I'll leave this PR as it is.
cc @esteve

It seems the link was fixed.


gateone: fix url

Motivation for this change
#30636
Things done
Updated Homepage URL

I can't reach it either, closing.


com.google.apps.framework.request.BadRequestException: Path '' does not match template

"message": "com.google.apps.framework.request.BadRequestException: [ResourceName error] Path 'registered' does not match template 'projects/{project_id=}/locations/{location_id=}/agent/environments/{environment_id=}/users/{user_id=}/sessions/{session_id=}/contexts/{context_id=}'.",
json: {"contexts":[{"name":"context_name"}]}
The same: https://github.com/googleapis/nodejs-dialogflow/issues/387
Environment details

OS: Ubuntu 18
PHP version: 7.2.19
Package name and version: google/cloud-dialogflow 0.10.0

Steps to reproduce

call detectIntent with optional parameters of list of contexts

Code example
# example
    $parameters = new \Google\Protobuf\Internal\RepeatedField(\Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Dialogflow\V2\Context::class);
    $parameters[] = (new Context())
    	->setName("context_name");
    $response = $sessionsClient->detectIntent($session, $queryInput, [
	'queryParams'=>(new QueryParameters())->setContexts($parameters)
	]);

Is there a workaround? V1 shutdown time is very soon :(

Hi @demon-ru,
Try the following:
use Google\Cloud\Dialogflow\V2\Context;
use Google\Cloud\Dialogflow\V2\ContextsClient;
use Google\Cloud\Dialogflow\V2\QueryInput;
use Google\Cloud\Dialogflow\V2\QueryParameters;
use Google\Cloud\Dialogflow\V2\SessionsClient;
use Google\Cloud\Dialogflow\V2\TextInput;

$projectId = '[PROJECT_ID]';
$sessionId = uniqid('');
$contextId = uniqid();
$client = new SessionsClient;
$sessionName = SessionsClient::sessionName($projectId, $sessionId);
$contextName = ContextsClient::contextName($projectId, $sessionId, $contextId);

$query = new QueryInput([
    'text' => new TextInput([
        'text' => 'hello',
        'language_code' => 'en-US'
    ])
]);
$res = $client->detectIntent($sessionName, $query, [
    'queryParams' => new QueryParameters([
        'contexts' => [
            new Context([
                'name' => $contextName
            ])
        ]
    ])
]);

print_r(json_decode($res->serializeToJsonString()));

Using the ContextsClient::contextName() formatting method, I am able to successfully complete the request. Perhaps your context name was incorrectly formatted; When I first tested I was encountering the error you reported.
It does appear that the error message is incorrect, as the template in the error does not match the error in the documentation. You may wish to submit a report so the API team can look into that!

Thanks. You are right.
After formatting the context name, the error no longer appears.
But the request is executed as if the context is not used. Returns The "Default Fallback Intent".
I am sure that the name of the context is correct, written in small letters.
I will be very grateful for your help. There are almost no php examples on the web. very few examples in JS.

Couldn't find a way to see what intent detection sends to the server. There are no logging or debugging settings.
I enabled "Log Interactions with Google Cloud" in DialogFlow and saw request and response packets.
But no parameters with context name are visible in the request packet. Only the playload itself with the request text.

Oh, it works!
$context->setLifespanCount(1);
Added a line and the answer was correct.
And it is necessary to set the value "1". Neither" 0 "nor" 2 " is liked by the query.
https://cloud.google.com/dialogflow/docs/reference/rest/v2/projects.agent.sessions.contexts#Context
lifespanCount | numberOptional. The number of conversational query requests after which the context expires. If set to 0 (the default) the context expires immediately. Contexts expire automatically after 20 minutes if there are no matching queries.
This is very strange and wrong behavior.

Glad you’re able to make progress. I’d encourage you to report things you think may be service bugs in the issue tracker I shared previously.


Strange atmosphere/sun rendering

Reported on the forum: https://groups.google.com/forum/?hl=en#!topic/cesium-dev/w3Uht1MILjU
To reproduce:

3D Models demo
Select the milk truck
Tilt the camera all the way down and rotate it so the sun is in frame
Move the camera left and right with the sun in frame.  The atmosphere and sun will get gradually lighter then suddenly darker, etc

Duplicate of this: https://github.com/AnalyticalGraphicsInc/cesium/issues/3178

thanks @lilleyse


[release-1.7] Rename manifest apply to install

This is an automated cherry-pick of #26159

@istio-testing: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

gencheck_istio_release-1.7
0e0c0749c50f87beebef2bd56e935606228ff204
link
/test gencheck_istio_release-1.7

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest


Does ghidra now support loading DWARF information from an external file?

Using an external file to hold DWARF information has some advantages and it is widely adopted (e.g., Ubuntu Debug Symbol Packages and macOS).
Does ghidra currently support loading DWARF information from an external file? If so, how to do it?

Edit | DWARF External Debug Config (you can hit F1 while hovering the menu item for help page)
Select root directory for debug info packages (typically /usr/lib/debug)
If the binary you are analyzing has a build-id or debuglink filename info, this directory will be searched for the file.


external C API baseline - compat w/ liberasurecode

Fix #260
Fix #267

@slaperche-scality what is the best practice to convert to clang-format ? thx

Please also review https://github.com/scality/liberasurecode/pull/1/files

@slaperche-scality should be good now


TODO: Use nullable fields in clickhouse schema

Fields currently are populated with golang zero vals, should be nullable

libsampled python will need mypy annotations updated to support Optionals


delete multiple voice note for one item seems to provoke "unfortunately, LabCam has stopped"

Testserver: qa-imeji.mpdl.mpg./rest
Test date: 11.10.2017
Device: Tablet Nexus 9 Android 5.1.1.
User: standard user
Action:
select several items -> create voice note -> all items are labeled woth voice note symbol -> select one item with symbol -> delete item -> "unfortunately, LabCam has stopped"
Observation:
from this moment on, I am not able to open other items as well. Only help: log out/Log in
If i add and delete a voice note only for one item, workflow correct
Expected result: i can delete a multiple voicenote for only one item

Action:
•	Select several items
•	create voice-note for all selected items
•	all items are labeled with voice note symbol
•	select one item with symbol
•	delete voice note for only one item
Observation:
•	voice note is deleted for the selected item
Expectation:
•	ok, voice note deleted for the selected item
•	voice notes of other items not affected
•	system still running


Reassigning same reviewers causes desync with GitHub

Extension version: v0.65.2023051809
VSCode Version: 1.79.0-Insiders
OS: Windows 11

Steps to Reproduce:

In a PR, add two reviewers A and B.
Click on the Reviewers heading to open the quickpick. Notice that A and B are selected in the quickpick. Press OK.
In the PR view, A and B are still reviewers of the PR.
:bug: Open the PR on GitHub and notice that A and B have been unassigned from the PR.

The GitHub API we're using appears to be removing all reviewers that haven't reviewed yet even when I include them in the re-request. I am following up with GitHub folks about this.

Related https://github.com/microsoft/vscode-pull-request-github/issues/4830


build error

cc: @tomasr
WCF\Shared\Implementation\ChannelAsyncResult.cs(101):WCF\Shared\Implementation\ChannelAsyncResult.cs(101,1): Error : SA0102 : CSharp.CsParser : A syntax error has been discovered in file E:\A\_work\36\s\WCF\Shared\Implementation\ChannelAsyncResult.cs on line 101.
WCF\Shared\Implementation\ClientTelemetryChannelBase.cs(306):WCF\Shared\Implementation\ClientTelemetryChannelBase.cs(306,1): Error : SA0102 : CSharp.CsParser : A syntax error has been discovered in file E:\A\_work\36\s\WCF\Shared\Implementation\ClientTelemetryChannelBase.cs on line 306.
WCF\Shared\Implementation\ClientTelemetryDuplexChannel.cs(68):WCF\Shared\Implementation\ClientTelemetryDuplexChannel.cs(68,72): Error : SA1126 : CSharp.Readability : The call to nameof must begin with the 'this.', 'base.', 'object.' or 'ClientTelemetryDuplexChannel.' or 'ClientTelemetryChannelBase.' prefix to indicate the intended method call.
WCF\Shared\Implementation\ClientTelemetryDuplexChannel.cs(77):WCF\Shared\Implementation\ClientTelemetryDuplexChannel.cs(77,67): Error : SA1126 : CSharp.Readability : The call to nameof must begin with the 'this.', 'base.', 'object.' or 'ClientTelemetryDuplexChannel.' or 'ClientTelemetryChannelBase.' prefix to indicate the intended method call.
WCF\Shared\Implementation\ClientTelemetryDuplexChannel.cs(86):WCF\Shared\Implementation\ClientTelemetryDuplexChannel.cs(86,61): Error : SA1126 : CSharp.Readability : The call to nameof must begin with the 'this.', 'base.', 'object.' or 'ClientTelemetryDuplexChannel.' or 'ClientTelemetryChannelBase.' prefix to indicate the intended method call.
WCF\Shared\Implementation\ClientTelemetryDuplexChannel.cs(103):WCF\Shared\Implementation\ClientTelemetryDuplexChannel.cs(103,72): Error : SA1126 : CSharp.Readability : The call to nameof must begin with the 'this.', 'base.', 'object.' or 'ClientTelemetryDuplexChannel.' or 'ClientTelemetryChannelBase.' prefix to indicate the intended method call.
WCF\Shared\Implementation\ClientTelemetryDuplexChannel.cs(113):WCF\Shared\Implementation\ClientTelemetryDuplexChannel.cs(113,61): Error : SA1126 : CSharp.Readability : The call to nameof must begin with the 'this.', 'base.', 'object.' or 'ClientTelemetryDuplexChannel.' or 'ClientTelemetryChannelBase.' prefix to indicate the intended method call.
WCF\Shared\Implementation\ClientTelemetryDuplexChannel.cs(125):WCF\Shared\Implementation\ClientTelemetryDuplexChannel.cs(125,72): Error : SA1126 : CSharp.Readability : The call to nameof must begin with the 'this.', 'base.', 'object.' or 'ClientTelemetryDuplexChannel.' or 'ClientTelemetryChannelBase.' prefix to indicate the intended method call.
WCF\Shared\Implementation\ClientTelemetryDuplexChannel.cs(142):WCF\Shared\Implementation\ClientTelemetryDuplexChannel.cs(142,72): Error : SA1126 : CSharp.Readability : The call to nameof must begin with the 'this.', 'base.', 'object.' or 'ClientTelemetryDuplexChannel.' or 'ClientTelemetryChannelBase.' prefix to indicate the intended method call.
WCF\Shared\Implementation\ClientTelemetryDuplexChannel.cs(154):WCF\Shared\Implementation\ClientTelemetryDuplexChannel.cs(154,72): Error : SA1126 : CSharp.Readability : The call to nameof must begin with the 'this.', 'base.', 'object.' or 'ClientTelemetryDuplexChannel.' or 'ClientTelemetryChannelBase.' prefix to indicate the intended method call.
WCF\Shared\Implementation\ClientTelemetryDuplexChannel.cs(166):WCF\Shared\Implementation\ClientTelemetryDuplexChannel.cs(166,72): Error : SA1126 : CSharp.Readability : The call to nameof must begin with the 'this.', 'base.', 'object.' or 'ClientTelemetryDuplexChannel.' or 'ClientTelemetryChannelBase.' prefix to indicate the intended method call.

Sounds like the build server is somehow ending up using an older version of StyleCop? Building locally on Release, with all StyleCop rules running, and I'm not seeing these errors. Do you have a build log you can share so I can check?
(Those errors all seem to be related to using newer C# constructs)

Do you have access to this: https://mseng.visualstudio.com/AppInsights/ChuckNorris/_build/index?buildId=3743486&_a=summary ?

Well, this is unexpected.
I squashed my commits before pushing and sending the PR. My local changes compile cleanly, while the pushed changes (and thus the result after the merge) don't. Will try to resolve and send a new PR.

Update 2: Finally figured what's going on.
The problem only happens when building dirs.proj and not when building WCF.sln, because it builds DependencyCallstacks.sln first. That project references an older version of the StyleCop.MSBuild package, and it seems MSBuild is using that same one for building the WCF.sln solution, despite it referencing a newer version of the package.
PR updating the package on DependencyCallstacks coming up...


[Tracing] Way of excluding specific spans from sending to Application Insights

Is your feature request related to a problem? Please describe.
We've implemented tracing in our application. We have distributed tracing as well as internal tracing. Currently we want to reduce the cost of data ingested by Application Insights. The most common dependency that is being sent to AI are requests to *.documents.azure.com:443 and Container.query_items dependency. It's like 70% of everything we sent to AI. We run this for 6 months now and we see no anomalies, we learned from it what we wanted to learn and we no longer want to trace Cosmos related dependencies.
So far I didn't found any article that would describe how to suppress those spans.
I was able to find how Container.query_items is created, but there's no if that could do the job. At the same time, I couldn't find how *.documents.azure.com:443 dependency is created - at first I assumed this is being made by RequestsIstrumentor, but OTEL_PYTHON_REQUESTS_EXCLUDED_URLS variable doesn't seem to be working for this dependency (I tried two regexes '[\w\d-]*\.documents\.azure\.com[:443]*.*' and .*.documents.azure.com:443.* - both seem to be valid).
Describe the solution you'd like

clear documentation how one could exclude specific span from being traced or sent to application insights
environment variable AZURE_SDK_TRACING_EXCLUDE_SPANS that would be a list of regexes, which if matched should not be sent to application insights ingestion endpoint

Describe alternatives you've considered
I haven't.
Additional context
I could work on this issue once it's decided what should be done.
Mentioning @lzchen and @jeremydvoss as they know a lot about tracing in Azure.

Just to get more context, you are using RequestsInstrumentor in conjuction with some Azure sdks (like Cosmos-db) correct? Could you paste a code snippet of the relevant components and sdk calls?

Sure.
So first of all, we have FastAPI app and Azure Functions app.
Dependencies
We use more or less similar SDKs, like:
azure-core = "<2.0"
azure-core-tracing-opentelemetry = "*"
azure-cosmos = "<5.0"
azure-functions = "<2.0"
azure-monitor-opentelemetry-exporter = "*"
azure-servicebus = "<8.0"
azure-storage-blob = "<13.0"
azure-storage-queue = "<13.0"

and OTEL deps currently at 1.19.0/0.40b
"opentelemetry-api",
"opentelemetry-instrumentation-asgi",
"opentelemetry-instrumentation-fastapi",
"opentelemetry-instrumentation-httpx",
"opentelemetry-instrumentation-redis",
"opentelemetry-instrumentation-requests",
"opentelemetry-instrumentation-sqlalchemy",
"opentelemetry-instrumentation",
"opentelemetry-sdk",

Setup
Our FastAPI setup:
def api_tracing(app) -> None:
    resource = Resource.create(
        {
            "service.name": os.getenv("WEBSITE_SITE_NAME", ""),
            "service.instance.id": os.getenv("WEBSITE_INSTANCE_ID", ""),
        }
    )

    # Configure tracing
    trace_exporter = AzureMonitorTraceExporter(disable_offline_storage=True)
    processor = BatchSpanProcessor(trace_exporter)
    sampler = ApplicationInsightsSampler(1.0)
    provider = TracerProvider(resource=resource, sampler=sampler)
    provider.add_span_processor(processor)
    otel_trace.set_tracer_provider(provider)

    FastAPIInstrumentor.instrument_app(app, tracer_provider=provider)
    RequestsInstrumentor().instrument()
    RedisInstrumentor().instrument()
    SQLAlchemyInstrumentor().instrument(enable_commenter=True, commenter_options={})
    HTTPXClientInstrumentor().instrument()

Azure Functions setup looks more or less like in https://github.com/Azure/azure-sdk-for-python/issues/29672, except for instrumentations:
cls._instrumentors: List[BaseInstrumentor] = [
    HTTPXClientInstrumentor,
    SQLAlchemyInstrumentor,
    RedisInstrumentor,
    RequestsInstrumentor,
]

Env variables
We set all required environment variables
AZURE_SDK_TRACING_IMPLEMENTATION=opentelemetry
AZURE_TRACING_ENABLED=true

AZURE_TRACING_ENABLED as per https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/azure/core/settings.py#L452-L457
Currently, we set excluded urls as follows
OTEL_PYTHON_REQUESTS_EXCLUDED_URLS=".*.in.applicationinsights.azure.com/.*,.*.documents.azure.com/.*"
OTEL_PYTHON_FASTAPI_EXCLUDED_URLS="health"

.*.in.applicationinsights.azure.com/.* - this is to avoid self reporting to Application Insights (requests instrumentation was adding spans for each request to AI every 15 seconds - this has a potential to be a feature request, it was set by default in OpenCensus); this one works correctly
.*.documents.azure.com/.* - this didn't work, I also tried other regexes (azure.com, [\w\d-]*\.documents\.azure\.com[:443]*.*) that didn't work too
health - to ignore FastAPI health checks; this works

SDK Usage
When it comes to how we use Cosmos SDK it's more or less:
...
cosmos_client = CosmosClient.from_connection_string("")
db: DatabaseProxy = cosmos_client.get_database_client("")
container: ContainerProxy = db.get_container_client("")

items = container.query_items("select * from c")
...

so I think that's not something unusual.
Examples
And here are examples of how we see this in AI:

FastAPI app example:

Azure Functions app example:

Hey, having a way to exclude specific spans from being sent to App Insights does sound like something that would be useful. However, I'll let @lzchen and @jeremydvoss be the judge.
To provide more info: since it appears that tne azure-core-tracing-opentelemetry plugin is being used, the spans that you are getting from it are any SDK client methods that are decorated with the distributed_trace decorator. And Azure SDK clients generally use the DistributedTracingPolicy for tracing HTTP calls. These seem to be source of the ContainerProxy.query_items and the *.documents.azure.com* spans. Currently there is no way to suppress these at a granular level.
One thing to note that is that when inside one the spans created by the azure-core, automatic HTTP instrumentation provided by other libraries (such as opentelemetry-instrumentation-requests) are suppressed since azure-core already instruments HTTP calls. This is to prevent duplicate HTTP spans from being produced. I will make sure to document this. This might be why some values specified in OTEL_PYTHON_REQUESTS_EXCLUDED_URLS don't seem to be working.
If you are mainly interested in the HTTP calls, you could purely rely on the RequestsIntrumentor and unset the AZURE_SDK_TRACING_IMPLEMENTATION envvar. However you will lose the automatic span creation for SDK client methods.

One thing to note that is that when inside one the spans created by the azure-core, automatic HTTP instrumentation provided by other libraries (such as opentelemetry-instrumentation-requests) are suppressed since azure-core already instruments HTTP calls.

I think that it would be worth to give users a way to choose requests instrumentation. Smthing like:

by default azure sdk instrument requests the way it instruments
if requests instrumentation is discoverable then it uses requests instrumentation instead of the one from sdk (to avoid the confusion that we had)
but there should be an env that will allow forcing requests instrumentation, smth like AZURE_SDK_TRACING_HTTP_INSTRUMENTATION=otel|azure with a fallback to default azure instrumentation

If you are mainly interested in the HTTP calls, you could purely rely on the RequestsIntrumentor and unset the AZURE_SDK_TRACING_IMPLEMENTATION envvar. However you will lose the automatic span creation for SDK client methods.

This is not an option for us, because we will loose a lot of valuable information.

@pvaneck

One thing to note that is that when inside one the spans created by the azure-core, automatic HTTP instrumentation provided by other libraries (such as opentelemetry-instrumentation-requests) are suppressed since azure-core already instruments HTTP calls. This is to prevent duplicate HTTP spans from being produced. I will make sure to document this. This might be why some values specified in OTEL_PYTHON_REQUESTS_EXCLUDED_URLS don't seem to be working.

I believe the reason why OTEL_PYTHON_REQUESTS_EXCLUDED_URLS is having no effect is because the spans created are being created by azure-core-tracing-opentelemetry and not opentelemetry-requests-instrumentation. The env var only affects calls made with the latter.
How does azure-core-tracing-opentelemetry trace http calls under the hood? Is it using any instrumentation or are spans being created manually?
Seems like we can either:

Have azure-core-tracing-opentelemetry allow granular control of urls, so users would set exclude urls for both OpenTelemetry requests instrumentation and azure-core
have azure-core-tracing-opentelemetry support and respect OTEL_PYTHON_REQUESTS_EXCLUDED_URLS

How does azure-core-tracing-opentelemetry trace http calls under the hood? Is it using any instrumentation or are spans being created manually?

Most (if not all) Azure SDK clients have spans for HTTP calls explicitly created via DistributedTracingPolicy.
Since azure-core can use other transports that aren't necessarily requests, supporting OTEL_PYTHON_REQUESTS_EXCLUDED_URLS probably wouldn't be the best approach, but we could potentially just use some other envvar.
@lmolkova, it would be good to get your insight on this scenario. Does tracing in the java sdk allow any level of span creation exclusion?

I just want to remind that what was discussed so far is about one of the aspects of this feature request which is transport/http spans. The other aspect is class/methods/function calls like Container.query_items. I don't want us to lost track of this and possibly find a solution as to how we can solve both.
I could see us doing this in a similar way to how otel instrumentations typically deal with those.

use env like AZURE_SDK_EXCLUDE_URLS with regex value as described in requests instrumentation
then implementation would use something like ExcludeList (copy of it or direct import from opentelemetry-util-http
the check would happen at the beginning of DistributedTracing.on_request
DistributedTracing.end_span will be taken care because of the check of tracing context

Now, the thing that I'm wondering about is whether we can achieve something like requests are sent with traceparent in header, but the span is not populated to the exporter - would there be any advantage in that? Like for debugging on Azure side?
As for tracing function calls:

use env like 'AZURE_SDK_EXCLUDE_SPAN_NAME` with regex that would follow same rules as for urls
create similar solution to ExcludeList - it could have been used directly, but unfortunately it has a variables and functions with domain specific names
inside distributed_trace decorator check if func name matches regex
if regex is matched then func is not decorated (or decorated with noop wrapper) and decorated otherwise

That's just an outline of what I was thinking about in terms of implementation.

@lmolkova, it would be good to get your insight on this scenario. Does tracing in the java sdk allow any level of span creation exclusion?

In Java we provide an API to disable tracing for specific instances of Azure clients
  TracingOptions tracingDisabled= new OpenTelemetryTracingOptions().setEnabled(false);

  AzureClient sampleClient = new AzureClientBuilder()
      .endpoint("https://my-client.azure.com")
      .clientOptions(new ClientOptions().setTracingOptions(tracingDisabled))
      .build();

  // ...
  sampleClient.methodCall("get items");

It seems a similar approach can be used here and would allow more fine-grained control (e.g. in future we can allow disabling HTTP spans or logical spans separately).

Hi, can we get an info if this request is processed, if there is an estimation when it might be done, where it's in backlog - like few weeks, months or not a priority atm. Thanks!

Hey, @macieyng. Thanks for the reminder. I do think we should still proceed with adding some way to exclude span creation. The approach you outlined would probably offer the most flexibility, but it's something I need to get feedback on from the Python architects since we'd need to introduce new environment variables.
Alternatively, I think a tenable approach that falls more in line with the Java/.NET SDK approaches is to allow some boolean kwarg such as disable_tracing into SDK client methods. Since client method kwargs are propagated to both the decorator and DistributedTracingPolicy, we could check for this value, and stop span creation if True. With this, span creation can be disabled on a per-operation basis. Example:
client = BlobServiceClient.from_connection_string(connection_string)
containers = client.list_containers(name_starts_with="foo", disable_tracing=True)
for container in containers:
   ...
# No spans created!

In any case, I will get architect input this week, and get back to you!

Thanks for the response.
Regarding the alternative you presented I would probably prefer to enable it on demand over disabling it. Something like this:
client = BlobServiceClient.from_connection_string(connection_string, disable_tracing=True)
containers = client.list_containers(name_starts_with="foo", force_tracing=True)
for container in containers:

So the behavior would be: everything trace in this class is not traced, unless user is explicitly telling client method to be traced. This would allow more granular selection. Also  users would have to make less changes if they want to disable everything for ie BlobServiceClient.
I'm still interested in variables though, because they give SRE and DevOps teams more control over what is sent out without touching the code.

@pvaneck I just came with an idea. Is it possible to create custom SpanProcessor that would on_end discard spans that match reqex? Not sure right now how to implement this right now... 🤔

The SpanProcessors receive a ReadableSpan for their on end function. You could create a custom spanprocessor that overrides the BatchSpanProcessor to not append to the queue for export depending on span name regex.

So the behavior would be: everything trace in this class is not traced, unless user is explicitly telling client method to be traced. This would allow more granular selection. Also users would have to make less changes if they want to disable everything for ie BlobServiceClient.

Was initially thinking that,  but currently it's a bit tricky at the tracing decorator level to determine whether some client-level tracing flag is enabled or disabled. Would need to set some property that could be consistently checked across all the various clients from within the decorator, but would need to explore that more. At the operation level, since kwargs is propagated to both the distributed tracing policy and the decorator, checking for some tracing enablement flag is straightforward.

@pvaneck I just came with an idea. Is it possible to create custom SpanProcessor that would on_end discard spans that match reqex? Not sure right now how to implement this right now... 🤔

Hah, not sure why I didn't think of this as a possible solution in the first place, but I think a custom span processor would probably be the way to go for finer-grained control over what actually gets exported. I tested this out using one of the azure-monitor libraries:
import re

from opentelemetry.sdk.trace import ReadableSpan
from opentelemetry.sdk.trace.export import BatchSpanProcessor

class CustomSpanProcessor(BatchSpanProcessor):

    EXCLUDED_SPAN_NAMES = ['.*query_resource.*', '.*query_workspace.*']
    EXCLUDED_URLS = ['.*api\.loganalytics\.io.*']

    def on_end(self, span: ReadableSpan) -> None:
        for regex in self.EXCLUDED_SPAN_NAMES:
            if re.match(regex, span.name):
                return
        if 'http.url' in span.attributes:
            for regex in self.EXCLUDED_URLS:
                if re.match(regex, span.attributes['http.url']):
                    return
        super().on_end(span)

Adding this as my span processor, I was able to exclude select generated spans from being exported.

Thanks for sharing your idea / code / tests, and I'm glad you got it working! I think it'd be helpful if we have a code sample and/or documentation to show how to handle this type of use case.
Also, one thing to note is that when the OTel Semantic conventions goes stable, the tracing plugin will adopt the new http attribute naming: https://opentelemetry.io/docs/specs/semconv/url/url/ . It might be prudent to preemptively check for url.full (the rename of http.url) in tandem with http.url inside your SpanProcessor.

Hey Maciej @macieyng ,
thanks for all your comments on OTEL in python functions!
Is there a way to use the SpanProcessor you implemented when you use configure_azure_monitor and not the exporter directly?
Can you control log levels by environment variables or you have to find each logger by name a set it's level?
logging.getLogger("azure.core.pipeline.policies.http_logging_policy").setLevel(logging.WARNING)

I'm trying to remove all unnecessary logs like Received FunctionInvocationRequest etc. In .NET I could just configure log levels in host.json or via logLevel env variables.

Thanks for the solution @pvaneck.
Would you use the same approach if certain exceptions need to be excluded? Or is there a better way offered by azure or opentelemetry that I didn't find? I'd like to exclude CosmosResourceNotFoundError from the azure-cosmos library. At the moment I check whether the span.description contains "CosmosResourceNotFoundError". But maybe there are better attributes for this?
from opentelemetry.sdk.trace import ReadableSpan
from opentelemetry.sdk.trace.export import BatchSpanProcessor

class CustomSpanProcessor(BatchSpanProcessor):
    def on_end(self, span: ReadableSpan) -> None:
        if isinstance(span.status.description, str) and "CosmosResourceNotFoundError" in span.status.description:
            return

        super().on_end(span=span)

@johschmidt42
Most users use the span.name to identify certain spans to ignore, but if your way works and it is the unique identifier of the spans you don't want this is fine as well.