Various bugfixes and capability fixes

Fix DRBG ptr ref error
Fix AES-GCM min IV length (8->0)
Fix arguments and enum for KTS IFC set scheme function
Set ciphers in KDA TC structs
Add blank line before EOF (some editors complain without it)

Second commit adds changes to acvp.h I missed in the first commit

Hash LDTs do not have test written, and I'm unlikely to complete them anytime soon.  Accept or reject, I wanted to make the commit.
I have verified these against the demo server with 3.0.8 and 3.1.

KDF108-KMAC: Ditto on test cases and app.
I have verified these against the demo server with 3.1.

For a little context/background, I don't use your app, just the library.  I have my own front end that I can link to any library (with appropriate code).  My app code looks different, but the capabilities registration code is basically identical.  I will try to add at least a stub of the capabilities registration code to acvp.c in the future for algorithms that I add.
As noted elsewhere, I'm working on EdDSA for quick turn-around.  After that, I'd like to add FFE,  I had to use proxy/parser for a client that needed FFE, but I'd prefer to keep everything together here.  Since FFE isn't yet in OSSL3, you won't be able to test this.
I also have code (from a 1.something branch) to read/write ACVPProxy-type files, giving interop with the other major OSS project for ACVP.  I'll try to bring that forward in a future patch as well.
I'll post the else-changes with other patches as I move forward.
How do you feel about foundational changes to the library?  Like removing the requirement to base execution from a list of vsIds?  It appears to me to be completely arbitrary to walk the list of vsId entries (looking up the algorithm within the algorithm array object) rather than simply walk the array of algorithms.  This is the source of the majority of interop/compatibility problems with ACVPProxy.

Thanks for the context!
At this point I am not looking to make foundational changes as we are launching 2.0 pretty soon. I do understand the reasoning for wanting to change it (also worth noting that libacvp was designed alongside the protocol even in the early days of acvp, so some design may seem odder now). I do have some work in progress to process "raw" vector sets (a file with a single vector set brought in from elsewhere with a basic acvVersion header) which may help interop. Not sure if that will make the 2.0 initial release.
For future additions, it may be helpful to break up multiple features into multiple PRs so we can look through them faster; planning to do some testing with this one tomorrow.
Thanks again,
Andrew

I apologize for the chaotic submissions.  I've been accumulating some of these changes for a while, and I wanted to get them to you before 3.0.0.  In some cases I'm pushing changes both left and right and few changes ended up coming over in several commits.  Now that you've had a chance to give me some basic feedback, and I've had a chance to touch up some stuff (domain free and else), I could trash this set of commits and re-send them in a more organized set if it would help.  I'm flexible.

I can see the differentiation between the other SP800-108 modes and KMAC gets a little messy in the protocol.  I think the way you have it implemented is the best it can be done for now, but I have opened an issue on the ACVP github to maybe get some clarification.
The other thing I saw is that SHA3 also seems to support LDT (though shake doesn't), is there a reason to have it disabled in the library? Otherwise, ran some LDT tests myself and it was perfect.
Finally, the length list for SHA capability object needs to be freed (needs acvp_cap_free_sl call at acvp.c:672).
Rest looks great, thanks a ton!
Andrew

Hey Randy,
We are going to go ahead and merge this (I will add a thing or two of my own in a future PR) so we can lock down some code for 2.0 release testing.
Thanks,
Andrew


Rename Card-Rev-Share-for-Approved-Partners.md to Expensify-Card-Reve…

Details
No material changes. I've just updated the name of the file so that the title of the page will be updated as well. (See the Slack thread below for context)
I'm attempting to change the title to: Expensify Card Revenue Share for ExpensifyApproved! Partners
I added a ! to the filename. I'm not sure if that's going to be an issue.
Fixed Issues
https://expensify.slack.com/archives/C03TBKRSB/p1693269796992579?thread_ts=1692710155.273599&cid=C03TBKRSB

@Julesssss whoa, I didn't know there was a dupe. Is it in the same folder?
Also, when you say that the key difference is the # About header, can you show me what you mean? Is that a header in Markdown (that should be visible to the reader) or is that a header in the code?

whoa, I didn't know there was a dupe. Is it in the same folder?

Nah, the dupe is located here:
App/docs/Card-Rev-Share-for-Approved-Partners.md

And the one you edited (the good one) is located here:
App/docs/articles/other/Card-Rev-Share-for-Approved-Partners.md

Let's fix this and merge it next week, after the conference hold ins lifted

Hey @johncschuster, does this still need to be done? It looks like you might have completed this is a separate PR?

A preview of your ExpensifyHelp changes have been deployed to https://37cf3c02.helpdot.pages.dev ⚡

It sounds like this change was resolved in a different PR. Let's not worry about getting this one merged.

Cool. I might have been mistaken about that too. But lets close this for now


Add CUDA 10.2 support

Attempts to backport ( https://github.com/cupy/cupy/commit/d654524fa1c5aae4df39090d148f5eadce4ebb2c ) from PR ( https://github.com/cupy/cupy/pull/2910 ). Though this doesn't apply cleanly. So have tried to fix it up accordingly. Please check that I've done this correctly.
cc @ksangeek @rlratzel @leofang

Also related to PR ( https://github.com/conda-forge/cupy-feedstock/pull/41 ).

Thanks for the force-push, John. I was just about to suggest it 🙂

Yeah sorry was wrestling with git cherry-pick 😅

cc @kmaehashi (for awareness)

Should add I know 7.3.0 just went out, but would be possible to make a hot fix release (7.3.1) with this change?

Thank you @jakirkham

We usually don't backport features or support of new versions to stable branches.
For cuda 10.2 support please use CuPy v8 😓

Emilio, I think the original PR was marked "to-be-backported" but it was left undone. Another 10.2 related PR #2922 did get backported. Finally, based on #3091 this does look like an oversight and v7 is intended to support 10.2.

Sorry, I understood wrong,
We backport CUDA and Python version support PRs!

Jenkins, test this please

Jenkins CI test (for commit 4f75ac311b25136da23c054631f15d7817fbd5f6, target branch v7) succeeded!

No worries 😉 Thanks Emilio! 😄

Thanks @jakirkham @emcastillo!

Jenkins CI test (for commit 4f75ac311b25136da23c054631f15d7817fbd5f6, target branch v7) failed with status FAILURE.


string.charCodeAt is not a function

TypeError: string.charCodeAt is not a function
    at ucs2decode (C:\Users\bash\NEMid\node_modules\utf8\utf8.js:30:19)
    at Object.utf8decode [as decode] (C:\Users\bash\NEMid\node_modules\utf8\utf8.js:201:15)
    at Object.<anonymous> (C:\Users\bash\NEMid\client.js:21:95)
    at Module._compile (module.js:573:32)
    at Object.Module._extensions..js (module.js:582:10)
    at Module.load (module.js:490:32)
    at tryModuleLoad (module.js:449:12)
    at Function.Module._load (module.js:441:3)
    at Module.runMain (module.js:607:10)
    at run (bootstrap_node.js:382:7)

node v7.0.0

How can I reproduce this issue?

Are you passing undefined to utf8.decode()?

I also encountered this error and was at first a bit confused, but then realised that it was happening because I was passing a Buffer instead of a "binary string". Maybe the docs can be made more explicit about the fact that Buffer are actually not supported at least not until https://github.com/mathiasbynens/utf8.js/issues/7 is solved.

Reading the file with encoding set fixes this problem:
const input = fs.readFileSync('./thefile.txt', {encoding: 'utf8'});

Reading the file with encoding set fixes this problem:
const input = fs.readFileSync('./thefile.txt', {encoding: 'utf8'});

If you are reading the file in that way, then you do not need this library.


wip support shanghai fork

TODO
add a feature flag "shanghai", with which, the shanghai fork of geth tracer used, the some circuit constraints changed accordingly like the gas of init code / warm coin base.
we can either merge this after ci pass (without push0), or add push0 to this pr too.
EIPs

[ ] EIP-3651: Warm COINBASE https://github.com/scroll-tech/zkevm-circuits/pull/500
[ ] EIP-3860: Limit and meter initcode
[ ] EIP-3855: PUSH0 instruction
[ ] EIP-4895: Beacon Chain push withdrawals
[ ] EIP-6049: Deprecate SELFDESTRUCT - may also add shanghai feature to SELFDESTRUCT as https://github.com/scroll-tech/zkevm-circuits/pull/463

i changed the order of sub tasks here @silathdiir

i think after the first 2 sub tasks, ci can pass for shanghai feature. So we can merge it then start new sub tasks in new prs


No illegal naming style or global variable will cause java side error

Describe the bug
As title.
To Reproduce
Write a perfect code and analyze it (?)

Thank you!

Thank you!


Changed local_map.visible to add/remove_child to prevent player movem…

With Pigdev's help, I edited game.gd to change the local_map.visible to an add_child and remove_child.
This prevents the players from moving during battle. #37

Great, thanks to the both of you 😄


Add Taiwan (R.O.C.) address format

Sorry. I forget a comma in #3260, so I pull request again.

Thanks!  It looks like some of the addr: keys that you want to use aren't yet added to address.json.
Specifically, addr:village and addr:floor keys seem to be missing:

It might be correct, and I can add them if so, but I'd like to see if these keys are really used anywhere before we "standardize" the tagging of ROC addresses this way.  I did look around in the map but didn't see any tagged this way - all current examples I could find use addr:city, addr:street, addr:housenumber.
Are addr:village and addr:floor real tags being used?

Both have low usage. addr:floor has worldwide usage and a wiki page, addr:village isn't documented and may overlap with addr:city. 25% of uses of addr:village are in one place.
I'd recommend against adding addr:village and asking a wider audience about addr:floor

you're right.
addr:village is a hide option, only show in full address.
And it would not have same address when hide it.

OK! I've removed them.

Yeal addr:floor is not well documented but it is use in urban area in Taiwan like Taipei. Maybe use key:level instead of addr:floor for shop or amenity in multilevels building.

BUT there are exception.

addr:village
https://www.openstreetmap.org/node/2536763307

addr:place
the road without street names
http://overpass-turbo.eu/s/hpR

addr:floor
to indicate different floors of the restaurant or company
http://overpass-turbo.eu/s/hpU

Actually "乾華派出所" is not in "阿里荖",  "阿里荖" is the smaller place under the village. "阿里荖" should be place in the addr:place form.

Looks like the latest version includes addr:floor and leaves off addr:village (which is not a standard documented tag).  This sounds fine to me.

This look ok to everyone?

Yes, it's ok.

Yes, @bhousel it's ok

Just merged this, thanks everyone!


Massive Update (Remove StorageCheck (old) + Add Ressource & StorageCheck, Remove Whiptail, Remove PCT Ressource Set

Description
Massive Update (Remove StorageCheck (old) + Add Ressource & StorageCheck, Remove Whiptail, Remove PCT Ressource Set
Type of change
Please check the relevant option(s):

[ ] Bug fix (non-breaking change that resolves an issue)
[ ] New feature (non-breaking change that adds functionality)
[x] Breaking change (a fix or feature that would cause existing functionality to change unexpectedly)
[ ] New script (a fully functional and thoroughly tested script or set of scripts.)

Prerequisites
The following efforts must be made for the PR to be considered. Please check when completed:

[x] Self-review performed (I have reviewed my code, ensuring it follows established patterns and conventions)
[x] Testing performed (I have tested my changes, ensuring everything works as expected)
[x] Documentation updated (I have updated any relevant documentation)

Related Pull Requests / Discussions
If there are other pull requests or discussions related to this change, please link them here:

(https://github.com/community-scripts/ProxmoxVE/pull/249)

Awesome work. I'm supportive of the usage of the new centralized functions (check_ressources). However, can we discuss the  PCT set resources?  I would prefer to keep that part.

Yes we can discuss, but the right thing to do in my opinion would be to make a small fix PR, with proper resources. In the end, Proxmox and the LXC only use what it actually needs :-) if it doesn't need it, it doesn't use it. (Unlike with Homeassistant VM 😂)

Jep, local it works for Fedora and co too. Thats a later PR. For now only all Debian & Ubuntu Systems

@havardthom all done.

Awesome work. I'm supportive of the usage of the new centralized functions (check_ressources). However, can we discuss the PCT set resources?  I would prefer to keep that part.

...

Yes we can discuss, but the right thing to do in my opinion would be to make a small fix PR, with proper resources. In the end, Proxmox and the LXC only use what it actually needs :-) if it doesn't need it, it doesn't use it. (Unlike with Homeassistant VM 😂)

For setups with limited resources, it does make sense to not over-provision. If for example I try a script that ends up consuming a lot more storage when in use (this happened to me a few days ago) I would rather that new LXC crashed, than my long running LXCs.

Code looks fine and will approve, but I don't think our policy should be over provisioning LXC.


logo contribution

Hi @markusjwetzel I contribute to open source projects to support. I have a good logo idea in my mind for packsy. Would you like to see this? Have a nice day.

Thank you, @reallinfo, but currently there is no need for it.


Make Multiroot work for testing rewrite

multiroot workspaces should still display tests based on their workspace-specific settings on the testing explorer. This behavior is not in the rewrite of testing and should be added before release. This issue is related to the overarching rewrite.

closed by https://github.com/microsoft/vscode-python/pull/21295


add trigger sdk

add trigger sdk

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.CiCi seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


MAINT: Fix test name for IncrementalBasicStatistics

Changes proposed in this pull request:

Fixed misleading testname in sklearnex test for IncrementalBasicStatistics

/azp run CI

/intelci: run


Parameterize generate_address tool to select different receivers

Request from @tw0po1nt https://github.com/zingolabs/darksidewalletd-datasets/issues/6#issuecomment-1752867118

addressed in https://github.com/pacu/zwcd/issues/56


Cleanup README

[ ] Add some emojis.
[ ] check structure

@DominicWrege See https://github.com/Team-Ladefuchs/ladefuchs-react-native/pull/33


Suggestion: rel=me support

Hi,
When I check a profile page, like mine (https://whosum.com/gh/techmagus), I noticed that there is no rel="me" in the links or in the page itself.
For services using it for detecting relationships, like IndieWeb and the fediverse software like Mastodon, to mention two, doesn't know the relationship. For example, in a fediverse software like Mastodon, it adds a checkmark to the link if it detects rel=me (for example my profile: https://c.im/@youronlyone )
I would like to suggest rel="me" support in the profile pages as well as the account links.
Thank you!

Hi. We just published a new feature. If you instead give Mastodon https://possumid.com/gh/techmagus it will verify. The issue was that whosum is generated via javascript but Mastodon does not support that. Possumid.com on the other hand is recognized.

Hello,
That was quick! I used the possumid URL, and it works now.
Thank you very much!
PS
Not sure though why a redirect URL is not working, it's working on the other service. I don't recall it being a feature of the other service, it's only something I tried and it worked. In any case, it is outside the scope of your project (probably something in my redirect settings). ^_^


Add cargo-bloat CI action to determine bloat increase in new PRs

This way we can make an informed decision whether additional bloat / binary size
in a new PR is acceptable or not.

It looks like this is still a draft and you are testing? If so, can you use a fork when you test new CI actions please. That way it does not block other CI actions in this repository.

It looks like this is still a draft and you are testing? If so, can you use a fork when you test new CI actions please. That way it does not block other CI actions in this repository.

of course, I can do this! sorry if it caused problems, I thought that if an action gets added in the PR it does not have affect on others, as it's not pushed to the main repo.

migrated to my fork until it's ready: https://github.com/klochowicz/hermes/pull/1

of course, I can do this! sorry if it caused problems,

You didn't :)


Tools visibility issues as DataCurator

If you want to use the Rowan API, you need to be able to see the classes e.g RwProjectTool or RwPkgAdoptTool, so you can see the methods are available and read the method comments.
Presumably it is supported to use these tools as DataCurator; but these classes are not visible from Jadeite as DataCurator.
One of the closed issues suggests you can add the tools dictionary to the transient symbol dictionary.  This is not something that we should have to have users execute; the classes either should or should not be visible/usable.
| transient size dict |
transient := GsSession currentSession symbolList.
size := transient size.
dict := (AllUsers userWithId: 'SystemUser') objectNamed: 'RowanTools'.
transient insertObject: dict at: size + 1.
While executing the above code does make classes visible, clicking on any of them in the jadeite browser (packages view), throws an error in trying to create the class template.
MessageNotUnderstood occurred (error 2010), a UndefinedObject does not understand  #'value'
MessageNotUnderstood >> defaultAction @2 line 3
MessageNotUnderstood (AbstractException) >> _signalWith: @5 line 25
MessageNotUnderstood (AbstractException) >> signal @2 line 47
UndefinedObject (Object) >> doesNotUnderstand: @9 line 10
UndefinedObject (Object) >> _doesNotUnderstand:args:envId:reason: @7 line 12
RowanClassService >> classFromName @5 line 3
RowanClassService >> classCreationTemplate @3 line 3
JadeServer64bit32 (JadeServer) >> sbUpdateClassInfo @15 line 10
JadeServer64bit32 (JadeServer) >> systemBrowserUpdate @7 line 8
JadeServer64bit32 (JadeServer) >> systemBrowserCommand @189 line 62
[] in  ExecBlock0 (JadeServer) >> systemBrowserA: @14 line 10
Time class >> secondsElapsedTime: @5 line 11
Time class >> millisecondsElapsedTime: @2 line 6
JadeServer64bit32 (JadeServer) >> millisecondsElapsedTime: @2 line 3
JadeServer64bit32 (JadeServer) >> systemBrowserA: @2 line 4
JadeServer64bit32 (JadeServer) >> systemBrowser: @3 line 2
[] in  ExecBlock0 (JadeServer64bit) >> systemBrowser: @2 line 4
ExecBlock0 (ExecBlock) >> on:do: @3 line 42
JadeServer64bit32 (JadeServer64bit) >> systemBrowser: @2 line 5
GsNMethod class >> _gsReturnToC @1 line 1

Good catch ... I agree that the "This is not something that we should have to have users execute", however, we are not going to add a new feature to Jadeite (at this point in time). If the RowanTools symbol dictionary survives through the summer, then making it easy to expose the tools api will be added:)

@LisaAlmarode could you add a separate issue about having to execute code to view the tools api as DataCurator?
with daf5168, the browser should be functioning correctly


Tobin gh841 enum fix

Fixes #846
Use IMAGE_USAGE bits for images. Capitalize some functions while I'm at it.

+1.  I thought it was supposed to be UpperCamelCase!


packet loss for ipv6 destinations

I'm having problems when I perform mtr to destinations that are ipv6.  Packet losses appear at hops along the way. when i stop the networ_exporter service the losses also stop. What can I do to resolve?

This could be that something is blocking ICMP, currently the MTR implementation requires on ICMP (ping) to each of the routes.


v5: Docs nav updates

Slightly improves navbar link color contrast (still need to do better, will explore tweaking the new purple)
Moves subnav styles into new _subnav.scss
Renames _nav.scss to _navbar.scss for docs styles
Restores height and overflow-y for sidebar scrolling

@XhmikosR Didn't want to push to your docs PR, but if you want, I can cherry-pick and move it over.

The white on purple contrast looks ok:
https://webaim.org/resources/contrastchecker/?fcolor=FFFFFF&bcolor=7952B3
But the rgba(255, 255, 255, .75) on purple contrast still seems to have insufficient contrast:
https://webaim.org/resources/contrastchecker/?fcolor=E0D7ED&bcolor=7952B3

Actually, there's just one small issue: the hover on the sidebar links looks bad.


rust: 1.11.0 -> 1.12.0, cargo: 0.12.0 -> 0.13.0

Motivation for this change
Update
Things done

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

[X] NixOS
[ ] OS X
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[X] Fits CONTRIBUTING.md.

Fixes #19428
As per rust-lang/rust#36835 I am skipping one of the tests

works for me.


Crash when placing small plate pressers one near another

Log: https://paste.kde.org/pphpuspmo
steps to reproduce:
Place row of pressure pressers, then add a redstone line over top of them (I've used ProjectRed wires), place a bunch of ores inside, then hit it.
Expected results: ores smashed
Real results: server is crashing. See logs.

If relevant, verions is latest from Curseforge, MC version is 1.7.10, Forge is latest for 1.7.10.


Storage: occasional StatusCode=403

We are seeing these errors occasionally:
Error reading blob [blob_name]
StatusCode=403,
ErrorCode=AuthenticationFailed,
ErrorMessage=Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.

We only see this when:

we use channels to run things in parallel;
we see this randomly sometimes.

We never seen this when things are completely serial.
I am wondering if there is some kind of race in storage SDK?  I know we had issues with SDK when we used pointeres (e.g. *storage.Blob) -- there definitely seems to be some shared state in the SDK.
Or is it a general Azure Storage known issue?
PS: we are using storage keys, not SAS, if that matters.

@ppanyukov Sorry for the delay.  I've been over these APIs and I haven't been able to see what could be causing the race.  Are there any other blob/container APIs in play here?  Sounds like it isn't a blocking issue for you so we can leave it be for now.
Regarding your question, the splitting out was a different effort; the new azblob package is owned by the Azure storage team.  We did update our doc with some info about it for our v14 release in February.
CC @seguler who works on the storage team.

thanks @jhendrixMSFT , just one API for us. So it's a bit weird.  I must say it's really rare when it happens. I probably saw this maybe three times in total.  Could be bug in our code too :)
Feel free to close.
We will look to using new API for new projects.


No information on the two stream files in streams directory

Description:
There are two stream files as das-streams.json and is-streams.json in streams folder inside the tool. Document doesn't have information on those.
Affected Product Version:
wso2das-3.2.0-RC1

We will be removing the is-streams.json from the pack. Fix will be available with RC2

Fixed with https://github.com/wso2/product-das/pull/321. Now DAS will only contain das-streams.json

@RukshiW please add this information to the documentation as well.


Update example_pixel_clustering.ipynb

If you haven't already, please read through our contributing guidelines before opening your PR
What is the purpose of this PR?
Updates the description of additional blurring to more clearly indicate the purpose. Closes #604

Yes, it's more clear! Thanks Noah


rbd: check for cookie support from kernel

Describe what this PR does
Currently we only check if the rbd-nbd tool supports cookie feature.
This change will also defend cookie addition based on kernel version
Signed-off-by: Prasanna Kumar Kalever<EMAIL_ADDRESS>

Show available bot commands
These commands are normally not required, but in case of issues, leave any of
the following bot commands in an otherwise empty comment in this PR:

/retest ci/centos/<job-name>: retest the <job-name> after unrelated
failure (please report the failure too!)
/retest all: run this in case the CentOS CI failed to start/report any test
progress or results

@ceph/ceph-csi-contributors this PR passed CI with Quincy ceph release. Dropping the Commit as https://github.com/ceph/ceph-csi/pull/2944 already take cares of it.

/retest ci/centos/mini-e2e-helm/k8s-1.23

@pkalever thanks for the PR :+1: . If you can recheck on the review comments from @Madhu-1 thats appreciated!

lgtm.. however will wait for Niels.
@nixpanic can you please revisit the PR as there are changes requested..


STL-2034-grundsteuer

Short Description

Add grundsteuer to V2 api

Changes

Remove legacy grundsteuer controller
Add job & DTO & migration

Feedback

Any tests missing?

How to review this Pull Request
Link to Confluence (internal)

@VictorDelCampo Thanks victor! I didn't moved the data because grundsteuer was working on it. But I think now should be the best time to move it to the new structure! Thank you for mention that!


Deleting an added line shows weird quickdiff

Testing #174853

Have a PR that adds a line
Delete that line locally
🐛 The GHPR changes don't show the added line anymore in the diff

This is expected. The diff is always the current file state compared with the extension provided base. In this case:

Base: PR base
Modified: Current file on disk

Neither have the line, so there is no diff.


Semantic colorization doesn't update after deleting all content from settings.json

VSCode Version: 1.44.2
OS Version: Windows x64 10.0.18363
C/C++ Extension: 0.28.0-insiders

Steps to Reproduce:

Download repo https://devdiv.visualstudio.com/DevDiv/_git/Vcls-vscode-test.
Open SingleRootProject and install C/C++ Extension.
Open setting.json file, uncomment and copy the content of "editor.tokenColorCustomizations" from semantic_colorization.cpp to it.
Add setting "compilerArgs": ["/clr"] to c_cpp_properties.json, make sure semantic tokens are colored based on their type in semantic_colorization.cpp
Delete all contents of settings.json file and save it.

Expected:
The Semantic colorization returns to the original color in semantic_colorization.cpp.
Actual:
Semantic colorization doesn't update.

I think a simple explaination of this issue is: Clearing the contents of settings.json does not trigger a settings update.  I assume this is because empty contents are not a valid JSON object.

I can reproduce what @Colengms describes: Clearing the contents of settings.json does not trigger a settings update.

@aeschli How are you clearing the contents? Are you leaving empty json object or completely emptying the file?

Select all, delete (no JSON object)


SNOW-760037: Fix set operations when it's after another set operator with column changes

Please answer these questions before submitting your pull requests. Thanks!

What GitHub issue is this PR addressing? Make sure that there is an accompanying issue to your PR.
Fixes #SNOW-760037

Fill out the following pre-review checklist:

[x] I am adding a new automated test(s) to verify correctness of my new code
[ ] I am adding new logging messages
[ ] I am adding a new telemetry message
[ ] I am adding new credentials
[ ] I am adding a new dependency

Please describe how your code solves the related issue.
The SQL simplifier wrongly flatten a set operation (union, except, etc) when there is a column change after a previous set operation. The fix detects that there is a column change the set operation is not flattened.

Codecov Report

Merging #727 (9e0d3a1) into main (fd44452) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main     #727   +/-   ##
=======================================
  Coverage   98.01%   98.01%
=======================================
  Files          49       49
  Lines        8173     8173
  Branches     1380     1380
=======================================
  Hits         8011     8011
  Misses         93       93
  Partials       69       69

Impacted Files
Coverage Δ

...ke/snowpark/_internal/analyzer/select_statement.py
98.38% <100.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Move crypto module to another repo

Description:
This is a part of Standard Library Repo migration
Based on other dependencies: https://thisaruguruge.github.io/ballerina_dependencies/

Related issues: #23559, #23527, #23506

Fixed by https://github.com/ballerina-platform/module-ballerina-crypto/pull/1


⚠ ClamAV has degraded performance

In c9f2d3e, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 65 ms

Resolved: ClamAV performance has improved in 3c4b5ef.


jax.eval_shape silence the typing annotations

jax.eval_shape is badly annotated, so users loose type-checking and auto-complete on returned input.
Current anntations:
def eval_shape(fun: Callable, *args, **kwargs)

Should be instead:
P = ParamSpec('P')
OutT = TypeVar('OutT')

def eval_shape(fun: Callable[P, OutT], *args: P.args, **kwargs: P.kwargs) -> OutT:

The ParamSpec is less important, but loosing the type checking on the function output is quite annoying as there's no more auto-complete on the output:
x = jax.eval_shape(my_fn)
x.attr  # < No auto-complete here :'(

Thanks! I think this annotation predates the availability of typing.ParamSpec.
However, there's a bit of a problem here: eval_shape does not return the same type as the input function, rather it returns the same pytree structure, with all array & scalar entries replaced by ShapeDtypeStruct. I'm not sure that Python type annotations are expressive enough to actually annotate that behavior.
What do you think?

Thank you for the answer. I agree that python annotations are not expressive enough, however this seems a case where practicality should beat purity.
@flax.struct.dataclass
class Batch:
  img: Float['h w c']
  label: Float['h w c']

def fn() -> Batch:
  ...

type(fn()) is Batch
type(jax.eval_shape(fn)) is Batch

I think loosing auto-complete has quite a big impact on productivity. In our codebase, we reduce friction to the minimum and forcing users to inspect the original function and having to navigate multiple levels in the codebase to understand the structure.

Sure, we can give it a try, but fundamentally the proposed annotation is incorrect, so if it breaks too many downstream packages we won't be able to add it.

I expect this will break code. Not because of the jax.Array vs ShapeDtypeStruct, but because it will uncover actual pytype error that were previously hidden.
I recently sent cl/582235119 to fix annotations for @jax.named_call (which should be a no-op), but this exposed many bad calls that were ignored by pytype because decorated function were loosing their type checking.
It should also be possible to support the simple cases of simple nested structures with overload:
PyTree = _T | list['PyTree[_T]'] | dict[str, 'PyTree[_T]'] | tuple['PyTree[_T]',...]

@overload
def eval_shape(fun: Callable[P, jax.Array], *args: P.args, **kwargs: P.kwargs) -> jax.ShapeDTypeStruct:
  ...

@overload
def eval_shape(fun: Callable[P, PyTree[jax.Array]], *args: P.args, **kwargs: P.kwargs) -> PyTree[jax.ShapeDTypeStruct]]:
  ...

@overload
def eval_shape(fun: Callable[P, OutT], *args: P.args, **kwargs: P.kwargs) -> OutT:
  ...

But this might add too much complexity

That works for the simplest cases, but arbitrary types can be registered as pytrees at runtime so fundamentally there's no way to correctly annotate PyTrees in Python's type system.

I don't think this will help JAX itself, but if it helps any third-party projects: the next jaxtyping release will have enough to make annotating this possible.
from collections.abc import Callable
from typing import TypeAlias

import jax
from jaxtyping import ArrayLike, PyTree

ArrayOut: TypeAlias = PyTree[ArrayLike, "T"]
StructOut: TypeAlias = PyTree[jax.ShapeDtypeStruct, "T"]

def eval_shape(Callable[..., ArrayOut], ...) -> StructOut:
    ...

where the "T" is bound to the PyTree structure, so both input and output must have matching structures. (And the ArrayLike  / ShapeDtypeStruct indicate the leaf types as usual.)
(
Actually, the next release will even make it possible to annotate that the array shapes match too:
ArrayOut: TypeAlias = PyTree[Shaped[ArrayLike, "?*shape"], "T"]
StructOut: TypeAlias = PyTree[Shaped[jax.ShapeDtypeStruct, "?*shape"], "T"]

but that one is probably unreadable magic unless you really like your type annotations.
)

I'm going to close this; I don't think it's really possible to do better than the current annotation, given the fact that pytree types are not statically resolveable.


refactor: create update size components

Remove disable of update buttom in the frontend.
Add size update page.
Integrate with endpoint to update size

 PIZ2 - Update Sizes.


[Android] For android OTA support, need to implement BdxOTASender in controller JNI that inherits  bdx::Responder

Feature description
After https://github.com/project-chip/connectedhomeip/pull/28316, we need further implement BdxOTASender, which would at minimum provide
class BdxOTASender : public bdx::Responder {
public:
BdxOTASender() {};
CHIP_ERROR PrepareForTransfer(FabricIndex fabricIndex, NodeId nodeId)
CHIP_ERROR Init(System::Layer * systemLayer, Messaging::ExchangeManager * exchangeMgr)
CHIP_ERROR Shutdown()
void ResetState()
private:
static void HandleBdxInitReceivedTimeoutExpired(chip::System::Layer * systemLayer, void * state)
CHIP_ERROR OnMessageToSend(TransferSession::OutputEvent & event)
bdx::StatusCode GetBdxStatusCodeFromChipError(CHIP_ERROR err)
CHIP_ERROR OnTransferSessionBegin(TransferSession::OutputEvent & event)
CHIP_ERROR OnTransferSessionEnd(TransferSession::OutputEvent & event)
CHIP_ERROR OnBlockQuery(TransferSession::OutputEvent & event)
CHIP_ERROR ConfigureState(chip::FabricIndex fabricIndex, chip::NodeId nodeId)
};
Platform
android
Platform Version(s)
No response
Anything else?
No response

@bzbarsky-apple sure, we would reference the code from OTAProviderExample and Darwin and create the dedicated work in Android side.


Detect left and right

Hi, who can i know shake detected such as shake phone to right or shake to left?

Hi.
Not sure to follow your question. For the library, a shake is a succession of rapid movements (up, down, left, right) The notion of shake to left or right is meaningless in this context.
Maybe you are talking about a tilt? In that case, Android already provides sensors APIs for it

@tbouron Hi,
you suppose i wrote simple Muzic player appliaction,ok? i want to simulate shake to left for prev muzic and shake to right for next musiz. Thanks

So yeah, what you want is to detect a tilt to the left or right. For that, you should use the SensorManager ;)


broken gtk3 library

When compiling project with gtk3 library and resolver lts-7.* you get this errors:
Failed to load interface for ‘Gtk2HsSetup’
Use -v to see a list of the files searched for.
stackage lts-6.25 works fine, and cabal with ghc-8 works fine.
gtk-test.zip
gtk-test.log.txt

See https://github.com/gtk2hs/gtk2hs/issues/179
I don't think there is anything we can do about it in stackage.

This is a deficiency in stack, particularly, this one (as mentioned in the gtk2hs issue): https://github.com/commercialhaskell/stack/issues/2094.

Note that the workaround seems to be stack install gtk2hs-buildtools which installs the needed build tool for this to succeed.


Sass finding error when I import Bourbon/Bitters/Neat for Jekyll

Trying to get Bourbon up and running with a Jekyll site.
All of the files are in the _sass directory (default for Jekyll imports). The main.scss file is in a scss directory, the subsequent css file will be output to a css folder.
I put the following into that main scss file:

@import "bourbon/bourbon";
@import "neat/neat";
@import "base/base";
When I run sass -w scss:sss I get:

error scss/main.scss (Line 5: Invalid CSS after "...ourbon/bourbon"": expected "{", was ";")

Any thoughts on what might be going wrong here?
I've made a non-jekyll project folder and sass runs without error.

@loganegbert What version of Jekyll are you using?

@tysongach v3.0.0

Sass v3.4.19 FWIW

@tysongach according to the folks at Jekyll, the YAML frontmatter is what's causing Sass to have issues. But that still means that Jekyll's Sass converter is not importing Bourbon for some reason.

@loganegbert Are you still having issues?
I just had a chance to do some testing. I’m finding Jekyll’s docs to be quite vague and confusing around this.
Per the docs (http://jekyllrb.com/docs/plugins), I tried adding gems: [bourbon] to my _config.yml (and then running gem install bourbon from the command line), but it was not working properly.
However, I did get Bourbon importing correctly if I created a Gemfile and added:
group :jekyll_plugins do
  gem "bourbon"
end

It yelled at me to also add three:
  gem "bourbon"
  gem "kramdown"
  gem "rouge"
  gem "jekyll-watch"
end

…but then finally did load up and properly compile the Sass.
This doesn’t sound like a great solution, but it did work. I would reach out to the Jekyll community for more help or to ask for the best solution here.

@tysongach ,  you lost me at:
However, I did get Bourbon importing correctly if I created a Gemfile and added:

group :jekyll_plugins do
  gem "bourbon"
end

@christiantype That appears to be an importing error somewhere around where normalize is being added. Is your code available for me to look at? Or can you post your main Sass manifest file?

@tysongach , my project: link
I'm using an existing Jekyll theme created by somebody else, and I'm trying to incorporate Bourbon and Neat in order to make a few changes and match my existing site which uses Bourbon and Neat.
Thanks for helping out. Let me know if you have any questions.
As of right now, this is what I am getting in terminal:
Christians-MacBook-Pro:jekyll-bourbon-test christians$ jekyll serve
WARN: Unresolved specs during Gem::Specification.reset:
      rb-fsevent (>= 0.9.4, ~> 0.9)
WARN: Clearing out unresolved specs.
Please report a bug if this causes problems.
jekyll 3.3.0 | Error:  (/Users/christians/Documents/jekyll-bourbon-test/_config.yml): could not find expected ':' while scanning a simple key at line 70 column 1
Christians-MacBook-Pro:jekyll-bourbon-test christians$

@christiantype It looks like you have Bourbon and Neat included as static files within your _assets directory, which means you do not need to put them in your Gemfile or Jekyll config. You should choose to include statically, or via the gem-based asset manager.
If you do want to use the gems instead, you need to define the jekyll_plugins block in your Gemfile, not _config.yml
# Gemfile
group :jekyll_plugins do
  gem "bourbon"
  gem "neat"
end

@tysongach, thank you so much! Everything is working fine now.
So what is the difference between including static files or via a gem-based asset manager?

So what is the difference between including static files or via a gem-based asset manager?

@christiantype Asset managers make it easy to manage your project’s dependencies and are they version-aware, which makes it possible to change a version number in a config (like a Gemfile for gems) and upgrade to a new version of a library or plugin. When including assets statically in a project, upgrading would mean manually replacing a directory of files for a library with new ones. This leads to really large Git commits that are not project feature development, but just updating dependencies, so your history and pull requests get a bit muddy.

Okay, I think I got it. So if I update the version number in the config, would it automatically update my local folder with new files? That's what always confuses me.

would it automatically update my local folder with new files

Sort of. With gems, we use Bundler, which gives you the bundle command. From the command line, you run bundle update gem_name (e.g. bundle install bourbon or bundle update bourbon) in your project’s directory. It will looks at your project Gemfile, and see if there is a new version of that gem to update to. It installs these gem files not in your project directory, but in a special place on your local computer. Any project that needs those gems can reference them. So the gem files are not stored or committed within the project, but referenced.

@tysongach, if the gem files are not stored in the project directory, how can I make edits to them? For instance, what if I want to explore certain files within the gem and see the structure of, let's say a css file?

@christiantype You should not edit gem files. Consider them third-party libraries in which you interact with them via their API. Editing them would cause upgrading to be a pain.
Let’s move this conversation elsewhere, as this is outside of this issue, and Bourbon itself.


Guidance for brand-new users

We should have entry-level documentation for developers without previous Kubernetes knowledge.
It should cover (resp. link to)

how to install Epinio
how to find additional documentation (doc structure explanation)
some guidance for typical apps (i.e. Rails, PHP, Nodejs, Java)

how to install Epinio

Is this enough? https://github.com/epinio/epinio/blob/main/docs/user/tutorials/quickstart.md

how to find additional documentation (doc structure explanation)

Is this enough? https://github.com/epinio/epinio#how-the-documentation-is-organized

some guidance for typical apps (i.e. Rails, PHP, Nodejs, Java)

Maybe add some links to example projects like: https://github.com/epinio/example-rails ?  We can start with what we have and create some stories to add more example apps (e.g. for Java, etc).

More sample apps are here:

https://github.com/paketo-buildpacks/samples
https://github.com/buildpacks/samples

@agracey 👆🏻 👆🏻 👆🏻


Allow plural maintainers

Also, allow maintainers to be specified by other things than their GitHub profile name.

Not a priority.


add logoipsum placeholder svg

Build failed because of:
No cached entry, and PowerMatcher has issues with twitter: https://twitter.com/PowerMatcherF, 404 - {"errors":[{"code":34,"message":"Sorry, that page does not exist."}]}


Is embedded graphql highlighting working as intended?

I'm using language-babel along with oceanic-next syntax theme. I seem to recall (a few months back) that the Relay.QL syntax highlighting worked differently. I'm coming back to a project that uses Relay and GraphQL and now feel like the highlighting of this embedded GraphQL fragment does not look how it should.
Below is a screenshot of how my embedded GraphQL fragments look, using the Relay.QL prefix ...

It sort of looks inconsistent. The fragment on Viewer portion is one color while the remainder of the fragment is another. Also, it's all white, etc. I seem to recall it having a bit more of a consistent color scheme.
I do not explicitly have the language-graphql package installed, but installing it doesn't seem to change anything.
Is this working as intended? Thanks!

Nothing has changed in graphql support since its inception in September using release V3.39.0 and a small change in V2.40.0. I just had a look at what oceanic-next looked like in this release, shown below.
Looking at the CSS scopes, they all look correct. I don't use language-graphql but I do have another package language-graphql-lb that allows viewing of .gql files. But this isn't required for embedded templates.


Importing tensorflow.keras.models load_model Causes MediaPipe Hands Detection to Freeze at "hands.process"

I'm trying to run a hand analysis program using MediaPipe's hand recognition library as well as Tensorflow models to recognize if hands are in a particular position. I tried to use the two together, but ran into an issue.
Whenever I try to use both the Tensorflow model and the MediaPipe library, I cannot. The program freezes when I try to process the image to detect hands, and does not run to completion. However, as soon as I remove the Tensorflow/Keras model loading, the program runs just fine. So I'm wondering if there's some sort of memory issue that's holding things up when trying to use both, which would be odd, as the model I'm trying to load is only 25kb.
Here's the code:

import cv2
from tensorflow.keras.models import load_model
import h5py
import mediapipe as mp

model = load_model('/path_to_model/model.h5')

print('Marker 1')

mp_drawing = mp.solutions.drawing_utils
mp_drawing_styles = mp.solutions.drawing_styles
mp_hands = mp.solutions.hands

print('Marker 2')

cap = cv2.VideoCapture(0)
cap.set(3, 1280) # set the Horizontal resolution
cap.set(4, 720) # Set the Vertical resolution

print('Marker 3')

num_frames = 0

print('Marker 4')

with mp_hands.Hands(
    min_detection_confidence=.5,
    min_tracking_confidence=.1) as hands:
    print('Marker 5')
    while cap.isOpened():
        print('Marker 6')
        success, image = cap.read()
        print('Marker 7')
        if not success:
            print("Ignoring empty camera frame.")
            continue
        print('Marker 8')

        image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)

        print('Marker 9')

        gray_roi =cv2.cvtColor(image,cv2.COLOR_RGB2GRAY)

        print('Marker 10')

        image.flags.writeable = False
        results = hands.process(image)
        print('Marker 11')

        image.flags.writeable = True
        print('Marker 12')
        image = cv2.cvtColor(image, cv2.COLOR_RGB2BGR)
        print('Marker 13')
        if results.multi_hand_landmarks:
            print('Marker 14')
            for hand_landmarks in results.multi_hand_landmarks:
                print('Marker 15')
                mp_drawing.draw_landmarks(
                image,
                hand_landmarks,
                mp_hands.HAND_CONNECTIONS,
                mp_drawing_styles.get_default_hand_landmarks_style(),
                mp_drawing_styles.get_default_hand_connections_style())
                print('Marker 16')
        print('Marker 17')
        if results.multi_handedness is None:
                print('Marker 17')
                string = 'Handedness: N/A'
        else:
            print('Marker 18')
            string = 'Handedness:' + str(len(results.multi_handedness))

            print('Marker 19')
            if num_frames % 5 == 0:
                    print('Marker 20')
                    position = function_that_uses_model_to_determine_hand_position(gray_roi)
                    print('Marker 21')

        print('Marker 22')
        cv2.putText(image, string, (10, 70), cv2.FONT_HERSHEY_PLAIN, 3,
        (255, 0, 255), 3)
        cv2.putText(image, position, (70, 70), cv2.FONT_HERSHEY_PLAIN, 3,
        (255, 0, 255), 3)
        print('Marker 23')
        cv2.imshow('MediaPipe Hands', image)
        print('Marker 24')
        if cv2.waitKey(5) & 0xFF == 27:
            break
        print('Marker 25')
        num_frames+=1
        print('Marker 26')
cap.release()

If I comment the load_model parts out (and the associated code lines), it runs just fine. However, whenever I try to include loading the model, I only make it to Marker 10, as it freezes at the results = hands.process(image). Heck, I don't even need to try loading the model. I still only make it to Marker 10 if all I include is the from tensorflow.keras.models import load_model line and nothing else to do with Tensorflow. So obviously importing or using that is causing some issues when trying to run alongside the MediaPipe library/functions causes it to freeze.
My tensorflow version is 1.14.0, keras version is 2.3.1, and python version is 3.7.6.
Let me know if you smart people know how this can be remedied!
Thanks,
Sam

I've also found that even if I just reduce the import to import tensorflow the same issue still happens.

Also want to add that when I tested with Tensorflow 2, the issue persisted.


Add an ‘inside header’ inserter

This processor allows an application to inject a block of HTML after the logo by including a .inside-header element in their application’s output.
This is effectively like adding content to the inside_header yield block in govuk_template.
The service manual is using this to insert a title into the header.

I've talked to @36degrees offline, we think that long term being able to consider the header and footer as components that can be overridden per rendering application will give us the flexibility to make this kind of change but for now this makes sense and can easily be removed in the future.. (famous last words)


gcc fails to build non-deterministically

See e.g. http://hydra.nixos.org/build/24406532. The problem is most likely on master already, only we were lucky there (and unlucky with gfortran 784025c747) . I can sometimes reproduce it; it seems a parallel-make problem, so the probability of failure is likely to grow with the number of real threads available.
Any idea what to do about this? I don't like disabling parallel make for our stdenv.cc, as it terribly slows down testing some kinds of mass-rebuild changes.

I was having the same problem prior to switching to gcc5

I tried to skim through changes in relevant makefiles betwen 4.9.3 and 5.2, but I haven't found anything of use.

As it is now, the best I see is to really disable parallel building for gcc on the release branch. It will slow down deploying some kind of updates (even security ones), but randomly failing rebuilds seem worse.
On staging/master we'll soon switch to gcc5 which hopefully won't suffer from that problem, so developing of stdenv changes won't be slowed down, at least.

I just tried rebuilding gcc5 four times on an idle 8-core without a problem. I did have a problem with gcc49 on that machine, so it really seems to have been fixed.

Seems like it's this one: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61899
Probably we could steal this patch file (found via some relevant googling): https://github.com/openembedded/oe-core/blob/master/meta/recipes-devtools/gcc/gcc-4.9/0054-gcc-Makefile.in-fix-parallel-building-failure.patch

Seems sane enough, it doesn't change any of the logic of the compilation.
On Thu, Aug 13, 2015, 16:14 Tuomas Tynkkynen<EMAIL_ADDRESS>wrote:

Seems like it's this one:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61899
Probably we could steal this patch file (found via some relevant
googling):
https://github.com/openembedded/oe-core/blob/master/meta/recipes-devtools/gcc/gcc-4.9/0054-gcc-Makefile.in-fix-parallel-building-failure.patch
—
Reply to this email directly or view it on GitHub
https://github.com/NixOS/nixpkgs/issues/9212#issuecomment-130875065.

I'm unsure, as we were getting completely different error messages, but we can try.

Well, there's actually a common error message in the full compile logs (in the bug report's attachment):
In file included from ../../gcc-4.10-20140720/gcc/gcc-ar.c:22:0:
../../gcc-4.10-20140720/gcc/system.h:512:34: error: declaration of C function ‘const char* strsignal(int)’ conflicts with
In file included from /usr/include/c++/4.7/cstring:44:0,
                 from ../../gcc-4.10-20140720/gcc/system.h:211,
                 from ../../gcc-4.10-20140720/gcc/gcc-ar.c:22:
/usr/include/string.h:562:14: error: previous declaration ‘char* strsignal(int)’ here
```

Wheras build fails like this:

In file included from ../../gcc-4.9.3/gcc/gcc-ar.c:22:0:
../../gcc-4.9.3/gcc/system.h:506:34: error: conflicting declaration of C function 'const char* strsignal(int)'
extern const char strsignal (int);
^
In file included from /tmp/nix-build-gcc-4.9.3.drv-0/build/prev-x86_64-unknown-linux-gnu/libstdc++-v3/include/cstring:42:0,
from ../../gcc-4.9.3/gcc/system.h:205,
from ../../gcc-4.9.3/gcc/gcc-ar.c:22:
/nix/store/47ayh028d8c9w0h4dqk1wv1yij1zpgb4-glibc-2.21/include/string.h:563:14: note: previous declaration 'char strsignal(int)'
extern char *strsignal (int __sig) __THROW;
^

Confirmed, thanks a lot @dezgeg. Tested and pushed to staging. Some with Hydra admin privileges would better abort the useless (partial) intermediate rebuilds.

BTW, let's not forget to revert 3d6bd6a1facff3993d1b581dfcf9ee2b6a751642

Yeah, I was already in the process of testing that. Pushed now.


Improve OperationProcessor tests

Improvements:

Create a chain of updates to a DID to more closely resemble real world scenarios.
Verify what content in the DidDocument, even if it's just DID and public keys.
Modify/update DidDcoument and submit PR to did-common-typescript as needed.

This is generally done. But we will need to scenario test the Operation Processor specifically on all possible late-publishing scenarios, will open new issue for that.


Implementing a JST scheme for 2D compressible Euler equations

I've been asking myself some questions whose answers might help me in implementing a finite-volume scheme for the 2D compressible Euler equations
(following Jameson et al. (1981)):
1. The definition of variables in staggered grids through the offset argument in states.StateDefinition instances is intended for flux computations.
How can I be sure, however, that its value equals the mean of the two edge-adjacent cells' values?
In other words, for the Advection problem, for instance, where is it defined that
concentration_edge_x [ i+1/2, j ] = ( concentration [ i, j ] + concentration [ i+1, j ] ) / 2 ?
2.  By default, the Euler explicit method is used for time integration. However, I do need to implement a 4th order Runge-Kutta method which requires multi-step flux computing
(I suppose I might define a new method called 'take_time_step' within the class definition).
Does the staggered 'x_momentum_edge_x' variable get automatically updated once I compute one step for 'x_momentum'?
It is necessary, since I need updated values in order to compute fluxes for each step.
Thank you in advance,

Hello (again) @lucianodrozda,
I was wondering if you were able to implement the Euler equations using the higher-order FV schemes you mention in different posts (JST and WENO, I believe). I actually was looking forward to extend the example of the Turing equation to define and solve (and hopefully train) the  Euler equations using a simpler and more classic upwind scheme, but so far I have asking myself some of the questions that you bring up here plus others that are linked to the coefficient learning part. So before going head first into this development (that might ultimately lead to nowhere), I wanted to ask you if you were able to implement and train the Euler equations and also if by any chance you have any notebooks or a forked repo(s) you’d be willing to share with the community?
Thanks for in advance for your help and any advice!!

Hi @snes-chalmers,
Sorry for the late reply. Here is the repo where the cited schemes were used to solve the Euler equations:
https://github.com/lucianodrozda/data-driven-pdes-google
A summary of what I could do is at the bottom of the README.md file.
Had a tough time reading this code, and learned a lot from it. You'll find below some important points to me,
both from the methodological and the practical coding sides.
This diagram summarises how the input is processed up to the approximation of spatial derivatives
(some classic time-stepping scheme is used to integrate the solution in the end)

They first stack all conservative variables (density, x-momentum, y-momentum, energy) along the filters axis (last dim) and this will be your NN input. Quite surprising to me, as we are blending all physical fields. The CNN then transforms this input, leading to an output that is equally split among all spatial derivatives to be estimated: 8 in total, one per spatial dim and per conservative variable. In the diagram, PAL stands for Polynomial Accuracy Layer, where a projection of the CNN output on the space of valid coefficients for the spatial derivatives takes place.
Their great trick is to remind that Taylor expansions allow the approximation of the derivatives by an infinite number of coefficients (when the order of accuracy is lower than a maximal one determined by your stencil size). This projection ensures that whatever your CNN spills out, you'll be approximating the spatial derivative at the chosen order of accuracy (by default, order 1). Still, the projection is related to your input somehow, right ? And this relation will be fine-tuned during training, where you'll look for stable long-range forecasting.
The slides below detail what's happening inside PAL. Analysis in 1D, but extendable to 2/3D.

I'm a PhD student and took these works as a kickoff, a kickoff that eventually lasted a long time... but no regrets at all, as understanding this helps me in my current developments. Surely the works on the repo I'm sharing will be present in my thesis as a proof-of-concept study.
Let me briefly talk about coding now.
The code runs in TensorFlow 1.X, but thanks to tf.enable_eager_execution() we feel like in TF 2.
The NN model you'll be looking for within datadrivenpdes/core/models.py is PseudoLinearModel, which will be eventually called for training within datadrivenpdes/my-pipelines/euler/runge_kutta_train-5-4-128/train.py.
I had to perform training in Eager mode (with tf.GradientTape()) instead of calling model.fit() directly because of the introduction of the Runge-Kutta multi-step scheme.
After creating a variable to indicate at which RK step I am (you can see it at the FiniteVolumeEuler class within datadrivenpdes/euler/equations.py), when calling model.fit(), TF complained about me trying to operate a tf.EagerTensor with a tf.Tensor... Then I moved on to Eager training.
datadrivenpdes/euler/equations.py contains some possible initial conditions and discretization methods for the Euler equations. FiniteVolumeEuler (and FiniteDifferenceEuler too, but couldn't get good results with it) is dedicated to the Neural Network, while the others are WENO- or JST-related.
The most important methods to look at each of them is take_time_step() (for Runge-Kutta implementation; whenever absent, they use explicit Euler as shown in the parent class at datadrivenpdes/core/equations.py) and time_derivative() (computes the divergence part of your conservative laws).
And that's it, hopefully it helps!
Cheers,
Luciano

Thank you very much for your answer @lucianodrozda!!!
This will definitely help anyone on the forum that (like me) seems to be looking (and struggling) to extend the original examples into being multi-variable and multi-time step compatible. I haven't yet looked at the sources of your repo but it seems to me that the greatest challenge in what you accomplished was to get it to work with the multi-step RK schemes (as opposed to the one-step Euler scheme). I'll pay particular attention to this part!
In any case, thanks again for sharing this and for your through explanations and I'll be gladly looking forward to reading any of the publications that will surely stem from your research on this subject.
Have fun during the rest of your phd!!
PS: did you take a look at jax-cfd? it seems that the original maintainers of data-driven-advection are now focusing on cfd and machine learning using jax.

Thank you @snes-chalmers !
I modified the TimeStepModel class within core/models.py to support the Runge-Kutta implementation.
It is basically taking the integration steps 3 by 3, since steps one and two are the intermediate RK steps.
It is great to know that they've released jax-cfd (related to their last paper on 2D turbulence).
JAX might make it easier to code things like data-driven-pdes.
In my opinion, the main reason why there are not many works around this is the fact that in-place array update is not fully supported in the modern differentiable frameworks. This might be solved in a near future.
Bye,
Luciano


New-DcnClone: Set actual image size when using backup file source

Fixes #172.
May want to wait until https://github.com/dataplat/dbatools/pull/8330 is landed though, to make sure the proper size is getting recorded.

the upstream fix has been released! 🎉

Thanks @lowlydba  !


Inconsistent out of memory issue on node with rhods notebooks

Summary
On OCP 4.13 using RHODS (RedHat openshift data science)  with OpenVINO notebooks- the kernel restarts inconsistently with out of memory messages
Details
OCP cluster 4.13 with Intel Data Center Flex 170 GPU and notebook with memory requests and limits as 56GB.
When using RHODS with openvino notebook specifically while executing stable diffusion notebook, the python notebook kernel restarts inconsistently, dmesg on node shows:
[    0.019134] Early memory node ranges
[    0.023751] PM: hibernation: Registered nosave memory: [mem 0x00000000-0x00000fff]
[    0.023753] PM: hibernation: Registered nosave memory: [mem 0x0009d000-0x000fffff]
[    0.023755] PM: hibernation: Registered nosave memory: [mem 0x59039000-0x59039fff]
[    0.023757] PM: hibernation: Registered nosave memory: [mem 0x590fb000-0x590fbfff]
[    0.023758] PM: hibernation: Registered nosave memory: [mem 0x5ee4e000-0x5ee4efff]
[    0.023760] PM: hibernation: Registered nosave memory: [mem 0x5ee85000-0x5ee85fff]
[    0.023760] PM: hibernation: Registered nosave memory: [mem 0x5ee86000-0x5ee86fff]
[    0.023762] PM: hibernation: Registered nosave memory: [mem 0x5eebd000-0x5eebdfff]
[    0.023764] PM: hibernation: Registered nosave memory: [mem 0x5ef0b000-0x5efecfff]
[    0.023765] PM: hibernation: Registered nosave memory: [mem 0x66d71000-0x6866dfff]
[    0.023766] PM: hibernation: Registered nosave memory: [mem 0x6866e000-0x69897fff]
[    0.023766] PM: hibernation: Registered nosave memory: [mem 0x69898000-0x69dfdfff]
[    0.023768] PM: hibernation: Registered nosave memory: [mem 0x6f800000-0x8fffffff]
[    0.023769] PM: hibernation: Registered nosave memory: [mem 0x90000000-0xfdffffff]
[    0.023769] PM: hibernation: Registered nosave memory: [mem 0xfe000000-0xfe010fff]
[    0.023770] PM: hibernation: Registered nosave memory: [mem 0xfe011000-0xfed1ffff]
[    0.023770] PM: hibernation: Registered nosave memory: [mem 0xfed20000-0xfed44fff]
[    0.023771] PM: hibernation: Registered nosave memory: [mem 0xfed45000-0xffffffff]
[    0.237871] Freeing SMP alternatives memory: 36K
[    3.572274] Non-volatile memory driver v1.3
[    3.653525] Freeing initrd memory: 89312K
[    4.228204] Freeing unused decrypted memory: 2036K
[    4.232827] Freeing unused kernel image (initmem) memory: 2788K
[    4.247331] Freeing unused kernel image (text/rodata gap) memory: 2040K
[    4.251702] Freeing unused kernel image (rodata/data gap) memory: 60K
[   11.014980] i2c i2c-0: 16/32 memory slots populated (from DMI)
[   11.014982] i2c i2c-0: Systems with more than 4 memory slots not supported yet, not instantiating SPD
[   12.964055] EDAC i10nm: No hbm memory
[ 1357.676966] i915 0000:33:00.0: [drm] Local memory IO size: 0x000000037a800000
[ 1357.676968] i915 0000:33:00.0: [drm] Local memory available: 0x000000037a800000
[407440.611017]  out_of_memory+0xed/0x2e0
[407440.611029]  mem_cgroup_out_of_memory+0x13a/0x150
[407440.611116] memory: usage 58720252kB, limit 58720256kB, failcnt 23
[407440.611117] memory+swap: usage 58720252kB, limit 58720256kB, failcnt 17987903
[407440.611133] Tasks state (memory values in pages):
[407440.612317] Memory cgroup out of memory: Killed process 1535268 (python3.8) total-vm:1209308992kB, anon-rss:41459744kB, file-rss:466276kB, shmem-rss:4kB, UID:1000750000 pgtables:151104kB oom_score_adj:778
[408339.735618]  out_of_memory+0xed/0x2e0
[408339.735629]  mem_cgroup_out_of_memory+0x13a/0x150
[408339.735686] memory: usage 58720256kB, limit 58720256kB, failcnt 23
[408339.735687] memory+swap: usage 58720256kB, limit 58720256kB, failcnt 21385997
[408339.735703] Tasks state (memory values in pages):
[408339.736085] Memory cgroup out of memory: Killed process 2725201 (python3.8) total-vm:132980172kB, anon-rss:41961444kB, file-rss:304524kB, shmem-rss:4kB, UID:1000750000 pgtables:90372kB oom_score_adj:778
[457794.119151]  out_of_memory+0xed/0x2e0
[457794.119162]  mem_cgroup_out_of_memory+0x13a/0x150
[457794.119215] memory: usage 58720256kB, limit 58720256kB, failcnt 23
[457794.119217] memory+swap: usage 58720256kB, limit 58720256kB, failcnt 24769451
[457794.119234] Tasks state (memory values in pages):
[457794.119591] Memory cgroup out of memory: Killed process 2740651 (python3.8) total-vm:132968056kB, anon-rss:41960760kB, file-rss:305636kB, shmem-rss:4kB, UID:1000750000 pgtables:90380kB oom_score_adj:778

Todo/Solutions
Need to confirm the root cause, if its affected via CPU or GPU or memory issues on the node itself
Also execute other openvino notebooks and verify the issue

@vbedida79  can we replace the issue on 1.2.0 and comming 1.2.1 release? If no, I think we can close the issue.

@vbedida79 can we replace the issue on 1.2.0 and comming 1.2.1 release? If no, I think we can close the issue.

yes tried it on 1.2.1, this is repeating in some of the openvino notebooks with Flex and Max series


VMWare Otel App Documentation

Purpose of this pull request
This pull request...
Select the type of change

[ ] Minor Changes - Typos, formatting, slight revisions
[ ] Update Content - Revisions, updating sections
[x] New Content - New features, sections, pages, tutorials
[ ] Site and Tools - .clabot, version updates, maintenance, dependencies, new packages for the site (Docusaurus, Gatsby, React, etc.)

Ticket (if applicable)
SUMO-235432

@jpipkin1 - have added entry to sidebars.ts for the new doc. And resolved other comments. Could you please review


.pyc files and bytecode changes

As mentioned .pyc are working now when sys.dont_write_bytecode is set to False.
I would like to make the use of .pyc files the default but I am not sure how should we follow changes in the bytecode. CPython has a magic number defined in _bootstrap_external.py that changes every time the bytecode is changed. RustPython is changing rapidly and I don't think we would like to update a magic number every change in the bytecode.
I have a few suggestion:

Use the git commit as the magic: Would allow multiple runs with same .pyc without code changes.
Use a random number on main start: Would allow only the same run of main to use the same .pyc.

I think the commit hash sounds good, once we settle on a consistent bytecode format we can do something else.

Acutally, it might be good to use the hash of the contents of the bytecode directory, since we know that if any of that changes then the bytecode format would likely change.

Yeah, here's some quick and dirty code that'll hash the rustpython_bytecode crate:
use std::collections::hash_map::DefaultHasher;
use std::fs::File;
use std::hash::Hasher;
use std::io::{self, Read};
use walkdir::WalkDir;

fn main() -> io::Result<()> {
    let mut hasher = DefaultHasher::new();
    for entry in WalkDir::new("../RustPython/bytecode/")
        .into_iter()
        .filter_map(Result::ok)
        .filter(|e| e.file_type().is_file())
    {
        for byte in File::open(entry.path())?.bytes() {
            hasher.write_u8(byte?);
        }
    }
    let hash = hasher.finish();
    println!("{}", hash);
    Ok(())
}

It's pretty quick, and could probably be put into a build.rs file pretty easily.

I like the idea of the commit hash only on the rustpython-bytecode crate. Since this is the code being serialized. Instead of hashing the directory ourselves, is there some flag in the rust compiler which maintains a hash of the sourcecode? Cargo will also hash the sourcecode, so there should be a hash of the code somewhere in the rustcompiler we could use.

Maybe something like this would be good: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_data_structures/fingerprint/struct.Fingerprint.html

If you take a look in the target/debug/build folder, you will find folders with a crate name and a magic hash. It would be good if we could use that hash somehow.


migration from class to functional component

Details

Simple migration of the class component into the functional component with some minor improvement like moving translateY variable outside the component because it does not change anywhere.
Fixed Issues

$ https://github.com/Expensify/App/issues/16154
PROPOSAL:
Tests

Log in to the App
Go to Settings -> Payments
Click "Add payment method" button
Choose PayPal.me
Provide PayPal username (might be just "test" or smth)
Click "Add PayPal account" button
Observe, if the toast message appears and then, after few seconds, disappears

[x] Verify that no errors appear in the JS console

Offline tests

Same as above
QA Steps

Same as above

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
https://github.com/Expensify/App/assets/7771498/64bf5de1-9c2c-43ed-9b31-24965d98e066

Mobile Web - Chrome
https://github.com/Expensify/App/assets/7771498/51810e21-a5ec-42d3-9796-9330e6476fe5

Mobile Web - Safari
https://github.com/Expensify/App/assets/7771498/b3dfd01b-8f94-4d1c-9b45-f50fb1638a44

Desktop
https://github.com/Expensify/App/assets/7771498/8ddac5d0-beec-4781-bd94-acde1e24d012

iOS
https://github.com/Expensify/App/assets/7771498/c0b55969-c460-4783-8944-9836ea9206c8

Android
https://github.com/Expensify/App/assets/7771498/ca4efba1-9fe8-400c-a1f1-068784743ad0

@robertKozik All you comments are now addressed, and the PR description is now updated with screen recordings.

Thanks @burczu will check this PR shortly

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

@burczu if you could add the test steps for this PR. I forgot to mention it when asking for videos. Sorry for inconvenience

@robertKozik Added test steps

One thing during testing:
BUG: Clicking on growl notification makes it stay visible forever - WEB (CHROME)
VIDEO:
https://github.com/Expensify/App/assets/61146594/a62b23f6-b8c9-4a2b-bb43-10e7ed4d04a1

@robertKozik I'll check it but I don't think it's related with this issue, and not even sure if its a bug or rather a feature ;)

@robertKozik ok - checked on new.expensify.com and clicking on the toast should close it immediately - I'll try to fix it then

@robertKozik fixed

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/mountiny in version: 1.3.50-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/puneetlath in version: 1.3.50-3 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/mountiny in version: 1.3.51-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/Julesssss in version: 1.3.51-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


[BUG]Can not add  new translation language for zh (Chinese)

Describe the bug
execute python ./scripts/docs.py new-lang zh raise UnicodeDecodeError.
To Reproduce
Follow the steps in documents to set up environment, then add a new language:

Add a new language for “zh”:

python ./scripts/docs.py new-lang zh

Raise:

Traceback (most recent call last):
  File "./scripts/docs.py", line 338, in <module>
    app()
  File "D:\fastapi\env\lib\site-packages\typer\main.py", line 211, in __call__
    return get_command(self)()
  File "D:\fastapi\env\lib\site-packages\click\core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "D:\fastapi\env\lib\site-packages\click\core.py", line 782, in main
    rv = self.invoke(ctx)
  File "D:\fastapi\env\lib\site-packages\click\core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "D:\fastapi\env\lib\site-packages\click\core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "D:\fastapi\env\lib\site-packages\click\core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "D:\fastapi\env\lib\site-packages\typer\main.py", line 494, in wrapper
    return callback(**use_params)  # type: ignore
  File "./scripts/docs.py", line 98, in new_lang
    en_index_content = en_index_path.read_text()
  File "C:\Users\amped\AppData\Local\Programs\Python\Python38\lib\pathlib.py", line 1215, in read_text
    return f.read()
UnicodeDecodeError: 'gbk' codec can't decode byte 0xa8 in position 5557: illegal multibyte sequence

Workaround

Add encoding="utf-8" param for read_text() and write_text() in scripts/docs.py line 98,100 can fix this problem.

    new_config["extra_javascript"] = extra_js
    new_config_path: Path = Path(new_path) / mkdocs_name
    new_config_path.write_text(yaml.dump(new_config, sort_keys=False, width=200))
    new_config_docs_path: Path = new_path / "docs"
    new_config_docs_path.mkdir()
    en_index_path: Path = en_docs_path / "docs" / "index.md"
    new_index_path: Path = new_config_docs_path / "index.md"
    en_index_content = en_index_path.read_text(encoding='utf-8')
    new_index_content = f"{missing_translation_snippet}\n\n{en_index_content}"
    new_index_path.write_text(new_index_content, encoding='utf-8')
    typer.secho(f"Successfully initialized: {new_path}", color=typer.colors.GREEN)
    update_languages(lang=None)

Result:

python ./scripts/docs.py new-lang zh
Successfully initialized: docs\zh
Updating en
Updating es
Updating zh

Should I create a PR for this?
Environment

OS: [Windows]
FastAPI Version [0.52.0], get it with:

python -c "import fastapi; print(fastapi.__version__)"

Python version 3.8.0, get it with:

python --version

Additional context
Add any other context about the problem here.

This problem has been already fixed in recent commit 459f0e11e5e09b7a380f3f859b58e20455378f50 ,so I will close this issue.

Thanks for reporting back and closing the issue @waynerv :+1:


change functions example

just by calling function won't print out the result and since the input name is Chinese and the output should also be chinese.

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

@thegodland Congratulations on your first merged pull request to freeCodeCamp repository! Thanks for fixing the example function!