Fix issue with naming-convention in bare mode and nested Input types

Description
Using the naming-convention transform in "bare" mode, it doesn't correctly transform nested field argument Input types. See #4895 for details.
The code for this transform was only operating at the root level of any Inputs when considering field arguments. This fix adapts the code to fully iterate through any Inputs, including nested ones.
Fixes #4895
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?
Modified the bareNamingConvention spec to include this scenario
Checklist:

[x] I have followed the CONTRIBUTING doc and the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests and linter rules pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules

Could you add a changeset with yarn changeset? Thanks :)

Done

Hi @jamessharp ,
thank you so much for your contribution to the bare implementation of this transform.
Can I ask you to run yarn prettier just to align the formatting to the project standards and make it easier to follow the changes?
I had a look at your changes and I will be doing some testing soon; so it won't hopefully be long since we are happy to merge this.

Ah - I think your prettier config may have changed - I've just run yarn prettier and now have 267 files changed, which would explain the changes in this PR (I have "run prettier on save" enabled in vscode)
I'm more than happy to commit the extra , or manually undo the prettier changes in this PR, as you see fit!

I think we can take of prettier later. So if it is good for you other than prettier @santino , we can merge it.

Hi @ardatan / @santino - any update on this? I've just rebased it onto the latest master.


Open ID connect login.

It would be great to support fully automatic OpenID Connect, with webfinger and automatically configuring providers based on "/.well-known/openid-configurations"
// webfingers gmail and configures an Auth2 profile
$auth.openIdConnect("acct:example@gmail.com");
// configures an Auth2 profile via https://seed.gluu.org/.well-known/openid-configurations
$auth.openIdConnect("https://seed.gluu.org");

it might be required to configure a CORS proxy for webfinger.

Here's an example:
https://accounts.google.com/.well-known/openid-configuration

{
  "issuer": "https://accounts.google.com",
  "authorization_endpoint": "https://accounts.google.com/o/oauth2/v2/auth",
  "token_endpoint": "https://www.googleapis.com/oauth2/v4/token",
  "userinfo_endpoint": "https://www.googleapis.com/oauth2/v3/userinfo",
  "revocation_endpoint": "https://accounts.google.com/o/oauth2/revoke",
  "jwks_uri": "https://www.googleapis.com/oauth2/v3/certs",
  "response_types_supported": [
    "code",
    "token",
    "id_token",
    "code token",
    "code id_token",
    "token id_token",
    "code token id_token",
    "none"
  ],
  "subject_types_supported": [
    "public"
  ],
  "id_token_signing_alg_values_supported": [
    "RS256"
  ],
  "scopes_supported": [
    "openid",
    "email",
    "profile"
  ],
  "token_endpoint_auth_methods_supported": [
    "client_secret_post",
    "client_secret_basic"
  ],
  "claims_supported": [
    "aud",
    "email",
    "email_verified",
    "exp",
    "family_name",
    "given_name",
    "iat",
    "iss",
    "locale",
    "name",
    "picture",
    "sub"
  ],
  "code_challenge_methods_supported": [
    "plain",
    "S256"
  ]
}


closes issue #19

import logger as it is setup in utils.logger module and uses logger.info() where ever print is used.
Commented out prints were converted into logger.debug(). Also imports unused imports were removed throughout. For core.train.py, core.train_multi.py and core.evaluator.py the convention to import only modules was enforced for imports from utils.utils. closes #19 .

Hi @grassesi , many thanks for getting started at this. I just tried to run the changes and I get a long list of errors like this:
--- Logging error ---
Traceback (most recent call last):
File "/usr/local/apps/python3/3.10.10-01/lib/python3.10/logging/init.py", line 1100, in emit
msg = self.format(record)
File "/usr/local/apps/python3/3.10.10-01/lib/python3.10/logging/init.py", line 943, in format
return fmt.format(record)
File "/lus/h2resw01/hpcperm/nacl/research/atmorep/develop/atmorep/atmorep/utils/logger.py", line 14, in format
return super().format(record)
File "/usr/local/apps/python3/3.10.10-01/lib/python3.10/logging/init.py", line 678, in format
record.message = record.getMessage()
File "/usr/local/apps/python3/3.10.10-01/lib/python3.10/logging/init.py", line 368, in getMessage
msg = msg % self.args
TypeError: not all arguments converted during string formatting
Call stack:
File "/lus/h2resw01/hpcperm/nacl/research/atmorep/develop/atmorep/atmorep/core/train.py", line 237, in
train()
File "/lus/h2resw01/hpcperm/nacl/research/atmorep/develop/atmorep/atmorep/core/train.py", line 227, in train
cf.print()
File "/lus/h2resw01/hpcperm/nacl/research/atmorep/develop/atmorep/atmorep/utils/utils.py", line 66, in print
logger.info("{} : {}", key, value)
Is there a specific python version of package that is required?

By default logging only supports old %s style formatting, but i used modern "{}".format style. To fix this I added support in utils.logger.py by using logging.setLogRecordFactory to set a custom LogRecord that supports both formatting styles. I added unit tests to test this behavior.


There are lots of Iliads by Homer

In https://wellcomecollection.org/works/deru75mu, there are nine different Subjects bearing the label "Homer. Iliad"

They all bear different LCNames identifiers.
If we examine the fragment of Sierra JSON corresponding to one of them, we see that there is a subfield $l which appears to be being ignored during transformation.
{
          "fieldTag": "d",
          "marcTag": "600",
          "ind1": "0",
          "ind2": "0",
          "subfields": [
            {
              "tag": "a",
              "content": "Homer."
            },
            {
              "tag": "t",
              "content": "Iliad."
            },
            {
              "tag": "l",
              "content": "Slovak"
            },
            {
              "tag": "0",
              "content": "no 98129936"
            }
          ]
        }

https://id.loc.gov/authorities/names/no98129936.html is indeed the identifier for the Slovak version of the Iliad.  So it looks like we need to include this as part of the Concept label.

This relates to https://github.com/wellcomecollection/catalogue-pipeline/issues/2302. I discovered that there are 1459 labels with more than one LCNames identifier associated with it in catalogue-concepts.  Originally thinking this was about authors vs works by the author, I was struck by the fact that "Homer. Iliad." was one such label.

Notably, the root cause of this is not the same, or even similar to that seen in Freud's Totem und Tabu, which genuinely looks like a problem in the source data.
"varFields": [
        {
          "fieldTag": "a",
          "marcTag": "100",
          "ind1": "1",
          "ind2": " ",
          "subfields": [
            {
              "tag": "a",
              "content": "Freud, Sigmund,"
            },
            {
              "tag": "d",
              "content": "1856-1939"
            },
            {
              "tag": "0",
              "content": "n  91074218 "
            },
            {
              "tag": "0",
              "content": "n  91074218"
            }
          ]
        },

We displayed the $ls on the previous catalogue:

https://catalogue.wellcomelibrary.org/record=b1306034

I've ordered it up to have a look! But computer says it won't be here until Thursday so I'll have to check next Tuesday when I'm on site.

The 008 says eng(lish) so I'm wondering if all those 600s are not right.
https://catalogue.wellcomelibrary.org/search~S8?/.b1306034/.b1306034/1%2C1%2C1%2CB/marc~b1306034

We've just had a look at the book in question.  There is one mention of Homer in the index, pointing to page 176 (Homer's Hymn to Neptune (Neptune?  Homer was Greek)).  There is no mention of Iliad, either on its own or in connection with Homer.  Certainly no mention of diverse translations and renditions of that epic poem.

However, the correctness or otherwise of the record does not detract from a need to transform the $l subfield

This raises questions about compound concepts and their constituents, in particular, the degree to which we can treat a compound concept as a bag of tags.
In the case of all these Iliads, the $l and $s subfields are all subordinate to the $t field and meaningless on their own. e.g. in no2012111076:
"subfields": [
        {
          "tag": "a",
          "content": "Homer."
        },
        {
          "tag": "t",
          "content": "Iliad."
        },
        {
          "tag": "l",
          "content": "Greek."
        },
        {
          "tag": "s",
          "content": "(Mazon, Chantraine, Collart and Langumier)"
        },
        {
          "tag": "0",
          "content": "no2012111076"
        }
      ]
    },

This is the version of the Iliad in Greek recorded and published by those four scholars.
To what extent is the Greekness relevant in its own right?  Would users wish to find all Works in any language that are about the Greek editions of any texts?  Importantly, this will probably only apply to texts that exist in multiple languages, because those in a single language will not be marked with $l.  Similarly, is (Mazon, Chantraine, Collart and Langumier) really a thing, in the absence of Iliad?

Notably, in the LoC records, e.g. https://id.loc.gov/authorities/names/no2012111076.html the name of the "work" component is Iliad, Greek

Also notable, the list of names comes under "Other Characteristic", rather than components.

I think this might mean that these subfields should only contribute to the full name of the whole concept, but not create Concepts of their own in the concepts list

When constructing a label for a Person, the Sierra transformer filters so that it only contains text from these subfields:
List("a", "b", "c", "d", "t", "p", "n", "q")
I understand that there are some subfields that we do not wish to include (0 being the most obvious one), but is this the correct way to do it?  Should we exclude the ones we don't want, instead of include the ones we do?

Actually, listing what we want is correct.  The data coming in is not validated.  e.g. the $D subfield (should be $d in this example)
varField.marcTag600varField.subfields.tag[a, D]parent.id1566968parent.idWithCheckDigitb15669683parent.recordTypebibsposition4varField.fieldTagdvarField.ind11varField.ind20varField.subfields.content[Maimonides, Moses,, 1135-1204]_idbibs-1566968-4_indexsierra_varfields_score0

$l definitely forms part of the name of the whole.  e.g.
https://id.loc.gov/authorities/names/n84804642.html
varField.marcTag600varField.subfields.tag[a, d, t, l, 0]parent.id1371544parent.idWithCheckDigitb13715446parent.recordTypebibsposition5varField.fieldTagdvarField.ind11varField.ind20varField.subfields.content[Maimonides, Moses,, 1135-1204., Fī tadbīr al-ṣiḥḥah., German, n 84804642]_idbibs-1371544-5_indexsierra_varfields_score0


Exemplar: move to metricdata.

Updates https://github.com/census-instrumentation/opencensus-go/issues/1058.
Java counterpart: https://github.com/census-instrumentation/opencensus-java/pull/1791. The first step on refactoring exemplar APIs. More PRs will follow.

Will this be a breaking change?

This is a breaking change to those who import "go.opencensus.io/exemplar". Though I don't believe any user would be using the previous exemplar APIs since no backend supports it before.
For trace, tag, stats and metrics packages, I don't think there's any breaking change.

This PR is only doing cleanups. More PRs will follow on refactoring the exemplar APIs.

@songy23 @rghetia
This PR breaks go get -v go.opencensus.io/exemplar with the following error:
Fetching https://go.opencensus.io/exemplar?go-get=1
Parsing meta tags from https://go.opencensus.io/exemplar?go-get=1 (status code 200)
get "go.opencensus.io/exemplar": found meta tag get.metaImport{Prefix:"go.opencensus.io", VCS:"git", RepoRoot:"https://github.com/census-instrumentation/opencensus-go"} at https://go.opencensus.io/exemplar?go-get=1
get "go.opencensus.io/exemplar": verifying non-authoritative meta tag
Fetching https://go.opencensus.io?go-get=1
Parsing meta tags from https://go.opencensus.io?go-get=1 (status code 200)
go.opencensus.io (download)
package go.opencensus.io/exemplar: cannot find package "go.opencensus.io/exemplar" in any of:
	/usr/local/go/src/go.opencensus.io/exemplar (from $GOROOT)
	/Users/avia/dev/go/src/go.opencensus.io/exemplar (from $GOPATH)

This also breaks go get github.com/Azure/go-autorest @jhendrixMSFT

please see suggestion for solution in https://github.com/census-ecosystem/opencensus-go-exporter-ocagent/pull/49

Sorry for the trouble, I wasn't aware that there're downstream libraries depending on this. #1071 should fix it temporarily, meanwhile please migrate to the new package like https://github.com/census-ecosystem/opencensus-go-exporter-ocagent/pull/49.


✨ [REQUEST] Tandoor Recipes disable Gunicorn Media

Checked

[X] If a new addon, I have checked on  Google that such as addon doesn't already exists
[X] If a new feature, I have searched in the discussions & issues that it was not already covered

Which addon?
Tandoor Recpipes
Is your feature request related to a problem? Please describe
As per the information available here: https://docs.tandoor.dev/install/docker/#nginx-vs-gunicorn and at the associated links, it's recommended to not serve data via Gunicorn Media.
It is apparently less safe, and possibly not as performative as using nginx. However, homeassistant addon installs are likely to only be supporting small userbases (e.g. <10 users per instance), so performance may not be an issue.
Describe the solution you'd like
To disable gunicorn media, there are two things that need to be done:

set GUNICORN_MEDIA to 0 in the environment files
host an nginx server (other servers are available) to host the media files.

My suggestion is to implement the following:
add "GUNICORN_MEDIA": "1" to the options in config.json, not forgetting your commas. This will leave Gunicorn Media enabled by default.
add "GUNICORN_MEDIA": "list(1|0)", to the schema in config.json, not forgetting your commas
add ```
export GUNICORN_MEDIA=$(bashio::config 'GUNICORN_MEDIA') && bashio::log.blue "GUNICORN_MEDIA=$GUNICORN_MEDIA"
to `99-run.sh`

And then to test this with a separate nginx server such as nginx proxy manager.  I am submitting this as an issue instead of a pull request, as I've been unable to test this on my own with vscode. I was able to start the instance and get in to tandoor, but in the limited time I had, I could not get nginx proxy manager working in vscode, and no matter which setting I chose, I still had GUNICORN_MEDIA showing as `true` in the system settings in Tandoor.

An alternative to the above would be to implement an additional nginx server, either within the docker container or outside, that points to the /media/ location within Tandoor. This may already be partially implemented due to the attempted Ingress work that's occurred previously.

additionally, implement the DOCS.json that i'm going to submit as a separate pull request.

To confirm, the DOCS.md changes were a bit premature - I don't think this functionality was implemented yet, so the config parameter GUNICORN_MEDIA doesn't exist in the addon yet, right?

The config parameter GUNICORN_MEDIA exists in Tandoor, I can't confirm that it works in the tandoor add-on to home assistant.
If I recall correctly the dev of Tandoor itself recently changed the install to remove one of the gunicorn options, can't quite remember the extent of it.


How to disable all block breaks?

Is there any to disable all block breaks by Magic?
There are some issues when broking the block and placing a block by player instead.
How to disable block breaks globally in Magic?

That exploit was fixed in the last release, I suggest you try updating to 7.6.18 before doing something so drastic. This plugin's default survival configs won't work well if you turn off all block breaking.

I still need something to disable block breaks,a whitelist for blocks.
I don't want my player's chest(or other contianer) be broken.

I still need a world setting to disable block breaks for some special worlds.

In materials.yml you can modify the indestructible list. Here's the default:
https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/defaults/materials/indestructible.yml
There's no way to modify this per-world, so probably you should just disable wands or spells in those worlds with worldguard flags or permissions.


Update docker-compose.yml

Missing comment for Windows.

Does it need to be commented? works for me with it actually

Here I need to comment that line out else I get this error:
ERROR: for ayon-docker_postgres_1  Cannot start service postgres: OCI runtime create failed: container_linux.go:344: starting container process caused "process_linux.go:424: container init caused \"rootfs_linux.go:58: mounting \\\"/etc/localtime\\\" to rootfs \\\"/var/lib/docker/overlay2/6644449cb9f2202fa377714deb2ec9b2f459cb678772aad108ab643be258c128/merged\\\" at \\\"/var/lib/docker/overlay2/6644449cb9f2202fa377714deb2ec9b2f459cb678772aad108ab643be258c128/merged/usr/share/zoneinfo/Etc/UTC\\\" caused \\\"not a directory\\\"\"": unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type

ERROR: for postgres  Cannot start service postgres: OCI runtime create failed: container_linux.go:344: starting container process caused "process_linux.go:424: container init caused \"rootfs_linux.go:58: mounting \\\"/etc/localtime\\\" to rootfs \\\"/var/lib/docker/overlay2/6644449cb9f2202fa377714deb2ec9b2f459cb678772aad108ab643be258c128/merged\\\" at \\\"/var/lib/docker/overlay2/6644449cb9f2202fa377714deb2ec9b2f459cb678772aad108ab643be258c128/merged/usr/share/zoneinfo/Etc/UTC\\\" caused \\\"not a directory\\\"\"": unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type
ERROR: Encountered errors while bringing up the project.

Could also be something to do with older Docker version. Feel free to close this PR.


Fix output decoding (and encoding)

Allow semantic labels for the bitstrings generated during measurement of quantum states.

Better yet, reverse-mapping will allow full measurements, even of custom datatypes

Now that custom datatypes have existed.. I think that the "Memory" object might be capable of decoding into semantic values. So finishing this issue is a matter of adding a method or two to that object


layers: Reset Valid Usage database check status

Following the audit of existing Valid Usage enums in the LVL codebase,
we can claim that there are no Valid Usage checks in an unknown
state; the existing VU checks are either implemented or not.
This commit resets the check_implemented flags in the VU database,
such that any remaining "U" (Unknown) entries now become "N" (Not
implemented).
Going forward, the check_implemented status flag must be either "Y"
or "N"; "U" is no longer permitted.
Change-Id: Iaf1807cadf02d57e3fa5676108e290d3bab9b271

@mikew-lunarg Just to clarify, this initially sets a ton of checks that are actually handled by parameter_validation to "N." So "N" doesn't mean that the check is not implemented, it means that either the check is not implemented, or it's implemented but the unique error id hasn't been added to the source yet.
Thinking out loud of if there's any benefit to trying to distinguish such checks. Once error ids are integrated into the spec, the parameter_validation checks will get added to the generated code and the database can be updated for all of them.
Either way the next step is going to involve going through "N" checks and doing the work to make them "Y". Checks that parameter_validation handles can be skipped until spec integration is complete. Not sure there's a big issue with having checks marked "N" that may be actually implemented, just want to make sure all of the key people involved understand the distinction.

@tobine  Yes, I think all your clarifications are correct and were well-understood by those involved.
The recent work up to now to add unique error ids to all existing checks was meant to minimize the number of VU tests marked as N that were already implemented.  That is, all implemented VU checks would have unique ids and would be true Y's, and the N's would be ones where the checks are not implemented.
The big exception are the PV codegened checks, and we agreed to accept and understand the "drop" in the apparent implementation %age, which would be repaired all at once when the spec integration for the PV codegen is complete.
So outside of the PV codegen checks, anything marked N are now clear targets for what needs to be implemented.
There may be some value in introducing a "P" state for the PV codegened checks. But if the spec integration is imminent, we could just live with the short term disconnect.
Do you think it would be better to "distinguish such checks" by marking them differently at this point?

@karl-lunarg I think it's best to just live with all of the PV checks as "N" for a short while. The only people who would really benefit from marking them "P" for a short while should be the same people who understand that the checks are already implemented in PV. Not really worth the effort. Just wanted to make sure we're all on the same page.


Revert recieved typo fix in JSON schema code

@mashehu kindly cleaned up my spelling error in https://github.com/nf-core/nf-co.re/commit/545cc87e6f1dd2115d69eacd6f9d18274841d1a9 (includes/json_schema.php) and https://github.com/nf-core/nf-co.re/commit/07354c9fe2a8a76d65a0af38e8b5f27ee200ff4c (nf-core-schema-builder.js) - switching recieved to received.
Whilst correct, this promptly broke the nf-core launch and nf-core schema build functionality for all users of nf-core/tools. This is already fixed in https://github.com/nf-core/tools/pull/1104/files but we can't wait for a new release for such a major problem. We have no choice but to revert these changes immediately.

Self-merging as it's late and this is an urgent change.


Add  SVG element

https://developer.mozilla.org/en-US/docs/Web/SVG/Element/use

This would be very useful to add to Emmet, I hope it gets merged soon

ping


initial commit of tox-pin-deps

basic functionality using pip-compile during install_deps

@tucked i hacked on tox-pipenv v2 a LOT in the last 2 weeks and i'm giving up on it. Mainly, even if it does exactly what I want, the code is too complex and I don't really want to maintain it forever. 🤷
I also don't think Pipfile is "the way", and I think pipenv is maybe not the best tech to shackle to. I also looked at poetry and tox-poetry, and draw a similar conclusion with the complexity and going "all-in" on these kind of unproven tools.
Then, I figured that I could accomplish almost everything I want from a pinning/locking perspective by using pip-compile with tox's deps as the requirements.in and writing the compiled output to simple per-environment {envname}-requirements.txt files containing strict pins. If the per-environment lock file is present, then the plugin will replace the environments deps with a -r reference to install the pinned deps.
The nice thing about this approach is that it's fast to install, and there is no pipenv dependency. In fact, there's not even a pip-tools dependency unless you're actually re-compiling the lock files.
The other nice thing about this approach is that it's literally zero bootstrap cost if you're already using tox. Nothing major changes about the tox workflow, other than update lock files via --recreate --pip-compile when you want, and check them in to version control.
Adding hash checking should also be trivial via --generate-hashes, but I haven't tested this yet.
Really curious to hear what you think.

tox's deps as the requirements.in

The nice thing about this approach is that it's fast to install, and there is no pipenv dependency. In fact, there's not even a pip-tools dependency unless you're actually re-compiling the lock files.

hash checking should also be trivial

LOVE these things 😎 This seems like such a natural fit that I'm kinda surprised tox-pipenv is already thing and this isn't!
And, since pip now has a proper dependency resolver, I'm struggling to come up with something pipenv offers that this can't... Best I can think of ATM is PyPA sponsorship/endorsement (and pipenv check/graph, I suppose; although the latter is a simple add since pipdeptree is an independent project).
That said, I've not given up on Pipfile/pipenv. I may pick up tox-pipenv, but I know one of the issues with it is the need for pipenv, which is an extra dep (in all cases) and has performance issues. Those things suggest to me that a tox plugin may not be the way. I'm curious to explore what can be done with the [scripts] section in lieu of tox commands.
Anyways, this is awesome... Great work 👏


[entropy_src/rtl] convert bit to field enables

The enable bits have been expanded to 4 bits per function to provide a counter measure for attacks on register bits.
Signed-off-by: Mark Branstad<EMAIL_ADDRESS>

going to separate the hw changes from the sw changes, so closing this draft pr.


Invalid settings options reported or not yet release

Advanced Settings -> Migration Manager work folder
This settings seems not exists (and I need it! I have space on E drive not C drive!)

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

ID: 8c58f8a6-488f-7e3b-47f4-f5816801e804
Version Independent ID: eed21d0d-7343-17eb-2afe-6cba550441a5
Content: Migration Manager settings - Migrate to SharePoint and OneDrive
Content Source: migration/mm-settings.md
Service: sharepoint-online
GitHub Login: @JoanneHendrickson
Microsoft Alias: jhendr

@paololec Thank you for submitting feedback.
I think the best way forward is if you open a service ticket in your tenant so this can get resolved ASAP. Based on the outcome let me know if it is something that can be called out in the docs.
Please follow this link to contact support for business products:https://docs.microsoft.com/office365/admin/contact-support-for-business-products
Please keep us posted here on the resolution so we can feed whatever information you discover into the content.


GDScript: Allow casting enum to int

An enum value is always an integer so the cast is valid. The code here now consider this case to avoid giving an error message.
Fix #85882

Thanks!


Variables in @media

Will be good to support it.

@TrySound I've added a PR for this https://github.com/jonathantneal/postcss-advanced-variables/pull/5

@shauns Thanks!

Resolved via PR #6


Fix Elixir 1.4 warnings

Fix Elixir 1.4 warnings

Thank you -- did that locally but forgot to push.


Gemfile/Gemfile.lock version fixes

Please take a look @adamakhtar and rebase into your repo as needed.

@adamakhtar


riak-cs-admin status

Command line feature of /riak-cs/stats.
Extracted individual issue from #826.

Added in some version, which I don't remember.


Typo "Teams Room"→"Teams Rooms"

https://learn.microsoft.com/en-us/microsoftteams/hybrid-meetings-device-select?tabs=signature
https://github.com/MicrosoftDocs/OfficeDocs-SkypeForBusiness/blob/live/Teams/hybrid-meetings-device-select.md
#PingMSFTDocs

@JohanFreelancer9 - Thanks for the suggestion.

@dstrome
PR has been copyedited and is ready for final review, could you please check and merge? Thanks!


Create Style Guide in GitHub

Move from https://semarts.atlassian.net/wiki/spaces/OF/pages/835256481/Standards+and+Conventions+for+gist+Implementation into a documentation subdirectory.

Duplicates #163.


Release notes not available after publishing GitHub release

Expected Behavior
Only publish releases which triggers user notifications when all release artifacts are ready for consumption.
Current Behavior
7h after https://github.com/projectcalico/calico/releases/tag/v3.23.0 has been created, the only provided link there, https://projectcalico.docs.tigera.io/archive/v3.23/release-notes/ still returns 404. This is annoying for people eager to try new versions or simply waiting for new feature or a bug fix and makes them periodically, manually poll for availability of the release instead of just getting notified when everything is ready to update. This may also delay the feedback on new releases from early bug reporters.
This release is generally not the first one when this occurs.
Possible Solution
Perhaps CI pipelines should be triggered on release tag push or manually and the release should be published only after all release pipelines has succeeded.
Context
I like to keep my clusters up to date with upstream and once I get the GitHub notification/email about the new release, I keep it in my inbox until the update is rolled out.

Yep I agree. This is a consequence of how our documentation and release notes are structured at the moment. I think the solution to this is to get rid of the dependency on the documentation for hosting the release notes and manifests, so that as soon as the tag is pushed the release notes and manifests are available.
I don't know that there is an easy way to guarantee that the documentation itself is up-to-date, there will fundamentally be an ordering dependency on publishing the release artifacts, verifying them, and then updating the documentation to reference them. However, we can certainly switch to a model where the release notes and manifests aren't dependent on docs.projectcalico.org.

FWIW, here is the release notes file that will ultimately be generated into the docs: https://github.com/projectcalico/calico/blob/v3.23.0/calico/_includes/release-notes/v3.23.0-release-notes.md

Link to the release notes in v3.24.0 does not work either now :(

@invidian bah, yeah it was meant to point at this: https://github.com/projectcalico/calico/blob/release-v3.24/calico/_includes/release-notes/v3.24.0-release-notes.md

This should fix it... https://github.com/projectcalico/calico/pull/6584

Thanks for fixing it quickly :)

I'm sorry for being annoying, but in https://github.com/projectcalico/calico/releases/tag/v3.24.1 the link is still broken. I guess the fix has not been backported?

:facepalm: not annoying at all.
Let me investigate.

Sigh. This should do it: https://github.com/projectcalico/calico/pull/6631
Sometimes I'm not very bright :sweat_smile:

This issue should probably be closed, but the link in https://github.com/projectcalico/calico/releases/tag/v3.26.0 to the changelog, which is https://github.com/projectcalico/calico/blob/v3.26.0/calico/_includes/release-notes/v3.26.0-release-notes.md, is returning 404 now.

Sigh, of course it is. Thanks again for the heads up 😅
These got moved as part of our docs migration, looks like the tool wasn't updated.
This is the new link: https://github.com/projectcalico/calico/blob/v3.26.0/release-notes/v3.26.0-release-notes.md

https://github.com/projectcalico/calico/pull/7718

It seem fix from #7718 did not work for latest release: https://github.com/projectcalico/calico/releases/tag/v3.26.1. Maybe it wasn't backported?

Looks like I never actually back-ported it.
This is it: https://github.com/projectcalico/calico/pull/7815


Sort out TLS

Cert-manager deployed and configured to issue certs using both Let's Encrypt prod & staging, using HTTP challenge. Testing service deployed and confirmed cert is issued and used successfully.


Cannot import name 'DysonPurifierHumidifyCoolFormaldehyde' from 'libdyson'

As mentioned in a former post, my dyson integration sometimes appears as "not loaded" and then the dyson fan cannot be controlled anymore in HA.

These logs for dyson_cloud are showing these error messages:
2022-12-01 11:19:54.439 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration dyson_cloud which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-12-01 11:20:09.905 INFO (MainThread) [homeassistant.bootstrap] Setting up stage 2: {'ibeacon', 'onboarding', 'repairs', 'energy', 'ipp', 'diagnostics', 'application_credentials', 'remote', 'nuki_ng', 'dyson_cloud', 'fully_kiosk', 'speedtestdotnet', 'accuweather', 'radio_browser', 'rpi_power', 'search', 'mqtt', 'tradfri', 'mjpeg', 'xiaomi_miio', 'system_health', 'upnp', 'person', 'auth', 'group', 'esphome', 'philips_js', 'fritzbox_callmonitor', 'homeassistant_alerts', 'config', 'stihl_imow', 'switch_as_x', 'input_datetime', 'analytics', 'default_config', 'influxdb', 'heos', 'my', 'shell_command', 'mobile_app', 'octoprint', 'hacs', 'automation', 'hue', 'met', 'input_button', 'sensor', 'map', 'history', 'intent_script', 'device_tracker', 'skodaconnect', 'bosch_shc', 'zwave_js', 'denonavr', 'hardware', 'deconz', 'input_select', 'media_source', 'input_text', 'logbook', 'camera', 'dyson_local', 'counter', 'input_number', 'synology_dsm', 'input_boolean', 'schedule', 'script', 'raspberry_pi', 'discovery', 'elgato', 'image', 'timer', 'switch', 'binary_sensor', 'utility_meter', 'fritz', 'lovelace', 'scene', 'sonos', 'device_automation', 'fritzbox', 'cast', 'harmony', 'tag', 'tts', 'file_upload', 'intent', 'python_script', 'dlna_dmr', 'zone', 'blueprint', 'persistent_notification', 'home_connect', 'sun', 'trace'}
2022-12-01 11:20:38.442 ERROR (MainThread) [homeassistant.setup] Setup failed for custom integration dyson_cloud: Unable to import component: cannot import name 'DysonPurifierHumidifyCoolFormaldehyde' from 'libdyson' (/usr/local/lib/python3.10/site-packages/libdyson/__init__.py)

The same appears sfor dyson_local:
2022-12-01 11:19:54.444 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration dyson_local which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-12-01 11:20:09.905 INFO (MainThread) [homeassistant.bootstrap] Setting up stage 2: {'ibeacon', 'onboarding', 'repairs', 'energy', 'ipp', 'diagnostics', 'application_credentials', 'remote', 'nuki_ng', 'dyson_cloud', 'fully_kiosk', 'speedtestdotnet', 'accuweather', 'radio_browser', 'rpi_power', 'search', 'mqtt', 'tradfri', 'mjpeg', 'xiaomi_miio', 'system_health', 'upnp', 'person', 'auth', 'group', 'esphome', 'philips_js', 'fritzbox_callmonitor', 'homeassistant_alerts', 'config', 'stihl_imow', 'switch_as_x', 'input_datetime', 'analytics', 'default_config', 'influxdb', 'heos', 'my', 'shell_command', 'mobile_app', 'octoprint', 'hacs', 'automation', 'hue', 'met', 'input_button', 'sensor', 'map', 'history', 'intent_script', 'device_tracker', 'skodaconnect', 'bosch_shc', 'zwave_js', 'denonavr', 'hardware', 'deconz', 'input_select', 'media_source', 'input_text', 'logbook', 'camera', 'dyson_local', 'counter', 'input_number', 'synology_dsm', 'input_boolean', 'schedule', 'script', 'raspberry_pi', 'discovery', 'elgato', 'image', 'timer', 'switch', 'binary_sensor', 'utility_meter', 'fritz', 'lovelace', 'scene', 'sonos', 'device_automation', 'fritzbox', 'cast', 'harmony', 'tag', 'tts', 'file_upload', 'intent', 'python_script', 'dlna_dmr', 'zone', 'blueprint', 'persistent_notification', 'home_connect', 'sun', 'trace'}
2022-12-01 11:22:32.721 ERROR (MainThread) [homeassistant.setup] Setup failed for custom integration dyson_local: Unable to import component: cannot import name 'DysonPurifierHumidifyCoolFormaldehyde' from 'libdyson' (/usr/local/lib/python3.10/site-packages/libdyson/__init__.py)

How to get rid of this problem?

I've got the exact same error

That's intermittent?
It looks like it may be loading an outdated version of libdyson for some reason. Have you tried deleting it and re-adding it ?

That's intermittent? It looks like it may be loading an outdated version of libdyson for some reason. Have you tried deleting it and re-adding it ?

yes, many times

I have the same issue. I have dyson cloud and dyson local both loaded and use my cloud credentials to use dyson local.
Here is the exact error I get
Logger: homeassistant.setup
Source: setup.py:210
First occurred: 10:40:32 PM (1 occurrences)
Last logged: 10:40:32 PM
Setup failed for custom integration dyson_cloud: Unable to import component: cannot import name 'DysonPurifierHumidifyCoolFormaldehyde' from 'libdyson' (/usr/local/lib/python3.10/site-packages/libdyson/init.py)

I've seen the same issue on my installation (done about an hour ago)

Can you check which version of libdyson is installed ?
Looks like you'd find it here : /usr/local/lib/python3.10/site-packages/
In my case I have libdyson-0.8.11 in there

It was 8.11, I removed the integration from HACS, both local and cloud, reloaded it and it now works. I think this is an intermittent problem, somehow the library either doesn't load at runtime or gets lost. To add, the initial installation worked, then somehow broke, and after I deleted and reloaded everything a few times, worked properly.

Dyson cloud never worked for me!
python3 get_devices.py also never worked > libdyson.exceptions.DysonInvalidAuth

I found a solution for me now: https://github.com/shenxn/ha-dyson/issues/178. Maybe it also helps others.


Container App log show command won't work

Command Name
az containerapp logs show Extension Name: containerapp. Version: 0.3.13.
Errors:
The command failed with an unexpected error. Here is the traceback:
'logStreamEndpoint'
Traceback (most recent call last):
  File "/opt/az/lib/python3.10/site-packages/knack/cli.py", line 233, in invoke
    cmd_result = self.invocation.execute(args)
  File "/opt/az/lib/python3.10/site-packages/azure/cli/core/commands/__init__.py", line 663, in execute
    raise ex
  File "/opt/az/lib/python3.10/site-packages/azure/cli/core/commands/__init__.py", line 726, in _run_jobs_serially
    results.append(self._run_job(expanded_arg, cmd_copy))
  File "/opt/az/lib/python3.10/site-packages/azure/cli/core/commands/__init__.py", line 697, in _run_job
    result = cmd_copy(params)
  File "/opt/az/lib/python3.10/site-packages/azure/cli/core/commands/__init__.py", line 333, in __call__
    return self.handler(*args, **kwargs)
  File "/opt/az/lib/python3.10/site-packages/azure/cli/core/commands/command_operation.py", line 363, in handler
    show_exception_handler(ex)
  File "/opt/az/lib/python3.10/site-packages/azure/cli/core/commands/arm.py", line 429, in show_exception_handler
    raise ex
  File "/opt/az/lib/python3.10/site-packages/azure/cli/core/commands/command_operation.py", line 361, in handler
    return op(**command_args)
  File "/home/charlie/.azure/cliextensions/containerapp/azext_containerapp/custom.py", line 2478, in stream_containerapp_logs
    logstream_endpoint = token_response["properties"]["logStreamEndpoint"]
KeyError: 'logStreamEndpoint'

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

No particular prerequisites, other than having a container app deployed...
az containerapp logs show -n {} -g {}

Expected Behavior
Shows logs
Environment Summary
Linux-5.15.0-56-generic-x86_64-with-glibc2.35, Ubuntu 22.04.1 LTS
Python 3.10.8
Installer: DEB

azure-cli 2.43.0

Extensions:
containerapp 0.3.13
ssh 1.1.3

Dependencies:
msal 1.20.0
azure-mgmt-resource 21.1.0b1

Additional Context

route to CXP team

@charlesavos Can you please upgrade your extensions version 0.3.17 and retry?


#609 Update documentation to use Go 1.15

Should close #609

Thanks @ianaz, sorry that this impacted you. I'm assuming you're unblocked now, but if you need compatibility with 1.14 then let me know as I think it should be easy to get it building again as the features we're using from 1.15 are very minor.

Thanks @ianaz, sorry that this impacted you. I'm assuming you're unblocked now, but if you need compatibility with 1.14 then let me know as I think it should be easy to get it building again as the features we're using from 1.15 are very minor.


Azure Metadata Service low priority vm preempt scheduled event

Hi,
My question is regarding the Azure Metadata Service low priority vm preempt scheduled event.
The current notice interval is 30 seconds.
Is there a plan to increase the notification time to amount higher than 30 secs?
Thanks,
Assaf

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

ID: 2ff57b63-a05d-2339-069d-de4c9749e2ae
Version Independent ID: 2e4fd8b7-6057-07ad-d23a-bb73fd432f8a
Content: Scheduled Events for Windows VMs in Azure
Content Source: articles/virtual-machines/windows/scheduled-events.md
Service: virtual-machines-windows
GitHub Login: @ericrad
Microsoft Alias: ericrad

@assaf-grth Thank you for reaching out to us. Can you please provide a link to the document which you are following so that I can engage the correct team to help you.

@assaf-grth Can you confirm that this is the document you are working with: https://docs.microsoft.com/en-us/azure/virtual-machines/windows/scheduled-events
Myself and @ChiragMishra-MSFT are looking to get this routed to the correct team. Thank you!

Hi @Mike-Ubezzi-MSFT
Yes, this is the document
Another document with similar issue is https://docs.microsoft.com/en-us/azure/virtual-machines/linux/scheduled-events for linux machines.

@assaf-grth i think there are no plans now to increase that time. I will check with my team and let you know.
@ericrad please provide your inputs

@assaf-grth There are no plans to increase the time beyond 30 seconds.
One of the reasons which i think is given below.
When a new user requested for a dedicated VM, old low priority vm has to be killed and new one has to be created in shorter time.
However you can place a feedback here.
Community can vote on that feedback. If many customers request for that feature, Then product teams will consider for implementation


Add golangci-lint precommit hook

This PR adds a golangci-lint  as a precommit hook.
For now, a number of linters are disabled on the test/ folder because they fails. We should revisit this list in a separate PR to decide which excludes are legitimate.

on the tests, I know there are a number of linter complaints about unreachable code because some tests are commented out since they aren't ported yet.  Once we finish porting test cases, it makes sense to go for no linter errors in test cases too.


Is there any way we can look at the code behind the Stories?

The documentation on the site is ok, but it would be much easier if we would have access to the code behind the examples. Is there any way we can study those? Have I missed them?
Being a newcomer to this library I think I would get the hang of things easier if the working examples would be accompanied by the code.
Sorry if I missed some really obvious thing, but I think I looked everywhere. Thank you! 🤗

You missed a really obvious thing ;)
https://github.com/clauderic/dnd-kit/tree/master/stories

Oh my god finally. For some reason I looked at the .storybook folder and thought that was it. Thank you

Happy to help :) And if it helps, I did the same thing when I first started using this!

Hahaha, glad I wasn't the only one 😎


#i with invalid path requires kernel restart to fix

Executing this command when the directory doesn't exist breaks all subsequent #r nugets
#i "nuget:C:\Foo"

Invalid executions should not break other cells.

/cc @colombod @brettfo

This is a duplicate of #319.


HDDS-8477. Unit test for Snapdiff using tombstone entries

What changes were proposed in this pull request?
Unit test for Snapdiff using tombstone entries, changes related to [HDDS-8137]
SSTDumpToolIterator was failing in the case key or value contain '\0' character, since prinf in c++ limits the string formatting till the first occurance null character. This PR also contains changes to send raw bytes of key, value over the pipe from the native sst file reader & corresponding changes to deserialize the raw bytes from the stream.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-8477
How was this patch tested?
Adding unit tests

@DaveTeng0 the snapshot delete robot test is failing. I have fixed it as part of thir PR pls take a look if the changes look fine.

Overall PR looks good to me. The cosmetic changes and this issue can be fixed as separate jira. Please create jira for this.
Please fix the checkstyle and other comment I gave.
On a side note, please resolve the comments if you have fixed or reply to them with justification. Don't just resolve comments without addressing them in one of the above way. For e.g.

https://github.com/apache/ozone/pull/4678/files#r1204811251
https://github.com/apache/ozone/pull/4678/files#r1204812669
https://github.com/apache/ozone/pull/4678/files#r1204817089

Thank you @swamirishi for this PR.

@aswinshakil @smengcl Can you push the native jar to the maven repo.

@aswinshakil ,  the TestManagedSstFileReader is consistently failing in CI. Could you please take a look?
https://github.com/apache/ozone/actions/runs/5251982605/jobs/9489304922?pr=4859


Is*JustReleased function for Actions?

It would be great to be able to have an ActionIsJustReleased function, just like ebitengine's inpututil package which provides IsKeyJustReleased, IsMouseButtonJustReleased, and IsGamepadButtonJustReleased.

There have been a couple of times I needed this as well.
I think this is a reasonable feature to have.

OK, I bumped into a situation where I need it.
I'll try to implement it.

As an off-topic, can we add https://github.com/harbdog/pixelmek-3d to the list of library users? :)
It's in the readme.

I may be moving the project under a general area soon, trying to get it ready for a playable alpha first though.

I rolled out the initial implementation.
Please let me know if it fits your use case.
If it's good enough for now, we can resolve this issue and keep the new related issues I created as follow-ups.

Works like a charm, just replaced the janky function I was using! Thanks!
https://github.com/harbdog/pixelmek-3d/pull/30


Addon only exporting when item has no extracted annotations

For some reason, I don't seem to be able to export any of my items which include extracted annotations (I click on "Export Item(s) to Roam" but nothing happens). If I delete the relevant note, however, the item will be exported correctly. I tried generating a debug log, hope this helps. Thanks in advance for any assistance you can provide.
`
version => 5.0.90, platform => MacIntel, oscpu => Intel Mac OS X 10.15, locale => en-GB, appName => Zotero, appVersion => 5.0.90, extensions => ZotFile (5.0.16, extension), Zotero DOI Manager (1.3.9, extension), Zotero Storage Scanner (5.0.8, extension), Zotero OCR (0.3.0, extension), Zotero LibreOffice Integration (5.0.23.SA.5.0.90, extension), Zotero Word for Mac Integration (5.0.29.SA.5.0.90, extension), Zotero Roam Export (1.11, extension), Better BibTex for Zotero (5.2.74, extension), Shockwave Flash (<IP_ADDRESS>3, plugin), Zotero Memento (1.0.0, extension, disabled), Zotero Date From Last Modified (0.0.12, extension, disabled), Zotero AutoIndex (5.0.6, extension, disabled), Zutilo Utility for Zotero (3.5.0, extension, disabled)
(4)(+0038603): SELECT IA.itemID FROM itemAttachments IA NATURAL JOIN items I LEFT JOIN itemData ID ON (IA.itemID=ID.itemID AND fieldID=13) LEFT JOIN itemDataValues IDV ON (ID.valueID=IDV.valueID) WHERE parentItemID=? AND linkMode NOT IN (3) AND IA.itemID NOT IN (SELECT itemID FROM deletedItems) ORDER BY contentType='application/pdf' DESC, value=?  AND linkMode NOT IN (3) AND IA.itemID NOT IN (SELECT itemID FROM deletedItems) ORDER BY contentType='application/pdf' DESC, value=?  AND linkMode NOT IN (3) AND IA.itemID NOT IN (SELECT itemID FROM deletedItems) ORDER BY contentType='application/pdf' DESC, value=?  AND linkMode NOT IN (3) AND IA.itemID NOT IN (SELECT itemID FROM deletedItems) ORDER BY contentType='application/pdf' DESC, value=? DESC, dateAdded ASC [103, 'https://academic.oup.com/jcle/article-lookup/doi/10.1093/joclec/nhs031']
(3)(+0000013): MIME type application/pdf cannot be handled internally
(4)(+0000002): SELECT IA.itemID FROM itemAttachments IA NATURAL JOIN items I LEFT JOIN itemData ID ON (IA.itemID=ID.itemID AND fieldID=13) LEFT JOIN itemDataValues IDV ON (ID.valueID=IDV.valueID) WHERE parentItemID=? AND linkMode NOT IN (3) AND IA.itemID NOT IN (SELECT itemID FROM deletedItems) ORDER BY contentType='application/pdf' DESC, value=?  AND linkMode NOT IN (3) AND IA.itemID NOT IN (SELECT itemID FROM deletedItems) ORDER BY contentType='application/pdf' DESC, value=? DESC, dateAdded ASC [103, 'https://academic.oup.com/jcle/article-lookup/doi/10.1093/joclec/nhs031']
(3)(+0009927): TypeError: noteParasArray[prevParaIndex] is undefined getItemNotes@chrome://zoteroroamexport/content/roamexport.js:301:73 gatherItemData@chrome://zoteroroamexport/content/roamexport.js:324:25 getAllItemsData@chrome://zoteroroamexport/content/roamexport.js:336:28 exportItems@chrome://zoteroroamexport/content/roamexport.js:346:28
`

(3)(+0000013): MIME type application/pdf cannot be handled internally

Can you provide a screengrab of the item you're trying to export? This message 🔼 implies you might be trying to export a PDF rather than a Zotero Item (but I could be wrong).

Thanks for your reply. I'm right-clicking on the parent item. Attaching two screenshots, one of an item with extracted annotations (nothing happens after I click) and the other of an item with no annotations (the export is successful, but not that useful of course).


I'm trying to execute my code via SSH using 2 GPUs but I get this error

I'm executing the training of YOLOv7 using Multi-GPU DistributedDataParallel Mode (https://docs.ultralytics.com/tutorials/multi-gpu-training/).
The error is:
FileNotFoundError: [Errno 2] No such file or directory: 'runs/train/exp52/weights'
Using only one GPU everything is ok.
Why?

Hi @lorenzlorg,
This error does not seem to be related to W&B - looks like the weights are missing. I would look further look into the documentation of the YOLOv7 library or reach out to their developers.
Thanks,
Ramit

@ramit-wandb thanks for your reply! I've tried to change weights but I get the same error.
Anyway, it's strange because other similar errors arise, such as:
PermissionError: [Errno 13] Permission denied: 'runs/train/exp...
It seems that the code has some problems accessing to these folders.

Can you share the whole stack trace?

Hi @lorenzlorg, since we have not heard back from you we are going to close this request. If you would like to re-open the conversation, please let us know!


Add username validation

Added username validation logic in user schemas and user services.
Updated routes for user creation and update to handle username uniqueness.
Added tests for username validation.

This pull request resolves issue #5.


New Feature, insert input-group in controls

Created element InputGroup
Add method inputGroup in class FormGroup and GroupWrapper

Coverage increased (+0.44%) to 89.02% when pulling c4190c4430b6581f1a6d9d97905243848fe45244 on input-groups into 33c29ca5cb703094dc8432c6cc6affff1dd4f2bd on master.


Boolean is Bool in Elm

The generated elm calls Bool for Boolean/boolean
hotfix for others
graphql-make.sh
perl -pi -e 's/Boolean/Bool/g' Your/Output/Foo.elm
perl -pi -e 's/boolean/bool/g' Your/Output/Foo.elm

Fixed in 2e1b9d6b4955eb7e003c252573a7cb08188e43d9, thanks!


Fix disable button opacity

:tada: This PR is included in version 1.6.2 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


fix(base_client): max_retries null point exception

Reproduce code(Due to various reasons, the interface request failed, such as rate limiting.):
resp = co.tokenize(text=text, model="embed-multilingual-light-v3.0", offline=False)

Exception stack trace:
response = self.httpx_client.request(*args, **kwargs)
     95 if _should_retry(response=response):
---> 96     if max_retries > retries:
     97         time.sleep(_retry_timeout(response=response, retries=retries))
     98         return self.request(max_retries=max_retries, retries=retries + 1, *args, **kwargs)

TypeError: '>' not supported between instances of 'NoneType' and 'int'

The reason is because of None value for max_retries.
Other similar codes should also have corresponding issues, so I made some modifications together.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


chore: Run CI on ubuntu-latest runner

Description

Problem*

Resolves
Summary*

Documentation

[ ] This PR requires documentation updates when merged.

[ ] I will submit a noir-lang/docs PR.

[ ] I will request for and support Dev Rel's help in documenting this PR.

Additional Context

PR Checklist*

[ ] I have tested the changes locally.
[ ] I have formatted the changes with Prettier and/or cargo fmt on default settings.

CI still needs to build barretenberg as a dependency so there is room for improvement once that gets removed


[usbdev] Race condition, SETUP packets

Description
The documentation says the following about the configin . rdy bit:

This bit should be set to indicate the buffer is ready for sending. It will be cleared when the ACK is received indicating the host has accepted the data.
This bit will also be cleared if an enabled SETUP transaction is received on the endpoint. This allows use of the IN channel for transfer of SETUP information. The original buffer must be resubmitted after the SETUP sequence is complete. A link reset also clears the bit. In either of the cases where the hardware cancels the transaction it will also set the pend bit.

A SETUP transaction typically consists of the USB host sending a SETUP packet, and then retrieving one or more IN packets in response.  Software on OT will handle the reception of a SETUP packet in the RXFIFO by preparing (part of) a response and then setting the above configin.rdy bit to allow the host to retrieve the data.  It appears that the functionality for the hardware to clear the rdy bit upon reception of a SETUP packet is meant for cases where the USB host will issue a new SETUP request before having retrieved every part of the previous response.  This is a good feature to have, however, it seems to me that there is a gap:  If a second SETUP is received while processing of the first one has not yet completed.  In that case, when processing of the first SETUP packet completes and is ready to set the rdy bit, the second SETUP packet has already been received, and hence the second SETUP will not cause clearing of the rdy bit.  Instead, the USB host will get confused, as it receives stale data and thinks that they were in response to the most recent request.
In my view, we need a hardware feature similar to how the i2cdev treats non-empty ACQ fifo.  That is, if the USB rxfifo contains one or more SETUP packets (meaning that there are already requests which the software has not yet seen or processed), then an attempt by software to set the rdy bit should immediately result in the pend bit being set (and the rdy bit not actually being set).  This way, the end result will be the same, whether the second SETUP packet arrives one clock cycle before or after the software attempts to set the rdy bit based on a previous SETUP packet.
I am wondering if we can find a software workaround for the A1 hardware.  The only thing I can think of is something like every time you want to set the rdy bit on the control endpoint, then you have to disable reception of SETUP packets, inspect the rxfifo to verify that there are none in queue, then set the rdy bit, and then re-enable processing of SETUP packets.

The clearing of 'rdy' and setting 'pend' when a SETUP packet is received is a recovery mechanism, in the event that a preceding Control Transfer failed. Specifically we did not see the ACK from the host for the Status stage of an OUT control transfer.
When you say that '...processing of the first one has not yet completed' it's important to note that Control Transfers to a given endpoint cannot be  overlapped. The reception of a SETUP packet implicitly cancels any in-progress Control Transfer.
I've tried to sketch out an explanation of Control Transfers below, and shall try to flesh this out into a bit more comprehensive explanation to include in the programmer's guide for USBDEV, because admittedly Control Transfers can be confusing and USBDEV has no real knowledge of them, nor any involvement in the sequencing/control flow. It deals only with the packet-level transactions but does have the necessary mechanisms to implement them robustly.
Control Transfers consist of two or three stages. There will normally be three stages because some data is transferred, but if there is no data to be transferred then the data stage is skipped.
**IN Control Transfer**

_Setup Stage:_

  SETUP packet is received by USBDEV; the contents of this 8-byte packet include the direction
  of the transfer. This packet also contains a field 'wLength' which specifies the maximum number
  of bytes that the host wishes to transfer, although the software/USBDEV may supply fewer bytes
  than requested.

_Data Stage:_

  Host sends IN requests and collects packets from USBDEV until it retrieves one that is less than
  the maximum packet length. The host only knows that it has received all of the IN data at that
  point.

  If the amount of IN data that must be transferred is an exact multiple of the maximum packet
  length that the endpoint declared to the host, the device software must generate a
  'Zero Length Packet'. Since this packet is less than the maximum length the host knows that the
  device software has transferred all of the data for this Control Transfer, and it will proceed to the
  Status Stage.

  When the software receives an indication (via `in_sent`) that the final packet was successfully
  collected from the host, it will move to the Status stage and expect to receive an OUT packet.

_Status Stage:_

  In order to conclude the Control Transfer successfully, the host sends an OUT packet of zero
  bytes to the USBDEV to indicate succes.s When USBDEV ACKnowledges that ZLP and the
  host sees the ACK successfuly, the Control Transfer is complete.

OUT Control Transfer
Setup Stage:
SETUP packet is received by USBDEV; the contents of this 8-byte packet include the direction
of the transfer and, via 'wLength', the anticipated number of bytes to be transmitted.
Data Stage:
Host sends OUT packets to USBDEV until all of the data has been transferred. If the amount of
data to be transferred is an exact multiple of the declared maximum packet length then the host
will also transmit a 'Zero Length Packet'.
The software driving USBDEV only knows that all of the data in the Data Stage has been transferred,
and that therefore the Data Stage is complete, when it receives a packet that is shorter than the
maximum packet length.
It then proceeds to the Status stage.
Status Stage:
In order to conclude the Control Transfer successfully, the software driving USBDEV shall present
a Zero Length Packet for collection by an IN request from the host. When the host has collected
that packet and ACKnowledged its successful receipt, the software driving USBDEV knows that the
Control Transfer has completed successfully.

**Two Stage Control Transfers**

If the host controller knows that there is no requirement for a Data Stage because there is no data to be transferred, it will move directly into the Status Stage. The software driving USBDEV must do likewise, using the 'wLength' field of the SETUP packet field, and should expect only to send/receive the Zero Length Packet of the Status stage.

I hope that's a sufficiently clear overview to be helpful. Returning to the original description, the software driving USBDEV should not in normal operation be attempting to present an IN packet for collection at the point that the SETUP packet of a Control Transfer is being received, since both the device software and the hosts controller shall be following the above sequence.

I realize that what I describe should only happen in odd situations, under which maybe the host controller "looses state" and forgets that it is in the process of retrieving a sequence of data packets as part of an "IN Control Transfer", and instead sends a new SETUP packet.  I assume that the recovery mechanism of clearing the rdy flag upon receiving SETUP is meant to gracefully recover even from such cases, and I wanted to point out that there is a gap, in that the SETUP packet could very easily have arrived before the software set the rdy bit.
In my case, I have another bug in the software running on OT, causing it to deviate from the protocol outlined above, and which makes the situation much more likely to happen, but I wanted to raise this issue for consideration nonetheless.
Actually thinking about the further statement "A link reset also clears the bit."  I think there is a race there, as well.  In case the link is reset while the software is processing for instance a SETUP packet (or processing any other normal part of its logic), which may end in the preparing outbound data and the configin.rdy bit being set, then the automatic logic to clear rdy on link reset could also be sidestepped, if the link reset happened before the rdy bit was set.  If we wanted to make the logic fool-proof, then link reset should latch a "link reset"-bit, which software needs to clear before any rdy bits could be set.

May I ask whether you are using interrupts or simply polling to drive the USB device? When a packet such as a SETUP packet is accepted into RX FIFO, the 'pkt_received' interrupt is asserted. It is then important to collect all packets from the RX FIFO in the interrupt handler, because otherwise the interrupt will remain asserted. Also, not doing so opens up the timing window for such races to occur.
You are correct that there will be a tiny window of a few clock cycles after the SETUP packet results in 'rdy' being cleared and 'pend' being asserted, and before the interrupt arrives at the CPU, interrupting the execution of any foreground code that may be trying to present an IN packet. The interrupt handler can safely retract that IN packet if it has already occurred

We are using interrupts, but TockOS strongly encourages all actual processing be done in what I would call "bottom half handlers", that is, there could be a long and unpredictable delay between the interrupt being raised, and the code running that actually handles the interrupt.  (We "claim" the interrupt with the PLIC from the actual "top" handler, so that execution can leave the interrupt routine without immediately re-entering, but then other kernel code could run, potentially bottom half handlers belonging to prior events, which could e.g. mark an IN packet rdy, before our bottom half handler actually services the usbdev, and finally marks the interrupt as "completed" with the PLIC.)
Given the above, we cannot easily guarantee that we will react to interrupts within 4.3 microseconds, or any other bound.  This is why we have taken care to ensure that e.g. the I2C device never requires interrupt latency guarantees for correct operation.
When fixing my logic to not incorrectly mark empty IN packets as "ready", the problem becomes much less likely to manifest.  Basically, only of the USB host does something really weird of sending two SETUP in quick succession, such that the second one arrives as the bottom half handler belonging to the first is executing, then the result could be that our code puts the response to the first in queue, while the host thinks it is the response to the second.  I think it is safe to assume that if a USB host "forgets" what it is doing like that, there will quite likely be some significant delay, as it would be a result of drivers or maybe user processes crashing and re-starting.  So it is quite possible that it will work fine for all time, without further enhancement of the hardware recovery logic.

Out of curiosity, can you share the kind of host that generates two SETUP packets that quickly (what is the time difference between the two)? I mean technically it's not violating the spec because the second SETUP packet is supposed to cancel the previous one but this should not happen under normal circumstances.
Maybe you could do a minimal amount of processing in the ISR just to specifically abort the previous control transfer if it's not finished?

We are using interrupts, but TockOS strongly encourages all actual processing be done in what I would call "bottom half handlers", that is, there could be a long and unpredictable delay between the interrupt being raised, and the code running that actually handles the interrupt.

This statement frequently comes up with "strongly encourages," and it needs to not be escalated beyond that. If TockOS does not permit any top half logic to run, then it is a completely broken design. The general principles of good ISR design have us minimize the top half to minimize the response time to a pending high-priority event (interrupts are disabled in the top half, and the size of the critical section prevents responding to a new event).
If we are only allowed to handle the PLIC in the ISR, then there is no top half (only the scheduling overhead), and the fast response class is eliminated, likely leaving us with a terrible-by-all-metrics event handling architecture.

Maybe you could do a minimal amount of processing in the ISR just to specifically abort the previous control transfer if it's not finished?

I have non-interrupt kernel code which looks at some state (generating a sequence of response packets to a previous SETUP packet), makes a decision that another IN response is warranted, produces the data, and then sets the rdy bit.  The issue is that if a second SETUP packet arrives after the decision has been made, but before the rdy bit is set, then the hardware will think that the IN packet should be a response to the newly received SETUP.  In order to do what you suggest here, if the kernel logic was interrupted the instruction before setting the rdy bit, I would need to do some exceedingly ugly manipulation of the process stack in order for the ISR to prevent the ordinary kernel code from marking the packet as ready.  (And even this would not catch the case that the packet arrived just before the rdy was set, but the processor core only saw the interrupt a few cycles later.)
To be 100% failsafe, I see no other way than making the USB IP aware that if a SETUP packet sits in the queue, which the software has not yet acknowledged (by pulling it out of the FIFO), the hardware should treat software attempts to set rdy as being immediately cancelled.

If we are only allowed to handle the PLIC in the ISR, then there is no top half (only the scheduling overhead), and the fast response class is eliminated, likely leaving us with a terrible-by-all-metrics event handling architecture.

In my view, the Ti50 team at Google is trying to reap the maximum benefit of the Rust language security features.  Any time we have top half ISR handlers accessing and mutating state also used by the rest of the kernel, then we have to side-step the Rust memory safety features.  (As by the nature of ISR handlers, the Rust reference validator cannot guarantee that we do not have simultaneous mutable references to the shared state from interrupt handler and main kernel code.)  We want to minimize the number of instances that we side-step compiler safeguards, which is why we want to take any opportunity to avoid hard timing requirements, and not have any top half handling save for the trivial scheduling.  (In practice, we do have a few non-trivial top-half handlers, but I feel it would be a shame to have to add one for this issue, when in my view it makes sense to eliminate the race in hardware, in a similar fashion as was done with the I2C device IP.)

Out of curiosity, can you share the kind of host that generates two SETUP packets that quickly (what is the time difference between the two)? I mean technically it's not violating the spec because the second SETUP packet is supposed to cancel the previous one but this should not happen under normal circumstances.

I have not seen the host generate back-to-back SETUP packets in practice.  I encountered this issue because of another bug in my code, which triggered the production of extraneous zero-length IN packets in my code right after any IN response to a SETUP packet, even when none should have been sent because the first IN packet was less than 64 bytes.  That bug allowed me to discover that though such prepared IN packets, which were not retrieved by the host would be discarded by the hardware if a SETUP arrived later, it was a problem if the SETUP arrived before rdy was set, but after the code had made a decision to respond to what it believed was the "current" SETUP request.


how to get atan2_coefs_f32?

Could you please help me with this? How are the coefficients of the arm_atan_limited_f32 function obtained? Are they derived from polynomial curve fitting or Taylor expansion? I used MATLAB to generate the curve over the interval [0, 1] and performed fitting, but I found that the obtained coefficients do not match those in the code.
static const float32_t atan2_coefs_f32[ATAN2_NB_COEFS_F32]={0.0f
,1.0000001638308195518f
,-0.0000228941363602264f
,-0.3328086544578890873f
,-0.004404814619311061f
,0.2162217461808173258f
,-0.0207504842057097504f
,-0.1745263362250363339f
,0.1340557235283553386f
,-0.0323664125927477625f
};

@Quintin-Z It is a polynomial produced using minimax approximation. The Remez algorithm is used.
You probably won't be able to exactly reproduce the coefficients but you should be able to produce a polynomial with same error bound on the interval [0,1]

i got it，thank you very much！Mr. Favergeon


feat(family) Add with_labels method to the metrics Family

Added a new method with_labels to Family
Unlike the Family::get_or_create method, this one takes a closure that runs with the context of a counter. This approach avoids label set cloning and better hides an implementation details.
Example
let family = Family::<Vec<(String, String)>, Counter>::default();
// Similar to the `get_or_create`
family.with_labels(vec![("method".to_string(), "GET".to_string())], |counter| {
    counter.inc()
});
assert_eq!(
    2,
    family.with_labels(vec![("method".to_string(), "GET".to_string())], |counter| {
        counter.get()
    })
);

Closing here since this is missing further reasoning why this is worth merging. Please ping me in case I am missing something.


use pathdiff::diff_path

This pr is going to use pathdiff::diff_path, so we don't need to handle for relative path by ourselves.
This is also the behavior before the rewritten of run_external.rs

Since the pr to nushell is merged, I will close this and create a new pr to nushell directly


investigate burn logger

burn has a well-featured logger. Rather than implementing our own, it may be smoother to use theirs. Investigate burn's logger and see if it can used for our purposes

https://github.com/tracel-ai/burn/blob/main/crates/burn-train/src/logger/mod.rs


The websocket write function was added

We have redesigned our client's connection pool. Since our business involves more data writes and fewer queries, we want to introduce WebSocket functionality to avoid frequent connections. Additionally, MeiliSearch only supports HTTP connections, which are not ideal for handling performance. Offering multiple types of connectors would be more convenient, such as pubsub connectors, Redis message queue connectors, RocketMQ connectors, MySQL connectors, and custom connectors. This approach would greatly facilitate data processing.

Hello @a496046961
Thanks for using Meilisearch
We don't handle feature request in this repository

I'd recommend you start a discussion about it on the product repo, detailing your use case and any other information that may be useful. This information would be very beneficial to our product team, and I assure you that your suggestion will be evaluated.
Have a nice day


Refactor: Page Routing. Rout Guards. Clean AppRouter File.

use a login gurad to:

prevent users from seeing the profile page if not logged in. (from profile page to home page)
redirect users to their profile page if they are logged in. (from homepage to profile page)

Use guard like in M1

https://github.com/sopra-fs24-group-46/client/commit/3e0bb4f8aa770497b8bb5c7bbbdf13ee2f0b376a


Udev rule 68-azure-sriov-nm-unmanaged.rules creation part missing for RHEL 7 and RHEL 8

Hello Team,
While migrating the RHEL 7 and RHEL 8 machines from on-premises, the udev rule 68-azure-sriov-nm-unmanaged.rules creation is necessary. In the document (https://learn.microsoft.com/en-us/azure/virtual-machines/linux/redhat-create-upload-vhd), it is included for RHEL 6, but not for RHEL 7 and 8 currently.
sudo cat <> /etc/udev/rules.d/68-azure-sriov-nm-unmanaged.rules
#Accelerated Networking on Azure exposes a new SRIOV interface to the VM.
#This interface is transparently bonded to the synthetic interface,
#so NetworkManager should just ignore any SRIOV interfaces.
SUBSYSTEM=="net", DRIVERS=="hv_pci", ACTION=="add", ENV{NM_UNMANAGED}="1"
EOF
There are specific V5 series of images in Azure for which Accelerated Networking is required. When one were to migrate to those series (mentioned below) of VMs, and if this udev rule is missing, then NetworkManager assigns the same ip address to Virtual Function interface as well.
when NetworkManager is allowed to manage the SRIOV interface:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 60:45:bd:da:d4:68 brd ff:ff:ff:ff:ff:ff
inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::6245:bdff:feda:d468/64 scope link
valid_lft forever preferred_lft forever
3: enP65438s1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master eth0 state UP group default qlen 1000
link/ether 60:45:bd:da:d4:68 brd ff:ff:ff:ff:ff:ff
altname enP65438p0s2
inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global noprefixroute enP65438s1
valid_lft forever preferred_lft forever
inet6 fe80::ca1d:6c1a:f88a:fd7a/64 scope link tentative noprefixroute
valid_lft forever preferred_lft forever
Some of the Accelerated Networking Required VM series:
https://learn.microsoft.com/en-us/azure/virtual-machines/dv5-dsv5-series
https://learn.microsoft.com/en-us/azure/virtual-machines/ddv5-ddsv5-series
https://learn.microsoft.com/en-us/azure/virtual-machines/dlsv5-dldsv5-series
https://learn.microsoft.com/en-us/azure/virtual-machines/ev5-esv5-series
https://learn.microsoft.com/en-us/azure/virtual-machines/edv5-edsv5-series
RedHat public documentation also has creating 68-azure-sriov-nm-unmanaged.rules as one of the required steps for Azure. So, I request that it be included here for RHEL 7 and RHEL 8 as well.
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/deploying_rhel_8_on_microsoft_azure/assembly_deploying-a-rhel-image-as-a-virtual-machine-on-microsoft-azure_cloud-content-azure

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

ID: 48bab424-986d-9922-ec2d-942508081367
Version Independent ID: 6e9b3ebd-0571-357e-0fde-ef434a728a24
Content: Create and upload a Red Hat Enterprise Linux VHD for use in Azure - Azure Virtual Machines
Content Source: articles/virtual-machines/linux/redhat-create-upload-vhd.md
Service: virtual-machines
Sub-service: redhat
GitHub Login: @srijang
Microsoft Alias: maries

@kravipatisupport
Thanks for your feedback! We will investigate and update as appropriate.

@kravipatisupport
I'm going to assign this to the document author so they can take a look at it accordingly
@srijang
Can you please check and add your comments on this doc update request as applicable.

Hello Authors, can you help with the requested modification. I can help for anymore data required.

Hi @kravipatisupport , thanks for the feedback!
I've resolved the issue in the doc and added a warning stating the importance of Accelerated Networking on newer VM sizes. I will also work with the sizes team to see if we can mention this on the sizes pages themselves.
#please-close


{Network} az network list-service-tags/list-service-aliases: Migrate to atomic commands

Related command

az network list-service-tags/list-service-aliases
No migration commands：
az network list-usages
Description

Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change
[Component Name 2] az command b: Add some customer-facing feature

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

Network


mixer: add enable l2 cache flag

Add a flag to enable L2 cache (optionally).
Before this change, the cache was force disabled. Now it's disabled by default.
/assign @geeknoid
Signed-off-by: Kuat Yessenov<EMAIL_ADDRESS>

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: kyessenov
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

mixer/OWNERS [kyessenov]

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

@kyessenov: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-local-tests.sh
bad6a19bf360e5fdf81448678365d13c9e76281f
link
/test istio-integ-local-tests

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.

@kyessenov: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-local-tests.sh
bad6a19bf360e5fdf81448678365d13c9e76281f
link
/test istio-integ-local-tests

prow/istio-integ-k8s-tests.sh
bad6a19bf360e5fdf81448678365d13c9e76281f
link
/test istio-integ-k8s-tests

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.

@kyessenov: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-local-tests.sh
bad6a19bf360e5fdf81448678365d13c9e76281f
link
/test istio-integ-local-tests

prow/istio-integ-k8s-tests.sh
bad6a19bf360e5fdf81448678365d13c9e76281f
link
/test istio-integ-k8s-tests

prow/istio-presubmit.sh
bad6a19bf360e5fdf81448678365d13c9e76281f
link
/test istio-presubmit

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.

@kyessenov: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
bad6a19bf360e5fdf81448678365d13c9e76281f
link
/test istio-integ-k8s-tests

prow/istio-unit-tests.sh
ee844372d8a28f5b8cd56af79606179199004e83
link
/test istio-unit-tests

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.

@kyessenov: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
ee844372d8a28f5b8cd56af79606179199004e83
link
/test istio-unit-tests

prow/istio-integ-k8s-tests.sh
ee844372d8a28f5b8cd56af79606179199004e83
link
/test istio-integ-k8s-tests

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.

@kyessenov: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
ee844372d8a28f5b8cd56af79606179199004e83
link
/test istio-unit-tests

prow/istio-integ-k8s-tests.sh
ee844372d8a28f5b8cd56af79606179199004e83
link
/test istio-integ-k8s-tests

prow/istio-pilot-multicluster-e2e.sh
ee844372d8a28f5b8cd56af79606179199004e83
link
/test istio-pilot-multicluster-e2e

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.

Anyone?

Why does this need a flag? Isn't setting the number of cache entries to 0 sufficient?

I don't think we can change default to 0 from 1500000 for numCheckCacheEntries. With a flag, we don't have to change any defaults for any existing flags.

stale?

@kyessenov probably?  with policy disabled by default, I don't believe this is critical.

As I stated above, I think we don't need a new flag. Let's just set the default # cache entries to 0 and remove the code in server.go that forces it to 0. I think that's good enough.


rmq.app! as shorthand for rmq.app.get. Analogous to rmq.append!

With tests.

Nice! I like it. 👍

:+1:


python 3.9 - AttributeError: 'Name' object has no attribute 'value'

Command : mkdocs build -f docs/mkdocs.yml -v
When i run the command with python 3.8, it works.
When i run the command with python 3.9, it fails :
DEBUG   -  Config value: 'plugins' = PluginCollection([('search', <mkdocs.contrib.search.SearchPlugin object at 0x7f9f49027970>), ('mkapi', <mkapi.plugins.mkdocs.MkapiPlugin object at 0x7f9f48fbd880>)])
Traceback (most recent call last):
  File "/root/.cache/pypoetry/virtualenvs/ifr-lib-OYUa1U17-py3.9/bin/mkdocs", line 8, in <module>
    sys.exit(cli())
  File "/root/.cache/pypoetry/virtualenvs/ifr-lib-OYUa1U17-py3.9/lib/python3.9/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/root/.cache/pypoetry/virtualenvs/ifr-lib-OYUa1U17-py3.9/lib/python3.9/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/root/.cache/pypoetry/virtualenvs/ifr-lib-OYUa1U17-py3.9/lib/python3.9/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/root/.cache/pypoetry/virtualenvs/ifr-lib-OYUa1U17-py3.9/lib/python3.9/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/root/.cache/pypoetry/virtualenvs/ifr-lib-OYUa1U17-py3.9/lib/python3.9/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/root/.cache/pypoetry/virtualenvs/ifr-lib-OYUa1U17-py3.9/lib/python3.9/site-packages/mkdocs/__main__.py", line 152, in build_command
    build.build(config.load_config(**kwargs), dirty=not clean)
  File "/root/.cache/pypoetry/virtualenvs/ifr-lib-OYUa1U17-py3.9/lib/python3.9/site-packages/mkdocs/commands/build.py", line 236, in build
    config = config['plugins'].run_event('config', config)
  File "/root/.cache/pypoetry/virtualenvs/ifr-lib-OYUa1U17-py3.9/lib/python3.9/site-packages/mkdocs/plugins.py", line 94, in run_event
    result = method(item, **kwargs)
  File "/root/.cache/pypoetry/virtualenvs/ifr-lib-OYUa1U17-py3.9/lib/python3.9/site-packages/mkapi/plugins/mkdocs.py", line 50, in on_config
    config, self.abs_api_paths = mkapi.plugins.api.create_nav(
  File "/root/.cache/pypoetry/virtualenvs/ifr-lib-OYUa1U17-py3.9/lib/python3.9/site-packages/mkapi/plugins/api.py", line 23, in create_nav
    page[key], abs_api_paths_ = collect(
  File "/root/.cache/pypoetry/virtualenvs/ifr-lib-OYUa1U17-py3.9/lib/python3.9/site-packages/mkapi/plugins/api.py", line 47, in collect
    module = get_module(package_path)
  File "/root/.cache/pypoetry/virtualenvs/ifr-lib-OYUa1U17-py3.9/lib/python3.9/site-packages/mkapi/core/module.py", line 104, in get_module
    module = Module(obj)
  File "<string>", line 4, in __init__
  File "/root/.cache/pypoetry/virtualenvs/ifr-lib-OYUa1U17-py3.9/lib/python3.9/site-packages/mkapi/core/module.py", line 27, in __post_init__
    super().__post_init__()
  File "/root/.cache/pypoetry/virtualenvs/ifr-lib-OYUa1U17-py3.9/lib/python3.9/site-packages/mkapi/core/structure.py", line 106, in __post_init__
    self.members = self.get_members()
  File "/root/.cache/pypoetry/virtualenvs/ifr-lib-OYUa1U17-py3.9/lib/python3.9/site-packages/mkapi/core/module.py", line 48, in get_members
    return get_members(self.obj)
  File "/root/.cache/pypoetry/virtualenvs/ifr-lib-OYUa1U17-py3.9/lib/python3.9/site-packages/mkapi/core/module.py", line 81, in get_members
    module = get_module(name)
  File "/root/.cache/pypoetry/virtualenvs/ifr-lib-OYUa1U17-py3.9/lib/python3.9/site-packages/mkapi/core/module.py", line 104, in get_module
    module = Module(obj)
  File "<string>", line 4, in __init__
  File "/root/.cache/pypoetry/virtualenvs/ifr-lib-OYUa1U17-py3.9/lib/python3.9/site-packages/mkapi/core/module.py", line 28, in __post_init__
    self.node = get_node(self.obj)
  File "/root/.cache/pypoetry/virtualenvs/ifr-lib-OYUa1U17-py3.9/lib/python3.9/site-packages/mkapi/core/node.py", line 229, in get_node
    return Node(obj, sourcefile_index)
  File "<string>", line 5, in __init__
  File "/root/.cache/pypoetry/virtualenvs/ifr-lib-OYUa1U17-py3.9/lib/python3.9/site-packages/mkapi/core/node.py", line 31, in __post_init__
    super().__post_init__()
  File "/root/.cache/pypoetry/virtualenvs/ifr-lib-OYUa1U17-py3.9/lib/python3.9/site-packages/mkapi/core/structure.py", line 106, in __post_init__
    self.members = self.get_members()
  File "/root/.cache/pypoetry/virtualenvs/ifr-lib-OYUa1U17-py3.9/lib/python3.9/site-packages/mkapi/core/node.py", line 82, in get_members
    return get_members(self.obj)
  File "/root/.cache/pypoetry/virtualenvs/ifr-lib-OYUa1U17-py3.9/lib/python3.9/site-packages/mkapi/core/node.py", line 209, in get_members
    member = get_node(obj, sourcefile_index)
  File "/root/.cache/pypoetry/virtualenvs/ifr-lib-OYUa1U17-py3.9/lib/python3.9/site-packages/mkapi/core/node.py", line 229, in get_node
    return Node(obj, sourcefile_index)
  File "<string>", line 5, in __init__
  File "/root/.cache/pypoetry/virtualenvs/ifr-lib-OYUa1U17-py3.9/lib/python3.9/site-packages/mkapi/core/node.py", line 31, in __post_init__
    super().__post_init__()
  File "/root/.cache/pypoetry/virtualenvs/ifr-lib-OYUa1U17-py3.9/lib/python3.9/site-packages/mkapi/core/structure.py", line 100, in __post_init__
    signature = get_signature(obj)
  File "/root/.cache/pypoetry/virtualenvs/ifr-lib-OYUa1U17-py3.9/lib/python3.9/site-packages/mkapi/core/signature.py", line 356, in get_signature
    return Signature(obj)
  File "<string>", line 7, in __init__
  File "/root/.cache/pypoetry/virtualenvs/ifr-lib-OYUa1U17-py3.9/lib/python3.9/site-packages/mkapi/core/signature.py", line 71, in __post_init__
    self.set_attributes()
  File "/root/.cache/pypoetry/virtualenvs/ifr-lib-OYUa1U17-py3.9/lib/python3.9/site-packages/mkapi/core/signature.py", line 118, in set_attributes
    for name, (type, description) in get_attributes(self.obj).items():
  File "/root/.cache/pypoetry/virtualenvs/ifr-lib-OYUa1U17-py3.9/lib/python3.9/site-packages/mkapi/core/attribute.py", line 269, in get_attributes
    return get_class_attributes(obj)
  File "/root/.cache/pypoetry/virtualenvs/ifr-lib-OYUa1U17-py3.9/lib/python3.9/site-packages/mkapi/core/attribute.py", line 185, in get_class_attributes
    attr_lineno = get_attributes_with_lineno(nodes, module)
  File "/root/.cache/pypoetry/virtualenvs/ifr-lib-OYUa1U17-py3.9/lib/python3.9/site-packages/mkapi/core/attribute.py", line 121, in get_attributes_with_lineno
    attr, lineno, type_str = parse_annotation_assign(x)
  File "/root/.cache/pypoetry/virtualenvs/ifr-lib-OYUa1U17-py3.9/lib/python3.9/site-packages/mkapi/core/attribute.py", line 61, in parse_annotation_assign
    type = parse_node(assign.annotation)
  File "/root/.cache/pypoetry/virtualenvs/ifr-lib-OYUa1U17-py3.9/lib/python3.9/site-packages/mkapi/core/attribute.py", line 47, in parse_node
    return parse_subscript(x)
  File "/root/.cache/pypoetry/virtualenvs/ifr-lib-OYUa1U17-py3.9/lib/python3.9/site-packages/mkapi/core/attribute.py", line 23, in parse_subscript
    slice = parse_node(x.slice.value)
AttributeError: 'Name' object has no attribute 'value'

Have you any idea ?

This could be similar to https://github.com/wemake-services/wemake-python-styleguide/issues/1652. There were some changes to ast.Subscript that could be causing this https://bugs.python.org/issue40430


More consistent creation and handling of log files

@mike-bourgeous how's this?

Looks good now.  I'd like to go further and delay log file creation until an object is actually instantiated, but this should be good enough for now.


[full-API e-link/template]  json example newlines

In the full API Documentation,
in the json input example for POST/e-link/templates, the newlines must be still removed in order for the Call to work properly.
 {
	"query": "PREFIX dbpedia: <http://dbpedia.org/resource/> \n PREFIX dbpedia-owl: <http://dbpedia.org/ontology/> \n PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> \n PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> \n CONSTRUCT \n { \n ?museum <http://xmlns.com/foaf/0.1/based_near> <@@@entity_uri@@@> . \n } \n WHERE \n { \n <@@@entity_uri@@@> geo:geometry ?citygeo . \n ?museum rdf:type <http://schema.org/Museum> . \n ?museum geo:geometry ?museumgeo . \n FILTER (<bif:st_intersects>(?museumgeo, ?citygeo, 10)) \n } \n LIMIT 10",
    "endpoint": "http://dbpedia.org/sparql/",
    "label": "template title",
    "description": "template description",
    "endpointType": "sparql",
    "visibility": "public"
    }

works for me. I suppose this won't look nice though,  I will test it locally and update it if its okay. Otherwise we could use a uploaded file?

The text says "Please note that you have to convert newline characters to \n before copy & pasting it in JSON:" so I think removing newlines is explained here.
I think we can close this issue or what do you think?

Please change the JSON example and remove newlines.

I have updated the example.


fix(core): export handleParentExpand

Hey,
I tried to use this logic in a custom data store but it's not exposed.
It would be handy instead of copy pasting the code.
lmk

sure thing!


Add schema registry support for protobuf

Confluent's Schema Registry  supports for deserializing protobuf now. So I add this feature to druid-protobuf-extension module. This module only work when user provide a .desc file in old version. Now it can get schema from schema registry dynamically.
This submission adds the io.confluent:kafka-protobuf-serializer:6.0.1 dependency to the druid-protobuf-extension module.
Old spec is:
"parser": {
      "type": "protobuf",
      "descriptor": "file:///tmp/metrics.desc",
      "protoMessageType": "Metrics"
      ......
}

New spec is:
"parser": {
      "type": "protobuf",
      "protoBytesDecoder": {
           "type": "schema_registry",
          "url": "http://XXXXXX:8081",
          "capacity": 10,
        }
      ......
}

and
"parser": {
      "type": "protobuf",
      "protoBytesDecoder": {
          "type": "file",
          "descriptor": "file:///tmp/metrics.desc",
          "protoMessageType": "Metrics"
        }
      ......
}

Description

Fixed the bug ...
Renamed the class ...
Added a forbidden-apis entry ...

This PR has:

[x] been self-reviewed.

[ ] using the concurrency checklist (Remove this item if the PR doesn't have any relation to concurrency.)

[ ] added documentation for new or modified features or behaviors.
[ ] added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
[ ] added or updated version, license, or notice information in licenses.yaml
[ ] added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
[x] added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.
[ ] added integration tests.
[ ] been tested in a test Druid cluster.

Key changed/added classes in this PR

MyFoo
OurBar
TheirBaz

I want to squash some commits.

I want to squash some commits.


Jpeople doesn't work off campus

Tested on a current Debian GNU/Linux (v8.2, codenamed Jessie) with Iceweasel 38.2.1, also in a fresh profile.

Go to https://jpeople.jacobs-cs.club/.
Click on the 'Log in' button (as I'm off campus at the moment)..
The OpenJUB window pops up, I enter my credentials and click on Log in via OpenJUB.
The window closes, and no change is visible to the jpeople page (even after force-reloading). No cookies are present. And obviously entering any search terms doesn't bring up any results.

If there are other tests I can perform to narrow down the problem, I'll be happy to help.

The problem seems to be with firefox, it works fine in Chrome.

Problem has been fixed. I have tested it with firefox on archlinux (You might have to clear your browser cache for it to work. )