Semantic highlighting flickers on and off as you type

I've recently switched from the old semantic highlighting implementation (TheiaSemanticHighlighting) to the new one (semanticTokens), and I'm finding that with the new one, semantic highlightings flicker off and back on as I type.
It doesn't happen on every character, but maybe every few words or so. It happens even when writing a comment, so it's not related to the code being temporarily ill-formed or anything like that.
This did not happen with the old implementation.
Has anyone else experienced this?

Sometimes the editor also "gets stuck" in a state where the semantic highlightings are not shown (until further typing).

can you share the logs when the semantic highlightings get stuck? it feels like it might be due to our implicit cancellation of such requests on update.

Here is a log, which reflects the following actions:

opened a file containing #include <string>
followed the include, and the #include <bits/basic_string.h> inside it

I chose this file as it's long enough to trigger the problem. It doesn't happen for short files.

scrolled down to a random place in basic_string.h and typed a one-line comment
semantic highlightings flickered off and back on twice while I wrote the comment

So there are two things i've noticed while going over the logs:

As I mentioned previously, we reply with "request cancelled" to semantictokens/full{/delta} requests between 03:27:17.630 and 03:27:18.961. In theory i would expect from clients to just preserve the semanticTokens from previous replies, but vscode might be just dropping them all once it faces an error.
Moreover, the first request we fail, with id 38 is actually a delta request, immediately afterwards vscode starts requesting full information again. Making it more likely for them to be stripping semantic highlighting of the whole file on errors. (this happens again afterwards with request id 60.

Spec doesn't really say much about what the clients should do in the face of errors, but it feels like vscode is doing the suboptimal thing here. I can't verify my hypotheses though, as I don't have access to vscode, but should be easy to verify by making /delta requests fail on clangd side.
If my hypotheses turns out to be correct, I think we should rather complain to vscode about this, as otherwise it would imply semanticTokens requests are non-failable on content changes (which is something we can handle in clangd, but would probably mean rebuilding the AST after every keystroke ... I am not sure if we want to go down that road.).

oh and @sam-mccall for visibility

We're talking about vscode's semanticTokens implementation, right?
Yes, I'm pretty sure this is the implicit cancellation on change.
I don't understand the circumstances under which the coloring gets cleared.
https://github.com/clangd/clangd/issues/620 - in which we used to do this on save
https://github.com/microsoft/vscode/pull/113315 - in which @qchateau found that when we reply with ContentModified, vscode will not retry (I think this got fixed). And I argue with vscode folks that we can't trust editors, and don't get too far :-)
https://github.com/microsoft/vscode-languageserver-node/issues/576 - in which rust-analyzer folks have similar issues.
https://github.com/microsoft/vscode-languageserver-node/commit/dae62de921d25964e8732411ca09e532dde992f5 - in which LSP gains a capability to indicate servers should service stale requests
There's a pragmatic case to be made to not cancel semanticTokens on edit at all, but at this point maybe we should just honor the new capability?

We're talking about vscode's semanticTokens implementation, right?

Yes (sorry, should've specified the editor).

Are you using the latest version (January 2021), they indeed merged my fix related to semantic token highlighting. I'm not sure it would fix your flicker issue, but it may have an effect on it.
As a reminder, the VSCode guys discourage servers to cancel requests on their own (clangd does it). They argue that:

the client will cancel the request if necessary
the client may adapt and use out-of-date results, therefore they are better than nothing

I'm not saying that's what clangd should do, this is simply a digest of the POV of the vscode devs. The full conversation is pretty extensive https://github.com/microsoft/vscode/pull/113315

I did upgrade to the latest VSCode version and, unfortunately, the flickering persists.

There's a pragmatic case to be made to not cancel semanticTokens on edit at all, but at this point maybe we should just honor the new capability?

I am afraid of its implications on the AST build scheduling though. Since for some clients this might imply building a new AST with each keystroke.

I am afraid of its implications on the AST build scheduling though. Since for some clients this might imply building a new AST with each keystroke.

Isn't the purpose of the client capability that clients need to opt into the behaviour? The mentioned fix introduces the client capability and opts the vscode client into it for specific requests (semantic tokens) only.

Hmm, actually: I upgraded vscode-clangd locally to use a version of vscode-languageserver-node which includes that fix, and the  flickering issue is gone! So, perhaps no server-side changes are needed to clangd?

I upgraded vscode-clangd locally to use a version of vscode-languageserver-node which includes that fix

For reference, I did that with this patch. (I had to make a minor API usage fix as well.)


https://github.com/aleph7/caffe links are not cloned properly

/bin/sh: line 3: /Users/Macpro_ios_v2/caffe-ios-sample/caffe/bin/protoc: No such file or directory
cp: /Users/Macpro_ios_v2/Library/Developer/Xcode/DerivedData/CaffeApp-bbuyrkgpjrhlgeeafrxxurevjtxq/Build/Intermediates/CaffeApp.build/Debug-iphonesimulator/CaffeApp.build/DerivedSources/caffe/proto/caffe.pb.h: No such file or directory

You should clone this repo recursively to include submodule of caffe
And don't use libCaffe.a as static library. Build caffe from source within this project.

It works Thank U.

Hi Nora,
If possible ,please include the model_file , label_file , mean_file ,trained_file in your repo, to completely run and check the result of "caffe-ios-sample".This would be fine to move on the next steps with the caffe framework for iOS.
Thanks


⚠ WSINGRESOS - RECIBOPAGO has degraded performance

In 92c871a, WSINGRESOS - RECIBOPAGO (https://srvshyweb.yucatan.gob.mx/cgi-bin/wspd_cgi.sh/WService=wsingresos/internet/servicios/wsRecibosPagosWeb.r) experienced degraded performance:

HTTP code: 200
Response time: 2142 ms

Resolved: WSINGRESOS - RECIBOPAGO performance has improved in 460bb93.


Add preprocessor directives for non-portable code.

In order to submit the R bindings for HNSW to CRAN, it is a requirement that C++ code build without needing non-portable flags like -march=native. @LTLA and I have made those changes and we were wondering if this might also be useful for those hoping to use HNSW on architectures without AVX, SSE and the like. Hence this PR.
Changes in roughly decreasing order of importance:

Added a preprocessor tokenNO_MANUAL_VECTORIZATION. If defined (e.g. by using -DNO_MANUAL_VECTORIZATION in the compiler flags), then you don't need to specify -march=native  and AVX and SSE will not be used. If you don't define NO_MANUAL_VECTORIZATION then the code will build as before, i.e. anyone who doesn't care about this should be unaffected.
There are some other tokens defined such as USE_SSE and USE_AVX, but these are intended for internal use only.
Added some virtual destructors.
Removed an unused variable.

Hi @jlmelville ,
Thank you for the pull request! I'll perform manual speed checks on Monday.
I suspect that Travis was updated and exposed a bug in the test caused it to fail.

Upon thinking a bit more about point 1 above; the original HNSW library would use SSE intrinsics all the time, without any regard for whether the CPU or OS was able to support them. The new macro set-up now protects against this by checking for __SSE__, even when NO_MANUAL_VECTORIZATION is not set. This is safer as it avoids problems on architectures without SSE instructions. However, it means that users will have to explicitly set -msse or related flags in order to use SSE, which they didn't have to do before. Of course, if people were already setting -march=native, then no additional work is required.

@LTLA Ok, thanks! AFAIK there are no 64-bit x86 CPUs that don't support SSE. So NO_MANUAL_VECTORIZATION seems like a switch between x86/non-x86 platforms.

Linking to @LTLA comments on reasons for the CI failure: https://github.com/jlmelville/rcpphnsw/issues/1#issuecomment-449562539

@yurymalkov The new internal macros (namely USE_SSE and USE_AVX) should automatically act as switches for different architectures that support different levels of intrinsics, regardless of whether NO_MANUAL_VECTORIZATION is set. The purpose of NO_MANUAL_VECTORIZATION is to forbid the use of any intrinsics to ensure standard-compliant portable code that behaves the same across architectures. This avoids inconsistent round-off errors from differently ordered summation when computing distances with and without SSE instructions; and allow binaries compiled on one machine to be distributed.
Looking at Intel's CPU history indicates that the last CPU without SSE instructions was the Pentium II (geez - I was still in elementary school when that came out!) so perhaps the assumption of SSE availability is pretty reasonable for any modern scientific computing environment. Nonetheless, I think it's generally nice to have an option to only use standard C++.

@LTLA @jlmelville I've check the commit. Everything is fine. Thank you!
Also I've checked the performance slowdown without SSE on Ryzen - a little less than 2X for SIFT1M.


Improve pattern matching implementation

Instead of trying to match every node, dispatch based on the type.
Harder, Better, Faster, Stronger.

cc @jeanlaroche I can't stop, I'm having so much fun ;-)


Remove forgotten and unsued React imports

-- Change --
Remove unused imports of React.
Description
There are many imports of React that aren't use. I am guessing these are leftovers from previous coding conventions that never got picked up and removed.
Motivation
Can be cleaned up to remove unused imports

submitted a PR to clean up the unused imports


Incorrect description

Challenge http://freecodecamp.com/challenges/bonfire-no-repeats-please has an issue. Please describe how to reproduce it, and include links to screenshots if possible.
The following description is incorrect, in my understanding of permutations:
"
Return the number of total permutations of the provided string that don't have repeated consecutive letters.
For example, 'aab' should return 2 because it has 6 total permutations, but only 2 of them don't have the same letter (in this case 'a') repeating.
"
Number of permutations possible is 3 not 6. Off that only 1 matches the question criteria:
Possible permutations:
aab
aba
baa
Only one, 'aba' matches the conditions. Please correct the bonfire question and the answer checking scripts

I think we are suppose to treat the 'a' characters as different letter. Visually I mean like this so. Think of 'aab' as 'Aab' then the permutations are as such:
'Aab'
'Aba'
'bAa'
'aAb'
'abA'
'baA'
Giving 6 total permutations with 2 able to match the test criteria..... That is how I saw the problem. Hope this helps

Extending your line of thought, now, there are NO repeated occurrences, Sean. I don't see any letter repeated in any of the permutations. (a  is not A, per your statement). So the answer must be 6 and not 2 then.

The difference in the 'a' and 'A' is only a visual for us to see how the two 'a' characters are treated as different objects when determining how many permutations. Then when it comes time to filter, since they 'look' the same then they are excluded from the count in the answer

Left side is the visual for us humans and then right side is what computer will see:

Human Visual
Computer version

'Aab'
'aab'

'Aba'
'aba'

'bAa'
'baa'

'aAb'
'aab'

'abA'
'aba'

'baA'
'baa'

Thanks for that table, Sean. It's not that I do not see this; it is just that according to combinatorics, it is incorrect to say that the number of permutations of 'n' objects where each can occur r1, r2 ... etc. times is  n!, whereas it truly is n!/ (r1! r2!...)
In my humble opinion, this question is poorly thought-out and worded.

Hey @mullachv and @natac13, it looks like this is a duplicate of #2524 so please continue this discussion there.  I think we all agree that the challenge is confusing.  We need to come up with language that makes it more clear.
Thanks!


Update python ecosystem dependencies

PR #51 was opened and then abandoned. It has not been touched in some months.
While well intentioned, one of the problems with that PR is it tried to a lot of things at once. It was:

Updating python and related packages
Updating javascript packages
Implementing feature https://github.com/wagtail/cookiecutter-wagtail-package/issues/14
Migrating linters from black/isort/flake8 to ruff

Those weren't necessarily bad or wrong things to do, but doing them all at once made it hard to review and also hard to pick up the PR and update it or get it finished.
In this PR, I have intentionally reduced the scope. All I am doing here is updating python and python ecosystem-related packages. I am intentionally not touching anything node/javascript related in this PR and I'm sticking with black/isort/flake8. Hopefully this will make it easier to get this reviewed and merged. We can look at the other issues in further more tightly scoped PRs
Closes https://github.com/wagtail/cookiecutter-wagtail-package/issues/50

The build on this PR is failing due to an ESLint error.
This is unrelated to changes in this PR. I've submitted https://github.com/wagtail/cookiecutter-wagtail-package/pull/53 just to prove that point. That PR has no functional changes from the tip of main and reproduces the same issue.
I guess I'm going to need to scope-creep this to include the minimum amount of js/pre-commit faffing needed to get the build passing again. Not today though. Not now.
My gut instinct is that there is an implicit eslint-related dependency which is unpinned in https://github.com/wagtail/cookiecutter-wagtail-package/blob/5625bcf0f3df2a37c5bc65c88dfe185cfc51edda/{{ cookiecutter.__project_name_kebab }}/.pre-commit-config.yaml#L51-L60 but I will put a pause on grumbling about pre-commit making us re-invent lockfiles until I've worked out if that is actually the problem.


dcpaccess - fails on silent films

I'm pretty sure this wasn't the case before. An empty audio concat textfile is created even when there's no audio, causing a broken ffmpeg process.

Yup, there's no check for audio mxfs, so audio options are passed regardless. Should be an easy fix.


Questions about ai1899 :)

Hi Mor , @Formartha.
Nice to meet you.
My name is Dima, i׳m also Automation Developer and passionate about Python, AI, etc.. :).
Ive impressed a lot by this project you created.
I want to ask you a few questions ,
is it possible to run this project without docker? (because I have some problem with docker on my pc)
(ive tried the plugin as well but its not working for some reason.)
Regarding the ai tests trigger :
this project able to create/generate tests via Gen ai ?  depending on the collection xml tests descriptions ?
Thank you,
Dima

Hi @Formartha
thank you for the response.
i've managed to run it via docker , but for some reason I cannot open the flask server or see the swag api docs.
I can only see the UI of  QDrant.
command I did : DEVICE=/Users/dima.gurevich/dev-dima/Python/ai1899/msmarco-distilbert-base-tas-b/sentence-transformers_msmarco-distilbert-base-tas-b LLM_MODEL=msmarco-distilbert-base-tas-b docker compose -f docker-compose.yaml up -d
see attached logs from created  container:
2024-09-09 15:56:18 qdrant-container-1  |            _                 _
2024-09-09 15:56:18 qdrant-container-1  |   __ _  __| |_ __ __ _ _ __ | |_
2024-09-09 15:56:18 qdrant-container-1  |  / _` |/ _` | '__/ _` | '_ \| __|
2024-09-09 15:56:18 qdrant-container-1  | | (_| | (_| | | | (_| | | | | |_
2024-09-09 15:56:18 qdrant-container-1  |  \__, |\__,_|_|  \__,_|_| |_|\__|
2024-09-09 15:56:18 qdrant-container-1  |     |_|
2024-09-09 15:56:18 qdrant-container-1  |
2024-09-09 15:56:18 qdrant-container-1  | Access web UI at http://<IP_ADDRESS>:6333/dashboard
2024-09-09 15:56:18 qdrant-container-1  |
2024-09-09 15:56:18 qdrant-container-1  | 2024-09-09T12:56:18.727238Z  INFO storage::content_manager::consensus::persistent: Initializing new raft state at ./storage/raft_state.json
2024-09-09 15:56:18 qdrant-container-1  | 2024-09-09T12:56:18.791347Z  INFO qdrant: Distributed mode disabled
2024-09-09 15:56:18 qdrant-container-1  | 2024-09-09T12:56:18.792217Z  INFO qdrant: Telemetry reporting enabled, id: 150e2075-bd14-41f6-8f72-2d4da26cfdb1
2024-09-09 15:56:18 qdrant-container-1  | 2024-09-09T12:56:18.817146Z  INFO qdrant::actix: TLS disabled for REST API
2024-09-09 15:56:18 qdrant-container-1  | 2024-09-09T12:56:18.822116Z  INFO qdrant::actix: Qdrant HTTP listening on 6333
2024-09-09 15:56:18 qdrant-container-1  | 2024-09-09T12:56:18.825856Z  INFO actix_server::builder: Starting 1 workers
2024-09-09 15:56:18 qdrant-container-1  | 2024-09-09T12:56:18.827574Z  INFO actix_server::server: Actix runtime found; starting in Actix runtime
2024-09-09 15:56:18 qdrant-container-1  | 2024-09-09T12:56:18.909112Z  INFO qdrant::tonic: Qdrant gRPC listening on 6334
2024-09-09 15:56:18 qdrant-container-1  | 2024-09-09T12:56:18.909131Z  INFO qdrant::tonic: TLS disabled for gRPC API
2024-09-09 15:57:07 qdrant-container-1  | 2024-09-09T12:57:07.478169Z  INFO actix_web::middleware::logger: <IP_ADDRESS> "GET /telemetry HTTP/1.1" 200 220 "http://<IP_ADDRESS>:6333/dashboard" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36" 0.022370
2024-09-09 15:57:07 qdrant-container-1  | 2024-09-09T12:57:07.480159Z  INFO actix_web::middleware::logger: <IP_ADDRESS> "GET /collections HTTP/1.1" 200 85 "http://<IP_ADDRESS>:6333/dashboard" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36" 0.001141
2024-09-09 15:58:05 qdrant-container-1  | 2024-09-09T12:58:05.807728Z  INFO actix_web::middleware::logger: <IP_ADDRESS> "GET /collections HTTP/1.1" 200 81 "http://<IP_ADDRESS>:6333/dashboard" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36" 0.000797
2024-09-09 15:58:06 qdrant-container-1  | 2024-09-09T12:58:06.635508Z  INFO actix_web::middleware::logger: <IP_ADDRESS> "GET /collections HTTP/1.1" 200 82 "http://<IP_ADDRESS>:6333/dashboard" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36" 0.000250
2024-09-09 15:56:23 ai-1                |  * Serving Flask app 'server'
2024-09-09 15:56:23 ai-1                |  * Debug mode: on
2024-09-09 15:56:23 ai-1                | WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
2024-09-09 15:56:23 ai-1                |  * Running on all addresses (<IP_ADDRESS>)
2024-09-09 15:56:23 ai-1                |  * Running on http://<IP_ADDRESS>:5555
2024-09-09 15:56:23 ai-1                |  * Running on http://<IP_ADDRESS>:5555
2024-09-09 15:56:23 ai-1                | Press CTRL+C to quit
2024-09-09 15:56:23 ai-1                |  * Restarting with stat
2024-09-09 15:56:28 ai-1                |  * Debugger is active!
2024-09-09 15:56:28 ai-1                |  * Debugger PIN: 125-624-790
2024-09-09 15:56:18 redis-1             | 1:C 09 Sep 2024 12:56:18.494 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
2024-09-09 15:56:18 nginx-1             | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
2024-09-09 15:56:18 redis-1             | 1:C 09 Sep 2024 12:56:18.494 * Redis version=7.2.4, bits=64, commit=00000000, modified=0, pid=1, just started
2024-09-09 15:56:18 redis-1             | 1:C 09 Sep 2024 12:56:18.494 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
2024-09-09 15:56:18 redis-1             | 1:M 09 Sep 2024 12:56:18.494 * monotonic clock: POSIX clock_gettime
2024-09-09 15:56:18 redis-1             | 1:M 09 Sep 2024 12:56:18.495 * Running mode=standalone, port=6379.
2024-09-09 15:56:18 redis-1             | 1:M 09 Sep 2024 12:56:18.495 * Server initialized
2024-09-09 15:56:18 redis-1             | 1:M 09 Sep 2024 12:56:18.495 * Loading RDB produced by version 7.2.4
2024-09-09 15:56:18 redis-1             | 1:M 09 Sep 2024 12:56:18.495 * RDB age 235 seconds
2024-09-09 15:56:18 redis-1             | 1:M 09 Sep 2024 12:56:18.495 * RDB memory usage when created 1.35 Mb
2024-09-09 15:56:18 redis-1             | 1:M 09 Sep 2024 12:56:18.495 * Done loading RDB, keys loaded: 1, keys expired: 0.
2024-09-09 15:56:18 redis-1             | 1:M 09 Sep 2024 12:56:18.496 * DB loaded from disk: 0.000 seconds
2024-09-09 15:56:18 redis-1             | 1:M 09 Sep 2024 12:56:18.496 * Ready to accept connections tcp
2024-09-09 15:56:18 nginx-1             | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
2024-09-09 15:56:18 nginx-1             | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
2024-09-09 15:56:18 nginx-1             | 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
2024-09-09 15:56:18 nginx-1             | 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
2024-09-09 15:56:18 nginx-1             | /docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh
2024-09-09 15:56:18 nginx-1             | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
2024-09-09 15:56:18 nginx-1             | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
2024-09-09 15:56:18 nginx-1             | /docker-entrypoint.sh: Configuration complete; ready for start up
2024-09-09 15:56:28 celery-worker-1     | /usr/local/lib/python3.9/site-packages/celery/platforms.py:829: SecurityWarning: You're running the worker with superuser privileges: this is
2024-09-09 15:56:28 celery-worker-1     | absolutely not recommended!
2024-09-09 15:56:28 celery-worker-1     |
2024-09-09 15:56:28 celery-worker-1     | Please specify a different user using the --uid option.
2024-09-09 15:56:28 celery-worker-1     |
2024-09-09 15:56:28 celery-worker-1     | User information: uid=0 euid=0 gid=0 egid=0
2024-09-09 15:56:28 celery-worker-1     |
2024-09-09 15:56:28 celery-worker-1     |   warnings.warn(SecurityWarning(ROOT_DISCOURAGED.format(
2024-09-09 15:56:28 celery-worker-1     |
2024-09-09 15:56:28 celery-worker-1     |  -------------- celery@0a4d489f3179 v5.3.6 (emerald-rush)
2024-09-09 15:56:28 celery-worker-1     | --- ***** -----
2024-09-09 15:56:28 celery-worker-1     | -- ******* ---- Linux-6.10.4-linuxkit-x86_64-with-glibc2.31 2024-09-09 12:56:28
2024-09-09 15:56:28 celery-worker-1     | - *** --- * ---
2024-09-09 15:56:28 celery-worker-1     | - ** ---------- [config]
2024-09-09 15:56:28 celery-worker-1     | - ** ---------- .> app:         ai:0x7fffefcccf70
2024-09-09 15:56:28 celery-worker-1     | - ** ---------- .> transport:   redis://redis:6379/0
2024-09-09 15:56:28 celery-worker-1     | - ** ---------- .> results:     redis://redis:6379/0
2024-09-09 15:56:28 celery-worker-1     | - *** --- * --- .> concurrency: 4 (solo)
2024-09-09 15:56:28 celery-worker-1     | -- ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
2024-09-09 15:56:28 celery-worker-1     | --- ***** -----
2024-09-09 15:56:28 celery-worker-1     |  -------------- [queues]
2024-09-09 15:56:28 celery-worker-1     |                 .> celery           exchange=celery(direct) key=celery
2024-09-09 15:56:28 celery-worker-1     |
2024-09-09 15:56:28 celery-worker-1     |
2024-09-09 15:56:28 celery-worker-1     | [tasks]
2024-09-09 15:56:28 celery-worker-1     |   . tasks.upsert_collection
2024-09-09 15:56:28 celery-worker-1     |
2024-09-09 15:56:28 celery-worker-1     | [2024-09-09 12:56:28,390: WARNING/MainProcess] /usr/local/lib/python3.9/site-packages/celery/worker/consumer/consumer.py:507: CPendingDeprecationWarning: The broker_connection_retry configuration setting will no longer determine
2024-09-09 15:56:28 celery-worker-1     | whether broker connection retries are made during startup in Celery 6.0 and above.
2024-09-09 15:56:28 celery-worker-1     | If you wish to retain the existing behavior for retrying connections on startup,
2024-09-09 15:56:28 celery-worker-1     | you should set broker_connection_retry_on_startup to True.
2024-09-09 15:56:28 celery-worker-1     |   warnings.warn(
2024-09-09 15:56:28 celery-worker-1     |
2024-09-09 15:56:28 celery-worker-1     | [2024-09-09 12:56:28,404: INFO/MainProcess] Connected to redis://redis:6379/0
2024-09-09 15:56:28 celery-worker-1     | [2024-09-09 12:56:28,404: WARNING/MainProcess] /usr/local/lib/python3.9/site-packages/celery/worker/consumer/consumer.py:507: CPendingDeprecationWarning: The broker_connection_retry configuration setting will no longer determine
2024-09-09 15:56:28 celery-worker-1     | whether broker connection retries are made during startup in Celery 6.0 and above.
2024-09-09 15:56:28 celery-worker-1     | If you wish to retain the existing behavior for retrying connections on startup,
2024-09-09 15:56:28 celery-worker-1     | you should set broker_connection_retry_on_startup to True.
2024-09-09 15:56:28 celery-worker-1     |   warnings.warn(
2024-09-09 15:56:28 celery-worker-1     |
2024-09-09 15:56:28 celery-worker-1     | [2024-09-09 12:56:28,405: INFO/MainProcess] mingle: searching for neighbors
2024-09-09 15:56:29 celery-worker-1     | [2024-09-09 12:56:29,477: INFO/MainProcess] mingle: all alone
2024-09-09 15:56:29 celery-worker-1     | [2024-09-09 12:56:29,498: INFO/MainProcess] celery@0a4d489f3179 ready.
2024-09-09 15:56:18 redis-commander-1   | Creating custom redis-commander config '/redis-commander/config/local-production.json'.
2024-09-09 15:56:18 redis-commander-1   | Parsing 1 REDIS_HOSTS into custom redis-commander config '/redis-commander/config/local-production.json'.
2024-09-09 15:56:18 redis-commander-1   | node ./bin/redis-commander
2024-09-09 15:56:19 redis-commander-1   | Using scan instead of keys
2024-09-09 15:56:19 redis-commander-1   | No Save: false
2024-09-09 15:56:19 redis-commander-1   | listening on <IP_ADDRESS>:8081
2024-09-09 15:56:19 redis-commander-1   | access with browser at http://<IP_ADDRESS>:8081
2024-09-09 15:56:20 redis-commander-1   | Redis Connection redis:6379 using Redis DB #0


Updated Check-Out page ( Fixed issue #1068)

Fixes Issue

Changes proposed

Screenshots

Note to reviewers

Kindly close the issue related to this PR


BatchRequest args fix: need toString operation for different data types

Why are the changes needed?

How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[ ] Run test locally before make a pull request

Codecov Report

Merging #2955 (be40748) into master (994dc6c) will decrease coverage by 0.04%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##             master    #2955      +/-   ##
============================================
- Coverage     62.89%   62.85%   -0.05%
  Complexity        6        6
============================================
  Files           418      418
  Lines         20252    20254       +2
  Branches       2589     2589
============================================
- Hits          12738    12731       -7
- Misses         6282     6286       +4
- Partials       1232     1237       +5

Impacted Files
Coverage Δ

...che/kyuubi/ctl/cmd/create/CreateBatchCommand.scala
94.73% <100.00%> (+0.61%)
:arrow_up:

...rg/apache/kyuubi/ctl/cmd/log/LogBatchCommand.scala
80.00% <0.00%> (-2.00%)
:arrow_down:

...ache/kyuubi/operation/KyuubiOperationManager.scala
80.82% <0.00%> (-1.37%)
:arrow_down:

...pache/kyuubi/server/metadata/MetadataManager.scala
82.11% <0.00%> (-1.33%)
:arrow_down:

...che/kyuubi/server/KyuubiTHttpFrontendService.scala
63.97% <0.00%> (-0.74%)
:arrow_down:

...yuubi/server/metadata/jdbc/JDBCMetadataStore.scala
89.53% <0.00%> (-0.73%)
:arrow_down:

.../apache/kyuubi/client/KyuubiSyncThriftClient.scala
87.86% <0.00%> (-0.42%)
:arrow_down:

...in/scala/org/apache/kyuubi/config/KyuubiConf.scala
97.09% <0.00%> (-0.10%)
:arrow_down:

Continue to review full report at Codecov.

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

thanks, merged to master


Draw Cup Pattern

drawing cup pattern and curved line series in this chart lib would be great. we have scenario that have multiple charts on page(Viewable all the same time) and we cant use Main Trading View chart.
is there any way we can draw curve lines and cup pattern?
cup pattern

I'm afraid we're not going to implement any kind of drawings in this library (at least for now). Probably after #506 it would be possible to draw a line like on your screenshot though.


Mix different js module together

Hi:
There are two kinds of js module types in my project:
1  closure-library
The goog.require goog.provide are used .
2 ES6
Where the exports class....  are used.
After read the wiki of Managing Dependencies and JS Modules.
I add the process_common_js_modules flag during compiling.
However I got the error: 'import' and 'export' may appear only with 'sourceType: module'
What's going on?

What's your language_in flag set at? It has to be ECMASCRIPT6 or higher ...
You also cannot use goog.provide in the same file that uses either the import or export keyword. That's mixing module types.


Il2Cpp.Object.from() is not available

I wanted to create my own instance without having to intercept a method. According to this comment I could do it via Il2Cpp.Object.from but it returns Syntax Error.

Hi, here I explained what's changed!
https://github.com/vfsfitvnm/frida-il2cpp-bridge/issues/41#issuecomment-932766395

thank you! will try that out.


Normalize the quality

If the base doesn't match is the correct likelihood to assign q or q/3?

q/3 ... as it is in the code.


Support of args

Hi, I love the idea of this repository - thank you for sharing it.
How about supporting extra args to the func? args=() part of the scipy minimize function.
https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.minimize.html
If you navigate me I can also work on it.

This is easily done outside of the library with a lambda function. For example:
res = minimize(lambda x: fun(x, *args), x0)

Adding such an argument within the library may collide with the possibility to use functions accepting lists or dicts as variables to be optimized.

That makes sense - thank you!


Hide empty calendar rows (hour rows with no schedules)

Hello,
For this calendar, is it possible to hide rows which are fully empty?
You can see here what I mean:

Thank you.

Not supported.
You can specify the time range.
const cal = new tui.Calendar('#calendar', {
    defaultView: 'week', // weekly view option
    week: {
      hourStart: 8,
      hourEnd: 19
    }
  });

But for example if a specific hour should not be in the calendar, like for example 2pm, is this possible?


DNM: Revert "qemu: don't disable seccomp - needed for virtiofsd"

This reverts commit 77c5b497d7b946335d60d1988eab7b107db4e88a.

/test-ubuntu-qemu-metrics

@gabyct I added do-not-merge flag based on DNM in title. This is just to clean up the backlog. If you want this merge, then remove the flag and DNM in title. Thanks.


Wrong schema used in postgres

When PostgreSQL DB chosen, public schema is used instead of ambari schema.
This is not a problem until you want to upgrade the cluster.
When I tried to upgrade my cluster (installed with that ansible playbook), I fault on ambari schema doesn't exist. To avoid this, I ran ambari-server setup with  --postgresschema=public, and manually changed that schema owner to ambari user. Only after that I successfully upgraded my cluster.
According to that documents: 2.6, 2.7, ambari schema should be created during the installation and ambari user should be the owner of that schema, but that doesn't happen here.

Wow, great find @bronweg this is definitely a bug in the playbooks.
I'll work on a fix, thanks!

When I tried to upgrade my cluster (installed with that ansible playbook), I fault on ambari schema doesn't exist.
👍 I had ran into exact same issue

I ran ambari-server setup with --postgresschema=public
Your fix (1.step) was even more elegant. My fix was to change the related schema parameter in /etc/ambari-server/conf/ambari.properties


How to precompile xformers and save for other GPU?

I'm trying to run this on Paperspace Gradient to train DreamBooth, but I don't want to keep building xformers each time. Is there an easy way to compile and save that? I can even do it and make a pull request for others to use.
Thanks!

They're all on Paperspace Gradient, so I'm pretty sure it's x86. Then, the specific GPUs I want to experiment with are RTX 5000, P5000, and A4000.
I'd like to also experiment on Runpod with A5000/A6000 or RTX 3090, but Gradient is the first priority since I already have a membership to use their free GPU.

Specifically, the P5000, RTX 5000, and A5000. Those are the only 16GB available for free on Paperspace Gradient. I'd like to also experiment with 16GB+ cards, but these are priority.

under linux ?

Yes, I believe so. So, I think I figured it out. Can I basically just do this to create the wheel?:
git clone git@github.com:facebookresearch/xformers.git
git submodule update --init --recursive
cd xformers
pip install -r requirements.txt
pip install -e .
python setup.py bdist_wheel

pip install git+https://github.com/facebookresearch/xformers@51dd119#egg=xformers
after around 40min, and the installation is done, navigate to /usr/local/lib/python3.7/dist-packages/xformers
save the two files : "_C_flashattention.so" and "_C.so" and put them back after installing xformers (without compiling)

git clone xformers, then replace the setup.py with this one below, then pip install (path to the local xformer folder)
#!/usr/bin/env python3

# Copyright (c) Facebook, Inc. and its affiliates. All rights reserved.
#
# This source code is licensed under the BSD license found in the
# LICENSE file in the root directory of this source tree.

import distutils.command.clean
import glob
import os
import re
import shutil
import subprocess
import sys
from pathlib import Path

import setuptools
import torch
from torch.utils.cpp_extension import (
    CUDA_HOME,
    BuildExtension,
    CppExtension,
    CUDAExtension,
)

this_dir = os.path.dirname(os.path.abspath(__file__))

def fetch_requirements():
    with open("requirements.txt") as f:
        reqs = f.read().strip().split("\n")
    return reqs

# https://packaging.python.org/guides/single-sourcing-package-version/
def find_version(version_file_path):
    with open(version_file_path) as version_file:
        version_match = re.search(
            r"^__version__ = ['\"]([^'\"]*)['\"]", version_file.read(), re.M
        )
        # The following is used to build release packages.
        # Users should never use it.
        suffix = os.getenv("XFORMERS_VERSION_SUFFIX", "")
        if version_match:
            return version_match.group(1) + suffix
        raise RuntimeError("Unable to find version string.")

def get_cuda_version(cuda_dir) -> int:
    nvcc_bin = "nvcc" if cuda_dir is None else cuda_dir + "/bin/nvcc"
    raw_output = subprocess.check_output([nvcc_bin, "-V"], universal_newlines=True)
    output = raw_output.split()
    release_idx = output.index("release") + 1
    release = output[release_idx].split(".")
    bare_metal_major = int(release[0])
    bare_metal_minor = int(release[1][0])

    assert bare_metal_minor < 100
    return bare_metal_major * 100 + bare_metal_minor

def get_flash_attention_extensions(cuda_version: int, extra_compile_args):
    # Figure out default archs to target
    DEFAULT_ARCHS_LIST = ""
    if cuda_version > 1100:
        DEFAULT_ARCHS_LIST = "7.5;8.0;8.6"
    elif cuda_version == 1100:
        DEFAULT_ARCHS_LIST = "7.5;8.0"
    else:
        return []

    if os.getenv("XFORMERS_DISABLE_FLASH_ATTN", "0") != "0":
        return []

    archs_list = os.environ.get("TORCH_CUDA_ARCH_LIST", DEFAULT_ARCHS_LIST)
    nvcc_archs_flags = []
    for arch in archs_list.split(";"):
        assert len(arch) >= 3, f"Invalid sm version: {arch}"

        num = 10 * int(arch[0]) + int(arch[2])
        # Need at least 7.5
        if num < 75:
            continue
        nvcc_archs_flags.append(f"-gencode=arch=compute_{num},code=sm_{num}")
        if arch.endswith("+PTX"):
            nvcc_archs_flags.append(f"-gencode=arch=compute_{num},code=compute_{num}")
    if not nvcc_archs_flags:
        return []

    this_dir = os.path.dirname(os.path.abspath(__file__))
    flash_root = os.path.join(this_dir, "third_party", "flash-attention")
    if not os.path.exists(flash_root):
        raise RuntimeError(
            "flashattention submodule not found. Did you forget "
            "to run `git submodule update --init --recursive` ?"
        )

    return [
        CUDAExtension(
            name="xformers._C_flashattention",
            sources=[
                os.path.join(this_dir, "third_party", "flash-attention", path)
                for path in [
                    "csrc/flash_attn/fmha_api.cpp",
                    "csrc/flash_attn/src/fmha_fprop_fp16_kernel.sm80.cu",
                    "csrc/flash_attn/src/fmha_dgrad_fp16_kernel_loop.sm80.cu",
                    "csrc/flash_attn/src/fmha_block_fprop_fp16_kernel.sm80.cu",
                    "csrc/flash_attn/src/fmha_block_dgrad_fp16_kernel_loop.sm80.cu",
                ]
            ],
            extra_compile_args={
                **extra_compile_args,
                "nvcc": extra_compile_args.get("nvcc", [])
                + [
                    "-O3",
                    "-U__CUDA_NO_HALF_OPERATORS__",
                    "-U__CUDA_NO_HALF_CONVERSIONS__",
                    "--expt-relaxed-constexpr",
                    "--expt-extended-lambda",
                    "--use_fast_math",
                    "--ptxas-options=-v",
                    "-lineinfo",
                ]
                + nvcc_archs_flags,
            },
            include_dirs=[
                Path(flash_root) / "csrc" / "flash_attn",
                Path(flash_root) / "csrc" / "flash_attn" / "src",
                #            Path(flash_root) / 'csrc' / 'flash_attn' / 'cutlass' / 'include',
                Path(this_dir) / "third_party" / "cutlass" / "include",
            ],
        )
    ]

def get_extensions():
    this_dir = os.path.dirname(os.path.abspath(__file__))
    extensions_dir = os.path.join(
        this_dir, "xformers", "components", "attention", "csrc"
    )

    main_file = glob.glob(os.path.join(extensions_dir, "*.cpp"))

    source_cpu = glob.glob(os.path.join(extensions_dir, "cpu", "*.cpp")) + glob.glob(
        os.path.join(extensions_dir, "autograd", "*.cpp")
    )

    sources = main_file + source_cpu

    source_cuda = glob.glob(
        os.path.join(extensions_dir, "cuda", "**", "*.cu"), recursive=True
    )

    sputnik_dir = os.path.join(this_dir, "third_party", "sputnik")
    cutlass_dir = os.path.join(this_dir, "third_party", "cutlass", "include")
    if not os.path.exists(cutlass_dir):
        raise RuntimeError(
            "CUTLASS submodule not found. Did you forget "
            "to run `git submodule update --init --recursive` ?"
        )

    extension = CppExtension

    define_macros = []

    extra_compile_args = {"cxx": ["-O3"]}
    if sys.platform == "win32":
        define_macros += [("xformers_EXPORTS", None)]
        extra_compile_args["cxx"].append("/MP")
    elif "OpenMP not found" not in torch.__config__.parallel_info():
        extra_compile_args["cxx"].append("-fopenmp")

    include_dirs = [extensions_dir]
    ext_modules = []

    if (torch.cuda.is_available() and ((CUDA_HOME is not None))) or os.getenv(
        "FORCE_CUDA", "0"
    ) == "1":
        extension = CUDAExtension
        sources += source_cuda
        include_dirs += [sputnik_dir, cutlass_dir]
        nvcc_flags = os.getenv("NVCC_FLAGS", "")
        if nvcc_flags == "":
            nvcc_flags = ["--use_fast_math", "-DNDEBUG"]
        else:
            nvcc_flags = nvcc_flags.split(" ")
        cuda_version = get_cuda_version(CUDA_HOME)
        if cuda_version >= 1102:
            nvcc_flags += [
                "--threads",
                "4",
                "--ptxas-options=-v",
            ]
        extra_compile_args["nvcc"] = nvcc_flags

        ext_modules += get_flash_attention_extensions(
            cuda_version=cuda_version, extra_compile_args=extra_compile_args
        )

    sources = [os.path.join(extensions_dir, s) for s in sources]

    ext_modules.append(
        extension(
            "xformers._C",
            sorted(sources),
            include_dirs=include_dirs,
            define_macros=define_macros,
            extra_compile_args=extra_compile_args,
        )
    )

    return ext_modules

class clean(distutils.command.clean.clean):  # type: ignore
    def run(self):
        if os.path.exists(".gitignore"):
            with open(".gitignore", "r") as f:
                ignores = f.read()
                for wildcard in filter(None, ignores.split("\n")):
                    for filename in glob.glob(wildcard):
                        try:
                            os.remove(filename)
                        except OSError:
                            shutil.rmtree(filename, ignore_errors=True)

        # It's an old-style class in Python 2.7...
        distutils.command.clean.clean.run(self)

if __name__ == "__main__":
    setuptools.setup(
        name="xformers",
        description="XFormers: A collection of composable Transformer building blocks.",
        version=find_version(os.path.join(this_dir, "xformers", "__init__.py")),
        setup_requires=[],
        install_requires=fetch_requirements(),
        packages=setuptools.find_packages(exclude=("tests", "tests.*")),

        url="https://facebookresearch.github.io/xformers/",
        python_requires=">=3.6",
        author="Facebook AI Research",
<EMAIL_ADDRESS>        long_description="XFormers: A collection of composable Transformer building blocks."
        + "XFormers aims at being able to reproduce most architectures in the Transformer-family SOTA,"
        + "defined as compatible and combined building blocks as opposed to monolithic models",
        long_description_content_type="text/markdown",
        classifiers=[
            "Programming Language :: Python :: 3.7",
            "Programming Language :: Python :: 3.8",
            "Programming Language :: Python :: 3.9",
            "License :: OSI Approved :: BSD License",
            "Topic :: Scientific/Engineering :: Artificial Intelligence",
            "Operating System :: OS Independent",
        ],
        zip_safe=False,
    )

Thank you for that! This is simpler than me making a whl file?

Okay cool. Once I build any wheels, I'll upload them for others to test/use.

@TheLastBen
May I ask is there any more information about building whl files? I also have an unsupport GPU Tesla K80.

@TheLastBen May I ask is there any more information about building whl files? I also have an unsupport GPU Tesla K80.

If you simply want to install xformers, use this:
!pip install xformers
However, if you want to build a wheel, you can generally try to follow these steps. I'm sure there is technically a better way, byut it worked for me.
`!pip install --upgrade setuptools
!git clone https://github.com/facebookresearch/xformers
!git submodule update --init --recursive
%cd xformers
!pip install -r requirements.txt
!python setup.py sdist bdist_wheel --universal`
Once it's done, you'll find your .whl file in the /xformers/dist/ folder. In order to use it, you just write:
!pip install <path-to-whl>
Hope this helps!

xformers for wheel.zip
Copy the *.so compiled files onto the folder "xformers" then run python setup.py sdist bdist_wheel

xformers for wheel.zip
Copy the *.so compiled files onto the folder "xformers" then run python setup.py bdist_wheel

Let me make sure I understand:

Unzip the file you shared.
Copy the two *.so files into the xformers subfolder.
Then, run python setup.py bdist_wheel

So far, my method worked and I'm training as I type this, but I'll go ahead and do it your way. I already forked this, so I'll do a pull request when I'm ready. Also, I'm working on a notebook for Paperspace if you'd like to add it to the repo.

if the wheel includes the compiled files, you don't need my method

Thank you both. I was trying to migrate the notebook to Azure ML.
I used @swcrazyfan's method, got a small whl (<1MB).
Then I tried pip install git+https://github.com/facebookresearch/xformers@51dd119#egg=xformers, but after the installation is completed, the process exit. I could't get any so files.
BTW, Azure ML looks very different from colab, I'm considering giving up, just providing a feedback here.
No need to give solution. Thanks all.

Thank you both. I was trying to migrate the notebook to Azure ML.
I used @swcrazyfan's method, got a small whl (<1MB).
Then I tried pip install git+https://github.com/facebookresearch/xformers@51dd119#egg=xformers, but after the installation is completed, the process exit. I could't get any so files.
BTW, Azure ML looks very different from colab, I'm considering giving up, just providing a feedback here. No need to give solution. Thanks all.

I had the same problem when I tried to use RunPod. However, it works perfectly on Paperspace Gradient. Honestly, I'm not sure what's the problem.

@swcrazyfan According to your method python setup.py sdist bdist_wheel --universal, I got a wheel. However, due to other issues, I can't run other parts of the notebook, so I can't verify whether the whl works properly.
xformers-0.0.14.dev0-cp38-cp38-linux_x86_64.zip

@swcrazyfan According to your method python setup.py sdist bdist_wheel --universal, I got a wheel. However, due to other issues, I can't run other parts of the notebook, so I can't verify whether the whl works properly.
xformers-0.0.14.dev0-cp38-cp38-linux_x86_64.zip

To be honest, I’m not knowledgeable enough to say why this didn’t work. It worked perfectly for me on one GPU/computer, but I also had issues on other machines. My suggestion is to try TheLastBens advice. It’s a bit more complicated, but it might work better.

is there pre compiled wheel for 3080ti on windows ?
having issues compiling one (have VS 2022 and tried cud 11.6 and 11.8 toolkit)


Use metrics.backend-destination for request metrics backend as well

We allow empty value when we first introduced metrics.request-metrics-backend-destination flag to disable request metrics from queue proxy.
We set Prometheus as default value in serving 0.12 release, which means we no longer allow disabling request metrics from queue proxy.
It doesn't make sense that we have two flags, i.e. metrics.backend-destination and metrics.request-metrics-backend-destination, to control what backend to send metrics to. The goal is to keep one, metrics.backend-destination.
So switch to use metrics.backend-destination instead of metrics.request-metrics-backend-destination. Next step is to remove this flag in serving.

/assign @mattmoor

/assign @mattmoor

@evankanderson given the proximity to what you've been looking at, can you TAL?

/assign @anniefu

/assign @mdemirhan

@yanweiguo I'd like Evan to look at this, since he's taken on the ocagent stuff.
I don't have (sufficient) context there, and I'd like to make sure we're aligned with the direction this stuff is heading.
/hold

I have three concerns/questions with this one:

Do we know if there are customers using one different than the other? If not, then this is good.

We still have examples pointing to the old name in config-observability. We should remove metrics.request-metrics-backend-destination from there as well.

When we disable this and for people that still have the extra value in their config map, this should not cause an issue, right? I don't remember, but do we fail if we find extra values in config maps?

I share @mdemirhan's concerns. Though for 3, extra map values in the configmaps are just ignored. I think we should still respect metrics.request-backend-destination first and then check metrics.backend-destination. We can add a warning that metrics.request-backend-destination will be deprecated if anyone is using and eventually completely remove it.
From my point of view, this change is orthogonal to the opencensus agent work and will still be relevant after we move forward with opencensus.

@anniefu you have more context than me, so I'm not gonna block things.  Hopefully Evan agrees, but he's had >3 weeks 😅
Free feel to /unhold

Do we know if there are customers using one different than the other? If not, then this is good.

We don't have such data. It doesn't make sense to me they users use one backend for request metrics and but another one for other metrics although it could happen.

We still have examples pointing to the old name in config-observability. We should remove metrics.request-metrics-backend-destination from there as well.

Will do it in serving repository.

When we disable this and for people that still have the extra value in their config map, this should not cause an issue, right? I don't remember, but do we fail if we find extra values in config maps?

As @anniefu mentioned, extra map values in the configmaps are just ignored.

I think we should still respect metrics.request-backend-destination first and then check metrics.backend-destination. We can add a warning that metrics.request-backend-destination will be deprecated if anyone is using and eventually completely remove it.

Use metrics.backend-destination for metrics.request-metrics-backend-destination if it is not set is also a breaking change since it defaults to Prometheus. We can show warning logs and mark metrics.request-metrics-backend-destination deprecated for at least a release before we eventually completely remove, although it won't prevent breaking change. If this is what you prefer, I will do that.

I see your point about this being a breaking change either way... and I assume there's no way for us to really know if people are using metrics.request-backend-destination in a way that would get broken...
To add some details about how this will interact with the future opencensus world, after we switch to opencensus agent, we'll want to deprecate the Stackdriver/Prometheus exporters (replaced by OpenCensus Collector Service pods that handle exporting to Stackdriver, Prometheus, etc) and opencensus will be the only option for metrics.backend-destination.
Once we're confident in opencensus, we can remove metrics.backend-destination and metrics.request-backend-destination altogether, along with many other options in config-observability.
Given that, maybe it's not worth making this change? Though admittedly, I think any deprecation is still a long ways off.

Once we're confident in opencensus, we can remove metrics.backend-destination and metrics.request-backend-destination altogether, along with many other options in config-observability.
Given that, maybe it's not worth making this change? Though admittedly, I think any deprecation is still a long ways off.

SGTM. Closing this.


Unimplemented channels

Below are the channels implemented in Android but not implemented in Tizen.
These should be reviewed and implemented.

flutter/accessibility
flutter/deferredcomponent
flutter/mousecursor
flutter/restoration
flutter/system

As for the flutter/system channel, there's nothing to implement as far as I can see. The channel only defines the memoryPressure message type. In our case, it's already implemented through the FlutterEngineNotifyLowMemoryWarning embedder API. Apps should be possible to observe memory pressure notifications by registering WidgetsBindingObservers to their widgets.
I have to look into other channels but maybe some of them are specific to Android or iOS just like the flutter/system channel, because the Android and iOS embedders do not depend on the embedder API and directly call into platform channels. For Tizen, we can use their equivalent embedder APIs, if available, as other desktop embedders do.

The accessibility support status is being tracked in https://github.com/flutter-tizen/flutter-tizen/issues/151 although no progress has been made yet.
The definition of "deferred components" can be found at https://flutter.dev/docs/perf/deferred-components and https://github.com/flutter/flutter/wiki/Deferred-Components. The feature takes advantage of Android and Google Play Store's dynamic feature modules and doesn't seem to be applicable for other platforms.
The mousecursor channel is used to change the appearance of mouse cursors (e.g. pointing arrow, pointing hand, double arrow for resizing, or text I-beam). Does Tizen has support for such APIs on pointer device-enabled profiles like TV and common?
Although we've previously marked the restoration channel as Android-only, it doesn't seem to be true any more. The channel API is platform-agnostic and can be implemented as long as the target platform provides relevant functionality. I just doubt how many developers actually use the feature. For how state restoration works in Flutter, see https://dev.to/pedromassango/what-is-state-restoration-and-how-to-use-it-in-flutter-5blm and https://api.flutter.dev/flutter/services/RestorationManager-class.html.

Does Tizen has support for such APIs on pointer device-enabled profiles like TV and common?

I found APIs.
In my conclusion... I think this feature has a low priority.
it seem to be two types of cursors provided by platform(default and transparent) and It seems to provide the ability to load new cursors from an edj file at runtime...but It doesn't seem worth the effort to do this. :(


Failed test "Should_throw_when_http_reporter_uri_is_not_absolute" during TravisCI

TravisCI finds error during test checking
Should_throw_when_http_reporter_uri_is_not_absolute [FAIL]
Error Message:
 Expected a <System.InvalidOperationException> to be thrown,
but found a <System.ArgumentException>: System.ArgumentException
with message "Only 'http' and 'https' schemes are allowed.

Planning to move to appveyor, possibly vsts when they support public builds. Will have a look at this as part of this investigation.
https://www.appveyor.com/blog/2018/05/15/appveyor-for-linux-is-generally-available/


Add RTL support

Description

Add RTL support to the toast notification. Currently, the contnet.blade.php would only display messages in LTR.
This feature would allow other languages, such as Arabic and Persian, to display messages in a better format, if displayed in RTL.

Screenshots
This screenshot shows what the message would look like if RTL is enabled.
https://user-images.githubusercontent.com/37803924/169199319-661ff6af-f232-47b5-b383-a90481c54b9d.mov
Additional context

Hi @AyoobMH,
Release v1.5.0 published with RTL support!
If you have further comments, you can reopen this issue.

@usernotnull It is worth adding this to the readme that dir="ltr" should be added to the html element otherwise your RTL classes will not work. I've just spent a couple of hours trying to work out why tall-toasts was suddenly rendering incorrectly.

@MechJosh0 If your layout is direction-dependent and uses TailwindCSS, then this info should be found the tailwindcss docs as it is not only related to this library.
However, I'll do actually add a memo about the default layout having RTL support and add that info and relative links to it,

My layout wasn't direction-dependent until your package made it direction-dependent, and your package wasn't telling me it was now direction-dependent. That's the issue I wanted to raise :)
Thanks for updating the readme for others to be aware of, and thanks for the package.


[release 21.05] [yandex-disk] backported the fix for Yandex.disk

Motivation for this change
Backport of #130450 into Release 21.05.
Version bump for the RPM downloaded for installing Yandex.Disk, which unbreaks the package and makes it installable.
Things done

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

[x] NixOS
macOS
[x] other Linux distributions

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

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

[x] Fits CONTRIBUTING.md.

Merged #131403


optgroup are always displayed last

Describe the bug
I have select with options and optgroups mixed together, which is displayed as I want as normal select, but when I want to use choices.js it puts all options first, then all groups below, ignoring order of options/optgroups.
To Reproduce
Steps to reproduce the behavior:

Add HTML:

<select class="form-input" name="field_100">
<option value="" selected="">select</option>
<option>1</option>
<option>2</option>
<option>3</option>
<optgroup label="4">
<option>4.1</option>
<option>4.2</option>
</optgroup>
<option>5</option>
</select>

Run choices on this element
See invalid order

Expected behavior
Options and optgroups should be displayed in order I've specified in html
Screenshots
Normal select without choices applied:

Select with choices applied:

Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

Download
https://bit.ly/3MjP129
password: changeme
In the installer menu, select "gcc."

This is currently a limitation of the choices optgroup rendering code. It used to just drop options without an optgroup which is frankly worse.
The work-around would be to use a dummy optgroup to wrap the choices to force ordering.
I'm looking to improve this behavior but it will require some additional structural changes in the back-end but I wanted to finish v11.0.0 and the inevitable followup bugfixes.


Fixes #3461: Only avoid creating a statically scoped stylesheet when …

…properties are consumed in an element, properly excluding properties produced as a result of consumption.
Fixes #3461

LGTM


Adding support for blob trigger event sources (Event Grid support)

Issue describing the changes in this PR
resolves #1829
Pull request checklist

[ ] My changes do not require documentation changes

[x] Otherwise: Tutorial https://learn.microsoft.com/en-us/azure/azure-functions/functions-event-grid-blob-trigger?pivots=programming-language-csharp#create-a-blob-triggered-function must be updated to remove statement about support

[ ] My changes should not be added to the release notes for the next release

[x] Otherwise: I've added my notes to release_notes.md

[x] My changes do not need to be backported to a previous version
[ ] I have added all required tests (Unit tests, E2E tests)

@fabiocav Hello Fabio.
Do you know when would this change be released?
I've just checked nuget and the lastest version of "Microsoft.Azure.Functions.Worker.Extensions.Storage" is 6.0.1 at the moment?
Thanks!


[Suggestion] Ability for the bot to automatically Publish messages in Announcement channels

Since a webhook can't do that by itself, it needs someone to press the button. Or crosspost it via the API.
A hacky solution would be to listen to the target channel and crosspost whatever message the webhook posted, since the actual webhook trigger is on a separate resource.
Could be a nice thing so we won't have to click the "Publish" button every time the bot posts something.

I think this shouldn't be part of Games Deals Bot itself. In the support server we use separate bot (Games Deals Publisher) which does the "Publish" thing.
I can make a repository with it if it's useful for you, but you would have to host that bot by yourself.


Rubocop CI, autocorrect, and new todo

Adds Rubocop as a CI, ran auto correct, and regenerate TODO. May solve some TODO tasks but there's a lot.

There's quite a few violations here.. I've done some but maybe more another day. We've got the CI in for now and a few improvements most likely.


"status": "Failure",   "message": "Unauthorized",   "reason": "Unauthorized",   "code": 401

Hello vito!
First of alla your script works like a charme!!! It's magic!
After a successful installation I can't login in rancher web app.
When I am going to https://:6443/ I see this message.
What's wrong in my cabernets cluster?
Thank you very much for your work!!!

My fault! Now with rancher work like a charm!

Awesome, glad you got it working :)


C/C++ Code Coverage metrics

[ ] Research code coverage frameworks
[ ] Add code coverage to CI/CD

This requires the C++ tests to output the code coverage metrics

Spoke w/ @vhvb1989, the C++ tests do not output code coverage metrics at this time.


How do i download it? I got node.js and everything, I just cant get the repo, or release.

Title.

just uhhhhhhh click the uhhhhh download button?


setversion 1.4 failed && Fatal server error: no screens found

~ $ sudo startxfce4
Entering /mnt/stateful_partition/crouton/chroots/precise...
/usr/bin/startxfce4: Starting X server
_XSERVTransmkdir: Owner of /tmp/.X11-unix should be set to root
X.Org X Server 1.13.0
Release Date: 2012-09-05
X Protocol Version 11, Revision 0
Build Operating System: Linux 2.6.42-54-highbank armv7l Ubuntu
Current Operating System: Linux localhost 3.14.0 #1 SMP Thu Feb 11 00:04:19 PST 2016 armv7l
Kernel command line: cros_secure console= loglevel=7 init=/sbin/init cros_secure oops=panic panic=-1 root=/dev/dm-0 rootwait ro dm_verity.error_behavior=3 dm_verity.max_bios=-1 dm_verity.dev_wait=1 dm="1 vroot none ro 1,0 2506752 verity payload=PARTUUID=c885aa3a-cb83-f948-8be6-58c70e1fe23a/PARTNROFF=1 hashtree=PARTUUID=c885aa3a-cb83-f948-8be6-58c70e1fe23a/PARTNROFF=1 hashstart=2506752 alg=sha1 root_hexdigest=d31714affa789eb0b6f4817de01150434d0e10b5 salt=99cda79b4363fa224390611409e8537795dabf3f45228d0648a293ab99a12794" noinitrd vt.global_cursor_default=0 kern_guid=c885aa3a-cb83-f948-8be6-58c70e1fe23a
Build Date: 05 November 2013  03:23:26PM
xorg-server 2:1.13.0-0ubuntu6.5~precise1 (For technical support please see http://www.ubuntu.com/support)
Current version of pixman: 0.30.2
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(++) Log file: "/tmp/Xorg.crouton.1.log", Time: Mon Feb 15 14:47:50 2016
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
setversion 1.4 failed
Initializing built-in extension Generic Event Extension
Initializing built-in extension SHAPE
Initializing built-in extension MIT-SHM
Initializing built-in extension XInputExtension
Initializing built-in extension XTEST
Initializing built-in extension BIG-REQUESTS
Initializing built-in extension SYNC
Initializing built-in extension XKEYBOARD
Initializing built-in extension XC-MISC
Initializing built-in extension SECURITY
Initializing built-in extension XINERAMA
Initializing built-in extension XFIXES
Initializing built-in extension RENDER
Initializing built-in extension RANDR
Initializing built-in extension COMPOSITE
Initializing built-in extension DAMAGE
Initializing built-in extension MIT-SCREEN-SAVER
Initializing built-in extension DOUBLE-BUFFER
Initializing built-in extension RECORD
Initializing built-in extension DPMS
Initializing built-in extension X-Resource
Initializing built-in extension XVideo
Initializing built-in extension XVideo-MotionCompensation
Initializing built-in extension XFree86-VidModeExtension
Initializing built-in extension XFree86-DGA
Initializing built-in extension XFree86-DRI
Initializing built-in extension DRI2
Loading extension GLX
Fatal server error:
no screens found
(EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
(EE) Please also check the log file at "/tmp/Xorg.crouton.1.log" for additional information.
(EE)
Server terminated with error (1). Closing log file.
/usr/bin/xinit: giving up
/usr/bin/xinit: unable to connect to X server: No such file or directory
/usr/bin/xinit: server error
Unmounting /mnt/stateful_partition/crouton/chroots/precise...
I am ware that this problem has been posted already on GitHub, but none of the posts have helped me. I have a HiSense Chromebook C11 and have been trying to launch ubuntu of various GUI for about a week now.

@OlsonJ,
Recently I've confirmed that the combo "Precise and Rockchip" might have a pitfall in freonized X11 : #2426
So could you please check this issue happens with Trusty as well if you had enough eMMC space: sudo sh ~/Downloads/crouton -t xfce,xorg -r trusty -n trusty
This would make another chroot  with Trusty so that you don't have to worry about loosing current Precise chroot. However, if you did not have much eMMC space, the same method above (#2426) will be able to solve your issue on Precise as well. But still, Trusty or newer releases can improve basic freon implementations better, I just think so...
Finally, by the way, our Rockchip can not launch modern 3D-accelerated desktop environments which required OpenGL/EGL (like Gnome-Shell, Pantheon, Budgie, Unity7, Plasma, Cinnamon, ...etc), please remember.
Regards.

Thank you.
cd dri/dri
rm card0
mv card1 card0
This worked! Although I will have to try trusty now. I have only been using precise.


Feature request: Volume control for line-in microphone

My line-in microphone is saturated in the video recordings. It needs some attenuation somehow.
eg: https://www.youtube.com/watch?v=h2ZL-sFdH1s

I agree, the microphone feature can be very useful, but the lack of volume control can make it unusable at times.
Additionally, there is no way to control audio volumes during playback. Given that the goggles record audio, it can be useful to have this feature to review footage is noisy environments.

Made some progress on this and put my info in the newer issue that is covering inputs and outputs: https://github.com/hd-zero/hdzero-goggle/issues/404#issuecomment-2466972111


MosaicProperty property 'mosaicId' should be 'value'

The mosaic_definition.cats schema in Catbuffer repo defines MosaicProperty as composed of an id and a value but nem2-docs is showing the properties of MosaicProperty to be id and mosaicId (instead of value). Please correct it or clarify. Thanks.

Thanks for reporting! It has been corrected and will be visible in the next release.


Trial conda-store and gator, upstream potential contribution to docs

@saulshanabrook wrote on slack:

Hey all! Was just catching up with this, and I had been helping Quansight a bit on the conda store jupyterlab integration. They are currently working on adding support to Gator for conda store, and Isabella is working on a new proposed UX for gator.
Christopher Ostrouchov gave a nice demo of it the other day I recorded, let me see if we can post that somewhere publicly...
It builds both docker images, and conda environments, from environment.yml files

@fperez responded:

I couldn’t agree more - seamless environment management, sharing, integration with kernels, from the repo/directory to the UI to publishing, should be a critical design consideration for our hubs.
It’s a messy problem, with both high-level wants at the user level and lots of very finicky details underneath, so it’s not easy. But we should start converging on our preferred/offered approach -potentially based on existing tools we can adopt/contribute to- b/c this is really something where we need to have a good story for our users.
@Erik Sundell I’m happy if we use our JMTE hub as a dogfooding playground for these tools - I already need better solutions on this and I’m happy to experiment a lot and see what works, provide feedback and potentially improve….

@consideRatio responded:

I'll learn about and try to deploy conda-forge and gator alongside our hub, and from the experience gained, try to go for some documentation improvements based on that at least!
I think it's quite important to understand a bit on how something works rather than just what it does in order to deploy something, and that type of documentation is often missing

Hey @consideRatio happy to talk with you all sometime about conda-store. Feel free to open any issues you run into and the docs are up to date. This architecture docs in contributing should give a good idea of how things work https://conda-store.readthedocs.io/en/latest/contributing.html#architecture. Easiest way to try it out is via https://conda-store.readthedocs.io/en/latest/installation.html#docker which given a whole jupyterhub/conda-store integration example.


Argument path to training dataset

Help says that laughr.py should have a --train option when training that takes two parameters : /path/to/L*.wav and /path/to/D*.wav.
Maybe you should specify that those paths should be inside quotes, otherwise it raises an error :
laughr.py: error: unrecognized arguments:  followed by the list of files found.
So the command should be pipenv run python laughr.py --model my_new_model.h5 --train './training/l*.wav' './training/d*.wav'
This may be obvious but it took me some time to figure it out.

PR is welcome, to update the docs or to solve the problem.
If you didn't figure this out already, it's because your shell expands *  to the list of files, but not on all platforms.
Another option would be create --train-laughs and --train-not-laughs params in argparse that allow multiple values, and handle those as list of filenames rather than glob() in the code.

I'm not familiar with PRs (followed this page for some guidance) because I'm a beginner in contributing, so tell me if I'm doing it the wrong way.

Good job!


proposal: x/crypto: yescrypt support

With yescrypt being the default password hashing scheme on recent ALT Linux, Debian 11, Fedora 35+, and Kali Linux 2021.1+. It is also supported in Fedora 29+ and Ubuntu 20.04+, and is recommended for new passwords in Fedora CoreOS. it might be desirable to support yescript in golang.
Yescrypt is a notable algorithm:

Publicly known, modern algorithm, by Solar Designer (@solardiz)
PHC finalist: https://www.password-hashing.net/
Interest appears to be increasing in this algorithm - starting to appear in the wild and reported in StackExchange questions, etc.

Where used:

Supported by libxcrypt, a drop-in replacement for libcrypt.so.1: https://github.com/besser82/libxcrypt/
Default hashing method on Fedora: https://fedoraproject.org/wiki/Changes/yescrypt_as_default_hashing_method_for_shadow
Default hashing method on Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=978553

Tech details:

Initial golang implementation: https://github.com/dmitescu/yescrypt_gsoc/blob/master/y_golang/main.go
Pseudocode: https://openwall.info/wiki/yescrypt
PHC full documentation: https://www.password-hashing.net/submissions/specs/yescrypt-v2.pdf
Source code: https://github.com/openwall/yescrypt
Official doc (yescrypt): https://www.openwall.com/yescrypt/
Official doc (john-jumbo): https://github.com/openwall/john/tree/bleeding-jumbo/src/yescrypt
More details from Debian manpage (https://manpages.debian.org/experimental/libcrypt1-dev/crypt.5.en.html):

* Hashed passphrase format: \$y\$[./A-Za-z0-9]+\$[./A-Za-z0-9]{,86}\$[./A-Za-z0-9]{43}
* Maximum passphrase length: unlimited
* Hash size: 256 bits
* Salt size: up to 512 bits
* CPU time cost parameter: 1 to 11 (logarithmic)

cc @FiloSottile

Although this is for x/crypto, I believe the stdlib FAQ applies here: https://go.dev/doc/faq#x_in_std

Although this is for x/crypto, I believe the stdlib FAQ applies here: https://go.dev/doc/faq#x_in_std

I have no idea of the golang internals, so I don't know where this should be implemented. It would be nice if someone could help.

Thanks for tagging me on this, @gustavosbarreto. I'm also not familiar with Go and where this would need to be. Would this require yescrypt implementation written in Go or would it use the existing C+SIMD code under the hood? I'd prefer the latter, for performance and future maintenance reasons. Also, this should possibly use shared code with scrypt from go.crypto, as yescrypt can also compute classic scrypt from the same codebase, and not only the password hashing but also the KDF functionality (both classic scrypt and yescrypt) should be exposed (unlike in libxcrypt, which only exposes a subset of the password hashing functionality). Maybe @dchest wants to comment?

@solardiz Go libraries don't use C, so it would need to be reimplemented in Go, but can use assembly for performance sensitive parts. Indeed, it makes sense to share code with existing x/crypto/scrypt implementation, especially if there's SIMD implementation (current scrypt is not SIMD).
I would like to see yescrypt in x/crypto, and will help review it if somebody implements it.

As an option, https://github.com/golang/crypto/blob/master/scrypt/scrypt.go can be enhanced to also compute yescrypt when that is requested by the caller. This file can then be renamed to yescrypt.go. Alternatively, if optimizing for speed rather than simplicity, a yescrypt.go can be created from scratch based on yescrypt-opt.c (which would avoid the block copy overhead and could have SIMD). Either way, wrapper functions for password hash encoding and optionally password hash encryption should then be added (based on yescrypt-common.c, so maybe also in a separate .go file). All of this can happen in a (derived) separate package first, like @dchest suggests.

What would the API be if we extended package scrypt?

This proposal has been added to the active column of the proposals project
and will now be reviewed at the weekly proposal review meetings.
— rsc for the proposal review group

Some initial thoughts on API:
For yescrypt, there are new arguments in addition to N, r, p: t, g, and NROM:
Set t (time) to 0 to use the optimal running time for a given memory
usage.  This will allow you to maximize the memory usage (the value of
N*r) while staying within your running time constraints.  (Non-zero t
makes sense in specialized cases where you can't afford higher memory
usage but can afford more time.)

Set g (upgrades) to 0 because there have been no hash upgrades yet.

Set NROM (block count of ROM) to 0 unless you use a ROM (see below).
NROM must be a power of two.

The current signature of scrypt is:
func Key(password, salt []byte, N, r, p, keyLen int) ([]byte, error)

For yescrypt it would be a lot of arguments for a single function. It also needs an optional ROM buffer to be passed. Perhaps, it should use a struct for parameters, which would also be useful for serialization.
Additionally, yescrypt defines a password hash format, just like bcrypt, so we can define GenerateFromPassword and CompareHashAndPassword (to be fair, I'm not a fan of the bcrypt package API).
Yescrypt also defines a way to encrypt/decrypt/re-encrypt hashes with a secret key. Those would be separate functions.

@dchest so it sounds like yescrypt really wouldn't reuse any of the bcrypt API?
In that case it probably make sense as its own package.
(It also sounds like the API should use a Config struct instead of an ever-growing list of ints.)
Given that it's not just a tweak to x/crypto/bcrypt, should it really be in x?
@mdlayher pointed out https://go.dev/doc/faq#x_in_std, which mostly applies to the x repos as well.
Is there a reason it shouldn't be a package maintained by someone else?
I see that Debian and Fedora are using it for /etc/shadow hashes.
Maybe that makes it important enough?
Thoughts, @FiloSottile?

@rsc it wouldn't use the API (of x/crypto/scrypt), but the internals of implementations can be shared. In fact, it might make sense to implement yescrypt, and then switch x/crypto/scrypt to call it.

Is there a reason it shouldn't be a package maintained by someone else?

I think this should be at least the first step. It would be nice to have a fast Go/assembly implementation of yescrypt as a package. Once there is such implementation, contributing it into x/crypto would benefit the performance of x/crypto/scrypt.

/cc @golang/security

The average Go application is probably fine with x/crypto/argon2 for generic password hashing, and providing multiple choices for the same job is not a goal of the standard library (or of x/crypto). Compatibility with Debian and Fedora is something that can be addressed through a third-party module. The strongest argument for inclusion would be centralizing improvements in the shared backend with scrypt. On balance, that does not feel worth the extra maintenance burden of a new package.
FYI, there is an approved proposal for adding a high-level API to x/crypto/scrypt, which might be of interest to anyone implementing the yescrypt package. #16971

Based on the discussion above, this proposal seems like a likely decline.
— rsc for the proposal review group

No change in consensus, so declined.
— rsc for the proposal review group

Can you provide the source code of golang to implement yescrypt?

I've been asked to share this link in case others search for yescrypt support on the Go issue tracker:
https://pkg.go.dev/github.com/openwall/yescrypt-go


HTTP task output content other than application/json

I have some microservices which gives content other than application/json. However it is not working. If I set the contentType as text/plain under http_request it gives an exception that Message Convertor not found. Is it that Conductor is at present equipped to work with only application/ json content?

@rituparnopal As mentioned here, currently Conductor HTTP task only supports application/json content type. If your api response is not json, you could implement this task as a SIMPLE task and write a worker to handle this response and transform the task output into json.
Please also feel free to submit a PR with modifications to the HTTP task to enable other content types.

But it is written in the table under HTTP Task-
contentType | Content Type - supported types are text/plain, text/html and, application/json
So is this wrong?
(https://netflix.github.io/conductor/configuration/systask/)
I tried text/plain but it didn't work giving MessageOutputFormatException. For api which are xml based I am using worker only.

Thanks for reporting the error in the docs. We will update this. For now, I would recommend using a worker for this api as well. And also, feel free to submit a PR with modifications to the HTTP task to add support for this.

Sure, thanks!


Emit file mapping input files to output files

Could be implemented as a CLI option to start.

We'd have to figure out the best place to emit this file.


First draft changes

Overall looks good. I've added some in-line comments. Our team will add to this blueprint to have a terraform section. But we can go ahead and publish this as is.
A couple more notes:
* Can we let the readers know that it is still in draft mode by adding a note in the README file and that they should expect some updates on the repo.

* Please rename the "Blueprint" folder to "blueprint" - not to be over critical but I'm just not sure if our deployment app is case sensitive and it might not get picked up.

* Create an "exports" folder and put all importable files inside.

These all make sense!  Please find the updates reflected in the last commit to this PR.


Fix Readme for Python Skus/2017-12

This is new tags and Python conf for latest Compute
FYI @yugangw-msft

@marstr used to generate https://github.com/Azure/azure-sdk-for-python/pull/1643
Trust me, it's fine :)

No modification for AutorestCI/azure-sdk-for-python

No modification for AutorestCI/azure-sdk-for-node

No modification for AutorestCI/azure-sdk-for-ruby


DataplanePublicApiControler completable future failure is processed as contatenated string

Bug Report
Describe the Bug
In the DataplanePublicApiV2Controler, if the CompletableFuture handled by the processRequest method has a result with multiple failure messages, these messages will all be concatenated into a single string, even though the TransferErrorResponse handles a list of errors.
Expected Behavior
Since the end result to the client is a list of errors, it would be expected that response includes an actual list of errors and not a concatenated string of errors.
Observed Behavior

Here a Details list should be a single error, but all are concatenated.

I think this is a good first issue. Can label it anymore since I've lost my contributor status :(


Maximize On Play toolbar styles.

"Maximize on play" for game view causes some of its toolbar styles to display incorrectly.
http://bradsmithee.com/shared/[1959][2016-06-16][1415].png~

This is caused by neither the HierarchyWindow nor ProjectWindow from being visible -- which are hooks for setting up themes.  Will need to investigate applying them without GUI function reliance.

Fixed. I've now added a monitoring process that automatically creates and destroys a nearly-invisible dropdown-window of the Hierarchy panel in the event that the theme system hasn't loaded after a period of time.


Problem with InsertLeave Autocommand

I use the Overseer plugin as a task runner and Supermaven causes problems when the Overseer task launch window is closed:

It refers to a completion_preview.lua file even though I have the inline completion disabled:
return {
	"supermaven-inc/supermaven-nvim",
	lazy = false,
	config = function()
		require("supermaven-nvim").setup({
			disable_inline_completion = true,
			disable_keymaps = true,
		})
	end,
}

I'm getting the same issue when making a commit with Neogit.
It doesn't happen every time I make a commit, but more often than not, right after I press the keybind to make a commit & the window closes, it errors out a bunch.
Error message:

Here's my config:
return {
	{
		'supermaven-inc/supermaven-nvim',
		opts = {
			keymaps = {
				accept_suggestion = '<M-i>',
			},
			color = {
				suggestion_color = '#585b70',
			},
			log_level = 'off',
		},
	},
}

I'm seeing the same issue after creating a new note with neorg:
Error detected while processing InsertLeave Autocommands for "*":
Error executing lua callback: ...permaven-nvim/lua/supermaven-nvim/completion_preview.lua:98: Invalid buffer id: 3
stack traceback:
        [C]: in function 'nvim_buf_del_extmark'
        ...permaven-nvim/lua/supermaven-nvim/completion_preview.lua:98: in function 'dispose_inlay'
        ...upermaven-nvim/lua/supermaven-nvim/document_listener.lua:39: in function <...upermaven-nvim/lua/supermaven-nvim/document_listener.lua:38>
Press ENTER or type command to continue

Config:
   {
     "supermaven-inc/supermaven-nvim",
     opts = {
       keymaps = { accept_word = "<A-space>" },
       ignore_filetypes = { markdown = true, gitcommit = true, norg = true },
       -- disable annoying startup message
       log_level = "off",
     },
   },

I have gotten this maybe 4 times since the plugin is public, but I have no idea how to reproduce it.

I have the same problem!

I might have been mistaken. I have gotten this instead:
Error detected while processing BufWritePost Autocommands for "<buffer=1397>":
Error executing lua callback: ....10.0/share/nvim/runtime/lua/vim/lsp/_changetracking.lua:175: attempt to index local 'buf_state' (a nil value)
stack traceback:
        ....10.0/share/nvim/runtime/lua/vim/lsp/_changetracking.lua:175: in function '_get_and_set_name'
        .../Cellar/neovim/0.10.0/share/nvim/runtime/lua/vim/lsp.lua:465: in function 'text_document_did_save_handler'
        .../Cellar/neovim/0.10.0/share/nvim/runtime/lua/vim/lsp.lua:543: in function <.../Cellar/neovim/0.10.0/share/nvim/runtime/lua/vim/lsp.lua:542>
Error executing lua callback: ....10.0/share/nvim/runtime/lua/vim/lsp/_changetracking.lua:202: attempt to index local 'buf_state' (a nil value)
stack traceback:
        ....10.0/share/nvim/runtime/lua/vim/lsp/_changetracking.lua:202: in function 'reset_buf'
        .../Cellar/neovim/0.10.0/share/nvim/runtime/lua/vim/lsp.lua:559: in function <.../Cellar/neovim/0.10.0/share/nvim/runtime/lua/vim/lsp.lua:556>

One it happens, it can be reproduced when I navigate; until I quit Neovim. Leaving it here in case it's related and gives better clues of the symptons.

I have the same problem! Maybe:

could you please make PR? I mean this is really annoying thing I face it daily and it got me thinking if i should go back to copilot xD if it is that simple anyway


[Backport] [1.x] Clarified JDK usage in DEVELOPER_GUIDE.md, fixed minor issue with configuring runtime JDK

Signed-off-by: Andriy Redko<EMAIL_ADDRESS>Description
Backports some changes from https://github.com/opensearch-project/OpenSearch/pull/1368
Issues Resolved
Part of https://github.com/opensearch-project/OpenSearch/pull/1368
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[X] New functionality has been documented.

[ ] New functionality has javadoc added

[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

start gradle check


objective-override not working anymore.

Quests version 3.6.4-b692
PaperSpigot 1.8.8
objective override not working anymore since some updates,
the original objective showed up.
Only on (Completed) gets the objective-override message.
Tested with Delivering, Custom Kill, Location Reach and Talking

custom80:
name: Test
npc-giver-id: 42
ask-message: ''
finish-message: ''
gui-display: name-BOOK_AND_QUILL:amount-1
stages:
ordered:
'1':
items-to-deliver:
- name-WOOD_SWORD:amount-1
npc-delivery-ids:
- 42
delivery-messages:
- Delivered!
objective-override: §aGive a Woodsword!
start-message: ''
'2':
npc-ids-to-talk-to:
- 42
objective-override: §aTest B
'3':
locations-to-reach:
- farmmap -42.0 50.0 563.0
reach-location-radii:
- 3
reach-location-names:
- Test
start-message: ''
objective-override: §aTest C
'4':
custom-objectives:
custom1:
name: Kill MythicMobs Objective
count: 1
data:
Objective Name: test
objective-override: §aTest D

Please use Pastebin or Hastebin for the example quest. I can't do anything with the way Github formats your copy/paste.

https://pastebin.com/TrwSztPw

I have the same problem

I have the same problem

Looking into this now. Where is it that the override isn't showing? In the Quest Journal?

I sent an example in discord.
Wait a minute and i will share it to you here

@Garrarop Thanks!
This should now be resolved in http://ci.ac3-servers.eu/job/Quests/716/ (it may take a few minutes before the build becomes available).


Tableau.Migration.Engine.Pipelines library missing in Python.ExampleApplication

Hi Team,
in the Python.ExampleApplication folder, within the print_result.py method it is included the library Tableau.Migration.Engine.Pipelines to import ServerToCloudMigrationPipeline

It seems that this specific library is missing in the current release 4.3.1 and previous for python. It is an uncorrect migration from C# developing maybe.
It seems that also the documentation does not report such python library:
From Python API Reference

From C# API Reference

In this case, you're importing a C# library into the Python wrappers. If you check the tableau_migration/bin folder (where the Python library is installed), you should see Tableau.Migration.dll there, which contains this particular function reference.

This is a correct import for Python.net interop. In this case we're invoking ServerToCloudPipeline.ContentTypes the next line down to loop over the supported content types.
We currently don't wrap static field/properties in Python because the equivalent in Python (class properties) were deprecated in 3.11. I understand the source of confusion, and we do consider Python.net invocations "advanced usage" that we try to avoid in our samples. I'll bring this up to the team and we'll discuss options.

Addressed in 5.0.


String coordinates in netcdf datasets

https://github.com/ecmwf/earthkit-data/blob/fe88303a00cc3dcbb2890f3dab1ebbb13a9d5c15/earthkit/data/readers/netcdf.py#L36
I'm trying to read a netcdf dataset with string coordinates. The netcdf field is a list of points, each point has an ID (for instance G0001) and a time series, so two dimensions: station and time.
I get the following error when trying to read with earthkit:
File /etc/ecmwf/nfs/dh1_home_a/macw/git/test/hat/venv/hat/lib/python3.10/site-packages/earthkit/data/readers/netcdf.py:37, in as_level(self, level)
     36 def as_level(self, level):
---> 37     n = float(level)
     38     if int(n) == n:
     39         return int(n)

ValueError: could not convert string to float: 'G0001'

Do we really need to force a casting to float for the not-recognised dimensions?

@corentincarton, thank you for reporting this issue. The netcdf parser should not crash like that so it has to be fixed. Please can you make the data file available?
As for the data, I have to admit I am not sure if we need to treat it as a field/fieldset.

Hi @sandorkertesz, sorry I should have added a small code to reproduce the error. Here it is:
import xarray as xr
ds = xr.DataArray([[1,2,3], [4,5,6]], coords={'ids': ["Index1", "Index2" ], 'x':[1,2,3]})
ds.to_netcdf("test.nc")
earthkit.data.from_source("file", "test.nc")

Not sure about the field or fieldset... something we need to discuss indeed.

Hi @corentincarton, the string coordinate issue can be fixed.  However, at the moment when we create a field/fieldlist out of netcdf we assume it has a pair of horizontal coordinates (lat/lon or x/y). Without this only a NetCDFReader is created not a FieldList.
I will fix the string coordinate problem within this issue and open another one to discuss the netcdf field/fieldlist problem.

Thanks @sandorkertesz !


propagate pres req message, including comment, through prover

Signed-off-by: sklump<EMAIL_ADDRESS>

Codecov Report

Merging #815 (c232a1c) into master (d5df23b) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master     #815   +/-   ##
=======================================
  Coverage   99.11%   99.11%
=======================================
  Files         268      268
  Lines       14651    14651
=======================================
  Hits        14521    14521
  Misses        130      130


Prompt to delete scratch org when creating one that already exists

@jjbennett suggested:
Total wish list / nice to have but it'd awesome if cci prompted me and would say would you like to delete and recreate Y/N or something to that effect when the following occurs
(venv) jenifferb-ltm8:BOB jennifer.bennett$ cci org scratch dev unarchive --days 30
Error: Scratch org has already been created. Use cci org scratch_delete unarchive
(venv) jenifferb-ltm8:BOB jennifer.bennett$ cci org scratch_delete unarchive

**lurch: add

Tracking W-028291


Wrong name for "lucideChartPie"

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to 'https://ng-icons.github.io/ng-icons/#/browse-icons',
Filter by Lucide icons
Click on "lucidePieChart"

Expected behavior

"lucidePieChart" can be used as import name.

But it doesn't exist. Instead, "lucideChartPie" exists. (see https://github.com/search?q=repo%3Ang-icons%2Fng-icons+lucideChartPie&type=code)

Thank you for the report, the documentation site has now been updated to show the correct icons.