Codecov action failed to upload coverage data sometimes

Describe the bug

@ceclinux reported several codecov uploading failures: https://github.com/antrea-io/antrea/actions/runs/4301274117/jobs/7498817362, and the chance of failure could be greater than 50% according to his observation.
[2023-03-01T08:57:11.462Z] ['info'] => Project root located at: /home/runner/work/antrea/antrea
[2023-03-01T08:57:11.475Z] ['info'] -> No token specified or token is empty
[2023-03-01T08:57:11.489Z] ['info'] Searching for coverage files...
[2023-03-01T08:57:11.8[27](https://github.com/antrea-io/antrea/actions/runs/4301274117/jobs/7498817362#step:6:28)Z] ['info'] => Found 1 possible coverage files:
  .coverage/coverage-unit.txt
[2023-03-01T08:57:11.827Z] ['info'] Processing /home/runner/work/antrea/antrea/.coverage/coverage-unit.txt...
[2023-03-01T08:57:19.067Z] ['info'] Detected GitHub Actions as the CI provider.
[2023-03-01T08:57:19.071Z] ['info'] Pinging Codecov: https://codecov.io/upload/v4?package=github-action-3.1.1-uploader-0.3.5&token=*******&branch=externalnode_ut&build=4[30](https://github.com/antrea-io/antrea/actions/runs/4301274117/jobs/7498817362#step:6:31)1274117&build_url=https%3A%2F%2Fgithub.com%2Fantrea-io%2Fantrea%2Factions%2Fruns%2F4301274117&commit=255c6e701735d3d1a9c2a05df5ebcc5a91c4c9a7&job=Go&pr=4591&service=github-actions&slug=antrea-io%2Fantrea&name=codecov-unit-test&tag=&flags=unit-tests&parent=
[2023-03-01T08:57:19.489Z] ['error'] There was an error running the uploader: Error uploading to [https://codecov.io:](https://codecov.io/) Error: There was an error fetching the storage URL during POST: 404 - {'detail': ErrorDetail(string='Unable to locate build via Github Actions API. Please upload with the Codecov repository upload token to resolve issue.', code='not_found')}

According to codecov community , the error is due to Codecov’s inability to check the validity of a coverage upload when using tokenless uploads. The underlying issue is rate-limiting from GitHub. And the suggested workarounds are:

Adding in the Codecov upload token 100 even if your project is public.
Re-trying the upload step in CI/CD.

We already have an CODECOV_TOKEN secret and pass it to the action https://github.com/antrea-io/antrea/blob/dfbfa41f5948a60bc0e76dad02eeb57b29adca76/.github/workflows/go.yml#L66
However, the codecov log still shows "No token specified or token is empty". This is because secrets are not passed to workflows that are triggered by a pull request from a fork.
https://securitylab.github.com/research/github-actions-preventing-pwn-requests/ mentioned two approaches to work around it: using pull_request_target, or workflow_run. The former is unrealistic as it would make the security consideration meaningless. The latter seems possible but would mean one extra workflow needs to run once for every action that produces codecov data, which may occupy the very limited runners. I don't have a good solution yet, perhaps we should first revert fail_ci_if_error to false to avoid unnecessary reruns when codecov rerun fails.

cc @antoninbas who knows everything about github.


Explore interaction between backgroundBlur controls on MediaStreamTrack

How does this fit in with the standardized BackgroundBlur controls on MediaStreamTrack?
https://w3c.github.io/mediacapture-main/getusermedia.html#def-constraint-backgroundBlur
Note, this explainer does not propose any "control" mechanism for effects.

There are three ways background blur state is exposed on MediaStreamTrack in the current specification:
As a constrainable property
I'll save discussion of constraints for #4.  Our proposal does not add or modify constraints.
As a  capability
This is a tri-state value that has three possible outcomes:

false means that blur is not currently supported by the platform
true means that blur is supported and cannot be turned off
[false, true] means that blur is supported, and can be turned on or off

This goes above and beyond what is included in our current proposal.  Our proposal does not expose the level of application control for blur state.
We have concerns about whether applications should be allowed to control platform blur directly, especially with the current generation of effects implementations; in these, changing the effects for one site changes it for others that are also consuming the same camera stream.  I will have more to say about about this in #4.
Also, we are considering extensions to our initial proposal.  These extensions include:

An event that would let applications know if blur support has changed dynamically;
In scenarios where the application cannot disable blur directly, whether the browser can be asked to prompt the user to do so;
Information indicating whether blur was supported by the browser, the OS, or both.

Any of these new features, if implemented, would require a different API shape than what is currently in the spec.  Therefore, the current pattern is not very good for extensibility along these lines.
As a setting
This exposes the current blur state as a boolean.   Our proposal uses an enum, which is preferred for extensibility.
Our proposal goes beyond this and adds an event for when the blur status changes.    The current spec does not provide applications a way to know when the current blur state has changed.
Summary
Features of our proposal missing from current spec:

Events for effects status changes.
Extensibility for future ways applications could interact with effects.

Features of current spec missing from our proposal:

Ability to know whether effects can be turned on or off.

It would not be difficult to add this missing capability to provide feature parity, I will prepare a revised explainer.


inline comment

inline comment should be detected as comment and not syntax highlighted

Mostly inline comments are not highlighted as such, sometimes it works though:

My wild guess would be that the regular expression groups for inline comments inside of AutoHotkey.tmLanguage need to be updated.

I concur, inline comments are now broken with the latest release. Here is an example...

Please fix/update this!

I can confirm now that that the problematic inline comment issue was introduced with version 1.7.1
As a workaround to this issue, I just uninstalled v1.7.1 via package control and manually reinstalled v1.7.0 via the zip file.  All is well now!  See example...

Also having the same issue. Please fix

+1. I have been trying to figure out how to update the AutoHotkey.tmLanguage file to fix this bug but have so far been unsuccessful. Any help would be much appreciated.

Have you tried changing L29 from <string>^\s*(;)(.*)$</string> to <string>\s*(;)(.*)$</string>

Many thanks aviaryan! I can confirm this change works:

Until this change gets added to the official release, I am following the instructions here to override the default AutoHotkey.tmLanguage file with a version of the AutoHotkey.tmLanguage file updated as per aviaryan's suggestion.

many thanks to all the contributors, I did the change too, I don't see a pull request regarding this though ???

This pull request looks related: https://github.com/ahkscript/SublimeAutoHotkey/pull/39

The regex in https://github.com/ahkscript/SublimeAutoHotkey/pull/39 is subtly more correct than the one previously suggested here. The difference is that a line such as Send, hello;world does not effectively contain a comment.

Have you tried changing L29 from <string>^\s*(;)(.*)$</string> to <string>\s*(;)(.*)$</string>

@aviaryan  https://github.com/ahkscript/SublimeAutoHotkey/issues/34#issuecomment-252483028
Actually it should be as @tmplinshi  https://github.com/ahkscript/SublimeAutoHotkey/pull/39 suggestion.
You should replace to <string>(^\s*|\s+)(;)(.*)$</string> instead in order not to violate AHK commenting rules.
Please confirm @tmplinshi's pull request.

@omarabdelsalam Yes. You are right. Will merge it and update on Package repository.


Database Navigator descriptions

System information:

Operating system (distribution) and version : WIN 10
DBeaver version : 7.1.3
Additional extensions

Connection specification:

Database name and version : doesn't matter
Driver name: any
Do you use tunnels or proxies (SSH, SOCKS, etc)? : nope

Describe the problem you're observing:
in Database Navigator view, description of nodes are  not readable because of color.
I use The Darkest Theme

when I do mouse over.

My view is slightly different. Which theme do you use?

I use The Darkest Dark Theme

after 7.1.4 solved.

Great


conda forge plan?

First of all, I love this package! I found it indispensable in my pipeline that heavily depends on dask and it has become a critical dependency for my project. I'm trying to publish my project to conda-forge, and as far as I understand, I cannot do that with a dependency that's only available through pip. So I'm wondering if there's any plan to bring rechunker to conda-forge? Thank you for the awesome tool!

Hi @phildong! Glad you find rechunker useful.
The only reason we have no conda package is because the devs haven't yet gotten around to this! The project is pretty new and also it's a crazy time for everyone in general right now. It sounds like you're already familiar with conda forge packaging, so we we would be thrilled if you would set up rechunker's conda-forge feedstock. We would do whatever we can to help you out.

Done in https://github.com/conda-forge/staged-recipes/pull/13099

This is fantastic @davidbrochart! You are a hero! 🦸

Let me know if someone wants to be added as a maintainer of the package in the next release.

Please add me and @TomAugspurger. Thanks!

Thiw is awesome! Thank you guys for such terrific (and fast!) work!


Implement Default trait

While using ByteSize, I noticed that ByteSize values have a sensible default value: 0 Bytes. This would allow struct containing ByteSize values to derive(Default) as well.
Adds derive(Default) and a test.

The patch looks good to me. I just saw your PR.


Login to api not possible since 11.10.2020 (again api restrictions after maintenance job)?

Hi,
since a few days the ioBroker.viessmannapi can not connect to the cloud any more. I checked the credentials and also i deinstalled and installed the adapter again. The ViCare App on the mobile phone is still working, but it reported on sunday (=11.10) that due to maintenance work some features may not work. So i think that they have changes again something on the api...
Here is the log content:

viessmannapi.0 | 2020-10-13 17:19:29.973 | error | (3451) could not connect using email and password, check credentials!
viessmannapi.0 | 2020-10-13 17:19:29.970 | error | (3451) error connecting: {"status":502}
In the instances view the adapter is yellow marked

connected to host = TRUE; alive = TRUE; connected to viessmann api = FALSE
Does anyone else has the same problem? Any ideas?
Thank you

I just checked the status of my adapter, it's green & connected. Yesterday there were some issues resulting in a longer downtime. Does the issue persist? If yes, could you try to set the adapter's loglevel to 'debug' (can be done on the instances view if you enable expert mode) and post the logs?
Thomas

Hi Thomas,
after switching to your suggested loglevel "debug" the adapter restartet and now everything is green (for the moment). I do not unterstand it....some "payload undefind" mesages..
Log:

viessmannapi.0
2020-10-13   21:20:45.601
debug
(3702) system.adapter.admin.0: logging true

viessmannapi.0
2020-10-13   21:19:35.453
debug
(3702) system.adapter.admin.0: logging false

viessmannapi.0
2020-10-13   21:18:56.044
debug
(3702)   Scheduler started

viessmannapi.0
2020-10-13   21:18:55.964
info
(3702) ViessmannClient: initialized with   installation={"installationId":"****","gatewayId":"*****","deviceId":"0"}

viessmannapi.0
2020-10-13   21:18:55.263
debug
(3702) OAuthClient: GET   https://api.viessmann-platform.io/operational-data/installations//gateways//devices/0/features   - payload undefined

viessmannapi.0
2020-10-13   21:18:54.774
debug
(3702) OAuthClient: GET   https://api.viessmann-platform.io/general-management/installations - payload   undefined

viessmannapi.0
2020-10-13   21:18:54.770
debug
(3702) ViessmannClient: requesting installation details during   initialization

viessmannapi.0
2020-10-13   21:18:54.142
debug
(3702) OAuthClient: requesting initial access token using refreshToken=****

viessmannapi.0
2020-10-13   21:18:54.138
debug
(3702)   OAuthClient: initializing client

viessmannapi.0
2020-10-13   21:18:54.133
info
(3702)   ViessmannClient: initializing with pollIntervall 900000

viessmannapi.0
2020-10-13   21:18:54.129
info
(3702)   authenticating with refresh token

viessmannapi.0
2020-10-13   21:18:53.776
info
(3702)   starting adapter...

viessmannapi.0
2020-10-13   21:18:53.651
info
(3702) starting. Version 1.3.3 in   /opt/iobroker/node_modules/iobroker.viessmannapi, node: v10.22.1,   js-controller: 3.1.6

viessmannapi.0
2020-10-13   21:18:53.011
debug
(3702)   statesDB connected

viessmannapi.0
2020-10-13   21:18:53.008
debug
(3702) States   connected to redis: <IP_ADDRESS>:9000

viessmannapi.0
2020-10-13   21:18:52.986
debug
(3702) States create System PubSub Client

viessmannapi.0
2020-10-13   21:18:52.977
debug
(3702) States create User PubSub Client

viessmannapi.0
2020-10-13   21:18:52.958
debug
(3702) Redis States: Use Redis connection: <IP_ADDRESS>:9000

viessmannapi.0
2020-10-13   21:18:52.948
debug
(3702)   objectDB connected

viessmannapi.0
2020-10-13   21:18:52.916
debug
(3702)   Objects connected to redis: <IP_ADDRESS>:9001

viessmannapi.0
2020-10-13   21:18:52.872
debug
(3702) Objects client initialize lua scripts

viessmannapi.0
2020-10-13   21:18:52.868
debug
(3702) Objects create User PubSub Client

viessmannapi.0
2020-10-13   21:18:52.864
debug
(3702) Objects create System PubSub Client

viessmannapi.0
2020-10-13   21:18:52.806
debug
(3702) Objects client ready ... initialize now

viessmannapi.0
2020-10-13   21:18:52.515
debug
(3702) Redis Objects: Use Redis connection: <IP_ADDRESS>:9001

host.SmartMeter
2020-10-13   21:18:46.796
info
instance system.adapter.viessmannapi.0 started with pid 3702

host.SmartMeter
2020-10-13   21:18:44.289
info
instance system.adapter.viessmannapi.0 terminated with code 11   (ADAPTER_REQUESTED_TERMINATION)

viessmannapi.0
2020-10-13   21:18:44.106
debug
(3686) OAuthClient: GET   https://api.viessmann-platform.io/operational-data/installations/*****/gateways/****/devices/0/features   - payload undefined

viessmannapi.0
2020-10-13   21:18:43.734
info
(3686) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason

viessmannapi.0
2020-10-13   21:18:43.729
info
(3686)   terminating

viessmannapi.0
2020-10-13   21:18:43.723
info
(3686) Got terminate signal TERMINATE_YOURSELF

host.SmartMeter
2020-10-13   21:18:43.713
info
stopInstance system.adapter.viessmannapi.0 send kill signal

host.SmartMeter
2020-10-13   21:18:43.708
info
stopInstance system.adapter.viessmannapi.0 (force=false, process=true)

viessmannapi.0
2020-10-13   21:18:43.563
debug
(3686) OAuthClient: GET https://api.viessmann-platform.io/general-management/installations   - payload undefined

viessmannapi.0
2020-10-13   21:18:43.544
debug
(3686) ViessmannClient: requesting installation details during   initialization

viessmannapi.0
2020-10-13   21:18:42.901
debug
(3686) OAuthClient: requesting initial access token using refreshToken=***

viessmannapi.0
2020-10-13   21:18:42.897
debug
(3686)   OAuthClient: initializing client

viessmannapi.0
2020-10-13   21:18:42.891
info
(3686)   ViessmannClient: initializing with pollIntervall 900000

viessmannapi.0
2020-10-13   21:18:42.887
info
(3686)   authenticating with refresh token

viessmannapi.0
2020-10-13   21:18:42.882
info
(3686) found email and password in configuration, deleting it due to   security reasons. Adapter should restart now

viessmannapi.0
2020-10-13   21:18:42.572
info
(3686)   starting adapter...

viessmannapi.0
2020-10-13   21:18:42.481
info
(3686) starting.
Thank you (anyway) for your fast response...
Thomas

Looks ok to me. I'll keep the issue open for a couple of days in case you experience connectivity issues again.

läuft jetzt soweit wieder - danke - auch im zurückgestellten "info" log modus.

Ja, genau.

Ich schließe das Issue, wenn erneut Probleme auftreten gerne ein neues aufmachen.


Mod Buttons doesn't render at the right place when Quit button is enabled.

and Options button is renamed to Texture Packs lol

I used release v1.8.5-beta.3 and it worked fine for me:


postgresqlPackages.pgvector: 0.1.0 -> 0.1.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
[x] macOS
[ ] other Linux distributions

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

The guy trying to put that package together has a neighbor who spreads out this program and programs everything around him you never get to fix it it just keeps breaking or changing


white space in bold and italic causes problems

**bold** is surely converted to bold. However, it won't convert if there's a white space at the beginning or the end within **, i.e. ** bold**, **bold **, and ** bold **. This problem also applys to *italic* and ***bold&italic***, but not to  ~~strikethrough~~ or ``code``. Is it a bug?

No, it's not. According to John Gruber's specification:

But if you surround an * or _ with spaces, it’ll be treated as a literal asterisk or underscore.

It means that ** bold**, **bold **,  ** bold ** are considered syntax errors, so it’s ok that Showdown doesn’t convert them. The same applies to both italic, bold + italic and other combinations of text emphasis.
The cases with code and strikethrough are different because they are expected to show the content inside "as is" so it is expected that white spaces are taken into account.

emphasis and strong
The behavior for emphasis and strong (italic and bold), is correct.
In the original spec, it says:

But if you surround an * or _ with spaces, it’ll be treated as a literal asterisk or underscore.

The behavior is also consistent with the commonmark spec of which GFM is based.
Code
The behavior for inline code is also correct, according to the original spec and commonmark spec. See the examples in both links.
Strikethrough
Strikethrough is a GFM specific extension. According to the GFM spec:

Strikethrough text is any text wrapped in two tildes (~).

So, according to the written spec, ~~this ~~ should be parsed as strikethrough. However, if you test it in github, ~~this ~~ is not being parsed as strikethrough. Regardless, this is a different issue altogether.

Thanks for the prompt responses! Yes, I didn't dig into the specs, and **, ~~, ```` are so similar to the users, making me feel that they "should" behave the same. Of couse, a beginning or ending white space makes no sense, you can't really bold or italic a white space. It's just that the inconsistency in the spes costs extra efferts in developing WYSIWYG a markdown editor, so does that bold and italic share the same symbol. It's also a pity that markdown has no syntax for underline nor center alignment, given the handy HTML tags  and . This might not be a big deal for tech docs, but could hinder markdown's usability to broader scenarios.
BTW, since @tivie mentioned github, is there a standalone javascript version of github's markdown editor available?

Not that I'm aware of. Github editor uses redcarpet, which is written in Ruby.

After futher playing around, I found something confusing.
**abc**de** is surely parsed to abcde**. As previously discussed in this thread, when I add a white space before abc, the first ** is not considered as a symbol for bold syntax, i.e. ** abc**de** is parsed to ** abcde. This is already understood. Weird thing is when I add a white space after abc, I'd expect the same as a white space before abc, but it's parsed to **abc *de*. I just wonder why.
The above abstract example may seem meaningless. I managed to produce a real scenario.
"Never trouble ** **trouble** ** till ** **trouble** ** troubles you." The bold words within **, i.e. **trouble**, are nouns.
The following line is directly parsed by github's editor, which is the supposed outcome.

"Never trouble ** trouble ** till ** trouble ** troubles you." The bold words within **, i.e. trouble, are nouns.

However, showdown parses it to

"Never trouble ** trouble ** till ** trouble ** troubles you." The bold words within **, i.e. *trouble*, are nouns.

Please note the code part above and do copy the full example code to showdown and see.

yeah, It's a bug.  I think the bug is related to the white space directly before the closing **, please try **abc **de**.  It is parsed correctly if you escape the first **.
Moreover, I also tried some extreme instances, six * before and after a word, i.e. ******abc******, is parsed correctly, but seven or eight * not.

yeah.
Usually, if you want max portability, it is good practice to mix and match _ and *.
For instance, in your case:
"Never trouble ** __trouble__ ** till ** __trouble__ ** troubles you." The bold words within **, i.e. __trouble__, are nouns.

"Never trouble ** trouble ** till ** trouble ** troubles you." The bold words within **, i.e. trouble, are nouns.

see demo

Exactly! It's much easier and clearer to use different symbols for each and every syntax, **_bold&italic_** is definately better than ***bold&italic***.  If you are not bothered with that the same * symbol must be parsed differently according to the repeating times, this bug is automatically evitable. Don't understad why markdown allows such a confusion after developing so many years.


Backport Quickstart changes

This backports changes from the Quickstarts Repo. Hopefully, this doesn't happen too often since usually, we push our changes/features to the Quickstart.

Shall we delete the docs/partner_editable folder to get rid of the continuous backporting?

Shall we delete the docs/partner_editable folder to get rid of the continuous backporting?

Would be OK for me. I could do this in a follow-up PR.

Merge it 🏋♀


Apply some optimizations to model compiler

Signed-off-by: Zhao Lufan<EMAIL_ADDRESS>

bors r+

bors r+


Impose a custom format of SST

Describe This Problem
Currently, the format of sst is just parquet, which may lead to some possible issues in the future upgrading, e.g. introducing some new format like TSM to organize the data.
Proposal
Impose the new custom format of SST, which may look like:
┌───────────────┐
│               │
│               │
│    Payload    │
│               │
│               │
├───────────────┤
│    Footer     │
└───────────────┘

And the footer should contain these fields:
/// The version number of the format for upgrading compatibility.
version: u16
/// Format of payload, e.g. Parquet, TSM
payload_format: u16
/// A number denotes that this is our custom format.
magical number: u32

So that the footer will be a fixed size 64B.
Additional Context
Although this custom format brings us some great benefits, the sst can't be used by the third-party applications which can process the parquet files.
Related work
Currently, the sst type is used to decide which type of sst reader/builder to create, but this option is configured for table level, that is to say, one table can only use one sst type. I guess this is not reasonable, and it is more flexible and elegant to allow the data of one table being encoded in different sst formats. So I guess we make this option only works when deciding the type of sst builder, and add a new sst type called Auto for the flexibility of choosing a better sst format.

Here is the TSM format:
+--------+------------------------------------+-------------+--------------+
| Header |               Blocks               |    Index    |    Footer    |
|5 bytes |              N bytes               |   N bytes   |   4 bytes    |
+--------+------------------------------------+-------------+--------------+
+-------------------+
|      Header       |
+-------------------+
|  Magic  │ Version |
| 4 bytes │ 1 byte  |
+-------------------+
+---------+
│ Footer  │
+---------+
│Index Ofs│
│ 8 bytes │
+---------+

Here is rocksdb's BlockBasedTable Format:
<beginning_of_file>
[data block 1]
[data block 2]
...
[data block N]
[meta block 1: filter block]                  (see section: "filter" Meta Block)
[meta block 2: index block]
[meta block 3: compression dictionary block]  (see section: "compression dictionary" Meta Block)
[meta block 4: range deletion block]          (see section: "range deletion" Meta Block)
[meta block 5: stats block]                   (see section: "properties" Meta Block)
...
[meta block K: future extended block]  (we may add more meta blocks in the future)
[metaindex block]
[Footer]                               (fixed size; starts at file_size - sizeof(Footer))
<end_of_file>

Here is the Parquet File Format:
4-byte magic number "PAR1"
<Column 1 Chunk 1 + Column Metadata>
<Column 2 Chunk 1 + Column Metadata>
...
<Column N Chunk 1 + Column Metadata>
<Column 1 Chunk 2 + Column Metadata>
<Column 2 Chunk 2 + Column Metadata>
...
<Column N Chunk 2 + Column Metadata>
...
<Column 1 Chunk M + Column Metadata>
<Column 2 Chunk M + Column Metadata>
...
<Column N Chunk M + Column Metadata>
File Metadata
4-byte length in bytes of file metadata
4-byte magic number "PAR1"

After discussions with @jiacai2050, we decide to store the file storage format in the manifest rather than imposing a custom storage format.

Finally, self-describing SST will bring us many benefits compared with storing the file format in the manifest which leads to the dilemma that the separate SSTs can't be decoded.

Fixed by #570


Move development from Gitlab to GitHub

[x] Configure GitHub protected branches and tags, pull request merging rules, actions, ...
[x] Test PRs and main-branch using Actions
[ ] Setup Codecov
[ ] Build and publish python packages
[ ] Tests on Windows and on Mac
[ ] Switch to pyproject.toml and Poetry as build-tool

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@9607114). Click here to learn what that means.
The diff coverage is n/a.

:exclamation: Current head 2a94537 differs from pull request most recent head e46df5e. Consider uploading reports for the commit e46df5e to get more accurate results

@@           Coverage Diff           @@
##             main       #2   +/-   ##
=======================================
  Coverage        ?   89.66%
=======================================
  Files           ?       56
  Lines           ?     2739
  Branches        ?        0
=======================================
  Hits            ?     2456
  Misses          ?      283
  Partials        ?        0

Flag
Coverage Δ

unittests
89.66% <0.00%> (?)

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

Continue to review full report at Codecov.

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


Correction for raw affiliation CBGP, INRA, CIRAD, IRD, Montpellier SupAgro, Univ Montpellier, Montpellier, France

Correction needed for raw affiliation CBGP, INRA, CIRAD, IRD, Montpellier SupAgro, Univ Montpellier, Montpellier, France
raw_affiliation_name: CBGP, INRA, CIRAD, IRD, Montpellier SupAgro, Univ Montpellier, Montpellier, France
new_rors: 03rnk6m14;05kpkpg04;051escj72;05q3vnk25;05h7ddb14
previous_rors: 03rnk6m14;05kpkpg04;051escj72;05q3vnk25
works_examples: W4232645750;W4247923672;W2965843832;W4230928664;W4230369854;W2996827511
contact: 970f9d869902f20159a475655eca901e:08b0968b89c199806ffdee9661d32930d634 @ inrae.fr

This issue was accepted and ingested by the OpenAlex team on 2024-11-18. The new affiliations should be visible within the next 7 days.


Ramda command line

hi,
I'm under great impression from using ramda in NodeJS. It makes processing JSON a real joy. What struck me recently was that having tool like ramda in shell would make a great sense for writing all sorts of scripts that talk with REST APIs.
I've been prototyping a tool like that following some of ramda concepts and created https://github.com/jpospychala/rcli
I don't see why ramda npm package couldn't have an executable that exposes some pretty cli api.

thanks for letting us know about this project!

Here's a bit different approach: ramda-cli

:100:

I like the idea of ramda-cli.


AssertionError: Trying to copy from a source that does not exist:

Using the latest version
(17:17:11):~/dev/tests/my-new-project$ yo fountain-webapp
? Which JavaScript framework do you want? React
? Which module management do you want? Webpack with NPM
? Which CSS preprocessor do you want? SASS
? Which JS preprocessor do you want? TypeScript
? Do you want a sample app? A working landing page

events.js:154
      throw er; // Unhandled 'error' event
      ^
AssertionError: Trying to copy from a source that does not exist: /Users/sebas/.nvm/versions/node/v5.5.0/lib/node_modules/generator-fountain-webapp/node_modules/generator-fountain-react/generators/techs/templates/src/index.tsx
    at EditionInterface.exports._copySingle (/Users/sebas/.nvm/versions/node/v5.5.0/lib/node_modules/generator-fountain-webapp/node_modules/mem-fs-editor/actions/copy.js:45:3)
    at EditionInterface.exports.copy (/Users/sebas/.nvm/versions/node/v5.5.0/lib/node_modules/generator-fountain-webapp/node_modules/mem-fs-editor/actions/copy.js:23:17)
    at EditionInterface.module.exports [as copyTpl] (/Users/sebas/.nvm/versions/node/v5.5.0/lib/node_modules/generator-fountain-webapp/node_modules/mem-fs-editor/actions/copy-tpl.js:12:8)
    at copyTemplate (/Users/sebas/.nvm/versions/node/v5.5.0/lib/node_modules/generator-fountain-webapp/node_modules/fountain-generator/lib/file-utils.js:50:11)
    at /Users/sebas/.nvm/versions/node/v5.5.0/lib/node_modules/generator-fountain-webapp/node_modules/generator-fountain-react/generators/techs/index.js:30:12
    at Array.map (native)
    at writing (/Users/sebas/.nvm/versions/node/v5.5.0/lib/node_modules/generator-fountain-webapp/node_modules/generator-fountain-react/generators/techs/index.js:29:11)
    at /Users/sebas/.nvm/versions/node/v5.5.0/lib/node_modules/generator-fountain-webapp/node_modules/yeoman-generator/lib/base.js:430:16
    at processImmediate [as _immediateCallback] (timers.js:383:17)
(17:34:40):~/dev/tests/my-new-project$
(17:34:40):~/dev/tests/my-new-project$ npm list  -g  generator-fountain-webapp
/Users/sebas/.nvm/versions/node/v5.5.0/lib
└──<EMAIL_ADDRESS>

Yep, the tech template site is not ready for React / TS. In fact it's done but not merged yet. Sorry to have released a broken configuration.

New released 0.4.0


Path correction : Should be "jdk/bin" instead of "JdbcDriver"

[Enter feedback here]

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

ID: e53cbf1a-c62f-e9db-1e44-ee1f7004c0e4
Version Independent ID: ff9a1e3c-3e36-fab8-e226-e2515fc3e8ba
Content: Building the connection URL - JDBC Driver for SQL Server
Content Source: docs/connect/jdbc/building-the-connection-url.md
Product: sql
Technology: connectivity
GitHub Login: @David-Engel
Microsoft Alias: v-davidengel

copy the mssql-jdbc_auth--.dll file to a directory on the Windows system path on the computer where the JDBC driver is installed.

The instruction is to copy to any directory in the system path on the machine where the driver is installed.
You are suggesting to change it to where the jdk/bin is installed.
That doesn't make sense. The original statement is correct. If you are trying to suggest that the file should instead be copied to the jdk/bin folder, that's just one place of many that satisfy the original instructions.
Regards,
David


could you provide the documentation/instructions on how to use your code?

Hello, I plan to use your code on our own svs H&E-stained Whole Slide Images. But I did not find any documentation in your repo, could you provide more information on the input data preprocessing and code instructions? Thanks!

Hello @quincy-125 ,
Thank you for your interest in running our code. You're right, the code is still insufficiently documented, and I plan to expand the documentation substantially over the next week once I get a few priorities out of the way. For now, here's a sample code snippet to train NuCLS using this code base. Again, more expansion to documentation to come in the coming 1-2 weeks.
import sys
import os
from os.path import join as opj
import argparse

parser = argparse.ArgumentParser(description='Train nucleus model.')
parser.add_argument('-f', type=int, default=[1], nargs='+', help='fold(s) to run')
parser.add_argument('-g', type=int, default=[0], nargs='+', help='gpu(s) to use')
parser.add_argument('--qcd', type=int, default=1, help='use QCd data for training?')
parser.add_argument('--train', type=int, default=1, help='train?')
parser.add_argument('--vistest', type=int, default=1, help='visualize results on testing?')
args = parser.parse_args()
args.qcd = bool(args.qcd)
args.train = bool(args.train)
args.vistest = bool(args.vistest)

# GPU allocation MUST happen before importing other modules
from GeneralUtils import save_configs, maybe_mkdir, AllocateGPU
AllocateGPU(GPUs_to_use=args.g)

from nucleus_model.MiscUtils import load_saved_otherwise_default_model_configs
from configs.nucleus_model_configs import CoreSetQC, CoreSetNoQC
from nucleus_model.NucleusWorkflows import run_one_maskrcnn_fold

# %%===========================================================================
# Configs

model_name = '002_MaskRCNN_tmp'
dataset_name = CoreSetQC.dataset_name if args.qcd else CoreSetNoQC.dataset_name
all_models_root = opj(BASEPATH, f'results/tcga-nucleus/models/{dataset_name}/')
model_root = opj(all_models_root, model_name)
maybe_mkdir(model_root)

# load configs
configs_path = opj(model_root, 'nucleus_model_configs.py')
cfg = load_saved_otherwise_default_model_configs(configs_path=configs_path)

# for reproducibility, copy configs & most relevant code file to results
if not os.path.exists(configs_path):
    save_configs(
        configs_path=opj(BASEPATH, 'configs/nucleus_model_configs.py'),
        results_path=model_root)
save_configs(
    configs_path=os.path.abspath(__file__),
    results_path=model_root, warn=False)
save_configs(
    configs_path=opj(BASEPATH, 'nucleus_model/NucleusWorkflows.py'),
    results_path=model_root, warn=False)

# %%===========================================================================
# Now run

for fold in args.f:
    run_one_maskrcnn_fold(
        fold=fold, cfg=cfg, model_root=model_root, model_name=model_name,
        qcd_training=args.qcd, train=args.train, vis_test=args.vistest)

# %%===========================================================================

Thanks! Quick question here, what's the input data for your model? Is an entire svs slide or the png image patches? Do you need the binary mask image with the annotated cells? Thanks!

Sure thing. For model training, the input is the patches and however you prefer to load the annotations. In my case, I preferred to use a the annotation csv files. For model inference using the trained models, you can use the trained weights on anything you'd like, including stand-alone .png images or tiles from a slide that are fetched using, say, openslide.

So that means I need to load image patches and a csv file for how many cells in each patch? For example the csv file ideally should have at least 2 columns, patch names and corresponding number of cells? Am I interpret what you just said correctly? Thanks for your immediate response, highly appreciate!

Yes, you are correct. Each patch RGB image has an associated csv file, which contains the coordinates and classes of the nuclei in that patch. You can read more about the data format in this page. Let me know if anything is unclear, always happy to help :)

Thanks a lot, could u provide me a link with your test sample data that I could play with? Btw, I did not see your email on the manuscript, if u don't mind, could you leave ur email here? If I run into any problems, I probably need to reach out to you again.

Sure thing. When I prototype, I usually use the Corrected single-rater dataset, which you can find the link for in this page. You can either download the full dataset or just a few images to play around with for prototyping.
Actually, anything that happens in this repository sends me an email directly (I "watch" it), so the preferred way to ask questions is here through github issues. That being said, if you have any requests or questions that are not suitable for public viewing, feel free to email me at<EMAIL_ADDRESS>.

Sounds good. Thank you

Hi, I have a query regarding where to locate "configs.nucleus_style_defaults". Could you please help me? I couldn't find it in the dependencies.

Hi @demonhawk007 , Thank you for the question. That was just a typo. I renames the folder config to configs within this repository. You should now be able to find it.

The issue is not the typo. I had already corrected that. I am unable to find "nucleus_style_defaults". I receive "ModuleNotFoundError: No module named 'configs.nucleus_style_defaults'"

@demonhawk007 Ah I see what you mean. Well, you are right this repo is not yet a "package" as there is no setup.py etc. For now, you can just make sure to add the path of the repository root at the start of your script:
import sys
sys.path.insert(0, '/path/to/this/repository')

Then all of these imports would work. The file you are looking for is here.

What I am trying to say is "nucleus_style_defaults" is supposed to be a python file inside configs folder which can be found here. Since you are using "from configs import nucleus_style_defaults", it is unable to locate that. On the other hand we can see that "nucleus_model_configs.py" is present. That is why we are able to import that. Hope I am able to make my point.

@demonhawk007 Woops! Thank you for pointing this out. In my head, I was confusing nucleus_model_configs.py with nucleus_tyle_defaults.py. OK, I added it, and you should see it now here.

Hi @kheffah , Thank you. I have another follow up query. The "file" which you mentioned here
, what does this refers to? A sample would be extremely helpful.

@demonhawk007 Sure thing. __file__ here is literally the same script you are running. For example, if you run:
python import os print(os.path.abspath(__file__))
from a script file called myPythonFile.py, it would print something like /path/to/myPythonFile.py. See here for example.

Thank you @kheffah. I am very close to executing the setup. Currently facing issues with sqlitedb setup. I will revert here if an clarification is needed.

Hi @kheffah , I would like to know if there is a separate utility/dependency file for Database, as I dont see where the tables are created.

Salam, I was thinking of using this dataset, but I couldn't understand what is the image size to the model? As the paper states the crop size is 300. Does it mean that all the rgb patch images (.png format, with variable sizes) are resized to 300(pxls), or patches are extracted from patch images using some sliding window technique?
Secondly,  why the number of nuclei differ for each of detection, segmentation and classification task?
Thanks

I have one more query, have the available FOVs undergone the stain normalization? or we need to do it before preparing the data for DL? Thanks

@demonhawk007 Apologies for the delay. Actually, the database is just an sqlite version of the csv files that were publicly shared. If you convert the csv to sqlite, you would have the data you need. The only reason we shared them as csv is because these are more platform agnostic and widely recognized.

Could you provide the sqlite version of the csv files? Thanks

@kheffah I tried to convert the csv to sqlite with following code, but there are still some missing columns, can you provide the sqlite file or some scripts to generate the sqlite from csv?
def get_fov_meta(csv_file):
    df = pd.read_csv(csv_file)
    df['fov_id'] = df['fovname'].apply(lambda x: x.split('_')[1])
    df['slide_name'] = df['fovname'].apply(lambda x: x.split('_')[0])
    return df

def get_annotation_elements(csv_folder):
    csv_file_list = [i for i in os.listdir(csv_folder) if 'TCGA' in i]
    df_all = pd.DataFrame()
    for csv_file in csv_file_list:
        df = pd.read_csv(os.path.join(csv_folder, csv_file))
        df['fov_id'] = csv_file[:-4].split('_')[1]
        df['slide_name'] = csv_file[:-4].split('_')[0]
        df['fovname'] = csv_file[:-4]
        df_all = df_all.append(df, ignore_index=True)
    return df_all

@Amshoreline @player1321 Please use the following links to access the sqlite database:

Single-rater datasets: this link.
Multirater datasets: this link.

Important note: this is RAW data! The csv files are better suited for use, but feel free to use the raw data if you have a very strong preference for sqlite.

@Amshoreline @player1321 Please use the following links to access the sqlite database:

Single-rater datasets: this link.
Multirater datasets: this link.

Important note: this is RAW data! The csv files are better suited for use, but feel free to use the raw data if you have a very strong preference for sqlite.

Thanks, but I encountered a new problem:
NuCLS/nucls_model/DataLoadingUtils.py", line 539, in getitem
boxes=np.int32(target['boxes']))
NuCLS/nucls_model/DataFormattingUtils.py", line 67, in from_dense_to_sparse_object_mask
obj_ids = dense_mask[ys[:, 0], xs[:, 0]]
IndexError: too many indices for array

I'm still not sure how to use your code. Could you please explain that?


Does not work with latest version of bannerlord

The asset packages have been changed in the 1.4.2 version and opening them in Tpac just causes a crash, this has been confirmed by multiple people.

Fixed in 0.2.0


[6625] [Docker] Fix missing runtime shared libraries

fixes #6625

Thanks for the contribution, I am closing this out as it has now been addressed.


favicon.png got Bad request  INVALID_IMAGE_OPTIMIZE_REQUEST

blog system deployed at Vercel，add AWS Cloudfront CDN，Blog address：https://d2fok2y56kvsp8.cloudfront.net
The icon can load successfully on the tab of chrome ，but can not load on the pages
（favicon.png and the default avatar image fails to load and the browser reports the following error）
https://d2fok2y56kvsp8.cloudfront.net/_next/image?url=%2Ffavicon.png&w=48&q=75
https://d2fok2y56kvsp8.cloudfront.net/_next/image?url=https%3A%2F%2Fgravatar.com%2Favatar%2Fd41d8cd98f00b204e9800998ecf8427e&w=48&q=75
response is：
data:text/plain,Bad request

INVALID_IMAGE_OPTIMIZE_REQUEST

The CDN is able to fetch the correct image file
https://d2fok2y56kvsp8.cloudfront.net/favicon.png
and if found this url request also got error “INVALID_IMAGE_OPTIMIZE_REQUEST” from CDN log：
https://d2fok2y56kvsp8.cloudfront.net/_next/image
If i access the domain address provided by Vercel directly，or change the CDN to Cloudflare，everything is fine！
OS：windows11
Browser：Chrome 114.0.5735.199
Nobelium：latest
when i use Cloudflare ，the images loaded fine，this happened when i change the CDN to aws Cloudfront

update：
I searched for this, https://github.com/vercel/next.js/discussions/20138, but I don't understand code and wonder if it's the same as what I'm experiencing.
Need help ！ thanks

i know how to fix it。
That was cloudfront setting promblem。
see this：
https://github.com/vercel/next.js/issues/25121


Added support for custom Attributes

Implement the requested feature:
Custom Attributes.
https://github.com/Asesjix/Zammad.Client/issues/38
with this extension it would possible to use any custom attribute in zammad created like described in
https://admin-docs.zammad.org/en/latest/system/objects.html
on objects lik:

user
organization
ticket
group

so the full power of  add your own fields is useable

usage via VB.net:
myTicket.CustomAttributes("testattribut") = "a valid string from extern"

Hi @Asesjix,
would you like to accept our pull Request?
We would be happy to continue using your nuget package.

is it so ok?
Otherwise a detail Advice what is to do for me. Thanks. (I'm new @Github)


Another routing question

I picked up work  on the site that I want to make multilingual again, made some steps on the homepage, but seem to get stuck somewhere in the routing/showing-records department:
I get a 404 on a link to a pagina contenttype record, /en/pagina/risicobeheer-in-duurzame-energie but where it says Page pagina/ not found. (where in the case of a 404) I would expect something like No route found for ...
Commented away the routing.yml settings that could be affecting this (below), the pagina record exists under that slug and is published, also tried /en/... and /nl/... urls.
It used to work a couple' weeks back, but I'm not sure which changes I made before the error appeared. Pretty sure it is something that I'm doing wrong, but I can't get my head around it.

Details

Translate Version: [ 0.x | 2.0 | master ]
Install type: [ Extension Repository | Local install ]
Bolt Version: [ 3.1.2 ]
PHP version: [ 5.6 ]
Used webserver: [ Apache ]

# This file defines user-definable routes for the frontend of your Bolt website.
# Check below for examples, or read the documentation at http://docs.bolt.cm/templates-routes#routing

# Begin Profin-specific routes

sitemapxml:
  path: /sitemap.xml
  defaults: { _controller: 'Bolt\Extension\Bolt\Sitemap\Extension::sitemapXml' }

sitemap:
  path: /sitemap
  defaults: { _controller: 'Bolt\Extension\Bolt\Sitemap\Extension::sitemap' }

# paginabinding:
#     path:           /{slug}
#     defaults:       { _controller: 'Bolt\Controllers\Frontend::record', 'contenttypeslug': 'pagina' }
#     contenttype:    paginas
# homebinding:
#     path:           /{slug}
#     defaults:       { _controller: 'Bolt\Controllers\Frontend::record', 'contenttypeslug': 'home' }
#     contenttype:    homepages

# categorybinding:
#     path:            /{doelgroepen}/{slug}
#     defaults:        { _controller: 'Bolt\Controllers\Frontend::record', 'contenttypeslug': 'paginas', 'doelgroepen': 'zakelijk' }
#     requirements:
#         doelgroepen: [ 'Bolt\Controllers\Routing::getTaxonomyRequirement', ['particulier', 'zakelijk'] ]
#     contenttype:      paginas

# End of Profin-specific routes

# These are the routes defining the default behaviour of Bolt's frontend. Changing these
# might give unexpected results. If possible, only add NEW routes above these.

homepage:
  path:               /
  defaults:           { _controller: 'Bolt\Controllers\Frontend::homepage' }

search:
  path:               /search
  defaults:           { _controller: 'Bolt\Controllers\Frontend::search' }

# (etc etc)

Could you screenshot the routing tab of the profiler for me?

This is the one from the url with the /en/ or /nl/

I guess you want the first one, but just in case you need it  the one from the url without the /en/ or /nl/ in the url.

Fixed by updating to dev-master. same issue as #74.


quick accent bug for letter "a"

Microsoft PowerToys version
0.83.0
Installation method
PowerToys auto-update
Running as admin
Yes
Area(s) with issue?
Quick Accent
Steps to reproduce
I need to produce this letter (ā), small letter "a" with horizontal line on top. But when I do it with quick accent, the line is hanging on the next letter.

✔ Expected Behavior
the line should be on top of letter 'a'
❌ Actual Behavior
the line goes to the next letter, regardless of what the next letter is.
Other Software
No response

mostly default, except sort characters to usage frequency set to 'on.'
"activation key> left, right or space"
"do not activate when game mode is on>check"
"character set> all available"
"tool bar position>top center"
"show the unicode code>off"
"sort>on"
"start selection from left>off"
"input delay>300ms"
"excluded apps>none"

thank you for checking on your end. I tested it again and yes, it seems to only happen in notepad. That's sad and terrible. But thanks. I think it's the notepad's issue.


[chore] update collector image to 0.87.0

Update the collector image to 0.87.0 in preparation of release, and to pick up #963

Closing in favor of #1001


[feature request] Option to compress a media file when sharing it

When attaching a media file (image especially) from within the app, a dialog from the app asks whether user wants to compress the file to a smaller size with lower quality.
However this dialog is not shown when sharing the file from an external context. (Gallery -> View image -> Share -> Riot app) and the file is uploaded with full resolution.
This behaviour consumes more bandwidth on the client side and increases the load on the home server.

It doesn't? That's odd... Has always done that for me, for images of sufficient size.

Oh "images of sufficient size" was the key! I had probably tried a smaller image before. I tried it now with a large image + version 0.8.1 and the dialog does pop up.


If update-notifier fails, then the cli fails

🐛 Bug Report
Prerequisites

[x] I'm using the latest version of Docusaurus.
[x] I have tried the npm run clear or yarn clear command.
[x] I have tried rm -rf node_modules yarn.lock package-lock.json and re-installing packages.
[ ] I have tried creating a repro with https://new.docusaurus.io
[x] I have read the console error message carefully (if applicable)

Description
If update-notifier fails to load config from ~/.config, then the Docusaurus CLI fails with the following error:
/private/var/tmp/_bazel_milesjohnson/a3f1e21faca691f85e7e54fa376a3339/sandbox/darwin-sandbox/16/execroot/workspace/node_modules/@docusaurus/core/bin/beforeCli.js:50
  Date.now() - notifier.config.get('lastUpdateCheck') < 50
                               ^
TypeError: Cannot read property 'get' of undefined
    at Object.<anonymous> (/private/var/tmp/_bazel_milesjohnson/a3f1e21faca691f85e7e54fa376a3339/sandbox/darwin-sandbox/16/execroot/workspace/node_modules/@docusaurus/core/bin/beforeCli.js:50:32)
    at Module._compile (internal/modules/cjs/loader.js:999:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
    at Module.load (internal/modules/cjs/loader.js:863:32)
    at Function.Module._load (internal/modules/cjs/loader.js:708:14)
    at Module.require (internal/modules/cjs/loader.js:887:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at Object.<anonymous> (/private/var/tmp/_bazel_milesjohnson/a3f1e21faca691f85e7e54fa376a3339/sandbox/darwin-sandbox/16/execroot/workspace/node_modules/@docusaurus/core/bin/docusaurus.js:27:1)
    at Module._compile (internal/modules/cjs/loader.js:999:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
    at Module.load (internal/modules/cjs/loader.js:863:32)
    at Function.Module._load (internal/modules/cjs/loader.js:708:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12)
    at internal/main/run_main_module.js:17:47

When I log the notifier object, the config property does not exist.
UpdateNotifier {
  options: {
    pkg: { name: '@docusaurus/core', version: '2.0.0-beta.4' },
    updateCheckInterval: 3600000,
    distTag: 'latest'
  },
  packageName: '@docusaurus/core',
  packageVersion: '2.0.0-beta.4',
  updateCheckInterval: 3600000,
  disabled: false,
  shouldNotifyInNpmScript: undefined
}

It's also apparent that update-notifier fails as it logs this to the console.
┌─────────────────────────────────────────────────────────────────┐
│              @docusaurus/core update check failed               │
│               Try running with sudo or get access               │
│              to the local update config store via               │
│ sudo chown -R $USER:$(id -gn $USER) /Users/milesjohnson/.config │
└─────────────────────────────────────────────────────────────────┘

The failing code is here: https://github.com/facebook/docusaurus/blob/main/packages/docusaurus/bin/beforeCli.js#L31
Have you read the Contributing Guidelines on issues?
Yes
Steps to reproduce
This is hard to reproduce. We only ran into the issue because of Bazel and its sandboxing/hermetic approach (no access to user directory).
Expected behavior
CLI doesn't crash.
Actual behavior
CLI crashes.
Your environment
This fails on 2.0.0-beta.4 BUT works on 2.0.0-beta.3.

Public source code: N/A
Public site URL: N/A
Docusaurus version used: 2.0.0-beta.4
Environment name and version (e.g. Chrome 78.0.3904.108, Node.js 10.17.0): Any
Operating system and version (e.g. Ubuntu 20.04.2 LTS): Any

Reproducible demo
Not simple to create a reproducible demo. However the fix should be rather easy, just check for the config property first.

Make sense, thanks for reporting
Can probably be reproduced by chmod the update notifier files permissions
Le ven. 20 août 2021 à 21:38, Miles Johnson @.***> a
écrit :

🐛 Bug Report Prerequisites

I'm using the latest version of Docusaurus.
I have tried the npm run clear or yarn clear command.
I have tried rm -rf node_modules yarn.lock package-lock.json and
re-installing packages.
I have tried creating a repro with https://new.docusaurus.io
I have read the console error message carefully (if applicable)

Description
If update-notifier fails to load config from ~/.config, then the
Docusaurus CLI fails with the following error:
@.***/core/bin/beforeCli.js:50
Date.now() - notifier.config.get('lastUpdateCheck') < 50
                           ^

TypeError: Cannot read property 'get' of undefined
at Object.<anonymous> ***@***.***/core/bin/beforeCli.js:50:32)

at Module._compile (internal/modules/cjs/loader.js:999:30)

at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)

at Module.load (internal/modules/cjs/loader.js:863:32)

at Function.Module._load (internal/modules/cjs/loader.js:708:14)

at Module.require (internal/modules/cjs/loader.js:887:19)

at require (internal/modules/cjs/helpers.js:74:18)

at Object.<anonymous> ***@***.***/core/bin/docusaurus.js:27:1)

at Module._compile (internal/modules/cjs/loader.js:999:30)

at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)

at Module.load (internal/modules/cjs/loader.js:863:32)

at Function.Module._load (internal/modules/cjs/loader.js:708:14)

at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12)

at internal/main/run_main_module.js:17:47

When I log the notifier object, the config property does not exist.
UpdateNotifier {
options: {
pkg: { name<EMAIL_ADDRESS>version: '2.0.0-beta.4' },

updateCheckInterval: 3600000,

distTag: 'latest'

},
packageName: @.***/core',
packageVersion: '2.0.0-beta.4',
updateCheckInterval: 3600000,
disabled: false,
shouldNotifyInNpmScript: undefined
}
It's also apparent that update-notifier fails as it logs this to the
console.
┌─────────────────────────────────────────────────────────────────┐
│              @docusaurus/core update check failed               │
│               Try running with sudo or get access               │
│              to the local update config store via               │
│ sudo chown -R $USER:$(id -gn $USER) /Users/milesjohnson/.config │
└─────────────────────────────────────────────────────────────────┘
The failing code is here:
https://github.com/facebook/docusaurus/blob/main/packages/docusaurus/bin/beforeCli.js#L31
Have you read the Contributing Guidelines on issues
https://github.com/facebook/docusaurus/blob/main/CONTRIBUTING.md#reporting-new-issues
?
Yes
Steps to reproduce
This is hard to reproduce. We only ran into the issue because of Bazel and
its sandboxing/hermetic approach (no access to user directory).
Expected behavior
CLI doesn't crash.
Actual behavior
CLI crashes.
Your environment
This fails on 2.0.0-beta.4 BUT works on 2.0.0-beta.3.

Public source code: N/A
Public site URL: N/A
Docusaurus version used: 2.0.0-beta.4
Environment name and version (e.g. Chrome 78.0.3904.108, Node.js
10.17.0): Any
Operating system and version (e.g. Ubuntu 20.04.2 LTS): Any

Reproducible demo
Not simple to create a reproducible demo. However the fix should be rather
easy, just check for the config property first.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/facebook/docusaurus/issues/5400, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFW6PUXOJPXAVGZI6YVKF3T52VKXANCNFSM5CQ5E5LQ
.


Set the same template for history transactions

I have to set the same transaction line template than the dashboard page for the history page to fix the state labels pending & confirmed.

Done in #328


Certificate csv download stored on rackspace

Instead of generating once per node on local storage, store in rackspace cloud and redirect to it

Coverage decreased (-0.06%) to 80.57% when pulling 9caa411068ab356e50e839ce8b8ecab5928c49ac on feature-rackspace-certificate-download into 28017ca3c5dfa05db633fa0eb215d705c92497ed on master.


Support exposing https address ekb controller

Fixes #3108

Proposed Changes

Update the broker reconciler to update the Status.Address and Status.Addresses as required
Update the broker reconciler tests to account for the updates

Release Note

Added support for exposing an https address from the broker.

/cc @pierDipi

/retest

/retest-required

/retest-required

/retest-required

/retest

@pierDipi I'm not totally sure why the Test/test/Unit Tests action is failing - the tests seem to be passing on my system locally

/retest-required

/retest-required

/retest-required

/retest-required

/retest-required

/test channel-integration-tests-ssl

/retest-required

/lgtm


SCRAM-SHA-256 Support

Hi! Thanks for writing this driver for Swift!
PostgreSQL has supported SCRAM-SHA-256 authentication since version 10 and the community is looking to make it the default password-based authentication method for version 13 (more than a year away, so there is some time). As such, I would strongly recommend to support it :smile:
A list of non-libpq based implementations that are implementing SCRAM can be found here: https://wiki.postgresql.org/wiki/List_of_drivers
I have some practice implementing the method so I'm happy to help where needed.

Thanks for the heads up on Postgres 13.  +1 to adding SCRAM-SHA-256 support.
Thanks also for the link to your Python client code for this.  That will definitely help.  I was getting tangled up in the web of RFCs.

I am also looking for this.  It seems that the Postgres community is considering holding off till 14 to make SCRAM the default, but during the discussion this project was the only driver mentioned that did not implement SCRAM support.

Thanks for the heads up about possibly holding off to 14 to make SCRAM the default.  I found the relevant thread.
I'm hoping get SCRAM support into PostgresClientKit in the next few months.

SCRAM-SHA-256 authentication is available in v1.3.0.

@pitfield Oops I missed the question, sorry! Congrats!!!


[BUG] Shell Window Error

Using the "command" action, if the command files to execute via the first method in ActionMenus\Command\RepositoryActionCommandV1Mapper.cs , it tries the second method using the default Windows shell.
If Terminal is set as the default Terminal application, the shell will start via Terminal. Normally, the Terminal would close right away or not even show a window as the command would execute quickly, but if Terminal is misconfigured (such as using an inexistent fontstyle as it my case 🫤 ), it shows the following error:

Proposed solution: disable the window if the shell execute method runs.

I'm not sure if I follow and what the consequences are of your proposed fix.
Can you provide me with an example snippet (action menu) what you tried to execute:
- type: command@1
  ....

Thanks

I tried to run:
- type          : command@1
  name          : Open in Visual Studio Code
  command       : code
  arguments     : '"{{ repository.path }}"'
  active        : file.file_exists(exe_vs_code)

Because I have VSCode installed from the Windows Store, apparently it didn't get added to the PATH environment variable.
And Windows Terminal was configured to use an old inexistent font style for CMD.exe. (I almost never use CMD.exe so I didn't notice it when I imported the profile from my old system.)
Now, there two ways RepoM tries to run a command:

First method uses the .NET native method, which is similar to using the Run:

This method would've worked if code was in the PATH variable. Because in my case it wasn't, the method failed so it tried to use the second method.
Second method uses the shell. Basically it's the equivalent of typing the command in a cmd.exe window. This works and manages to start code , but because the cmd.exe profile in Windows Terminal is misconfigured, it shows a Windows Terminal error.

My fix adjust the second method by disabling the cmd.exe window. So if cmd.exe is misconfigured in Terminal, it doesn't matter because the cmd.exe window never tries to start, it just runs in the background.
The second fix that I introduced is checking the process object for NULL. This is a problem with the second method as sometimes it doesn't throw an error. For example, the following can fails to start with the first method, it tries the second method, and then fails with no error if the cmd.exe window is disabled:
- type: command@1
  name: Open in Windows File Explorer
  command: '"{{ repository.path }}"'

This is why we should always check for NULL.
Also, a fix to that is using:
- type          : command@1
  name          : Open in Windows File Explorer
  command       : explorer
  arguments     : '{{ repository.path }}'

This means the first method will always succeed and it won't have to try the second method.
The rest of what I did is just improve logging. If both methods fail, then the errors from both attempts are logged as errors. If one succeeds, then they are logged as mere Information.


gh-pages: skip dialect base & meta base

Follow-up to

#4162

[x] Only list date-stamped schema iterations for dialect and meta

Preview:

https://ralfhandl.github.io/OpenAPI-Specification/

Why do we need to treat these differently?  We want all of the schema files to be treated the same.  If we need to group them to show the dependencies, then we should figure out how to do that (probably by generating some YAML file to iterate over rather than trying to do anything complex in Jekyll/Liquid).  But for now, just showing all revisions for all four is correct (and ideally also showing the old */base ones since we should schema/$date and schema-base/$date that depend on them.

We want all of the schema files to be treated the same.

That would mean that base is before the newer date-stamped iterations because "the same" means "in descending lexicographical order". Moving base after the newer date-stamped iterations exceeds my Liquid skills - I've tried and failed.

I approve this, but I can't tell if it needs to go in before or after #4177


fix(app header): login dropdown menu layout fixed

Verified on dev. Fixed.
Mobile login dropdown menu is white

Verified on testnet. Fixed


roundtripping emphasis in emphasis edge case changes document structure

Subject of the issue
***emphasis*in emphasis*

is stringified as:
\***emphasis*in emphasis*

which changes the structure
Your environment

OS: Ubuntu
Packages: mdast-util-to-markdown 0.6.2
Env: node v15.5.1, npm 7.3.0

Steps to reproduce
parse
***emphasis*in emphasis*

which has the structure
{
    "type": "root",
    "children": [
        {
            "type": "paragraph",
            "children": [
                {
                    "type": "text"
                },
                {
                    "type": "emphasis",
                    "children": [
                        {
                            "type": "emphasis",
                            "children": [
                                {
                                    "type": "text"
                                }
                            ]
                        },
                        {
                            "type": "text"
                        }
                    ]
                }
            ]
        }
    ]
}

and stringify it:
\***emphasis*in emphasis*

the resulting markdown has a different structure than the original
{
    "type": "root",
    "children": [
        {
            "type": "paragraph",
            "children": [
                {
                    "type": "text"
                },
                {
                    "type": "emphasis",
                    "children": [
                        {
                            "type": "text"
                        }
                    ]
                }
            ]
        }
    ]
}

:notebook: comparing how the two pieces of markdown text are being parsed with https://spec.commonmark.org/dingus it appears in both cases it is parsed as expected.
Expected behavior
structure is the same
Actual behavior
structure is different

Here are some more examples:
a ***b*c d*

a \***b*c d*

a ***b* d*

a \***b* d*

Yields (CM dingus):

a *bc d

a ***bc d

a *b d

a *b d

so whether that escape “works” relates also to what comes after the “run”.
I don’t really see an (easy) fix 🤔

A related edge case which can happen on the tail of emphasis next to emphasis
*a*_b__

I came up with a way to solve this, I think: https://github.com/syntax-tree/unist/discussions/60#discussioncomment-2111096.

FYI, syntax-tree/unist#60 is solved. But, it is different than this. Most of the linked issues above are solved because of syntax-tree/unist#60. But not this issue itself.

I have been thinking more and more about this, and it gets incredibly complex.
*x*y z*

**x*y z*

***x*y z*

****x*y z*

*****x*y z*

Yields:
xy z*
**xy z
*xy z
**xy z
*****xy z
(dingus: https://spec.commonmark.org/dingus/?text=xy%20z*%0A%0Axy%20z%0A%0Axy%20z*%0A%0Axy%20z%0A%0A*****xy%20z%0A).
Please see the points near here: https://spec.commonmark.org/0.31.2/#can-open-emphasis.
There’s something at play here where, due to the different latter delimiter runs, and whether the opening run is divisible by 3, affects each other, which is changed by escaping a marker.

Perhaps....... I will look into it later. My brain is broken. But maybe we can do this by switching markers when we have to escape a surrounding:
***x*y z*

\*_*x*y z_

***x*

\*\*_x_

*x**

_x_\*

_x__

*x*\_

These each generate the same HTML


[Combobox, MultiCombobox]: No FormControl support

Created the issue on behalf of SAP Build Process Automation:
Combobox, MultiCombobox - FormControl support is missing.
Expected Behavior

Steps to Reproduce

Go to '...'
...
...

Isolated Example

Context

UI5 Web Components version: {...}
UI5 Web Components for Angular version: {...}
Angular Version: {...}
OS/Platform: {...}
Browser: {...}
Affected component: {...}

Log Output / Stack Trace / Screenshots
{...}

Priority

[ ] Low
[x] Medium
[ ] High
[ ] Very High

The priority indicates the severity of the issue. To set the appropriate priority consider the following criteria:

Breaks entire application or system - High or Very High
Accessibility issue - Medium or High
Functional issue - Medium or High
Visual issue - Low or Medium

Note: The priority might be re-evaluated by the issue processor.
Stakeholder Info (if applicable)

Organization: {...}
Business impact: {...}

Hello @droshev this is one of the latest issues raised.  Meanwhile I will ask the authors for more information. Thank you.

Hello @timogeib
The following works for me with the ComboBox:

<ui5-combobox [formControl]="cbxControl">
		<ui5-cb-item value="phone" text="Phone"></ui5-cb-item>
		<ui5-cb-item value="tablet" text="Tablet"></ui5-cb-item>
		<ui5-cb-item value="desktop" text="Desktop"></ui5-cb-item>
 </ui5-combobox>
 FormControl value: {{ cbxControl.value }}, touched: {{ cbxControl.touched }}
<button (click)="updateCbxFormModel()">cbxControl.setValue("phone")</button>

import { Component } from '@angular/core';
import { FormControl, FormGroup } from '@angular/forms';

@Component({
  selector: 'reactive-form-sample',
  templateUrl: './reactiveFormSample.component.html',
})
export class ReactiveFormsSample {

  cbxControl = new FormControl('desktop');

  updateCbxFormModel() {
    this.cbxControl.setValue("phone");
  }
}

https://github.com/SAP/ui5-webcomponents-ngx/assets/15702139/46400410-73ca-4a1d-85ed-05623e2e07e8

@ilhan007
Please be aware of the touched flag, which will not be set to true...

All works, except the fact that the value should be something. It can not be undefined or null and if that's the problem, the issue should be recorded in @ui5/webcomponents repository


Zeitspanne check constraint

Steps to reproduce

Enter into an epoch field a starting date Before Christ and an ending date Before Christ
Add to both dates the "Before Christ" label
Save your Edit

Expected behaviour
It should report successful saving
Actual behaviour
Reports error, that start date is after end date
Looks like some checking got confused with dates Before Christ

Which version of Spacialist do you use?

Don't know, its the "Neackaralb"-Project. In the about pop-up there is no Version shown up...

You are right. There was a missing check for dates where both start and end are BC. This should be fixed now.
The About popup should now also display the correct version.
Thank you for your report!


junit.JUnitFramework with incorrect parameters fails silently

If you pass invalid parameters to the test command it fails silently - no tests are executed. For example:
 mill -i graaljs.test error

gives me:
Test run started
Test run finished: 0 failed, 0 ignored, 0 total, 0.001s

However this will work correctly:
 mill -i graaljs.test +v

Tested with Mill 0.5.1, JDK 11 + Linux

It looks like the first parameter is used to select a specific test case. But it has to be an exact match, so if you have no test case named "error" it will not execute any tests. This is almost the same behavior as we have for utest, except for 2 differences: utest will throw an exception if no test matches the argument, and utest matches also if you only give prefix.

But as I understand it, the handling of the parameters depends on the test framework. So it might be what a user is expecting from JUnit, right?

Don't know what users expect from JUnit. I was expecting the same behavior for both frameworks. But, yes you are right -  if Junit is matching/processing, then it will dictate what happens (for ex, no exceptions). I was thinking maybe the Mill framework wrapper was the culprit - but from your description its JUnit.
Small note: that "error" is an argument to be passed to the JUnit test (like a command line argument). It is no an ID of a test. If I pass an invalid argument with the correct test ID it fails silently.
Thanks for the feedback,


Dial down magicsock logging

While playing around with iroh I found that magicsock logs some things at info level that really don't seem that important.
E.g. here:
2023-07-21T08:52:44.177079Z  INFO poll_recv{self.name=magic-11a2f8fcaef7df8d}: iroh_net::magicsock: received 1 msgs
2023-07-21T08:52:44.177111Z  INFO poll_recv{self.name=magic-11a2f8fcaef7df8d}: iroh_net::magicsock: received 1 msgs
2023-07-21T08:52:44.177173Z  INFO poll_recv{self.name=magic-11a2f8fcaef7df8d}: iroh_net::magicsock: received 1 msgs
2023-07-21T08:52:44.177206Z  INFO poll_recv{self.name=magic-11a2f8fcaef7df8d}: iroh_net::magicsock: received 1 msgs
2023-07-21T08:52:44.177259Z  INFO poll_recv{self.name=magic-11a2f8fcaef7df8d}: iroh_net::magicsock: received 1 msgs
2023-07-21T08:52:44.177283Z  INFO poll_recv{self.name=magic-11a2f8fcaef7df8d}: iroh_net::magicsock: received 1 msgs
2023-07-21T08:52:44.177305Z  INFO poll_recv{self.name=magic-11a2f8fcaef7df8d}: iroh_net::magicsock: received 1 msgs
2023-07-21T08:52:44.177335Z  INFO poll_recv{self.name=magic-11a2f8fcaef7df8d}: iroh_net::magicsock: received 1 msgs
2023-07-21T08:52:44.177356Z  INFO poll_recv{self.name=magic-11a2f8fcaef7df8d}: iroh_net::magicsock: received 1 msgs

I think this should be dialed down a bit. Maybe debug or trace seems more appropriate.

trace seems appropriate


Update the Key Vault sample code:

Added configuration manager sample project to cache and resolve secrets
and service configuration values.
Upgraded the Azure SDK dependency to 2.8 and fixed some bugs
Refactored the web app sample project
Upgraded NuGet packages.

Hi @pomortaz, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (pomortaz). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;


Created comment have wrong close date

Comments (having parent_author != "") must be closed simultaneously with their parent (up to root comment == post). Current implementation sets close_timer to wrong value.
Here can be 2 solutions:

set comment timer execute at the same time with post
to not set comment timer at all and move closing children logic to close_post action

#244


feat: simplify store generics

Description
We had 8 functions with wrappers to store int64, int32...
This PR reduces it to two functions
I've also removed the check prohibiting saving big Int or Dec negative values. Store should not make such assumptions. Such validation should happen layer above. On the other hand, Coin prohibits negative amounts and have it's Validate method which checks that, together with all arithmetic operations Add, Sub.

Note: pushing validation down to the stack, can create very bad patterns, where we are too late to handle errors properly.


Added alternate way to instantiate validator

The current code requires you to pass a file path when constructing
the Validator; however, sometimes you don't have the schema in a file
(e.g. it's in a database). This offers a second way to instantiate
it, by passing in the raw JSON schema, and specifying it as "json"
instead of a file location.

Hi Harold, not sure if this is of any use, but it's all yours if you want it. :) I updated the Usage section of the README to show an example of how it works: https://github.com/benkeen/php-json-schema

:thumbsup:

+1 to a good feature.

Anyone looking after this repo, merging pull requests?

Doesn't seem to be

@hasbridge Can you assign another admin if you're not able to look into these? So we can continue to help this library evolve? :)


Dart's @Optional annotation collides with butterknife.Optional

There're big chances that ButterKnife is used along Dart, and I spent 45 minutes to debug that "Optional" thing. I was using the Butterknife's annotation on my injected fields...
Because the name collides, I had to prefix those annotations with the package name, and my fields really looks ugly now.

@stephanenicolas @f2prateek
Looks like butterknife may be ditching @Optional anyway:
https://github.com/JakeWharton/butterknife/issues/239
@Nullable looks like a good replacement for this library as well.

Thanks for this update, @f2prateek, I would be happy to implement that if
you want. We can even keep both annotations for 1.2.x if you want.
2015-03-10 6:10 GMT-07:00 Michael Basil<EMAIL_ADDRESS>
@stephanenicolas https://github.com/stephanenicolas @f2prateek
https://github.com/f2prateek
Looks like butterknife may be ditching @Optional
https://github.com/Optional anyway:
JakeWharton/butterknife#239
https://github.com/JakeWharton/butterknife/issues/239
@Nullable https://github.com/Nullable looks like a good replacement for
this library as well.
—
Reply to this email directly or view it on GitHub
https://github.com/f2prateek/dart/issues/18#issuecomment-78049303.

Yeah I talked with Jake about it. For now, I'm going to respect ANY @Optional annotation, and add support for @Nullable in the future too.

Cool ! Do you need some code to do that ?
We have some in the RoboGuice's NullableUtil class if my memory is good.
2015-03-10 12:04 GMT-07:00 Prateek Srivastava<EMAIL_ADDRESS>
Yeah I talked with Jake about it. For now, I'm going to respect ANY
@Optional annotation, and add support for @Nullable in the future too.
—
Reply to this email directly or view it on GitHub
https://github.com/f2prateek/dart/issues/18#issuecomment-78124398.

Thanks, I'll take a look at it. I won't get to it until the weekend most likely though, PR's appreciated if you'd like it in sooner :)

Closing in favor of #28 and #27


NumberInput surprising/wrong behaviour with width & content_width

the number_input widget has two functions for setting the width (width & content_width). and as far as i call tell its also the only widget that has content_width
setting none or both (of width & content_width) to Fill works as expected, but using only one of them can result in (imo) surprising/wrong behaviour
as an example having two elements in a row, a number_input and a button(that is set to Fill):
let txt_minute = number_input(self.value, 0..999999, Message::NumInpChanged)
    .style(number_input::number_input::primary)
    // .width(Length::Fill)
    // .content_width(Length::Fill)
    .padding(0);
let btn_btn = Button::new(Text::new("Button"))
    .width(Length::Fill)
    .height(Length::Fill);

let content = Row::new()
    .push(txt_minute)
    .push(btn_btn)
    .align_y(Vertical::Center);

left: default width; right: setting only width to Fill; they work as exepcted

but if they each are in a column (together in a row)
let content = Row::new()
    .push(Column::new().push(txt_minute))
    .push(Column::new().push(btn_btn))
    .align_y(Vertical::Center);

then the number_input will only render as if not set to Fill, but with the column as Fill

and setting only content_width to Fill will take up all space (in both row and rowcol layouts)

im also wondering why there are both width and content_width functions, other settings like padding only have one and set the property on both the number_input and the text_input content.

It's really hard to determine the correct path here, especially since iced keeps changing how Fill and Shrink work. I believe he is finally leaving those alone, but before his last change this use to work fine.

if the handling of Length is unstable (or more specifically in this case, the interaction between different Length kinds) then thats not ideal.
but the question as to why both width and content_width functions exist still remains. because this odd behaviour does not occure if they are kept in sync.
if there is a reason that i cant think of rn, then that might help determine the path forward
if not then removing content_width might be better

I don't mind removing it, as generally the content should resize with the leftover space anyway. We just need to remember to add the button sizes in before we pass the leftover to the inner Textbox. This way it will resize correctly. I think the original usage of this was before a lot of major changes in iced occurred, and it was required at the time to function correctly.

It may be related to #278.
I don't know if someone is working on either issues.
Of what I understood of the widget implementation, the width of the widget while content_width is the one of the underlying Typed input.
I don't see a configuration where keeping both of them is relevant.
If the user want the widget to be smaller they could use a container or something similar.

If I have the time, I'll try to investigate it and see if we can get rid of it

@StillGreen-san Could you give the main branch on our git a try as @Ultraxime pushed some new changes which might fix the issue.


QuotaMgmtClient returning negative usage values for resources that arent being utilized in subscription

Package Name: azure-mgmt-quota
Package Version: 1.1.0
Operating System: Windows 11
Python Version: 3.11.9

Describe the bug
The Azure Quota Management SDK (QuotaMgmtClient) returns -1 values for certain resources, the response values for resources that aren't used should be 0 and not -1. In the Azure Portal the same resources that show - 1 usage values show 0 usage values. 35 resource types under compute all return -1 usage values when not being utilized in subscription.
To Reproduce
Steps to reproduce the behavior:

Install library

pip install azure-mgmt-quota

Run code snippet using QuotaMgmtClient (Simplified code snippet)

from azure.identity import DefaultAzureCredential
from azure.mgmt.quota import QuotaMgmtClient
import logging

logger = logging.getLogger(__name__)

logging.basicConfig(
    filename="compute_usages.log", encoding="utf-8", level=logging.DEBUG
)

def main():
    client = QuotaMgmtClient(
        credential=DefaultAzureCredential(),
    )

    response = client.usages.list(
        scope="subscriptions/{subscription_id}/providers/Microsoft.Compute/locations/southafricanorth",
    )

    current_usages = []

    for item in response:

        payload = {"name": item.name, "usage": item.properties.usages.value,
                   "isQuotaApplicable" : item.properties.is_quota_applicable}
        logging.info(payload)
        current_usages.append(payload)

    logging.info(current_usages)

if __name__ == "__main__":
    main()

Expected behavior
Resources that have no usage should return a usage value of 0. This should align with what's displayed in the Azure portal under Quotas.
Extract of output
[
    {'name': 'standardNDSFamily', 'usage': -1, 'isQuotaApplicable': False
    },
    {'name': 'standardNCSv2Family', 'usage': -1, 'isQuotaApplicable': False
    },
    {'name': 'standardNCSv3Family', 'usage': -1, 'isQuotaApplicable': False
    },
]

Screenshots

Thank you for the feedback @AdrianM10 . We will investigate and get back to you asap.

Hi @ChenxiJiang333 please help on this issue

got it

Hi @AdrianM10, these values are returned by the service, sdk team is not sure in which situation usage's value would be set as -1 that may need you to check with the service team, so I would transfer this issue to https://github.com/Azure/azure-rest-api-specs to get service support.


XRootD improvements

Apologies this PR grew a little as I wrote it, the commits should be self contained and easy to review individually. If you'd rather not have any of them (especially 52aa7f4 and a68a6bd) I'll rebase that commit out of the history.
In summary:

Adds an extra to setup.py so pip install -e .[testing] allows the tests to be ran fully
Makes some minor corrections to the test dependencies and what is used in importorskip
Replaces pyxrootd with XRootD as pyxrootd is more of a private implementation detail that should be prefixed with an underscore
Avoids a deadlock on exit (https://github.com/scikit-hep/uproot/issues/504) by using an atexit handler to cleanup open files (this should be made XRootD version dependent once fixed upstream (https://github.com/xrootd/xrootd/pull/1260)
Adds a test which leaks an open file to make sure pytest deadlocks if https://github.com/scikit-hep/uproot/issues/504 is an issue
Improves the XRootD server configuration detection to handle redirectors and locally stored files (https://github.com/scikit-hep/uproot4/issues/57)

Closes https://github.com/scikit-hep/uproot4/issues/57
Closes https://github.com/scikit-hep/uproot/issues/504

It's my understanding that the first XRootD version that includes your PR should not register the atexit handler.

Yes though it doesn't matter if both are registered, it will only have the effect of making the Python process exit slightly more slowly (but not noticeably so). If the fix is backported it might have to be a split check like: if (version < 5.0.0 and version > 4.12.4) or (version > 5.0.2). I'll take care of adding this once we know what versions should be there.

Ordinarily, I squash and merge PRs (because I think of a PR as a single unit to add to a repo), and even though these commits are nicely curated, I'd like to do the same here

Absolutely! The commits only serve to make this page easier to understand, if anyone is ever tracing a bug back through the git history they should come here to read the comments and associated issues.

This is great! Not only does it fix both of my issues - also by looking at these commits i learned that i can query the server i'm talking to which is very useful for testing. Thanks @chrisburr!