JITCompiler not available in production environment anymore, breaking dynamic components

🐞 bug report
Affected Package

 The issue is caused by package @angular/compiler
Is this a regression?

 Yes, the previous version in which this bug was not present was: NG8.2.14 / NG9.0.6
Description
We operate an app where dynamic component templates are received via an API from the server.
These templates get compiled at runtime into an Angular component while the rest of the app gets compiled AOT.
Because of the dynamic components we need the Angular JITCompiler to be available at runtime.
So basically we have an AOT app including multiple completely dynamic components that can get compiled and rendered whenever it is necessary (whenever templates are received from the server).
The dynamic templates are unknown at the time of AOT compilation of the app.
This worked in NG 8.2.14 and NG 9.0.6 flawlessly. Afer upgrading to >=NG9.0.7 the compiler gets stripped away in production mode by optimization. This is an issue since it breaks any app depending on runtime compilation.
The possible solutions presented in the error are pretty "weird":

"JIT compilation is discouraged for production use-cases! Consider AOT mode instead."

The statement sounds a little bit like "Angular is AOT only so get rid of your dynamic stuff".

"Alternatively provide the compiler with 'import "@angular/compiler";' before bootstrapping"
This would be great but does not work. Tried importing it in main.ts or even polyfills.ts

Currently we have no way of getting back our much needed runtime compiler.
Any help is much appreciated!
🔬 Minimal Reproduction

https://github.com/FSDRE/ngcompile

See main.ts, compiler gets imported
npm run startProd -> Error in the browser...

🔥 Exception or Error

ERROR Error: Angular JIT compilation failed: '@angular/compiler' not loaded!
  - JIT compilation is discouraged for production use-cases! Consider AOT mode instead.
  - Did you bootstrap using '@angular/platform-browser-dynamic' or '@angular/platform-server'?
  - Alternatively provide the compiler with 'import "@angular/compiler";' before bootstrapping.
    at Se (main.9d222ff640ce74575712.js:1)
    at Function.get (main.9d222ff640ce74575712.js:1)
    at Ct (main.9d222ff640ce74575712.js:1)
    at new mf (main.9d222ff640ce74575712.js:1)
    at Kh (main.9d222ff640ce74575712.js:1)
    at e.td [as compileModuleAndAllComponentsSync] (main.9d222ff640ce74575712.js:1)
    at e.createComponentFactory (main.9d222ff640ce74575712.js:1)
    at e.ngOnInit (main.9d222ff640ce74575712.js:1)
    at Rn (main.9d222ff640ce74575712.js:1)
    at Pn (main.9d222ff640ce74575712.js:1)

🌍  Your Environment
Angular Version:

     _                      _                 ____ _     ___
    / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
   / △ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
  / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
 /_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
                |___/

Angular CLI: 10.0.1
Node: 12.18.1
OS: win32 x64

Angular: 10.0.2
... animations, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic, router
Ivy Workspace: Yes

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.1000.1
@angular-devkit/build-angular     0.1000.1
@angular-devkit/build-optimizer   0.1000.1
@angular-devkit/build-webpack     0.1000.1
@angular-devkit/core              10.0.1
@angular-devkit/schematics        10.0.1
@angular/cli                      10.0.1
@ngtools/webpack                  10.0.1
@schematics/angular               10.0.1
@schematics/update                0.1000.1
rxjs                              6.5.5
typescript                        3.9.6
webpack                           4.43.0

Anything else relevant?

This is due to a bug in the CLI, please see https://github.com/angular/angular-cli/issues/17947#issuecomment-644672171.
For now, you can disable Build Optimizer to allow for the JIT compiler to work properly.

Duplicate of https://github.com/angular/angular-cli/issues/17663


Clarify component disposal async+sync

Fixes #24863
Thanks @jkdba! :rocket: ... Looks like Pranav isn't on the PU team any longer. This should be fine tho given that it comes directly from reference source.
Ref source code comment:

Components shouldn't need to implement IAsyncDisposable and IDisposable simultaneously,
but in case they do, we prefer the async overload since we understand the sync overload
is implemented for more "constrained" scenarios.
Component authors are responsible for their IAsyncDisposable implementations not taking
forever.

Cross-reference: https://github.com/dotnet/aspnetcore/blob/main/src/Components/Components/src/RenderTree/Renderer.cs#L1009-L1013

Thanks!


Create Wiki for Development Workflow Documentation

Summary:
Create a GitHub Wiki to document our team's processes for creating branches, pull requests (PRs), and naming conventions. The aim is to standardize our development workflow, enhance collaboration, and onboard new team members more efficiently.
Include:
Naming Conventions: Establish naming conventions for branches, PRs, and commit messages to maintain consistency and readability.
Creating Pull Requests: Guide on creating PRs, including descriptions, linking issues, and tagging reviewers.
Review Process: Outline the process for reviewing PRs, including coding standards, testing requirements, and how to provide constructive feedback.

@edichoska please take a look at the wiki, if you think we need to add something please text me. Also, I think we will need some coding standards wiki page.

@davorminchorov @KonstantinVchkov @RevanchistX

@stoimenov95  not sure what else we need. Should we include cloning the repo?
Also assigning tikets, moving them to In Progress and In review . Resolving conflicts.
About the branch naming we were talking about naming them like  -  ex: 68-create-navigation.

We could also add that the commit messages should have a meaning instead of "fix" or "add" or something cryptic like that.

@edichoska @davorminchorov @KonstantinVchkov @RevanchistX I would appreciate your thoughts regarding my latest update on the Wiki. Thanks, everyone!


Add empty code template in the playground as well as in the in-tutorial editor

I don't think added a template to the in-tutorial editor is useful. So I only added one to the playground.


S3 IAM Policy Documentation

Describe the bug
The plugin README says it needs 5 role policies, but Access keep denied until I add s3:PutObjectAcl.

I added it to the doc.


OpenAI request NotFoundError response adds additional context to indicate potential lack of funds

When an OpenAI token is used that either does not have billing enabled or does not have enough credits to call the default model, their API will raise an exceptionof type NotFoundError.
When this happens, we will catch the errors of this type and modify the message to include additional context that indicates that the issue may be related to insufficient credits. We will then re-raise an APUException.
Fixes issue #709

When looking into this issue, I also considered a potentially more robust implementation that checked for the available OpenAI models at server start time and halted (or at least logged pretty aggressively). I ultimately decided against that "belt and suspenders" approach as this is a really a transitory issue that could easily be remedied without a server restart. That, and as I am new to this project, I was not sure how welcome a change would be that veers outside the scope declared within the issue.

thanks @coryfoo! This will already be a much better error.
Could you add an api level test to verify the response? sdk/tests/test_sql_agent.py is a pretty tight example for how to define a test module that starts the server with a custom agent definition. Obviously you would need to use the SimpleAgent instead of the SqlAgent, but you get the idea.
Another potential addition is is to make a request request to https://platform.openai.com/docs/api-reference/models/list in the catch block so that we can disambiguate bad model vs unfunded account. We would need to guard against errors here, but it could allow us to be very helpful in most cases.

Could you add an api level test to verify the response? sdk/tests/test_sql_agent.py is a pretty tight example for how to define a test module that starts the server with a custom agent definition. Obviously you would need to use the SimpleAgent instead of the SqlAgent, but you get the idea.

I'd be happy to do that! Is there an existing test file that makes sense to dump the test into, or should I create a new one?

Could you add an api level test to verify the response? sdk/tests/test_sql_agent.py is a pretty tight example for how to define a test module that starts the server with a custom agent definition. Obviously you would need to use the SimpleAgent instead of the SqlAgent, but you get the idea.

I'd be happy to do that! Is there an existing test file that makes sense to dump the test into, or should I create a new one?

Could you add an api level test to verify the response? sdk/tests/test_sql_agent.py is a pretty tight example for how to define a test module that starts the server with a custom agent definition. Obviously you would need to use the SimpleAgent instead of the SqlAgent, but you get the idea.

I'd be happy to do that! Is there an existing test file that makes sense to dump the test into, or should I create a new one?

Could you add an api level test to verify the response? sdk/tests/test_sql_agent.py is a pretty tight example for how to define a test module that starts the server with a custom agent definition. Obviously you would need to use the SimpleAgent instead of the SqlAgent, but you get the idea.

I'd be happy to do that! Is there an existing test file that makes sense to dump the test into, or should I create a new one?

Could you add an api level test to verify the response? sdk/tests/test_sql_agent.py is a pretty tight example for how to define a test module that starts the server with a custom agent definition. Obviously you would need to use the SimpleAgent instead of the SqlAgent, but you get the idea.

I'd be happy to do that! Is there an existing test file that makes sense to dump the test into, or should I create a new one?

You can create a new test file. Most of our other tests are parameterized by llm provider, and we just want it for openai.

@LukeLalor I made a new test file, per your request. I didn't exactly copy the test_sql_agent.py pattern, however, as my feeling was that the goal was to assert that the error message was appropriate when the OpenAI client threw a NotFoundError. Therefore, I mocked out a new subclass of OpenAIConnectionHandler so that we could make it raise the error. I felt that going the route of starting a server and configuring an agent was a less direct path of accomplishing this goal.

sounds good. Thanks for that @coryfoo
failing lock file test is due to external contributors bug. I filed it at https://github.com/eidolon-ai/eidolon/issues/794 and will merge bypass the rule.


Support clientName setting for ShardedJedisPool

Support clientName setting for ShardedJedisPool
[Motivation]
ShardedJedisPool should support setting clientName into Jedis so
that we can trouble shooting easier with client name.
now no client name be showed for client list if we use ShardedJedisPool:
id=2 addr=<IP_ADDRESS>:33652 fd=5 name=  age=1350882
idle=1 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0
omem=0 events=r cmd=ping
[Modifications]
(1) add private member: clientName into ShardedJedisFactory;
(2) add new constructor with clientName for ShardedJedisPool;
(3) set client name in ShardedJedisFactory's makeObject() method;
[Result]
easier to trouble shooting with connection name if using
ShardedJedisPool:
id=2 addr=<IP_ADDRESS>:33652 fd=5 name=APP_Name age=1350882
idle=1 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0
omem=0 events=r cmd=ping

@jiafu1115 seems code doesn't compile according to travis.

@marcosnils  I am fixing it, The error is caused by I edit on line instead of IDE. so you can ignore the error. The basis code is right. So can you help to review it ? Thanks

@marcosnils , The compile error had been fixed. You can continue on it now. Thanks

@marcosnils so, just now, after code format and cleanup. There is only one major concern for this PR is exception handle. waiting for your think. 3ks


can`t input number by right numeric keypad

Prerequisites

[X] Write a descriptive title.
[X] Make sure you are able to repro it on the latest released version
[X] Search the existing issues.
[X] Refer to the FAQ.
[X] Refer to Differences between Windows PowerShell 5.1 and PowerShell.

Steps to reproduce
open powershell preview,
ssh copnnect or wsl,
use right numeric keypad
Expected behavior
push 1 2 3

Actual behavior
terminal show 123

Error details
But no any input in console.
And no the problem in local windows console, stable version also normally use right numeric keypad in wsl/ssh

Environment data
Name                           Value
----                           -----
PSVersion                      5.1.22621.2506
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.22621.2506
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>

Visuals

📣 Hey @WikiLiu, how did we do? We would love to hear your feedback with the link below! 🗣
🔗 https://aka.ms/PSRepoFeedback

Microsoft Forms

https://github.com/microsoft/terminal/issues/16654


Can't use new repositories

Hello again,
My redmine and plugin installations are ok, everything is green on the verification page, but when I'm creating a new project in redmine, the repository seems created but empty and unusable...
I've installed (Bitnami Stack) redmine 3.0.3 on a VM Ubuntu 14.04 (x64) with gitolite v3 using git 1.9.1
I have to say that #440 and #445 solutions didn't work for me.
The git_hosting.log :
2015-06-16 15:44:12 +0200 [INFO] User 'lmorel' created a new repository 'nouveau-projet'
2015-06-16 15:44:12 +0200 [INFO] Create tmp directory : '/home/redmine/bitnami/apps/redmine/temp/git/gitolite-admin.git'
2015-06-16 15:44:12 +0200 [INFO] Accessing gitolite-admin.git at '/home/redmine/bitnami/apps/redmine/temp/git/gitolite-admin.git'
2015-06-16 15:44:12 +0200 [ERROR] Access denied for Gitolite Admin SSH Keys
2015-06-16 15:44:12 +0200 [ERROR] Unsupported URL protocol
2015-06-16 15:44:19 +0200 [INFO] Membership changes on project 'Nouveau projet', update!
2015-06-16 15:44:19 +0200 [INFO] Create tmp directory : '/home/redmine/bitnami/apps/redmine/temp/git/gitolite-admin.git'
2015-06-16 15:44:19 +0200 [INFO] Accessing gitolite-admin.git at '/home/redmine/bitnami/apps/redmine/temp/git/gitolite-admin.git'
2015-06-16 15:44:19 +0200 [ERROR] Access denied for Gitolite Admin SSH Keys
2015-06-16 15:44:19 +0200 [ERROR] Unsupported URL protocol
2015-06-16 15:48:31 +0200 [ERROR] Git exited with non-zero status : 128

Thanks for your time. :kissing:

Hi!
What is your plugin version?

Thanks for your reactivity !
I've installed the latest stable version : 1.1.0

In the Config Test tab, can you check that "Rugged compiled features" includes ssh?

And the libgit2 version?

I've broke my installation again.
Now I know how to make snapshots of my VM...
I think that I have lots of problems with permissions.
I wanted to install my Bitnami Redmine Stack in /opt/bitnami directory, but when I run the installer I need to sudo, so every command lines after that needs sudo too, maybe this is the cause of part of my problems...
I will try with a dedicated user, sorry again


server: usage caps

From the CLI ft. brutal logs
raayan@raayan-p15 ~/dev/lockbook/clients/cli [raayan/usage_caps] $ lipsate 100000 | ../../target/debug/lockbook edit nice/test.txt --stdin
raayan@raayan-p15 ~/dev/lockbook/clients/cli [raayan/usage_caps] $ ../../target/debug/lockbook sync
Pushing: test.txt
Sync complete.
raayan@raayan-p15 ~/dev/lockbook/clients/cli [raayan/usage_caps] $ lipsate 100000 | ../../target/debug/lockbook edit nice/test.txt --stdin
raayan@raayan-p15 ~/dev/lockbook/clients/cli [raayan/usage_caps] $ ../../target/debug/lockbook get-usage
Uncompressed File Size: 100 KB
Server Utilization: 23.03 KB
Server Data Cap: 100 KB
raayan@raayan-p15 ~/dev/lockbook/clients/cli [raayan/usage_caps] $ ../../target/debug/lockbook sync
Pushing: test.txt
Sync complete.
raayan@raayan-p15 ~/dev/lockbook/clients/cli [raayan/usage_caps] $ ../../target/debug/lockbook get-usage
Uncompressed File Size: 100 KB
Server Utilization: 22.46 KB
Server Data Cap: 100 KB
raayan@raayan-p15 ~/dev/lockbook/clients/cli [raayan/usage_caps] $ lipsate 500000 | ../../target/debug/lockbook edit nice/test.txt --stdin
raayan@raayan-p15 ~/dev/lockbook/clients/cli [raayan/usage_caps] $ ../../target/debug/lockbook get-usage
Uncompressed File Size: 500 KB
Server Utilization: 22.46 KB
Server Data Cap: 100 KB
raayan@raayan-p15 ~/dev/lockbook/clients/cli [raayan/usage_caps] $ ../../target/debug/lockbook sync
Pushing: test.txt
error: Data cap exceeded! You'll need to upgrade your storage plan or reduce usage to continue syncing.

From the server
[2021-07-11 15:40:39] [lockbook_server_lib::file_index_repo    ] [WARN ]: tried to sync fec0ae6c-eaa9-4783-bf57-ff508fd91750 old_size=22743 new_size=104722 cap=100000 current_usage=22743 projected_usage=104722

@Parth isn't @tvanderstad changing sync significantly atm?

Yeah he is, but this error will exist in his work too. I think there's only a small amount of stuff that will be duplicated. @tvanderstad a lot of errors are treated like: "pull and we'll retry", this is not one of those errors. So for both SyncV2 (what @raayan will slightly modify) and SyncV3 (what @tvanderstad is working on), if we see this error, we want to put the breaks on and propagate this up to the user.
imo this is a small part of this body of work, the more significant part is the UX around approaching the limit, warning users, and then finally indicating to them that it's time to buy more space.
If you wanted to pause this body of work until SyncV3 is merged, you could start working on some of the streams of work required for actually adding a payment method on various platforms (see the doc).

@Parth isn't @tvanderstad changing sync significantly atm?
@raayan was right

Conflicting files
clients/cli/src/edit.rs
clients/cli/src/main.rs
clients/cli/src/new.rs
clients/cli/src/utils.rs
core/libs/models/src/api.rs
core/src/lib.rs
core/src/service/sync_service.rs
server/server/src/file_index_repo.rs
server/server/src/file_service.rs

Will be copying from this PR in a new PR soon to be linked


Find a way to minimize the workload generated from invalid submitted reports

We should find a way to process non correctly formatted or invalid reports that are saturate the processing power of the pipeline.
If we decide to discard these reports we should do it in a smart way to counteract any potential collateral damage i.e, not processing reports from a whole country.

IMHO, that's very generic ticket that can never be solved in the pipeline as it's an ongoing process of incident response. So I'm closing it.
I think, incidents (like #139) should be resolved on case-by-case basis.
I think, if the collector has accepted the measurement from the user, than we have some "contract" to do give it some "best-effort" service. That is perfectly summarized by "garbage in — garbage out" modality of the current pipeline code.

I don't remember the exact incident I think that something/somebody was sending one report per URL from UK and this why (?) processing of AS2856, AS20712, AS5607 is ignored.
The relevant line in documentation:
https://github.com/ooni/pipeline/blame/master/docs/readme-2.0.0.md#L205
Perhaps @hellais has more insights on this.
If it helps I can open a separate issue.

processing of AS2856, AS20712, AS5607 is ignored

Those measurements are not ignored anymore and those measurements do not create significant issues by being treated as first-class dataset citizens.
Moreover, as far as I understand, MK will be sending one report per URL in near future. But @bassosimone knows better.

In the older model of the pipeline, we would start a new job for each report file (we were assuming there were not so many report files) and when some people started submitting 100s of thousands of report files the scheduled obviously got spammed and was not working properly.
As a temporary workaround to this we started ignoring those measurements while we figured how to refactor the scheduler logic to work on a bigger workload (more than 1 report file).
Now we have a very different logic in place where report files are all grouped together into big tarbals files and the scheduler works on data based on the canned filed, so this is no longer an issue.
I think it's reasonable to close this issue.


Molecular Representation

Hi,
I want to use this model for molecular representation, how does this model perform in molecular representation? How do I achieve this?
It is worth noting that I tried to use the code example on Huggingface and got exactly the same representation of the individual molecules.
Best regards,
    inputs = tokenizer([smiles], return_tensors="pt", padding=True, truncation=True)
    inputs = {k: v.to(device) for k, v in inputs.items()}
    with torch.no_grad():
        outputs = model(input_ids=inputs['input_ids'], attention_mask=inputs['attention_mask'], decoder_input_ids=None)
        hidden_states = outputs.encoder_last_hidden_state  # shape: [batch_size=1, sequence_length, hidden_size]

    embedding = torch.mean(hidden_states, dim=1).squeeze().cpu().numpy()  # shape: [hidden_size]
    print(hidden_states)
    return embedding

device = 'cuda' if torch.cuda.is_available() else 'cpu'
tokenizer = AutoTokenizer.from_pretrained("../MolGen-large")
model = AutoModelForSeq2SeqLM.from_pretrained("../MolGen-large").to(device)

Hi,
Thanks for your attention. I have tested the code and did not encounter the issue of getting the same representation for individual molecules. However, I noticed that your input might be incorrect. For our model, the input should be in the SELFIES format.
Try the following code instead:
inputs = tokenizer("[C][=C][C][=C][C][=C][Ring1][=Branch1]", return_tensors="pt")

Best,

Thanks for your reply! By the way, when I transform the SMILES to SELFIES, there are some can not be transformed, such as:
C=CCCOP@TB12(O)O
The transformation code is ```selfies = sf.encoder(normalized_smiles)
How do I handle this?
Thanks again
Best regards,

I recommend reaching out to the developers of the SELFIES library (https://github.com/aspuru-guzik-group/selfies) for more guidance, as the transformation process depends on the implementation of the SELFIES library.

Thanks for your kind reply!


Drink integration

add integration tests with drink

appended legacy-shielder to old github action names. Requesting to rename them in branch protection rules


#549 gundb load testing

#549

@AlexeyKosinski
@StanislavShevchenko i've asked that you work on GoodGun existing loadtest script
add a test that also uses SEA.
we dont need userstorage and login
The purpose of the test is to test the RAW gundb performance.


feature(libinput): Add function to reset driver states

This adds new functions to de-initialise the libinput and XKB driver states which allows existing data structures to be reused when devices are connected or disconnected at runtime.
An example of how to use this can be found in https://gitlab.com/cherrypicker/unl0kr/-/merge_requests/15.

Thank you!


fix: Build Steam RPM in containerfile to avoid rpmfusion dependency issue

What is causing it to fail this time?


[Admin] Publish

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

File
Status
Preview URL
Details

docs/outlook/outlook-addin-design.md
:white_check_mark:Succeeded
View

docs/outlook/use-rest-api.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


should not able to set alias when user is disabled

root@bench-01:~/juicefs# cat .github/scripts/hypo/s3_test.py
    def test_xxx(self):
        state = S3Machine()
        v1 = state.init_aliases()
        v2, v3, v4, v5 = state.init_policies()
        v8 = state.add_user(alias=v1, user_name='user1')
        state.disable_user(alias=v1, user_name=v8)
        v14 = state.add_user(alias=v1, user_name=v8)
        state.set_alias(alias='pjzm', url1='localhost:9000', url2='localhost:9006', user_name=v8)
        state.teardown()
root@bench-01:~/juicefs# python3 .github/scripts/hypo/s3_test.py -k test_xxx
setup_logger ./minio.log
setup_logger ./juice.log
2024-04-08 11:49:26,989 - INFO - run_cmd: mc alias list
2024-04-08 11:49:27,017 - INFO - do_list_aliases succeed
2024-04-08 11:49:27,017 - INFO - run_cmd: mc alias remove minio_admin
Alias 'minio_admin' removed successfully.
2024-04-08 11:49:27,043 - INFO - run_cmd: mc alias remove minio_pjzm
Alias 'minio_pjzm' removed successfully.
2024-04-08 11:49:27,069 - INFO - run_cmd: mc alias list
2024-04-08 11:49:27,096 - INFO - do_list_aliases succeed
2024-04-08 11:49:27,096 - INFO - run_cmd: mc alias remove juice_admin
Alias 'juice_admin' removed successfully.
2024-04-08 11:49:27,123 - INFO - run_cmd: mc alias set minio_admin http://localhost:9000 minioadmin minioadmin
2024-04-08 11:49:27,150 - INFO - do_set_alias admin localhost:9000 minioadmin minioadmin succeed
2024-04-08 11:49:27,151 - INFO - run_cmd: mc alias set juice_admin http://localhost:9005 minioadmin minioadmin
2024-04-08 11:49:27,179 - INFO - do_set_alias admin localhost:9005 minioadmin minioadmin succeed
2024-04-08 11:49:27,185 - INFO - run_cmd: mc admin user list minio_admin
2024-04-08 11:49:27,267 - INFO - run_cmd: mc admin user remove minio_admin user1
User 'user1' removed successfully.
2024-04-08 11:49:27,296 - INFO - run_cmd: mc admin user list juice_admin
2024-04-08 11:49:27,377 - INFO - run_cmd: mc admin user remove juice_admin user1
User 'user1' removed successfully.
2024-04-08 11:49:27,421 - INFO - run_cmd: mc admin group list minio_admin
2024-04-08 11:49:27,449 - INFO - run_cmd: mc admin group list juice_admin
2024-04-08 11:49:27,475 - INFO - run_cmd: mc admin policy list minio_admin
2024-04-08 11:49:27,503 - INFO - do_list_policies succeed
2024-04-08 11:49:27,503 - INFO - run_cmd: mc admin policy list juice_admin
2024-04-08 11:49:27,531 - INFO - do_list_policies succeed
2024-04-08 11:49:27,531 - INFO - run_cmd: mc admin user add minio_admin user1 minioadmin
2024-04-08 11:49:27,615 - INFO - do_add_user user1 succeed
2024-04-08 11:49:27,615 - INFO - run_cmd: mc admin user add juice_admin user1 minioadmin
2024-04-08 11:49:27,706 - INFO - do_add_user user1 succeed
2024-04-08 11:49:27,707 - INFO - run_cmd: mc admin user disable minio_admin user1
2024-04-08 11:49:27,749 - INFO - do_disable_user user1 succeed
2024-04-08 11:49:27,750 - INFO - run_cmd: mc admin user disable juice_admin user1
2024-04-08 11:49:27,794 - INFO - do_disable_user user1 succeed
2024-04-08 11:49:27,794 - INFO - run_cmd: mc admin user add minio_admin user1 minioadmin
2024-04-08 11:49:27,888 - INFO - do_add_user user1 succeed
2024-04-08 11:49:27,888 - INFO - run_cmd: mc admin user add juice_admin user1 minioadmin
2024-04-08 11:49:27,990 - INFO - do_add_user user1 succeed
2024-04-08 11:49:27,990 - INFO - run_cmd: mc alias set minio_pjzm http://localhost:9000 user1 minioadmin
2024-04-08 11:49:28,019 - INFO - do_set_alias pjzm localhost:9000 user1 minioadmin succeed
2024-04-08 11:49:28,019 - INFO - run_cmd: mc alias set juice_pjzm http://localhost:9006 user1 minioadmin
2024-04-08 11:49:28,047 - INFO - do_set_alias {'alias': 'pjzm', 'url': 'localhost:9006', 'access_key': 'user1', 'secret_key': 'minioadmin'} failed: mc: <ERROR> Unable to initialize new alias from the provided credentials. The Access Key Id you provided does not exist in our records.

F
======================================================================
FAIL: test_xxx (__main__.TestS3)
----------------------------------------------------------------------
Traceback (most recent call last):
  File ".github/scripts/hypo/s3_test.py", line 76, in test_xxx
    state.set_alias(alias='pjzm', url1='localhost:9000', url2='localhost:9006', user_name=v8)
  File "/root/juicefs/.github/scripts/hypo/s3.py", line 510, in set_alias
    target=aliases,
  File "/root/hypothesis/hypothesis-python/src/hypothesis/stateful.py", line 681, in rule_wrapper
    return f(*args, **kwargs)
  File "/root/juicefs/.github/scripts/hypo/s3.py", line 510, in set_alias
    target=aliases,
  File "/root/hypothesis/hypothesis-python/src/hypothesis/stateful.py", line 802, in precondition_wrapper
    return f(*args, **kwargs)
  File "/root/juicefs/.github/scripts/hypo/s3.py", line 520, in set_alias
    assert self.equal(result1, result2), f'\033[31mset_alias:\nresult1 is {result1}\nresult2 is {result2}\033[0m'
AssertionError: set_alias:
result1 is True
result2 is returncode:1 output:mc: <ERROR> Unable to initialize new alias from the provided credentials. The Access Key Id you provided does not exist in our records.

root@bench-01:~/juicefs# mc admin user info juice_admin user1
AccessKey: user1
Status: disabled
PolicyName:
MemberOf:
root@bench-01:~/juicefs# mc admin user info minio_admin user1
AccessKey: user1
Status: disabled
PolicyName:
MemberOf:
root@bench-01:~/juicefs# mc alias set minio_zuvd http://localhost:9000 user1 minioadmin
mc: <ERROR> Unable to initialize new alias from the provided credentials. The Access Key Id you provided does not exist in our records.
root@bench-01:~/juicefs# mc alias set juice_zuvd http://localhost:9006 user1 minioadmin
Added `juice_zuvd` successfully.

What happened:
What you expected to happen:
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?
Environment:

JuiceFS version (use juicefs --version) or Hadoop Java SDK version:
Cloud provider or hardware configuration running JuiceFS:
OS (e.g cat /etc/os-release):
Kernel (e.g. uname -a):
Object storage (cloud provider and region, or self maintained):
Metadata engine info (version, cloud provider managed or self maintained):
Network connectivity (JuiceFS to metadata engine, JuiceFS to object storage):
Others:

the config data changed in one gateway will sync to another gateway after 5 minutes.


[BUG] My bloxstrap commited suicide

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.
[X] I have thoroughly looked through the available Wiki articles and could not find a solution to my problem.
[x] I am using the latest version of Bloxstrap.
[ ] I did not answer truthfully to all the above checkboxes.

What problem did you encounter?
so it just disappeared
Bloxstrap Log
no logs, ITS JUST GONE

Reinstall then

It didn't do that by itself, you must've knowingly uninstalled it or deleted its installation folder. Reinstall it.


Fix base containers

This PR fixes the versions of all base containers to known levels thereby preventing unexpected release of container updates.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.6 out of 10 committers have signed the CLA.:white_check_mark: neeraj-laad:white_check_mark: jgawor:white_check_mark: Kamran64:white_check_mark: kilnerm:white_check_mark: groeges:white_check_mark: raymondfeng:x: davco01a:x: hibell:x: kvijai82:x: mchenggitYou have signed the CLA already but the status is still pending? Let us recheck it.


Add issues tagged with good first automatically to CONTRIBUTING.md.

Adding issues tagged with good first to contributing.md automatically will help new comers to find the issues directly that they can work on.
┆Issue is synchronized with this Jira Task by Unito

As the @kannon92  suggested he doesn't like the idea of dynamic issue listing in the contributing.md and to add the quick way to query it.


bytes

Adds PostgresData.bytes helpers plus Foundation.Data support.

Hey @tanner0101, you just merged a pull request, have a coin!
You now have 1306 coins.


Ban any user who posts ETH address

If user posts something that maches an ETH address (or bitcoin?)
Just ban them.
Possibly send them message with reason for ban.
api to ban: https://core.telegram.org/bots/api#kickchatmember
api to delete: https://core.telegram.org/bots/api#deletemessage

It's done this for a long time.


As a user, I want to be able to escape the description modal by clicking on the esc key.

Context:
Currently, when users click on "Show more" to view the content of a long text field, they have to click a button to close the modal. It would be much faster and more intuitive to allow users to close the modal by simply pressing the ESC key.
Acceptance Criteria:

When the description modal is open, pressing the ESC key should close the modal immediately.
If there are unsaved modifications, the ESC key should behave in the same manner as a manual click on the x button.

Show more doesnt use modal anymore


Change request: Change default sources from github to use the git:// addresses

I have installed my dotfiles in machines for which I had no root access and where git was not installed. I used to use submodules for my bundles before and, because I had used the https:// addresses for all the submodules, I had compile curl and libssl in order to provide git with support to clone from https. This was a lot of hassle and I think it would be simpler to just use the git:// addresses.
If you have a strong case for https:// in this kind of usage, I'd love to hear it :)
Otherwise, I suggest using git:// addresses when the repo URL is not fully specified.

Ok, looks like we got critical mass here #100

just pushed configuration for g:vundle_default_git_proto. So please check it out and let me know how that works  for you! (you need to start with clean vundle setup)

+1


fix(broadcastQueryClient): change broadcastChannel type to optional

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Fixed #33078 -- Added support for region in locale path

Ticket: https://code.djangoproject.com/ticket/33078

Hey, regex gurus wanted here for review!

@Soj447 Thanks for updates :+1: I added more assertions and a small release note.


Improve UI

The styling of Shown Tasks is very basic, improve it by changing the delete icon style, font style etc.

pls assign this issue to me

There you go :)

is this issue hacktober fest accepted

yes, it is

https://www.figma.com/file/6t158AQBvuFo0PLnlVlLrf/Untitled?node-id=0%3A1
Above is the link for figma file pls check this out

There is no option currently for searching notes/todos, also no sub-categories such as Recent, Favourites and Shared with Me. How will incorporate the design?
Do you wish to add the above mentioned feature too?

https://www.figma.com/file/6t158AQBvuFo0PLnlVlLrf/Untitled?node-id=0%3A1
This is the new design of the app.

Sort by Deadline View should be a toggle/Checkbox button, the user should understand that he can switch back and forth between sorting the tasks based on deadline.
Also there is no need for the showing the notes separately in horizontal scrolling at top, also please don't add any external icons as they will increase the size of the project.

The color scheme looks good though, please take your time and try to do something simple by following Material guidlines 😄

https://www.figma.com/file/6t158AQBvuFo0PLnlVlLrf/Untitled?node-id=0%3A1
This is purely made according to your app.

This looks good, go ahead!

So should i make pull request or you need any more changes in the design?

Please also remove that 'Notes' text on the top looks unnecessary. Go ahead
with the PR then.
On Sun, 2 Oct 2022, 4:03 pm xoxo16, @.***> wrote:

So should i make pull request or you need any more changes in the design?
—
Reply to this email directly, view it on GitHub
https://github.com/avidraghav/MyNotes/issues/26#issuecomment-1264608211,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALZQ3YYQSAGRDJ3VMIQOY4LWBFQH5ANCNFSM5RFKZ7GQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

https://www.figma.com/file/6t158AQBvuFo0PLnlVlLrf/Untitled?node-id=0%3A1
Can you please check this once

Please remove this extra space between toolbar and and the deadline

Done

@avidraghav when will you add more issues

You are free to raise an issue or enhancement that u think can benefit the app. @rishujam

I think now we have a basic todo app just need better ui. Can we add a frequency/time attribute in the task. For example an exercise for 30 min (time) or Eat banana 4 (frequency). Should I create this issue ? @avidraghav

hey  i am currently working on ui of the app @rishujam

@xoxo16 Yes, I was asking if we can add that feature

@rishujam please restrict your queries, doubts to the issues assigned to you. This is not a thread for discussion.

@xoxo16 when I can expect a PR for this task? Any expected time of delivery?

I have just raised a PR and committed the required changes. can u please see to it and if there is any problem please let me know about it

You haven't made any changes to the XML layouts in the app which is indeed the actual task, have you done android development before?

no I haven't done android development before. in fact, this is the first time I am using GitHub

I'll then advise you to first learn Android Development and then starting contributing to Android projects.

I thought it was just a design task so i did it and thank you for your advice


Persist backend state

Can use redis cache or a db to persist store data. Can be useful to retain custom vote options or history(#5) if implemented.

Closed by #10


Workaround for /* prettier-ignore */

This is not an issue, just a suggestion.
Instead of telling prettier to ignore code, change the statement:
{(state.counter)}

to
{(void 0, state.counter)}

This is compatible with prettier and even with typescript.

Hmm.. thanks for suggestion. I can see it working on a small view alright. I find where I use Prettier I end up doing one large ignore at the top of the JSX to handle the whole view.

Just wanted others to be aware of an alternate variant.


Abort on non-essential requests (stylesheets, images)

Per this article, it may be a good idea to add this to the core renderer library:
https://developers.google.com/web/tools/puppeteer/articles/ssr#abort
I see another open issue (#225) where the suggested solution is to use excludeUrlPattern but that assumes you're using the express middleware with Rendertron.
I can't imagine a use case where you'd be using this library for SEO, and you'd want rendertron to also request images and stylesheets. This could speed up render times for everyone.

I'm happy to contribute a PR for this if anyone else thinks its a needed feature.

I'm happy to contribute a PR for this if anyone else thinks its a needed feature.

I like to have this.  We use nginx to proxy all googlebot requests to rendertron.  There is no nodejs middleware in our stack.

@reedzhao feel free to use my fork which includes this change. I will PR into the main rendertron repo if/when a maintainer tells me they agree with the proposal.
https://github.com/mavame/rendertron

@reedzhao feel free to use my fork which includes this change. I will PR into the main rendertron repo if/when a maintainer tells me they agree with the proposal.
https://github.com/mavame/rendertron

Exactly what we need. Thanks!

@samuelli, can we please have this?

I'm not seeing the actual change (besides one commit that updates the README) in your fork, but I'm intrigued. I think it should be a parameter per request or in the config to let people choose when/if they want that, but the feature itself makes sense to me.

@mavame @AVGP is right, your fork doesn't include any actual changes besides changes in the Readme.md.. did you forget to commit the actual change that prevents the pulling of images and stylesheets? I think this would be a good-to-have as well for everyone

any updates? I am reading https://developers.google.com/web/tools/puppeteer/articles/ssr#optimizations but not found a solution in rendertron

Well, if someone wants to implement this, we can move this forward =)

If someone revisits this and posts a PR, we'll look into it :)

@AVGP Any chance to have this on the upcoming update? it's really slow on pages with many images...

@AVGP Any chance to have this on the upcoming update? it's really slow on pages with many images...


test commit

testing cloudbees integration!  DO NOT MERGE

ok to test

ok to test

ok to test

ok to test

ok to test

ok to test

ok to test

ok to test

ok to test

ok to test

ok to test

ok to test

got the build task working (no unit testing though)


DUMS-37 Join Room objects and API communication

DUMS-37 (Jira Issue)
Description
List of proposed changes:

User can now join the room from the Home Page
Creates User Object, Update Room with new user

What to test for/How to test
Additional Notes

Missing validations

Perfect


Azure JSON Deployment Template Parameters Case Sensitive

When applying NSG security rules using a Deployment JSON template file, the parameters for Service tags in NSG rules are case sensitive e.g. we want an outbound rule with destination Service Tag AzureCloud.UKSOUTH. When we pass a template with AzureCloud.UKSouth. The NSG rules are applied. However, when you view them in the portal the rule name is displayed AzureCloud.UKSouth however upon attempting to edit the rule it appears that it has not been mapped correctly i.e. Destination = Service Tag but Destination service tag_ is blank. I think the rule is applied, though it is unclear.
Describe the solution you'd like
The service tag names should not be case sensitive. Creating from CLI, python sdk, powershell explicitly from command parameters or via template files should be case insensitive.

Additional context

add to S177

The case sensitivity of service tag in ARM template requires the support of service

The case sensitivity of service tag in ARM template requires the support of service


Add -version flag

Added -version flag.  Exits non-zero so accidentally running with this flag will not indicate a service is up.
Typical output:
$ ./grpc-health-probe -version
git b35a00f4192e0a0654c9e1ff6e7400513e2d000a 2023-06-13T04:13:12Z

When built when there are local changes not checked into Git:
$ ./grpc-health-probe -version
git 1089f40639043ee46cc47cbea1bcb0cc48cfc284 2023-06-12T16:41:19Z (built with changes outside version control)

When not built with VCS information:
$ go run main.go -version
vcs info was not included in build
exit status 5

Note, Go does not include the Git tag in the build information included in the executable.  If we want to do something like that, in the past I have had a build job run a script that runs git commands and writes the output into strings in a .go file that gets included in the build.

I prefer to maintain less code if possible. Can you instead use "go version -m BINARY"?

Yes, that works if you have go inside the container.  Do you want to close #14?

I often prefer having a list of keys instead of long if ... else if ...  structures.  In this case where all we want is the commit hash and dirty status the code can be simplified by removing the vcsDetails map.

The GoReleaser build for windows arm64 failed.  The error is cgoAvailable is redeclared.  go/src/net/cgo_stub.go has
// cgoAvailable set to false to indicate that the cgo resolver
// is not available on this system.
const cgoAvailable = false

and go/src/net/lookup_windows.go has:
// cgoAvailable set to true to indicate that the cgo resolver
// is available on Windows. Note that on Windows the cgo resolver
// does not actually use cgo.
const cgoAvailable = true

On a Linux machine it appears to build manually:
$ GOOS=windows GOARCH=arm64 go build
go: downloading github.com/Microsoft/go-winio v0.6.1

$ file grpc-health-probe.exe
grpc-health-probe.exe: PE32+ executable (console) Aarch64 (stripped to external PDB), for MS Windows

I wonder if importing runtime/debug is causing this.

This might be the old version of goreleaser doing something wrong as well.

The build logs show it's interpreting the go version 1.20 as 1.2.  It seems to be using a release candiate 1.21.0-rc2 instead of 1.2 or 1.20.
Run actions/setup-go@v1
with:

...

  go-version: 1.2

...

env:
  GOROOT: /opt/hostedtoolcache/go/1.21.0-rc2/x64

I wrapped the 1.20 in single quotes.  That seems to work.

Good catch this probably broke during 1.19 → 1.20 and we probably built a few releases with go1.2 by mistake.

I wonder if this is a new issue in the 1.21 rc?  Just a guess.  When I built it manually on the command line I used 1.20.5.
I just went back through the actions logs to find the latest that succeeded.  It seems to have interpreted 1.20 as 1.20.5.  https://github.com/grpc-ecosystem/grpc-health-probe/actions/runs/5308777585/jobs/9608631371


SVG Icon performance

Bug, feature request, or proposal:
Feature request
What is the expected behavior?
SVG icons do not slow down app boot
What is the current behavior?
They massively slow down app boot. e.g per material SVG icon set, I'm seeing 20-80ms to parse the SVG (_svgElementFromString is the dominant cost).

What are the steps to reproduce?
Load a material icon set
Perhaps this could be done AOT? Or lazily?

I'm not really sure what md-icon specifically can do about this for now. The purpose of the component is to inline SVG icons into the DOM from a URL, which ultimately means the string has to be parsed by the browser (however long that takes). Forgoing md-icon and instead using an <img> element or background-image style may speed things up for you while giving up the ability to style the svg nodes.
I could potentially see the Angular AoT compiler someday doing the same thing for SVGs files that it does for templates now, but that would be a feature request for https://github.com/angular/angular/

is it possible to add feature to handle SVGs by sprites ? https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Images/Implementing_image_sprites_in_CSS


import only specific lodash functions

Hi,
The project is cool and i'm interessed by using it. I see that some small improvment can be done.
You can remove the lodash npm dependency and replace it by lodash.get, lodash.set, lodash.clonedeep, it's lighter.
Nice work :D

Hi,
thank you for your feedback. Implemented and released it with 0.6.3.
Greets


feat(sankey): sankey support edgeLabel

Brief Information
This pull request is in the type of:

[ ] bug fixing
[x] new feature
[ ] others

What does this PR do?

Fixed issues

Close #7233
Close #16600
Close #12855

Details
Before: What was the problem?
Sankey don't have label on edges

After: How is it fixed in this PR?

Misc

[x] The API has been changed (apache/echarts-doc#xxx).
[ ] This PR depends on ZRender changes (ecomfe/zrender#xxx).

Related test cases or examples to use the new APIs
test/sankey-depth.html
Others
Merging options

[x] Please squash the commits into a single one when merging.

Other information

@pissang It's there anything else you need to leave a review for this PR

Any more suggestion? @pissang @plainheart

Waiting for this feature.

Sorry for missing this PR. LGTM now

Has this feature release? I set "edgeLabel" in sankey is not work

@Tiramisupxl Not yet. This feature is included in v5.4.1, which is under the voting process.


feat: refactor tce cluster

Description
PR Checklist:

[ ] I have performed a self-review of my code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added or updated tests that comprehensively prove my change is effective or that my feature works

Closing this according to this slack message.


Not Scrolling after 2/3 times

Thanks for the package, I was trying to use it in my project but I noticed that the listview doesnt load more data after 2 or 3 times reaching the bottom. Just FYI my limit set is 5.

Yo @arindammitra06, can you provide more details such as:

platform for flutter project (android, ios, web, etc)
code sample
a video of the issue
dependencies version

Thanks for the package, I was trying to use it in my project but I noticed that the listview doesnt load more data after 2 or 3 times reaching the bottom. Just FYI my limit set is 5.

Face the sme issue Flutter for WEB

@Edynyambo, thanks for your report.
There seems some problem with cloud_firestore on web that is causing this issue.
Please thumbs up and comment on this issue https://github.com/firebase/flutterfire/issues/9630 and track it's progress.

is this resolved?

@arindammitra06 Please try checking it yourself and post the result/outcome here.


Use pyEOF to implement REOF errors

Hello, I use your pyEOF to implement REOF when I report the following error, it is about the error that the class has no attributes, I don't know where the reason appears, hope for your help，thansk！

Hi, if you still get the errors, please share a sample of your data and your jupyter notebook that reproduces the error with the sample data. Then I can help to debug. Thanks.

Hi, have you solved this problem? I am meeting the same question.


Allow to catch RSpec/ExpectInHook offenses in the setup block

RSpec/ExpectInHook is a great cop that allows us to detected expectation usage in the hook. Unfortunately, it does not work with setup block which is a part of rspec-rails gem.
Here is a valid Rspec example that won't be detected via RuboCop.
setup do
  expect(something).to eq 'foo'
end

Probably, for fixing that issue we just need to extend the language dictionary and add new hook. https://github.com/rubocop-hq/rubocop-rspec/blob/0036374b8bd3cea61d9a61a911cbaeaf3541883e/lib/rubocop/rspec/language.rb#L85-L97
P.S. Probably, also we can add a new cop which can detect setup usage and suggest to use before block.

Related to https://github.com/rubocop-hq/rubocop-rspec/issues/333
In addition to aliases to examples/example groups, consider also configuring hooks and matchers that we treat as "built-in".

@roman-dubrovsky let me try to handle this. I will work on it @pirj

@roman-dubrovsky I'm closing this, since RSpec Rails doesn't seem to recommend using setup, but rather use more conventional before, after and around hooks. setup comes from Minitest, and RSpec Rails wraps it into hooks.
In any case, this will be handled in #1077


New category: shopping malls

Information about shopping malls beneficial to travelers:

Parking specs

open-air
multi-story

car height limit

free?

hours free,
overnight?

paid?

cost?

availability of "chill zone"

hard benches, soft benches, benches without backrests, lounge seats?
availability of USB-A, USB-C and 220V outlets

product categories (share data structure and templates with hardware store pages?)

groceries?
hardware store?
electronics?
affordable clothing (sportsdirect, decathlon, primark etc.)
camping equipment
healthcare
tobacco
alcohol
pet store
food court

cuisine diversity
price points

dog friendly?
gym availability
address, satellite coordinates

google maps and waze links for quick navigation

Dump of my private note from early 2023 when i was researching high top vehicles:
Domina Shopping	190, 210
Alfa	210
Olympia	210
Spice	210
Akropole Riga	-
Mols	210

Most shopping malls have 7ft height limit because it's a standard, so noting where the cap is different is beneficial

Also, Akropole Riga dropped the ball having no multistory parking. When weather gets real bad, i would drive to a different mall just to have roof over my head while i'm getting in/out of the van

Check implementation of waze links on this page: https://www.rigaplaza.lv/ka-noklut

TODO:
in mall-table partial add columns to indicate parking options, including availability of lot/street parking for tall campers and multistory parks with height limit for shitty weather

I feel like mall category really needs a map feature to be convenient

After adding geolocation to mall pages, add permalinks to PlugShare specific location: https://developer.plugshare.com/permalink

Mall geo location format should probably be compatible with one of these Obsidian plugins:
	- https://github.com/javalent/obsidian-leaflet?tab=readme-ov-file
	- https://github.com/esm7/obsidian-map-view


arch/stm32h7: add CM4 core support

Summary

armv7-m/mpu.h: add macro to configure shared memory region
stm32h7: add HSEM support
arch/stm32h7/rcc: default value for BOARD_FLASH_PROGDELAY
arch/stm32h7: add an option to bypass clock configuration
arch/stm32h7: use STM32_CPUCLK_FREQUENCY to initialize perf
arch/stm32h7: add CM4 core support
arch/stm32h7: add RPTUN support
boards/stm32h7: add nucleo-h745zi
boards: disable CM4 for stm32h745i-disco and stm32h747i-disco

Impact
Boards that use H7 dual core chips but they don't care about CM4 should set CONFIG_STM32H7_CORTEXM4_DISABLED=y.
I keep this option disabled at default, because using dual core with CM4 disabled probably makes no sense.

Testing
cmake -B build_h7m7 -DBOARD_CONFIG=nucleo-h745zi:nsh_cm7_rptun -GNinja
cmake -B build_h7m4 -DBOARD_CONFIG=nucleo-h745zi:nsh_cm4_rptun -GNinja

fix for not patched openamp issue:
rm openamp/.openamp_patch
cmake --build build_h7m4 -t menuconfig

cmake --build build_h7m7
cmake --build build_h7m4

flash CM4 and CM7 hex with JFlashLiteExe, device must be selected to STM32H745ZI_M7

I find CONFIG_ARCH_CHIP_STM32H7_CORTEXM7 confusing. I am wondering if something like CONFIG_ARCH_CHIP_STM32H7_DUAL_CORE_IS_M7 and
CONFIG_ARCH_CHIP_STM32H7_DUAL_CORE_IS_M4 would be better?

I'm not sure about that. CONFIG_ARCH_CHIP_STM32H7_DUAL_CORE_IS_M7 can also be confusing as we need that flag in both dual core and single core scenario.
We can drop DUAL_CORE part and have CONFIG_ARCH_CHIP_STM32H7_IS_M7 but I don't know if it's better than what it is now. CORTEXM7/CORTEXM4 seems to be more obvious.
Maybe CONFIG_ARCH_CHIP_STM32H7_IS_CORTEXM7 or CONFIG_ARCH_CHIP_STM32H7_IS_CM7 ?

I find CONFIG_ARCH_CHIP_STM32H7_CORTEXM7 confusing. I am wondering if something like CONFIG_ARCH_CHIP_STM32H7_DUAL_CORE_IS_M7 and
CONFIG_ARCH_CHIP_STM32H7_DUAL_CORE_IS_M4 would be better?

@davids5 I'm not sure about that. CONFIG_ARCH_CHIP_STM32H7_DUAL_CORE_IS_M7 can also be confusing as we need that flag in both dual core and single core scenario. We can drop DUAL_CORE part and have CONFIG_ARCH_CHIP_STM32H7_IS_M7 but I don't know if it's better than what it is now. CORTEXM7/CORTEXM4 seems to be more obvious. Maybe CONFIG_ARCH_CHIP_STM32H7_IS_CORTEXM7 or CONFIG_ARCH_CHIP_STM32H7_IS_CM7 ?
CONFIG_ARCH_CHIP_STM32H7_CORTEXM7 is an evolution of CONFIG_ARCH_CORTEXM7

In my mind. I want to compartmentalize the dual core. So if that part number of the part is a dual core I see dual core files and settings. If it is not I do not.  I feel the naming of things that are specific to dual code, should indicate that. Hence adding something like CONFIG_ARCH_CHIP_STM32H7_DUAL_CORE_IS_M7  helps with that compartmentalization. The actual name could be more succinct.  But the idea is where there is an intersection in dual core/non dual core is is clear.
@raiden00pl  I am not as close to the problem or the solution space as you are, but my gut reaction is to duplicate the header files and remove some of the x in the naming to the fully defined STM32H745/755 and STM32H747/757 naming.

@raiden00pl I am not as close to the problem or the solution space as you are, but my gut reaction is to duplicate the header files and remove some of the x in the naming to the fully defined STM32H745/755 and STM32H747/757 naming.

I don't think there is any need to duplicate the headers. The headers are the same for H7 chips except for literally a few extra bits when CM4 is supported.

Reviewing...

@raiden00pl please rebase your patch to the last master, ci break is fixed.

I understand that the desire is to enable the Cortex M4 core by default, but allow the option to disable it at Kconfig-time. However, CONFIG_STM32H7_CORTEXM4_DISABLED causes many preprocessor conditionals to be in the form #if !defined(CONFIG_STM32H7_CORTEXM4_DISABLED) where the word "DISABLED" is very prominent and the ! makes it a double-negative, so we see the word "DISABLED" but it really means "ENABLED"... Wouldn't it be better to call it CONFIG_STM32H7_CORTEXM4_ENABLED, enable it by default in Kconfig, and remove the double-negative from all the preprocessor conditionals? I know it's a lot of code churn for nothing, except (hopefully) being a little more clear in the future.

I agree, it makes sense. Changed.

Also it might be nice to add some Documentation to clarify that NuttX needs to be built twice, once for each core. Right now, the only documentation of this fact is in the PR comments, and someone looking at the code in the future will have a difficult time figuring that out. This is already a pretty big PR so it's okay to add this kind of Documentation in a separate PR, but maybe add at least a comment or a hint somewhere, such as in the ---help--- text of ARCH_CHIP_STM32H7 or something?

doc will come later. First we have to solve https://github.com/apache/nuttx/issues/10241 to avoid some dirty hacks for build process. I assume this PR will only be used with cmake, compiling 2 images with make is too annoying.

It would be good to avoid cmake-specific features.
Is make a supported build system or was it deprecated?
If it's supported no feature should work only with cmake. Thanks.

It would be good to avoid cmake-specific features.
Is make a supported build system or was it deprecated?
If it's supported no feature should work only with cmake. Thanks.

The change should work with make too. But make doesn't support out of tree build, it's very annoying to develop AMP system like this patch because you have to make distclean and make every time.

It would be good to avoid cmake-specific features.

Is make a supported build system or was it deprecated?

If it's supported no feature should work only with cmake. Thanks.

The change should work with make too. But make doesn't support out of tree build, it's very annoying to develop AMP system like this patch because you have to make distclean and make every time.

I started a discussion on the mailing list that is relevant to this: "[DISCUSS] Out-of-tree builds should be standard?" archived here: https://lists.apache.org/thread/l8mzkglx2dldx5jtxqpqtwmvyl4f4z8p

@slorquet this PR includes make support, but there are some problems with OpenAMP build now.
Without out of tree build it's a waste of time and without this specific cmake feature this PR would never have been created. I had dual core H7 in my plans for a long time, but the building process was too annoying (and sloooow) to take on it.
I have no problem modifying both cmake and make, unless support for make is too much work.
There was a minimum of work here, but otherwise I'm not going to spend hours writing dedicated makefiles (unless someone pays me for this tedious job).

UPDATE: this PR is not a breaking change, but the old configurations need refreshing. I wanted to avoid this, but Kconfig always add CONFIG_ARCH_CHIP_STM32H7_CORTEXM7=y to the refreshed configurations (probably the default behavior for choice options).


Issue with MorphTo Relation: Call to a member function resource() on null

Laravel Rest Api Version
2.8.7
Laravel Version
11.30
PHP Version
8.3
Database Driver & Version
No response
Description
I am encountering an issue with the implementation of polymorphic relations (MorphTo) in the library. Following the documentation's guidelines, I configured my model and resource as instructed, but the implementation fails with a 500 Internal Server Error.
Observed Behavior
The API fails with the following error:
Call to a member function resource() on null
Upon debugging with Laravel Telescope, I traced the error to this line:
$relationResource = $relationConcrete->resource();
It seems the $relationConcrete object is null when resolving the physicalPeople or moralPeople relations.
Expected Behavior
The MorphTo relations (physicalPeople and moralPeople) should resolve correctly and return the associated Resource class (PhysicalPeopleResource or MoralPeopleResource), depending on the personable_type in the model.
Additional Context
If necessary, I can provide further debugging logs or a minimal reproducible example. Please let me know how to proceed or if additional information is required.
Thank you for your help! 😊
As a note in the first versions of the library when it was allowed to declare the polymorphic relationship with an array of Resources it was perfectly functional.
Steps To Reproduce

Configure the model as shown in the documentation:

public function personable(): MorphTo
{
    return $this->morphTo();
}

public function physicalPeople(): MorphTo
{
    return $this->personable()->whereHas('people', function (Builder $query) {
        $query->where('people.personable_type', 'physical');
    });
}

public function moralPeople(): MorphTo
{
    return $this->personable()->whereHas('people', function (Builder $query) {
        $query->where('people.personable_type', 'moral');
    });
}

Add the relations to the Resource class:

public function relations(RestRequest $request): array
{
    return [
        HasOne::make('referrer', ReferrerResource::class),
        HasMany::make('addresses', AddressResource::class),
        HasMany::make('documents', DocumentResource::class),
        HasMany::make('emails', EmailResource::class),
        HasMany::make('phones', PhoneResource::class),
        HasMany::make('clients', ClientResource::class),
        MorphTo::make('physicalPeople', PhysicalPeopleResource::class),
        MorphTo::make('moralPeople', MoralPeopleResource::class),
        HasOne::make('legalClassification', LegalClassificationResource::class),
        HasOne::make('promoter', PromoterResource::class),
        HasOne::make('referer', RefererResource::class),
        HasOne::make('rfc', DocumentResource::class),
        BelongsTo::make('type', TypeResource::class),
    ];
}

3.Make an API request that tries to resolve one of the MorphTo relations.

The above is using morph maps to enforce, but if I use the model class I get a 200 return code, but the relation is empty.

Hello, thanks for the feedback
I'll add an unit test and come back to you in order to cover this
It won't take long

It seems i'm able to reproduce this, thanks for your feedback, i'm on it

https://github.com/Lomkit/laravel-rest-api/pull/146
I added a test to avoid problems in the future and updated documentation
https://laravel-rest-api.lomkit.com/resources/relationships#morph-to
Please update and try on your side, don't need to update 😉

First of all, thank you so much for your prompt response and for the partial solution! The updated documentation and example have definitely helped resolve part of the issue I was facing. I truly appreciate the effort. 🙌
However, after implementing your solution with my current code, I’ve encountered a scenario that still raises some questions:

// Updated code based on your suggestion
public function physicalPeople(): MorphTo
{
    return $this->morphTo('physicalPeople', 'personable_type', 'personable_id')
        ->whereHas('people', function (Builder $query) {
            $query->where('personable_type', 'physical');
        });
}

public function moralPeople(): MorphTo
{
    return $this->morphTo('moralPeople', 'personable_type', 'personable_id')
        ->whereHas('people', function (Builder $query) {
            $query->where('personable_type', 'moral');
        });
}

This works correctly for fetching data. However, when I attempt to apply filters or selections specific to the relationships (e.g., physicalPeople.surname for physicalPeople and moralPeople.name for moralPeople), I find that the current implementation doesn’t seem to handle these contextual differences between the relationships effectively.
For example:
physicalPeople should allow filtering or selecting attributes like surname, specific to physical relations.
moralPeople should handle attributes like name, specific to moral relations.
So far, I haven’t found an efficient way to address these differences in queries or selectors. Would you have any suggestions or recommendations for handling this case? Is this something that could be considered in future updates?

Thank you again for your time and willingness to assist. Any additional guidance would be greatly appreciated. 😊

I'm missing time by now unfortunately, did you find anything on this ?


Unbundled issuer cert

Taking a look at https://github.com/xenolf/lego/blob/72914df00f027074ea70c878dde401f02fa22f09/acme/client.go#L639-L652, would you be open to adding the issuer certificate to the CertificateResource so that it can be obtained by callers without necessarily bundling it along with the main certificate?  The system I am working on does want all the intermediate certificates, but kept separate from the main certificate itself.
I'm happy to write up a PR for this if it's ok.

Went ahead and implemented it anyway: https://github.com/xenolf/lego/pull/325


add information about field's dehydrate method being called on import…

Hey there,
The other day my imports were taking somewhat long so I wanted the investigate the cause. Even though documentation somewhat mentions that dehydrate_{field} is for export, I realized It was being called on import. I though this would be a bug so I dug deeper and realized dehydrate_{field} was being called in order to show diff for changes.
I added documentation mentioning this behavior for resource.Meta.skip_diff attribute. I have spent probably more than an hour trying to find the reason, so hopefully this saves time for other users who wonder why this happens.
Problem
Documentation says dehydrate_field is for export process, it is also called on import depending on resource.Meta.skip_diff
Solution
Added documentation for this behavior.
Acceptance Criteria
No tests.
Did you document your changes?
Yes.

Coverage: 100.0%. Remained the same when pulling 2cb4b3586bdbd8195271c8be4c788ddc4ece0a2a on cocorocho:fix-dehydrate_field-called-on-import into 8c9a5ef87a5c8ca47f821dec434a27b99468dcf4 on django-import-export:main.

Thanks for raising.  I think this is a valid bug.  The import logic should not be calling export() workflow.  I will raise as a separate issue.


Syntax highlighting of detail views

Description
Both Detail and List.Item.Detail do not appear to support syntax highlighting of markdown code blocks, (e.g. those starting with ```javascript). Instead, the code block renders as monochrome text.
It would be great if this were supported so previews that involve code looked nice.
Who will benefit from this feature?
Raycast users who interact with code documentation, etc. would benefit from the ability to see a preview in the detail views.
Anything else?
No response

Agreed, would love this for https://www.raycast.com/ben-greenwood/code-stash

This should be available in 1.50.0!


Push notifications server behaviour section is empty

https://matrix.org/docs/spec/client_server/r0.6.0#id96

Technically it's not empty - it consists of subheadings only. We should probably put at least a few introductory words there though.

I don't see any subheadings under it - the next heading (push gateway behaviour) is at the same level?

<IP_ADDRESS> is a subheading of 13.13.3 (the section you've linked to)

I linked to section 13.13.2 though.

Oh, hmm. Probably just needs removing then.


one more refactor? (NSDocument reconsiderations)

Should we ultimately be using the NSDocument Architecture?
Whether or not it was a good fit has come up various times, e.g https://github.com/google/xi-editor/issues/88#issuecomment-231558685 & https://github.com/google/xi-editor/pull/171#issuecomment-283773093. My initial motivation for merging the NSDocument changes was the built in support for tabbing, and my preference for moving more of the model logic out of the EditView, and introducing a per-document controller class.
I like those changes.
The NSDocument model has a few problems though: one of the most pressing of these is that it tightly couples a document to an individual window, and its tabbing model is on a per-document basis. This means that implementing split views, where we have multiple buffers open in a given window, will necessarily be a hack.
Similarly, the API around interacting with the file system does not represent how xi actually functions, where all file system interactions are the responsibility of ``xi-core`. If we're going to want to be doing our own window management and we're already handling file system interactions, the arguments in favour of NSDocument are starting to look a little threadbare.
That said, the overall architecture of the NSDocument model—that is, of having a singleton which is responsible for managing a collection of document/buffers—feels to me like an appropriate abstraction. If I were to move away from NSDocument then my replacement would probably keep that overall structure.
How I would imagine that replacement, in loose term:

rename Document to something like CoreProxyBuffer, no longer a subclass of NSDocument. This class will be explicitly responsible for the various 'edit' RPC commands, as well as for maintaining the line cache.
Add a new class which will serve the role currently performed by the NSDocumentController, that is of managing open / close / new / other editor-global commands, (currently in the app delegate) as well as (perhaps) things like window state restore on launch.
Add some subclass of NSWindowController, which will handle tabbing and splits, and
keep everything else more or less as-is, with the EditViewController still being responsible for the display of a given buffer, etc.
manually implement various open/close/save/tabbing functionality.

When this is done, I can go ahead and implement splits.
Are there any other thoughts/concerns here? One thing I think would be a responsible step would be to see exactly how hard hacking splits into NSDocument actually is.

This sounds fine to me. Note that having multiple views for a single editor buffer (each with its own cursor state) will require some changes to the core, but I'm ok with that.

Just wanted to chime in and point out that you can have multiple windows per NSDocument using -addWindowController:


[MRG][FIX] fix epochs.plot for ctf data

With an update to MNE 18, epochs plotting for ctf data (with ref channels) was failing.
I assume this was introduced in #6210 or #6320.
This PR at least gets through plotting and adds tests. Although I don't know if there was another plan for ref channels. @stfnrpplngr and @larsoner please let me know what you think.
Additional issues,
picks option is ignored (at least on butterfly plots)
ica.plot_sources(epochs) doesn't have a scaling option and the default scaling is too small, at least using my datasets.

see why CIs complain.
We should backport this and make a minor release

CIs are failing due to adding ref_meg to _DATA_CH_TYPES_SPLIT in mne.io.pick. Which is used in a number of places and was introduced here PR #6028.
I see two solutions, neither of which I'm particularly well suited to pull off.

keep the changes to defaults.py and picks.py and trackdown issues/problems that are introduced. Given past experience I see this as opening up a can of worms.
roll back the changes to defaults.py and picks.py and fix epochs plotting in viz/epochs.py

I'm in favor of 2, which is more hacky but more contained and thus less likely to cause large unforeseen issues.

Agreed (2) is probably easier and less likely to break stuff. Also your new test that uses testing data needs the testing.requires_testing_data decorator

Unfortunately, I'm not going to get this until mid July at the earliest maybe later. I"m editing the description to add some other issues that I noticed.

@bloyl 	I can take over if you want to

@massich That would be great. Do you want to make your own PR or I can give your write access (probably :) )

@bloyl I could push, so we are good.
what its left?

@bloyl 	what is left? revert all the code, keep the tests you have added and make them green?

@massich Thanks for taking a stab at this.
Reverting the code and having the tests pass will at least allow epochs.plot to complete on data with reference channels.
There are 2 other things that i think are problematic.

is that picks seemed to be ignored in the spacing for butterfly plots. For instance

picks = mne.pick_types(meg=True, ref_meg=False)
epochs.plot(picks=picks, butterfly=True)

Doesn't show the ref channels but has an empty plot for them in the axis. Unfortunately I'm not sure how to write a test for that.

I'm concerned that the scalings parameter isn't being treated the way it was in 17.  I haven't had time to track it down but my calls to ica.plot_sources(epochs) made reasonably scaled plots in 17 but in 18 the scale is way too small. If I have a chance I'll upload a dataset and a gist example.

regarding the empty space in the butterfly plot, this came up also in plot.raw(butterfly=True), see #6229

@bloyl I made it green here. Good to go from your end?

as @bloyl is not responding. @larsoner can you have a look and eventually merge? thx

Lgtm

my calls to ica.plot_sources(epochs) made reasonably scaled plots in 17 but in 18 the scale is way too small.

We tweaked the auto scaling, including of ICA components, within the past couple of months. Perhaps this fixed it?

Thanks @bloyl @agramfort @massich. @bloyl feel free to open a PR for the other issues whenever you get a chance


Incorrect URL in text_classification_with_tf_hub

In notebook Text Classification with TF Hub
In the  Feature columns subsection, the following link appears to be broken
https://github.com/tensorflow/hub/blob/master/docs/api_docs/python/hub/text_embedding_column.md

I fixed it in #555

Thank you; your fix has been merged into the master branch.


Fix networking.HTTPMatchRequest.WithoutHeaders conflict detect

Please provide a description for what this PR is for.
And to help us figure out who should review this PR, please
put an X in all the areas that this PR affects.
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[X] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Pull Request Attributes
Please check any characteristics that apply to this pull request.
[ ] Does not have any changes that may affect Istio users.

@hzxuzhonghu: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-security-k8s-tests_istio
85a6f7eeaf33f97d2e3a1e8f2cc2aaa2d3d6911e
link
/test integ-security-k8s-tests_istio

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

/test integ-security-k8s-tests_istio

In response to a cherrypick label: new pull request created: #26064

In response to a cherrypick label: new pull request created: #26065


perf: cache requests to the underlying fork provider

We managed to improve the performance of the ganache fork we use for testing by a factor of 10 to 20 by caching identical requests to the underlying fork (our slowest test used to take ~250 seconds and frequently crash because of exceeding rate limits on our archive node / timeouts - It's now at 13 seconds consistently).
To achieve this, I simply patched the web3 provider used by the fork to intercept all calls to send and run them through a LRU cache.

Coverage increased (+0.02%) to 82.216% when pulling c826a1f562789c636d5a0775226ba7c627256681 on fubhy:develop into 94fdc56064b2ee96a92635b54e6c0ad2e896da28 on trufflesuite:develop.

I fixed that one failing test (serialization / deserialization issue in lru-cache apparently).
I wanted to add a test to verify that the caching actually works but noticed that a) you are using mocha (which doesn't have native method spies) for your test suite and b) there's currently no method spy dependency installed (spy.js / sinon). I didn't want to add yet another dependency as part of this PR so how'd you want to implement such a test without spying on the .send method?

This looks really great! I'm working on some subtle fixes to the code, as well as writing some tests.

Closing. Will be merging via #585.


Fixed #32798 -- Fixed ASGIHandler to run response iterators in sync context

I did some quick performance tests to make sure this isn't significantly slower. I set up a view with a streaming response yielding 100 items. timeit reports "3.04 msec per loop," compared to "3.64 msec per loop" on the main branch, so pretty much the same. The alternative implementations I tried are much slower (using async_to_sync(Queue.put)() instead of Queue.put_nowait() is 21 msec per loop; not using a queue is 15.5 msec per loop).

I pushed a commit with sentinel value implementation, bounded queue size, and limited bytes in the queue.

Sentinel value - I like this change. It does indeed make the code simpler.
Bounded queue size - Instead of sleeping, I just used async_to_sync(q.put), which should be better than an arbitrary sleep time because the thread will actually get woken up when a slow is available.
Limited bytes in queue - I put an actual sleep in here. I'm a bit unsure about this. It seems like it would be possible to have this thread wait on a future whose result is set by the async thread, since that's how the Queue implementation works under the hood. I can work on this if it feels like the right direction.

Another issue is that asyncio.Queue isn't thread-safe. Maybe it's okay here in practice since we have only one producer and one consumer? If we're worried about the queue being threadsafe, it's probably best to just wrap the for part in response loop in sync_to_async, as suggested earlier.
Sorry for all the back and forth on this PR. I guess I need more guidance on this than I thought.... getting async code right is hard.

Limited bytes in queue

As long as the queue is limited to a size that's a small number (say 5 or less), it doesn't seem like counting and limiting the bytes should be necessary. The reason is that the streaming response object already needs to / has the ability to limit the size of the items it yields. So the total bytes would already be limited to the size of the queue times that, which is the same order of magnitude. I would actually be more worried about the items yielded by the iterator being too small. To address that, I think making the size customizable e.g. by a class attribute would be good enough. That way people will have two options: (1) changing the class attribute, and (2) altering the streaming response object to yield bigger items. Note that currently, the handler chunks responses into pieces of size 2**16 = 65536 by default, which is configured via a class attribute: https://github.com/django/django/blob/225d96533a8e05debd402a2bfe566487cc27d95f/django/core/handlers/asgi.py#L129-L130
(The handler may have a separate issue worth addressing of not combining items together for sending when the items are small. For example, the Django docs have an example of streaming a large CSV file, where the response items are the individual lines. In that case, the lines are likely much smaller than the chunk size, so sending via the async handler might be inefficient -- but I can't say for sure because I didn't look closely.)

I've been working with Michael to find a better way to use sync iterators in an async context. The problem with the above implementation is:

Slow, probably due to the overhead in the sync/async transitions, or uses unbounded memory due to use of an unbounded asyncio.Queue
Possibly not thread-safe due to use of asyncio.Queue.put_nowait() from a separate thread.

Making a sync-to-async iterator that uses bounded memory and supports backpressure (blocks the sync side if the async side is slow) turns out to be pretty tricky. I put some thought into a more general approach and came up with this:
class SyncIteratorToAsync:

    def __init__(self, iterator, queue_size=50, thread_sensitive=True):
        self.iterator = iterator
        self.q = collections.deque()
        self.loop = asyncio.get_running_loop()
        self.full_event = threading.Event()
        self.empty_event = asyncio.Event()
        self.sentinel = object()
        self.task = asyncio.create_task(
            sync_to_async(self._sync_iterator, thread_sensitive=thread_sensitive)()
        )
        self.queue_size = queue_size
        self.should_exit = False

    def _sync_iterator(self):
        try:
            for item in self.iterator:
                if len(self.q) >= self.queue_size:
                    # Queue is full, block waiting for an item to be removed
                    self.full_event.wait()
                # Queue has at least one free slot
                self.full_event.clear()
                # Check if we should exit after clearing the Event, to avoid a race condition if this
                # runs after the exit flag was set but before the Event was set.
                if self.should_exit:
                    break
                was_empty = len(self.q) == 0
                self.q.append(item)
                if was_empty:
                    # Signal that the Q is no longer empty
                    self.loop.call_soon_threadsafe(self.empty_event.set)
        finally:
            self.q.append(self.sentinel)
            self.loop.call_soon_threadsafe(self.empty_event.set)

    async def __aiter__(self):
        try:
            while True:
                if len(self.q) == 0:
                    # Queue is empty, await for an item to be added
                    await self.empty_event.wait()
                # Queue has at least one item
                self.empty_event.clear()
                was_full = len(self.q) >= self.queue_size
                item = self.q.popleft()
                if was_full and len(self.q) < self.queue_size:
                    # Signal that the queue is no longer full
                    self.full_event.set()

                if item is self.sentinel:
                    break
                yield item

            # Raise any errors that may have occurred in the sync thread
            await self.task
        finally:
            self.should_exit = True
            # Wake up the thread if it was waiting
            self.full_event.set()
            self.task.cancel()

While this adds quite a bit of more complexity, it's also quite a bit faster. Here's the highlights:

Uses a queue of adjustable size to buffer items when producer and consumer are different speeds
Uses a collections.deque() to pass the items, and handles the backpressure of full/empty queues itself, since neither asyncio.Queue nor queue.Queue are designed for use in the others' contexts. Plus we can simplify by assuming only a single producer and consumer.
Uses an asyncio.Event to signal the async side (consumer) when a previously empty queue has an item added
Uses a threading.Event to signal the sync side (producer) when a previously full queue becomes non-full
Setting a threading.Event from an async context should be safe, as this is a non-blocking operation
Setting the asyncio.Event from a sync thread uses loop.call_soon_threadsafe(), which avoids the overhead of async_to_sync
By experimentation, a queue size of 50 has better performance than a small queue (<10) but more than that doesn't seem to benefit. At least from our quick benchmark script. I'd guess this lets the two threads do less context switching overall.

If this approach sounds good, we can update the PR. This may also be a handy utility to include in asgiref.

Gosh, that's a lot of code. The idea seems better - I would want to see it in an actual PR with the current tests passing and more tests, though, as well as finding a weekend to review it in the excruciating detail any async bridge code ends up needing!

I understand, and having had a chance to think this over further, I'm not sure I like my solution due to its complexity. Michael and I ended up side-stepping this issue by using asgiref.wsgi.WsgiToAsgi in development, and by deploying our sync and async code in separate servers in production.
Using WsgiToAsgi wraps the wsgi app in sync_to_async and then uses a call via sync_to_async to send the response, so the async-sync transition pattern is similar to Michael's earlier suggestion of doing something like this, with all the performance implications mentioned:
            def process_sync_response():
                # Access `__iter__` and not `streaming_content` directly in
                # case it has been overridden in a subclass.
                for part in response:
                    for chunk, _ in self.chunk_bytes(part):
                        async_to_sync(send)({
                            'type': 'http.response.body',
                            'body': chunk,
                            # Ignore "more" as there may be more parts; instead,
                            # use an empty final closing message with False.
                            'more_body': True,
                        })
            await sync_to_async(process_sync_response)()

For us, that ends up being okay since it's only for development convenience to run a single dev server. To be clear, this means I probably won't have time to work the above into an actual PR with tests, sorry.

That's fine - as you can tell, I am not blessed with a lot of time at the moment either, hence my slow reply. This is not the sort of thing that's an immediate awful bug, so it's not super pressing.

What do you think about me opening a new PR with the simple solution of wrapping the streaming response code in sync_to_async? It's slower, but it will fix the issue and it's easy to see that it's correct. We can still improve the performance later when somebody has time. SyncIteratorToAsync could even be included into asgiref as a general tool after it's properly reviewed and well tested.

A simpler but slower solution beats one that doesn't work, if you ask me, so I think that's a decent idea.

Closing in favour of #14652 as a simpler, albeit slower, fix seems to be the consensus. (It was also mentioned that providing a more performant general helper in asgiref might be preferable to implementing something in Django.)


Contact and MiltiContact received events; file info event;

I don't think I did that command line merge properly...


Relax InfoTree.visitM when visiting holes

Since https://github.com/leanprover/lean4/pull/1172 , InfoTree.visitM would cause a panic when the info tree contained holes, as in tests/lean/forErrors.lean.

Thanks! It's... sub-optimal that the leantests do not catch panics.

It's... sub-optimal that the leantests do not catch panics.

Ah, no, I see now that it only failed in your lint PR


What is fingerprinting?

As documented on https://docs.sentry.io/clients/node/usage/

fingerprint
The fingerprint for grouping this event.
{
// dont group events from the same NODE_ENV together
fingerprint: ['{{ default }}', process.env.NODE_ENV]
}

I have no idea what this means. It feels like the first sentence and the comment contradict each other.
Can we update the docs with a slightly less terse description? :)
Thanks

Docs here: https://docs.sentry.io/learn/rollups/.

That page is now linked from docs – thanks.

// dont group events from the same NODE_ENV together

I agree – this line sounds contradictory. Is it accurate? Should it be:

// group events from the same NODE_ENV together

or

// dont group events from different NODE_ENVs together


"Save" instead of "Save and next" option not working

Expected Behavior
The option "Change Behaviour of Enter Key When Adding Transactions
When you press enter while adding transactions, the default behaviour is 'Save and add another'. This option changes it to just 'Save'." should disable the next transaction, when pressing Enter at the end of a transaction.
Actual Behavior
It just opens the next add transaction, when pressing enter, the option above is enabled.
Steps to Reproduce the Behavior

Enable the option
Enter a transaction and press Enter
The next transaction will be opened, instead of just "save"

Export of Toolkit Settings
Can't find the option for this :-(
[paste settings here]

System Settings
Operating System (Mac/Windows/Etc): OS X El Capitan (10.11.6)
Browser (Chrome/Firefox/Safari): Safari
Browser Version: 9.1.2
Other Extensions: 1 Password, Nope (disabled for YNAB-site)

Thanks for the report!
I think we've got enough to go by on this one without it, but just so you know where it's at, if you open the Toolkit Settings page there's a button in the bottom left.

This is currently working for me, but having looked at the code, I think I see what might be going on.

Are you using a non-US keyboard? If so, which one?
 We're currently only checking for '13' which is what a US keyboard will report when you do this, but I suspect you're coming up with another value.

Sorry for not giving feedback that long, blargity. Did not get Mails for Your answers, just switched it on again.
Right, I am using a german keyboard, will give it a shot with american Layout to verify Your suspect.

Your absolutely right. With an english keyboard-layout activated the switch works just fine.
Would be fantastic, if You could "repair" this for the german layout too.

No worries!  It'll say some other number than 13, which is what it'd do with the US keyboard. If I know what the magic number is I can add it into the code easily.

It is 13 too, to be exact it looked like this:
https://cldup.com/Qb_Os7YQWS.png

Wow, that's really weird. I'll see if I can replicate it with any international keyboard layouts on my side. Thanks for bearing with me on this.

Sorry, I had hope, it would be easier. Thank You very much for Your work, really appreciate it!

Did You already change anything? It is working for me now...!

@Gefahrensucher I don't think we changed anything but we were having issues reproduce this so if you're not having anymore problems, please close the issue and reopen if it ever comes back. Thanks!


[[Link]] in text field

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Hi,
Is it possible to write [[Link]] of md document in text field?
Füles

Hi @balola , should be possible right now, there is not helper with autocompleting, but if you write the file should work

Closing this one


docs: proposed changes to PR templates

Overview

Proposed changes to PR template - should be able to ✂  after mono-repo work 🔥

PR Checklist

[ ] Related to designs:
[ ] Related to JIRA ticket: ABC-123
[ ] I have run this code to verify it works
[ ] This PR includes unit tests for the code change
[ ] The alpha package of this PR is passing end-to-end tests in all relevant Codecademy repositories

PR Links and Envs

Repository
PR Link
PR Env

Monolith
Monolith PR
Monolith Env

Portal
Portal Link
Portal Env

Another Repo
Another Link
Another Env

🚀 Styleguide deploy preview ready!https://6266aee3e480371a4f72b258--gamut-preview.netlify.appDeploy Logs


Pr/code editor boardered

General

✏ Mark the necessary items without changing the structure of the PR template.

[x] 为CodeEditor添加bordered属性

Type

ℹ What types of changes does your code introduce?

👉 Put an x in the boxes that apply

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

Checklist

ℹ Check all checkboxes - this will indicate that you have done everything in accordance with the rules in CONTRIBUTING.

👉 Put an x in the boxes that apply.

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

#3134


Question: Can this be made for Portal 2?

Hello I only recently discovered this and was wondering if there could be a version made that works for Portal 2?
EDIT: I read a reddit post that this did work for Portal 2 but the game has since been updated recently.

It should still work with Portal 2. Have you tried it?

Yes I have tried it and it doesn't work. I suspect the recent updates portal 2 has had most likely broke it.

Try this: addons.zip

@saul Still doesn't work.
Same error: Could not get IServerPluginCallbacks interface from plugin "cvar-unhide.dll"Unable to load plugin "cvar-unhide.dll"

Are you running on Windows? The ZIP in my previous comment definitely works - can you double check that you're extracting it to the right place? portal2/addons/cvar-unhide.dll should have a 'Last modified' date of yesterday.

It's definitely in the right place. Yes I am running Windows.

Can you try using these binaries - they've just been built with GitHub Actions:
https://github.com/saul/csgo-cvar-unhide/suites/2197626435/artifacts/45352692

@saul Still the same error.

Oh hang on now it works. Apparently -insecure is still needed on Portal 2 despite VAC not being enabled for Portal 2.

You can use con_logfile output.log to redirect all console output to a file. Then after you cvarlist_all you can open output.log to see the full output.
See here for the full cvar list: https://gist.github.com/saul/ccebb64c2ac96d5cd5c97c17b2beabb8
Search for "devonly" and "hidden"

Closing this off - Portal 2 binaries now available: https://github.com/saul/cvar-unhide/releases/tag/v20210307.23


Hit points of spell Aeolito have no effect on target

Describe the bug
A successful Aeolito does not reduce the health points of the target.
Desktop (please complete the following information):

OS: Windows 10
Browser: Chrome
Foundry version: 0.8.8
DSA system: 2.0.4

The effect seems to have an error. The damage can be applied via right click on the results chatmessage (same as melee fights).


Evaluation metrices RMSE, MSE and MAE

Root Mean Square Error (RMSE), Mean Square Error (MSE) and Mean absolute Error (MAE) are a standard way to measure the error of a model in predicting quantitative data.

Can you please describe a little more, about what is needed to be done for this issue.

You have to build a ML model and then evaluate that model on various parameters.

Assign me this, I'll add these metrics to everywhere it is required.

I would like to work on this issue. Kindly assign it to me @Akshat111111

@apooyadv is currently working on it.If he fails to do so,I will assign you

@Akshat111111 I would be glad to work on this ,when assigned to me.

@varsha-ky12 you can work on some another issues @apooyadv is already working on it

HI @Akshat111111 . I want to contribute . Kindly assign me this issue.

Hey ! I wanna work on this issue if required. You can assign me this issue.

i think the task is to use all these parameters like rmse,mse,.... using ml. I think i am capable of doing this so please assign me,

HI @Akshat111111 . I want to contribute . Kindly assign me this issue.

Let see the work of  @apooyadv till the time  you can work on other issues.


HTML a11y rules

Feature request
Is your feature request that we implement a new rule?
No.
Is your feature request related to a problem? Please describe.
No.
Describe the solution you'd like
a11y rules should support .html files also (is it possible?)
Describe alternatives you've considered
new rules?

@fabioemoutinho thank you for interest in the project, however it is something that is outside of this repo scope.
This repo only provides set of check for parsed files and relies on TSLint which in turn uses TS. TS doesn't support support for HTML files.
If you want to validate regular HTML files without any JSX in JS/TS you should check https://webhint.io/ and its accessibility checks https://webhint.io/docs/user-guide/hints/accessibility/
If you have files with .html extension with JSX syntax inside them - you need to do something similar to what https://github.com/prograhammer/vscode-tslint-vue does, however I'm not familiar with their approach.
Since this issue doesn't have any actionable items for this repo I'll close it.

if there are people struggling to find lint rules for a11y in angular, I just found out that there are rules in codelyzer, check their repo


Refactor updating of gold values

Slight refactoring of cron script that updates gold values that makes it easier to update custom gold values for untradeable items. Added custom gold value definitions for Gold (item id 431) and Magic Essence (item id 211).

"no description provided"

@vsong please always provide a description; doing so helps reviewers understand the intent of a PR, while also making sure you got all the bits that you needed to get to achieve your goal.

Added description


Fixes for 5.0 changes to FHitResult

Apparently FHitResult no longer has an actor field and requires the use of new method GetActor().  Tested working on 5.0 EA and 5.0.

Hey thanks. I'm not supporting UE5 yet, but I'll leave this open until then.

No problem, your project has been immensely helpful so I thought I'd throw this out there in case it helps.