Fixing completeness from 2022-09-01-preview

ARM API Information (Control Plane)
MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Azure 1st Party Service can try out the Shift Left experience to initiate API design review from ADO code repo.  If you are interested, may request engineering support by filling in with the form https://aka.ms/ShiftLeftSupportForm.
Changelog
Add a changelog entry for this PR by answering the following questions:

What's the purpose of the update?

[ ] new service onboarding
[ ] new API version
[ ] update existing version for new feature
[x] update existing version to fix swagger quality issue in s360
[ ] Other, please clarify

When are you targeting to deploy the new service/feature to public regions? Please provide the date or, if the date is not yet available, the month.
When do you expect to publish the swagger? Please provide date or, the the date is not yet available, the month.
By default, Azure SDKs of all languages (.NET/Python/Java/JavaScript for both management-plane SDK and data-plane SDK, Go for management-plane SDK only ) MUST be refreshed with/after swagger of new version is published. If you prefer NOT to refresh any specific SDK language upon swagger updates in the current PR, please leave details with justification here.

Contribution checklist (MS Employees Only):

[x] I commit to follow the Breaking Change Policy of "no breaking changes"
[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

Applicability: :warning:
If your changes encompass only the following scenarios, you should SKIP this section, as these scenarios do not require ARM review.

Change to data plane APIs
Adding new properties
All removals

Otherwise your PR may be subject to ARM review requirements. Complete the following:

[x] Check this box if any of the following apply to the PR so that the label "ARMReview" and "WaitForARMFeedback" will be added by bot to kick off ARM API Review.  Missing to check this box in the following scenario may result in delays to the ARM manifest review and deployment.

Adding a new service
Adding new API(s)
Adding a new API version
-[ ] To review changes efficiently, ensure you copy the existing version into the new directory structure for first commit and then push new changes, including version updates, in separate commits. You can use OpenAPIHub to initialize the PR for adding a new version. For more details refer to the wiki.

[ ] Ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If you have any breaking changes as defined in the Breaking Change Policy, request approval from the Breaking Change Review Board.
Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Additional details on the process and office hours are on the Breaking Change Wiki.
NOTE: To update API(s) in public preview for over 1 year (refer to Retirement of Previews)
Please follow the link to find more details on PR review process.

@xiaoxuqi-ms : this PR fixes the swagger completeness issues with PR - https://github.com/Azure/azure-rest-api-specs/pull/20967
Completeness Issues - https://msazure.visualstudio.com/Swagger KPIs/_workitems/edit/8188041

Hi @mayankagg9722 , please fix the ci failure and because new apis are added in this pr, we need arm review.

        "schema": {

Fix the other issues being flagged in the https://github.com/Azure/azure-rest-api-specs/pull/21204/checks?check_run_id=9000984511

Refers to: specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2022-10-01-preview/dataprotection.json:2780 in e115974. [](commit_id = e11597499e1ba965ea6a1fac9fd25d99512e00f6, deletion_comment = False)

@rkmanda can you please check now?  Basically in this PR we aren't introducing any breaking change, we are just refreshing our latest preview API version 2022-10-01-preview with our older API version 2022-09-01-preview

filled the template - https://msazure.visualstudio.com/One/_workitems/edit/16018723

Hi @mayankagg9722, one or multiple breaking change(s) is detected in your PR. Please check out the breaking change(s), and provide business justification in the PR comment and @ PR assignee why you must have these change(s), and how external customer impact can be mitigated. Please ensure to follow breaking change policy to request breaking change review and approval before proceeding swagger PR review. Action: To initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki. If you want to know the production traffic statistic, please see ARM Traffic statistic. If you think it is false positive breaking change, please provide the reasons in the PR comment, report to Swagger Tooling Team via https://aka.ms/swaggerfeedback. Note: To avoid breaking change, you can refer to Shift Left Solution for detecting breaking change in early phase at your service code repository.

Can you check on the breaking change? This needs to be resolved first in order to continue the ARM review. Thanks

Hi @mayankagg9722, one or multiple breaking change(s) is detected in your PR. Please check out the breaking change(s), and provide business justification in the PR comment and @ PR assignee why you must have these change(s), and how external customer impact can be mitigated. Please ensure to follow breaking change policy to request breaking change review and approval before proceeding swagger PR review. Action: To initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki. If you want to know the production traffic statistic, please see ARM Traffic statistic. If you think it is false positive breaking change, please provide the reasons in the PR comment, report to Swagger Tooling Team via https://aka.ms/swaggerfeedback. Note: To avoid breaking change, you can refer to Shift Left Solution for detecting breaking change in early phase at your service code repository.

Can you check on the breaking change? This needs to be resolved first in order to continue the ARM review. Thanks

@hiaga please look into this

Hi @mayankagg9722, one or multiple breaking change(s) is detected in your PR. Please check out the breaking change(s), and provide business justification in the PR comment and @ PR assignee why you must have these change(s), and how external customer impact can be mitigated. Please ensure to follow breaking change policy to request breaking change review and approval before proceeding swagger PR review. Action: To initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki. If you want to know the production traffic statistic, please see ARM Traffic statistic. If you think it is false positive breaking change, please provide the reasons in the PR comment, report to Swagger Tooling Team via https://aka.ms/swaggerfeedback. Note: To avoid breaking change, you can refer to Shift Left Solution for detecting breaking change in early phase at your service code repository.

Can you check on the breaking change? This needs to be resolved first in order to continue the ARM review. Thanks

will attend the breaking change meeting office hours for breaking change review


Public Cloud eMOU Form - Workflow Diagram

Initial diagram for the current process:
https://miro.com/app/board/uXjVKyTKbkI=/

@lukegonis https://github.com/bcgov/platform-services-registry/blob/main/docs/emou-workflow.md

@junminahn looks good to me, thank you.


canvas-sketch project dimensions can be squished with !overlayPanels

A race condition in canvas dimension sizing, probably.

Can't repro, deprioritizing.


Transparency On PNG's Alpha Channel

I need advice on setting up ImageView to display PNG image with transparency, i.e. PNG always displayed with white (default color) filling on transparent area.

Allright, there is no problem transparency. It is only ImageView.background color need to be same with parent's background.
I'm closing this issue now.


Tests and Fixes for bug #867

Added a test to the tcp-adaptor suite to test load balancing

Codecov Report
Base: 27.91% // Head: 27.85% // Decreases project coverage by -0.06% :warning:

Coverage data is based on head (477ce1e) compared to base (5c332cd).
Patch coverage: 1.98% of modified lines in pull request are covered.

:exclamation: Current head 477ce1e differs from pull request most recent head 559219f. Consider uploading reports for the commit 559219f to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #868      +/-   ##
==========================================
- Coverage   27.91%   27.85%   -0.07%
==========================================
  Files         134      134
  Lines       31894    31963      +69
  Branches     5100     5107       +7
==========================================
  Hits         8903     8903
- Misses      21853    21922      +69
  Partials     1138     1138

Flag
Coverage Δ

unittests
27.85% <1.98%> (-0.07%)
:arrow_down:

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

Impacted Files
Coverage Δ

src/adaptors/adaptor_common.c
22.10% <0.00%> (-1.50%)
:arrow_down:

src/adaptors/http2/http2_adaptor.c
2.23% <0.00%> (-0.09%)
:arrow_down:

src/adaptors/tcp/tcp_adaptor.c
2.00% <0.00%> (+<0.01%)
:arrow_up:

src/router_core/connections.c
2.64% <0.00%> (-0.01%)
:arrow_down:

src/router_core/delivery.c
0.00% <0.00%> (ø)

src/router_core/delivery.h
0.00% <ø> (ø)

src/router_core/forwarder.c
2.59% <0.00%> (-0.02%)
:arrow_down:

src/router_core/router_core_private.h
0.00% <ø> (ø)

src/router_core/transfer.c
1.57% <0.00%> (-0.02%)
:arrow_down:

src/adaptors/http_common.c
21.81% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Frequency Analysis: Export function

e.g. image and as .csv

i added image (PNG) Export for the plots in the code frequency analysis here #439 . I don't think csv export makes a lot of sense here.


#6459 remove internal classes from javadoc

cool that's a huge improvement.
can you also add: com.twosigma.beakerx.mimetype, jupyter.Displayers, com.twosigma.beakerx.jvm.object

I add mimetype and jvm.object. jupyter.Displayers is in external lib.


When Rapid Antigen Test is performed by a laboratory which is not linked to CWA, then it should be possible to get a TAN in the case of a positive result

Due do the mentioned change in test strategy patients with a positive rapid flow test may not be eligible for a pcr test. Therefore no warning can be issued as it requires a positive pcr test result. To adapt it should be made possible to warn when an antigen test drawn by a certified provider came back positive.

@cm353

To adapt it should be made possible to warn when an antigen test drawn by a certified provider came back positive.

This wishlist item as been fulfilled with the release of CWA 3.0. TANs are no longer used and the positive result of a RAT test can be reported in the app.
See Version 3.0: CWA warnings now possible after positive self-test for more details.

This wishlist item should be closed now since TANs are no longer used. The TAN hotline closed down today.

Thanks for opening this wishlist item @cm353, and thanks to all others who participated.
Due to the aforementioned information provided by @MikeMcC399, I will now close this issue.


fix(authService): update internal authentication fields

This is critical for a scenario when two or more browser windows are open and one of them refreshes a token.
Previously this.authentication.exp was equal to the old token exp, which caused premature sign out event,
which in its' turn signed out all the open windows.

@MaximBalaganskiy I'm having a hard time grasping the fix. Could you add a test case for it?

Here they are

👌 Nice.


perf (Subring.Basic): more direct inheritance for one instance

We change a single instance from Function.Injective.commRing to inherit from Ring directly.

!bench

!bench

!bench

!bench


Use struct define in vendor

Describe the bug
Hello,
I have the following folder hierarchy :
.
| -- endpoints
|     `-- user.go
| -- model
|     `-- error.go
| -- vendor
      `-- my.repository
           `-- common-lib
                `-- model
                     `--user.go

I would like to reference the struct contains in vendor/my.repository/.../user.go for the response of my endpoint user for example.
And I have no clue about how I can do it. I have tried several different possible configuration but nothing good so far.
Here is my go client of the endpoint :
import (
	"io"
	"net/http"

	"github.com/labstack/echo"
	commonModel "my.repository/common-lib/model"
	"my.repository/model"
)

// @Tags users
// @Router /users [post]
// @Accept  json
// @Produce  json
// @Success 200  {object} commonModel.UserEntity
// @Failure   400  {object} model.ErrorEntity
// @Failure   500  {object} model.ErrorEntity
func (e *UserEndpoint) CreateUser(ctx echo.Context) error {
	// code
}

This code produce the following error :
2018/11/06 19:33:28 ParseComment panic:can not parse response comment "200 {object} commonModel.UserEntity "
panic: ParseComment panic:can not parse response comment "200 {object} commonModel.UserEntity "

I also try to put the complete package name instead of the alias :
// @Success 200  {object} my.repository/common-lib/model.UserEntity

which is generate the swagger without the definition of the struct UserEntity
Expected behavior
The goal is at the end to generate the definition for all struct (in the swagger.json), event if the struct are in the vendor of the application
Your swag version
v1.4.0
I also tried with the last commit on master 6993bc5667b70aa...
Desktop (please complete the following information):

OS: windows 10

Additional context
I suppose this is related to the issue #188. But I don't get it how to reference the types that come from the vendor folder

@easonlin404 @pei0804

I have same issue.

OK.
I understand this issue.

@a180285 fixed it Thx!
https://github.com/swaggo/swag/pull/331


UIColor enhancements

Added

Color model enum (support for rgb, hsl, hsb, cmyk, and hex)
Computed properties on UIColor for hsl, hsb, and cmyk components
Initializers on UIColor for hsl and cmyk
Default alpha argument to existing initializers

Updated

Lighten/darken color APIs

The previous APIs left much to be desired, as they used a color's HSB values to adjust the lightness of the color. This led to situations where a color would not be lightened (no matter what value was specified), as shown below:

The updated APIs now provide expected behavior, as shown below:

As shown above, there is also a new operator to make the API a bit more clear. While CGFloat values between 0.0 and 1.0 may still be used, the % operator may also be used to achieve the same behavior.  I think it really cleans up the color APIs to be more complete and consistent.

👏 Operators.swift 🎉

Just add the preamble to Operators.swift (the legal boilerplate, etc.) and then 👍


Resolve #86: Improve testing, remove version restriction

The travis script now does updates for all PHP versions before execution.
PHP 5.6 and 7 tests are also executed with the lowest possible dependency version. This revealed an incompatibility with the allowed "bshaffer/oauth2-server-php" - forcing the minimum version to be ~1.4 resolved it.

@SvenRtbg I believe this is moot following the 1.3 release?

I think I'd revert the restriction change and only propose that Travis CI should test additionally with the most recent versions (update) and the lowest allowed version (update --prefer-lowest), optionally with the locked version. This will check that no new code accidentially uses a feature that isn't present in the lowest required dependency versions, and still runs with the newest versions.

I think this became outdated by now.


Return "-" to partial EC ids for Xrefs in GO ontology

The "-" are needed for proper linkout to expasy.
MGI has to watch to make sure that any UniProt records where a partial EC is used does not cause propagation of all of the 4 digit ECs that are children.

I put a TR in on our side; In digging around in the Ontology file, my removal of these from leaf nodes may actually be enough to fix.
Here is a good one to watch
http://www.informatics.jax.org/marker/MGI:1916968
has multiple ECs coming from multiplle mapped UniProt ids
EC: 2.7.-.-, <IP_ADDRESS>, <IP_ADDRESS>
If we put back the "-" for EC:2.7 , would I suddenly get all of the matching children from 2.7?

@sabrinatoro
I remember that Zfin had an issue with this also in that when we removed the "-" from our entry, MGI and Zfin dropped several thousand EC2GO IEA annotations.
It appears as if the extra annotations were a result of mappings being generated to any GO term that had an EC id that would be included in the 3 or less EC grouping terms.
Since then I have been removing all 3 or less digit xrefs from leaf nodes (more specific reactions)
Do you have any additional info that might help our testing?

Hi @cmungall , I need to have whatever disallows addition of EC numbers with a '-' in them to start testing their effect on MGI's Ec2GO load.

@hdrabkin : I am not ignoring you! :-) Doug is not in this week, and he is the one who could answer your question. I'll make sure he looks into this when he is back next week!

If you are talking about restoring "-" that appears in EC#s which are aliases in the GO ontology....I don't see how that would affect us.  We get the EC#s from UniProt, and we get the associated GO annotations via application of EC2GO translations.  Now...if the - was left out of the EC2GO file but it was present in the EC# we got from UniProt..that might break things...but it doesn't sound like that is what is being discussed.

I asked because both MGI and Zfin noticed a hugh drop in EC2GO when we removed the dashes. (like for mgi, around 10000. These were mappings where a single protein was getting dozens of GO annotations based on the protein record having a 3 digit ec with a dash, and then getting annotations to all of the enzymes in that EC class (If there was a GO id that fell under that class). With the removal of 3 digit ecs from any term other than a grouping term, I hope this won't happen again.

Ya, I have a vague memory of that, but it isn't clear where the GO term alias enters into the creation of annotations.

I just remember that all that was done initially was to remove the "-"s, and the next ec2go run removed all of those annotations. MGI does our own ecg20 annotations during our UniProt load. Does Zfin do the same or do you take them separately from somewhere?

We do the same...apply EC2GO locally right after we do our UniProt load.

Hi @hdrabkin @doughowe
Are we ready to restore the hyphens for partial EC numbers?

Hi @pgaudet. The only way we can test is if some are put in,  which I cannot do because Chris put a block in for new .- entires. (I put in a TR for this at our end but if there are no files that can be tested, the TR is moot). I thought I had pinged him on this ticket.
@cmungall can you lift the block so some can be tested?
To test this, the entries need to appear or not in the ec2go file.
I am still finding some 3 digit in non-leaf nodes that did not appear on the orginal report I was working on (3 digit without .-).

I do not know what you mean by block.
I think this is a very simple issue. What is the canonical syntax for non-leaf ECs (i.e. depth D=1, 2, or 3)? I had previously assumed the syntax was to include D digits and D-1 periods. E.g. EC:2.7
However, it seems that in fact the canonical syntax is to always include 3 periods, and to include 4-D hyphens. E.g. EC:2.7.-.-. This is consistent with expasy, identifiers.org, ... (have not checked Rhea cc @amorgat).
This is entirely a syntax issue. I don't know what you mean by MGI propagating, but this has nothing to do with the syntax.
It seems we should restore the dashes for non-leaves. Note this will have the side-effect of re-introducing the dashes for non-leaves in ec2go, since ec2go is derived from go. So we should give some warning. The dashes can be reintroduced programmatically.

Rhea is only linked to "complete" ECs (depth D=4)
UniProt uses hyphens (e.g EC:2.7.-.-)

I do not know what you mean by block.

Travis check fail when you enter something like EC:1.1.-.-
You need to enter EC:1.1, but then the links to EC do not resolve.
Can you fix the Travis check so that the syntax required 3 periods and 4 characters (either digits or dash?)

Yes, a 'heads up" would be good. I have already put an order for our loads to NOT assign an GO terms mapping for  a 3 digit EC if that is the EC the protein record has  I will push this ahead of time to be ready.

@balhoff Can you change the Travis checks so that the ECs need this format:
EC:#.#.#.#
Thanks, Pascale

Wait; if there are any EC.x.y.z, or EC:x.y, or EC:x this would cause the build to fail? We haven't fixed all of these yet (ie, .- added). The fix has to go first right?

Yes, but the errors in the PR would tell us what to fix - I assumed

I could be hundreds; and it would fall on the next push attemp? Chris needs to put the "-" back into the 1, 2, and 3 digit ecs first.


Return as many named fields as possible from records that may not contain some of them

New processor functionality is needed to allow the Brim "Export to ZNG" option to work as the user would expect when the Columns chooser has been invoked. The need for this was first identified when verifying brim/814.
Consider the following query result in Brim v0.10.0 after having imported this 2018 wrccdc pcap.

Starting from this diverse mix of http and dns events, let's say I click the Columns chooser and check off a mix of fields that appear in both event types (ts, uid) and fields that appear in only one event type (uri from the http events, and query from the dns events).

If I click Export, the results.zng that's produced contains zero events. This is a side-effect of how the app currently implements the Export function: The cut processor is used to ask zqd to trim the query response to contain only the named columns. However, the way cut is currently implemented, a record is only returned if all the named fields are present. This can be seen by dropping to the command line and executing equivalent zq by hand on the all.zng that was generated by the import.
$ zq -t "cut ts,uid,uri,query" all.zng
Cut fields ts,uid,uri,query not present together in input

So the high-level requirement is that zqd needs to provide some variation on the current cut behavior that returns ZNG that could be re-imported to produce the same results the user was looking at when they clicked Export. It seems like this could be done via a new option on cut (which makes sense to me, but I'm open to suggestion) or a whole new processor. I'm not advocating for a change in the default behavior of cut (though I'd not necessarily rule it out).
While writing this up, I'm reminded that FWIW, zeek-cut is more forgiving. Turning my query result into Zeek TSV and doing the equivalent cut operation, I get all the diversity:
$ zq -f zeek "ocsp.pki.goog" all.zng > all.zeek
$ cat all.zeek | /usr/local/zeek-3.1.3/bin/zeek-cut -C ts uid uri query
#separator \x09
#set_separator	,
#empty_field	(empty)
#unset_field	-
#path	http
#fields	ts	uid	uri
#types	time	string	string
1521835139.718680	CUkXuv2aZs5NpuHng1	/GTSGIAG3
#path	dns
#fields	ts	uid		query
#types	time	string		string
1521835139.673223	CkiLMN1OGJBFlZdZZc		ocsp.pki.goog
1521835139.673219	CkiLMN1OGJBFlZdZZc		ocsp.pki.goog
#path	http
#fields	ts	uid	uri
#types	time	string	string
1521835105.567982	CMt4qp2hgQEMhqmmj7	/GTSGIAG3
1521835105.177261	C5YqLp10QwzPgYH5Aa	/GTSGIAG3
1521835104.054822	CCZseg1hl12M0nc7p6	/GTSGIAG3
1521835103.652957	C5YqLp10QwzPgYH5Aa	/GTSGIAG3
1521835103.607992	CCZseg1hl12M0nc7p6	/GTSGIAG3
#path	dns
#fields	ts	uid		query
#types	time	string		string
1521835103.596102	CVLaYjq85ar0vTxPa		ocsp.pki.goog
1521835103.596097	CVLaYjq85ar0vTxPa		ocsp.pki.goog

This speaks to another implementation detail I've pre-discussed with @henridf: How would would the ZNG handle the fields not present? For instance, would the descriptor for the dns event contain a uri field that gets populated with a null value, and likewise would the descriptor for the http event contain a query field that's populated with null? If the implementation can handle it, I would argue the answer to this is "no". Like we just saw with zeek-cut it would seem ideal if this new cutting functionality could effectively trim the descriptor of each record to cover only the set of named fields that it contains.

Incidentally, while writing this up I noticed that zq can't actually read back the output from zeek-cut that's shown above. I think this could be seen as a zeek-cut bug, so I've opened https://github.com/zeek/zeek/issues/997 to see what the Zeek devs/community make of it. If they make an argument defending the current behavior and don't intend to change it, I'll open a separate zq issue to see if we can adapt to it.

In an offline discussion, decision was made to modify cut to output any record with a (non-zero) subset of the cut fields. This should address the issue noted above, and was considered to be preferable behavior for regular zql use as well.

 Per the attached video, I can now select the same diverse set of columns, Export to ZNG, re-import, and see data where there'd been nothing before.
Verify.zip
A couple things that came up for me during verification:

I couldn't bring back the column headers after re-importing the ZNG. I've opened https://github.com/brimsec/brim/issues/873 to pursue that topic separately.

At the command line, I noticed that the new cut still gives a warning if the requested field(s) return no data at all, but no warning if it's a mix of present/absent data.

$ zq -t "cut foo" weird.log.gz
Cut field foo not present in input

$ zq -t "cut foo,bar" weird.log.gz
Cut fields foo,bar not present together in input

$ zq -t "cut foo,name" weird.log.gz
#0:record[name:bstring]
0:[TCP_ack_underflow_or_misorder;]
0:[truncated_header;]
...

I sense a warning may still be justified in this final case, e.g. to help call the user's attention to a possible typo. I've got a question pending to @nwt on this topic, and other opinions are welcomed.


karaoke version

From YouTube Comment

Are you planning on making a karaoke version as well?

I thought you would say that.
I just fit the drawing part (and others), but I'd like to experiment here a little more.
まあ言うと思ってた。
描画部分（とその他）をはめ込むだけだが、もうちょっとここで実験しておきたいかな。

Thank you, I'm looking forward to it. I made 6 LRC files yesterday with LyricsTTE_Spectro, most productive syncing day I've had so far. I've always wanted to have better visual feedback on my timings, and this is perfect for that.

https://github.com/Juna-Idler/RhythmiKaRuTTE_Spectro


"Open in Windows Terminal" Explorer context menu on left pane opens to wrong location

Windows Terminal version
1.11.3471.0
Windows build number
22000.434
Other Software
No response
Steps to reproduce
Assume a directory tree that looks like this:
parentDir/
  childDirA/
  childDirB/

Navigate to the childDirA subdir so that the contents shows in the right pane of explorer
right-click on childDirB in the left (treeview) pane of explorer (the contents of childDirA will continue to show in the right pane)
Choose "Open in Windows Terminal"

Expected Behavior
A terminal to open with childDirB as the current dir.
Actual Behavior
The terminal opens to childDirA.  Might be related to #11587 (which references internal issues MSFT:36795851 and MSFT:36416534.

@johnburnett if you open childDirB (content shown in the right pane) then right-click directory childDirA the terminal will open in childDirB. I tried with more subfolders and the terminal opens to whatever folder has been selected in the left pane to have its contend shown.

Thanks for filing this! I've moved this upstream to the File Explorer folks, in MSFT:37779037.

Unfortunately not really. On the bright side, my experience with the File Explorer team has been pretty positive overall, and they've been fairly good about getting on top of the context menu bugs we've thrown their way.

Ok, no worries - I'll keep an eye on this ticket as a proxy for what the
fix might look like.
On Tue, Jan 18, 2022 at 10:38 AM Mike Griese @.***>
wrote:

Unfortunately not really. On the bright side, my experience with the File
Explorer team has been pretty positive overall, and they've been fairly
good about getting on top of the context menu bugs we've thrown their way.
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/terminal/issues/12161#issuecomment-1015702068,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAHG6D3O6BQ5SEYMUQYZYI3UWWXSXANCNFSM5L5DC4ZQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>

This got duped to MSFT:36889296, which was just fixed internally and should be flowing out to an Insiders build sometime soon.

I believe this was either fixed in 22570 or 25071 - build numbers are confusing these days, but both those builds date back to March. Thanks all!


Changing the currency on product search does not reload the data

Environment:
SPA with yenv (develop branch)
Steps:
Go to electronics storefront
Search for "canon" in English
Change the currency to  ¥ JPY.
Actual Result
The data is not reloaded. The prices are still displayed in  $ USD

Expected Result
The prices should now be displayed in ¥ JPY.


Installation Problem

Err http://ppa.launchpad.net jessie/main i386 Packages
404  Not Found
Ign http://ppa.launchpad.net jessie/main Translation-en
Ign http://rpms.litespeedtech.com jessie/main Translation-en
Fetched 10.6 kB in 4s (2471 B/s)
W: Failed to fetch http://ppa.launchpad.net/tsl0922/ttyd-dev/ubuntu/dists/jessie/main/binary-i386/Packages  404  Not Found
E: Some index files failed to download. They have been ignored, or old ones used instead.

This ppa only works for ubuntu 16.04 and later. You need to compile it from source for debian, and the libwebsockets-dev package is too old on jessie, so it needs to be compiled from source too.

Ok thx :)


All records implementation complete for all dictionary structures

The corresponding unit tests have been updated and are successful.

LGTM

LGTM

LGTM


source for Microsoft.CSharp 4.5.0

Type: Missing
Summary:
source for Microsoft.CSharp 4.5.0
Details:
missing commit id for the release 4.5.0
Resolution:
added the information
Affected definitions:

Microsoft.CSharp 4.5.0

@kiru-oss The package description lists 30ab651fcb4354552bd4891619a0bdd81e0ebdbf. Shouldn't we use that as the source commit?

Hi,
I couldn't find the commit id 30ab... in github, that's why I took this one.
There I found the version of 4.5.0 als build target the first time.
Am Di., 23. Juni 2020 um 20:21 Uhr schrieb Candice Wright <
<EMAIL_ADDRESS>
@kiru-oss https://github.com/kiru-oss The package description lists
30ab651fcb4354552bd4891619a0bdd81e0ebdbf. Shouldn't we use that as the
source commit?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/clearlydefined/curated-data/pull/4524#issuecomment-648334842,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AM3HZ6J73XAQBU5U3664EHLRYDXBHANCNFSM4OFOPKIQ
.

--
Gunnar


Destructuring redeclaration error under deferred mode.

In the deferparse mode we throw an error if the body has a variable which has the same name as formal’s. As the logic was under the buildAST check.
However we need to mark the formal as STFormal regardless of any mode. So we are walking the blockScope lex vars, when they appear at formals and change them appropriately.

@tcare - please take a look.

@aneeshdk - please take a look as well.

Looks good


GH-1474: Fix MessageProperties.lastInBatch

Resolves https://github.com/spring-projects/spring-amqp/issues/1474
When consuming the whole debatched batch as a list, all messages
had the lastInBatch property set to true.
Clone the message properties for the last record.
cherry-pick to 2.4.x

... and cherry-picked to 2.4.x


Support MacPorts

The project should also support Macports, e.g. do not force Homebrew upon the developer.
Reminder for self:
#!/usr/bin/env bash

# Install required macports packages
while read macports_package; do
  sudo port install $macports_package
done<<HERE
phantomjs
nodejs
npm
gnupg
apache-ant
HERE

Closing this as I don't feel that we need to support Macports, nor any package system for that matter. We currently install some dependencies automatically if Homebrew is available and I think we should even consider removing that too since we can't install all dependencies for any system people may be running.


copy-btn in all the places

also adds templates for mailto: and tel: links - just in case we need that in more templates (maybe a user-popup to directly contact people in maker-spaces?)
Closes #1574
Closes #725

Closes #997
@SchrodingersGat I cleaned up the js, would be ready for merge

@matmair @SchrodingersGat Ok so this button has a JS error popping up, at least on Chrome:

Looks like it has to do with the trigger variable not being declared, indeed I don't see where is it declared.
Also I found there is some leftover console logging:
https://github.com/inventree/InvenTree/blob/a1fa3315b17ea15c9d0487ae34081a36793b8a0f/InvenTree/InvenTree/static/script/inventree/inventree.js#L25
Is that intentional? It gives this in the JS log:

The copy to clipboard function is not working in my case... not sure if it is browser related.


Move license and theme to footer

Closes https://github.com/ProjectPythia/pythia-foundations/issues/397
See https://github.com/ProjectPythia/landsat-ml-cookbook/pull/17 for an example.
Motivation: Tutorial documentation often introduces new concepts or processes, and users may already be grappling with understanding unfamiliar information. A clean UI reduces cognitive load by simplifying the visual presentation and reducing unnecessary complexity. By minimizing distractions and focusing on essential elements, a clean UI helps users better absorb the tutorial content and decreases mental strain.

Thanks @ahuang11 I'm going to close this in favor of #172


[PLAT-5035] Capture user-reported error threads to disk to avoid deadlock

Goal
This change is necessary to fix a deadlock that (occasionally) occurs when capturing thread traces for user-reported errors.
The notifier suspends all other threads before capturing a thread trace, but  these may be holding locks in malloc, the Objective-C runtime, or other subsystems.  Therefore we must only call async-signal-safe functions while other threads are suspended.
bsg_kscrw_i_captureThreadTrace was calling malloc to create a buffer for the JSON output, and this was observed to deadlock when reporting multiple errors on several threads simultaneously.
Design
This fix works by creating a temporary file to capture the JSON output using KSJSONEncoder's "regular" file output mechanism.
Using a file minimises the amount of memory required to perform the serialisation, and avoids needing to guess at an amount of memory to pre-allocate.
Changeset
bsg_kscrw_i_captureThreadTrace now encodes JSON to file output, which is then parsed using NSJSONSerialization.
The mechanism to capture KSJSONEncoder's in memory has been removed, as it is no longer used and not async-signal-safe.
Testing
This has been tested by manually running the ManyConcurrentNotifyScenario scenario in the test app on a real device and stepping through the new code in a debugger to ensure it's working as expected.
I have verified that errors are still reported on the dashboard and display the expected information on the "threads" tab.
The code that has been modified is covered by unit tests and e2e tests.

Quick performance test:
NSLog(@"%s starting....", __PRETTY_FUNCTION__);
NSException *exception = [NSException exceptionWithName:NSGenericException reason:@"Testing" userInfo:nil];
CFAbsoluteTime startTime = CFAbsoluteTimeGetCurrent();
for (int i = 0; i < 100; i++) {
    [Bugsnag notify:exception block:^BOOL(BugsnagEvent *event) {
        return NO;
    }];
}
CFAbsoluteTime elapsed = CFAbsoluteTimeGetCurrent() - startTime;
NSLog(@"%s completed in %f seconds", __PRETTY_FUNCTION__, elapsed);

Results:

4.8 seconds after change (writing to disk)
2020-10-09 10:43:47.305710+0100 Bugsnag Test App[1709:628901] -[ViewController nonFatalException:] starting....
2020-10-09 10:43:52.043808+0100 Bugsnag Test App[1709:628901] -[ViewController nonFatalException:] completed in 4.737836 seconds
2020-10-09 10:43:55.320507+0100 Bugsnag Test App[1709:628901] -[ViewController nonFatalException:] starting....
2020-10-09 10:44:00.180394+0100 Bugsnag Test App[1709:628901] -[ViewController nonFatalException:] completed in 4.859597 seconds
2020-10-09 10:44:02.570664+0100 Bugsnag Test App[1709:628901] -[ViewController nonFatalException:] starting....
2020-10-09 10:44:07.482511+0100 Bugsnag Test App[1709:628901] -[ViewController nonFatalException:] completed in 4.911555 seconds

11.4 seconds before the change (in-memory)
2020-10-09 10:46:53.812575+0100 Bugsnag Test App[1713:630075] -[ViewController nonFatalException:] starting....
2020-10-09 10:47:05.321102+0100 Bugsnag Test App[1713:630075] -[ViewController nonFatalException:] completed in 11.508221 seconds
2020-10-09 10:47:12.212653+0100 Bugsnag Test App[1713:630075] -[ViewController nonFatalException:] starting....
2020-10-09 10:47:23.570621+0100 Bugsnag Test App[1713:630075] -[ViewController nonFatalException:] completed in 11.357671 seconds
2020-10-09 10:47:27.113114+0100 Bugsnag Test App[1713:630075] -[ViewController nonFatalException:] starting....
2020-10-09 10:47:38.474201+0100 Bugsnag Test App[1713:630075] -[ViewController nonFatalException:] completed in 11.360798 seconds


Enhanced Myntra clone login page

Title and Issue number

Title : Enhanced login page of Myntra
Issue No. : 988
Code Stack : HTML , CSS
Close #988

Video (mandatory)
Before ;

After;

Checklist:

[X] I have mentioned the issue number in my Pull Request.
[X] I have commented my code, particularly in hard-to-understand areas
[ ] I have created a helpful and easy to understand README.md
[X] I have gone through the  contributing.md file before contributing

Additional context (Mandatory )
Are you contributing under any Open-source programme?

[X] I'm a GSSOC'24 contributor
[ ] I'm a SSOC'24 contributor

@heysagnik @apu52 Please review my PR and merge it


Add navigation from task overview to planner

If user has navigated to TaskOverview from RelationsModal link, the back-button takes the user back to MilestonesEditor

Though, should the (same) RelationsModal be open when navigating back to MilestonesEditor? I could make that happen

Took your feedback into consideration and implemented this with another strategy.


String Enum v2.4.1

enum Enumeration {
    A = "value",
    B // Enum member must have initializer.
}

It should be or it's a bug?

This is Working as Intended, see https://github.com/Microsoft/TypeScript/pull/15486 for more detail.

Enum members with string literal values must always specify an initializer, but enum members with numeric literal values may omit the initializer provided it is the first member or the preceding member has a numeric value.


Use temporary directory for emulation cache during tests

Currently running the fv3fit tests leaves a .data directory used for caching by the emulation code which does not get cleaned up. This PR modifies the fv3fit tests to use a temporary directory instead.

I ran pytest tests/emulation and confirmed it never created a .data directory during or after the tests.


Error message creating serverless PostgreSQL: Instances cannot be added to Aurora Serverless clusters.

I'm trying to create a serverless cluster and get the following error message
Error: error creating RDS DB Instance: InvalidParameterValue: Instances cannot be added to Aurora Serverless clusters.
	status code: 400, request id: xxxxx-xxxxx-xxxxx-xxxxx

  on .terraform/modules/app_base.application.db-aurora/main.tf line 82, in resource "aws_rds_cluster_instance" "this":
  82: resource "aws_rds_cluster_instance" "this" {

The resulting cluster seems to be working fine, however.

got the same error

@tvand / @dejwsz could you share your config, otherwise its hard to tell whats going on

Like this:
module "test_db" {
  source  = "terraform-aws-modules/rds-aurora/aws"
  version = "5.2.0"

  name                       = "test-postgresql"
  database_name              = "test_db"
  engine                     = "aurora-postgresql"
  engine_mode                = "serverless"
  engine_version             = "12"
  storage_encrypted          = true
  auto_minor_version_upgrade = true

  vpc_id                  = local.vpc_id
  subnets                 = local.vpc_database_subnets
  create_security_group   = false
  allowed_security_groups = [local.managed_db_sg_id]
  vpc_security_group_ids  = [local.managed_db_sg_id]
  allowed_cidr_blocks     = local.vpc_private_node_subnets
  backtrack_window        = 28800

  #replica_count          = 2
  password               = random_password.db-master.result
  create_random_password = false

  monitoring_interval     = 30
  backup_retention_period = 14

  apply_immediately   = true
  skip_final_snapshot = true

  publicly_accessible  = false
  instances_parameters = [{ "publicly_accessible" : "false" }]

  scaling_configuration = {
    auto_pause               = true
    min_capacity             = 2
    max_capacity             = 4
    seconds_until_auto_pause = 300
    timeout_action           = "ForceApplyCapacityChange"
  }

}

Got such error:
 Error: error creating RDS Cluster (zieglerone-postgresql) Instance: InvalidParameterValue: Instances cannot be added to Aurora Serverless clusters.
│ 	status code: 400, request id: 755a5d43-8d92-42fb-bfcf-778111b5037c

But finally the cluster works and is active.

I will have to double check but I am 99% certain that you do not need
scaling_configuration = {
    auto_pause               = true
    min_capacity             = 2
    max_capacity             = 4
    seconds_until_auto_pause = 300
    timeout_action           = "ForceApplyCapacityChange"
  }

its serverless, so you don't need to set the scaling configuration as if it was a traditional cluster

Aaa, probably I'm missing replica_count = 0 ?

scratch that, its intended for serverless 🤣 https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/rds_cluster#scaling_configuration-argument-reference
still looking

Yes I can confirm, replica_count = 0 is required for this mode.
And scaling_configuration is set as I defined, so you can set it and have influence on these params.

correct - looks like replica needs to be zeroed out to work https://github.com/hashicorp/terraform-provider-aws/issues/13475

This can be added somewhere in bold in docs maybe ;)

adding replica_count = 0 also fixed it for me.

New to terraform and got this issue. adding replica_count = 0 worked for me. thank you.


Store library information separately in metadata

e.g. presets, ccd...

features are already stored like this - not a concern


Estimate node height for layout calculations

Is your feature request related to a problem? Please describe.
Right now, laying out nodes assumes that nodes are their smallest height. This makes the layout awkward if nodes use all 3 of the text area's rows.

Describe the solution you'd like
Estimate the node's height based on how many characters the text has. Calculate and use this when laying out. After this is done, the space between nodes can be reduced.
Don't worry about re-laying out right after typing - that sounds not worth. We can wait until next layout is performed (e.g. node add, remove, page refresh) to fix the node positioning.
Describe alternatives you've considered
Additional context
Technical ideas

3 rows is the current max
probably identify the height per row, and estimate the number of rows using (number of chars) / (number of average-width chars that fit in a row)

Removing good first issue label because I'm not sure if the suggested solution is too jank

Did this as a part of https://github.com/amelioro/ameliorate/pull/569


Annotating the internal CRDs

Backend change for adding 'operators.operatorframework.io/internal-objects' annotation,
which holds an array of CRD names which are internal to the operator. This will be later
used by the UI code for hiding the internal tiles/cards.
Signed-off-by: Arun Kumar Mohan<EMAIL_ADDRESS>

/hold
There is no UI support as of now to validate this fix. Let's wait till we have that.

Bipul has put a PR in the console front, which works with this PR as expected... Taken a screen shot,
Bipuls PR: https://github.com/openshift/console/pull/3877

/ok-to-test

/retest


Login as Dynamic User?

I'm building a service which manages multiple Salesforce accounts and I'd like to be able to create new API clients dynamically, passing in login information retrieved at runtime from a database.
It looks like the only way to pass in login information at the moment is via the config file, limiting forcex to creating clients for a single user?

Ah, interesting... I think I should we should be able to make that work with some additions to F.Client.
I'll see what I can come up with later today.
Sent from my iPhone

On Apr 30, 2016, at 9:40 AM, Matt Furden<EMAIL_ADDRESS>wrote:
I'm building a service which manages multiple Salesforce accounts and I'd like to be able to create new API clients dynamically, passing in login information retrieved at runtime from a database.
It looks like the only way to pass in login information at the moment is via the config file, limiting forcex to creating clients for a single user?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub

@zolrath Thanks for the feedback! This ended up being a pretty straightforward fix, so I pushed it to hex, along with a few other things I'd had in the backlog (like deflate support), as 0.4.0.
You can now supply a map of credentials. Further details in hexdocs.
Please let me know if you have any issues. I'm happy to see this package used. 😃

@jeffweiss Thanks a lot for the fast response time! Nice to see it wasn't an invasive change.
I'll be sure to let you know if I encounter anything, thanks again!


Make index.html a literal index

Make index.html a literal index, with all recipes listed alphabetically.
Then link to individual sections with the recipes within each section listed alphabetically.

Any reason in particular you closed this issue?


Support images in REBoolItem and REPickerItem

Not much to add to this :) We're happily using this patch in production.

@jlnr


File not found http://seoriy.github.io/Json-notepad/distr/_main.js

Strange issue. File exists in gh-pages branch and its normal utf-8 encoded. But not found on GitHub pages... Need to try run jekyll locally, but I can't install this sh*t under windows 8 without troubles((

Hmm, seams like this bug is because of underscore character. Need to rename file _main.js as main.js
https://github.com/jekyll/jekyll/issues/55


Documented suggested VM config for CDK

@ishuverma looks good.
Very very minor addition. Can you add a ) to complete the addition?

Good catch. Change made. Thanks.
On Wed, Feb 8, 2017 at 9:18 PM, Andrew Block<EMAIL_ADDRESS>wrote:

@ishuverma https://github.com/ishuverma looks good.
Very very minor addition. Can you add a ) to complete the addition?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/sabre1041/iot-ocp/pull/30#issuecomment-278543139, or mute
the thread
https://github.com/notifications/unsubscribe-auth/APpY8M1rcGaTloSxXSTuBPhWe70EaRoBks5rapOsgaJpZM4L2mnf
.


Nanosecond opt-in

This patch addresses #70 and POSIX compatibility.
Currently, fusepy handles (and expects) time stamps (atime, mtime, ctime and birthtime) in seconds as floating point numbers, creating quite significant inaccuracies on nanosecond scales. See this discussion for reference.
This patch allows to switch fusepy to nanoseconds as integers while keeping full backwards compatibility with older code depending on fusepy's original behavior. New code can activate the feature - if available - as follows:
import fuse
class some_fuse_filesystem(fuse.Operations):
	WITH_NANOSECOND_INT = True
	def __init__(self, *args, **kwargs):
		self.flag_nanosecond_int = hasattr(self, 'WITH_NANOSECOND_INT') and hasattr(fuse, 'NANOSECOND_INT_AVAILABLE')

fusepy will offer a new attribute, NANOSECOND_INT_AVAILABLE, if the feature is available. A filesystem has to check its existence. In return, a filesystem's operations class can be equipped with an attribute named WITH_NANOSECOND_INT, requesting fusepy to switch to nanoseconds as integers. If both attributes exist, a Boolean flag can be set in the filesystem's operations class (in the example it is named flag_nanosecond_int), switching the filesystem itself to the new behavior.
The change affects both values returned by the filesystem (i.e. timestamps from getattr) and values passed into the filesystem (i.e. into utimens).

@s-m-e thanks for making this change 🙂 and thanks @eestrada for the good review, I'll make the rest of my comment on #79


Proposal: Update the schema of mps-data to more closely conform to the structure in SNPedia

Currently, mps-data.json is a dictionary, mapping SNP reference IDs to a set of fields: [phenotype, pathogenic, gene, notes]
My understanding is that in reality, each SNP is a "folder", and the smallest unit of information here is the genotype. It is the genotype that has a phenotype (or possibly multiple?), roughly corresponding to the Summary in SNPedia. It's also the genotype that can describe the degree to which it is pathogenic or beneficial, corresponding to the Magnitude (and color) section of its entry in SNPedia.
My proposal for the new schema therefore is:
interface SnpGenotype {
  alleles: string // By my understanding, CT == TC, so we can enforce a standard.
  magnitude: number // positive numbers are good, negative numbers are pathogenic
  phenotypes: string[] // basically like tags, since I noticed some genotypes have multiple effects
  notes: string // To add context, in case a phenotype has very conditional expression
}
interface Snp {
  rsid: string
  genotypes: SnpGenotype[]
  gene: string
  notes: string // just in case.
}
type MpsData = Map<string, Snp>

Of course, this will require a rework of how analysis happens (likewise, for rendering the table), but it shouldn't be difficult at all.

Yeah, that makes sense to me, I've been pretty busy lately and I dont' have the spare cycles but feel free to push an MR for this!

Gotcha! I'll work on this next.

So it turns out, Magnitude (and by extension, Max Magnitude) are purely SNPedia things, and entirely subjective.
https://www.snpedia.com/index.php/Magnitude
I believe we're at a crossroads. Is SNPeek meant to be tied to SNPedia, or independent of it? I would be more confident of sticking to the SNPedia shape, but there are a lot of SNPs that don't show up in SNPedia. That said, we can also base it off of SNPedia, but work in the fact that we don't have perfect information, and we can just make some of the fields nullable.
There also exists a middle ground, where we come up with our own magnitude scale, but base it initially off of SNPedia. And through reading the literature, come up with our own summaries (and magnitude and phenotype) of the studies associated with the particular SNP.

There also exists a middle ground, where we come up with our own magnitude scale, but base it initially off of SNPedia. And through reading the literature, come up with our own summaries (and magnitude and phenotype) of the studies associated with the particular SNP.

Yeah, that's essentially the assumption we've been working under. The whole magnitude thing is kind of tricky and subjective

We probably need to move away from SNPedia, but because we're already talking about the schema for mps-data.json, I'm noting with this comment that this discussion is somewhat related to #24


Support for read replica connections?

Is there a way to setup read replica connections? something like https://github.com/typeorm/typeorm/blob/master/docs/multiple-connections.md#replication supported?

Multiple connections are currently not supported. I am working on knex integration that will allow connection pooling, but sadly there is no support for replication in knex. It should be relatively ease to implement though. I will tag this with help wanted till I find some free time for it.

@B4nan out of curiosity, we could make this work by just having two orm instances, i.e.:
const writerOrm = await MikroORM.init({
  entitiesDirs: ['./dist/entities'], // path to your JS entities (dist), relative to `baseDir`
  dbName: 'my-db-name',
  clientUrl: 'writer-url',
  autoFlush: false, // read more here: https://b4nan.github.io/mikro-orm/unit-of-work/
});

const readerOrm = await MikroORM.init({
  entitiesDirs: ['./dist/entities'], // path to your JS entities (dist), relative to `baseDir`
  dbName: 'my-db-name',
  clientUrl: 'reader-url',
  autoFlush: false, // read more here: https://b4nan.github.io/mikro-orm/unit-of-work/
});

And then we'd use the readerOrm/writerOrm as appropriate? Or does MikroORM.init have some global state that means there can be only one of them?

There is global state where all entity metadata are stored (because decorators can be executed before the ORM init happens so we need global state to store those metadata), so if you would use same entities for both of them, that shouldn't be a problem.
Another sort of global state is hidden in RequestContext - once you register it, ORM will internally ask for EM from the context to provide clean identity map for each request. But you could work this out manually without using RequestContext - it's there to ease integration with DI tools, but you can always fork it manually and pass the fork to your request handler.
So generally it should be doable if you share the same entities and you handle the request context manually via something like app.use((req, res, next) => req.em = orm.em.fork()); and using the req.em variable in the request handler directly.

Thinking about this a bit more now, and the approach with multiple orm instances is probably bad idea. Another problem that would be hard to solve is that every entity has current entity manager instance injected during discovery process. That instance is used for example when calling entity.init().
I started working on some improvements in metadata discovery in #91, so each Orm instance will have its own metadata storage that will be used internally.
To fix the problem with em instance in entities, I think I could just replace it when merging the entity, so all managed entities will have correct reference to its own EM.
After that it should be possible to go this way, but I will try to add support for read connections in v3 natively so one does not have to hack things like this.

Available for testing via next tag (3.0.0-alpha.3).

Closing as resolved.

Nice! I scanned the diff and it looks good. I recently switched projects so don't need read replicas personally anymore (but am still planning on setting up mikro-orm on the new project soon-ish). cc @hamiltop as an FYI.


Remove deprecated FindFile2 options

Related to the changes in https://github.com/microsoft/vscode/pull/211494
There is currently backward-compatibility for findfiles2, but this backward-compatibility should be removed once a reasonable amount of time (~1month) is up.

The API still hasn't been updated. It will be updated when https://github.com/microsoft/vscode/issues/205692 is closed.

Closing this- the various search APIs will likely be modified at once, so we would likely bulk-remove backward compat.


Fix: There's a lot of extra space above the report actions

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/35921
$ https://github.com/Expensify/App/issues/36166
PROPOSAL: N/A
Tests

Open a new chat.
Ensure that the empty state background image is visible in the empty space above the first report action, and confirm it does not occupy the scrollable area.
Verify that the image overlaps the first report action by 60px.
Send messages.
Verify that when space is limited, the background image is truncated at the top, preventing scrolling to view the entire image.

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

Offline tests

N/A
QA Steps

Same as above tests.

[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: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb 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 either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[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 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(theme.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 the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[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.

Screenshots/Videos

Android: Native

https://github.com/Expensify/App/assets/77965000/e961325a-a1e8-4825-a9f2-8af34bebc29d

Android: mWeb Chrome

https://github.com/Expensify/App/assets/77965000/d0b6f992-fe42-433a-a735-fe0a84ba5c2f

iOS: Native

https://github.com/Expensify/App/assets/77965000/d3b57969-aa2e-45e8-a181-f939f2d8e940

iOS: mWeb Safari

https://github.com/Expensify/App/assets/77965000/021bb39d-2dc8-4ec4-9408-f1803cf1e2c1

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/77965000/cf64cade-7e2f-4b20-99e4-aecac487c1c5

MacOS: Desktop

https://github.com/Expensify/App/assets/77965000/aeabb9f0-8110-4581-9bc0-3f1ca69a5779

@yuwenmemon Can we trigger an ad-hoc build, so the design changes can be reviewed easily?

Hmm I think the background image should scroll with the content, so that at some point the background image just scrolls off the view entirely.

Hmm this does not work at all on mobile web.
On Tue, Mar 26, 2024 at 4:49 PM github-actions[bot] <
@.***> wrote:

🧪🧪 Use the links below to test this adhoc build on Android, iOS,
Desktop, and Web. Happy testing! 🧪🧪
Android 🤖 iOS 🍎
https://ad-hoc-expensify-cash.s3.amazonaws.com/android/38449/index.html ❌
FAILED ❌
[image: Android]
https://camo.githubusercontent.com/d888d9c22046b3163e075e777251134b6b6d27d803a74e7ee8d0ffa5594e06d7/68747470733a2f2f6170692e71727365727665722e636f6d2f76312f6372656174652d71722d636f64652f3f73697a653d3132307831323026646174613d68747470733a2f2f61642d686f632d657870656e736966792d636173682e73332e616d617a6f6e6177732e636f6d2f616e64726f69642f33383434392f696e6465782e68746d6c The
QR code can't be generated, because the iOS build failed
Desktop 💻 Web 🕸
https://ad-hoc-expensify-cash.s3.amazonaws.com/desktop/38449/NewExpensify.dmg
https://38449.pr-testing.expensify.com
[image: Desktop]
https://camo.githubusercontent.com/d8067fad09367cd28ecaa6a73f73f44b43d0791a3b07caaf2ced1a3afc06d929/68747470733a2f2f6170692e71727365727665722e636f6d2f76312f6372656174652d71722d636f64652f3f73697a653d3132307831323026646174613d68747470733a2f2f61642d686f632d657870656e736966792d636173682e73332e616d617a6f6e6177732e636f6d2f6465736b746f702f33383434392f4e6577457870656e736966792e646d67 [image:
Web]
https://camo.githubusercontent.com/286f24687aa5c28e8858290cead687b718ebd7b38bf37f48766edcbe89b6cad1/68747470733a2f2f6170692e71727365727665722e636f6d2f76312f6372656174652d71722d636f64652f3f73697a653d3132307831323026646174613d68747470733a2f2f33383434392e70722d74657374696e672e657870656e736966792e636f6d
👀 View the workflow run that generated this build
https://github.com/Expensify/App/actions/runs/8442497299 👀
—
Reply to this email directly, view it on GitHub
https://github.com/Expensify/App/pull/38449#issuecomment-2021444837, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AARWH5QZAI5ZDBUPJDNKCE3Y2HNMDAVCNFSM6AAAAABE2HO5LSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMRRGQ2DIOBTG4
.
You are receiving this because you commented.Message ID:
@.***>

Would it be possible to show the remaining part of the placeholder image (instead of a white rectangle) when scrolling beyond the base scrolling range, i.e. when I "pull the spring"?

Yup, totally agree with that!

Unfortunately, it's not possible to display the remaining part of the placeholder image when scrolling beyond the base scrolling range.

Did you try removing overflow:hidden from the wrapper that has the background image?
Also another small thing, if you zoom in it looks like the background image is getting cut off at the bottom whereas it's supposed to look like a clean fade:

Also another small thing, if you zoom in it looks like the background image is getting cut off at the bottom whereas it's supposed to look like a clean fade:

Although maybe that's just a poor screenshot quality, because when I test on Web it looks fine.

Hmm but can't we use some kind of absolute positioning to make sure that element doesn't occupy scrollable space and it just kinda "floats" above the top-most content?

I'll try experimenting on this.

@rayane-djouah rayane-djouah requested a review from https://github.com/orgs/Expensify/teams/design

@rayane-djouah How does the current state of the implementation relate to the demo I provided on the issue thread?
Are we really ready for another round of design review? 🤔

I got it! Let me know if you have any concerns or doubts. The demo I provided is minimalistic and makes use of layout callbacks. It seems that there's no 100% direct (style-only) way to achieve the desired effect. Incorporating the approach from the demo into Expensify is a separate problem, and I didn't mean to suggest it's trivial.

Yeah, I was afraid there might be some gotchas. I'll give it a look.

I feel that you suggested that our flat list being "inverted" is the issue, but the problem begins earlier. In general, it's not really possible to achieve the effect from my demo when using FlatList (or something based on it), or at least I don't know such a way.
To work it around, we could implement something like this...
type FlatListFactory<ItemT> = {
    /**
     * Render a real flat list, without a measurement support.
     */
    renderFlatList(props: BasicFlatListProps<ItemT>): React.ReactElement,
};

type BasicFlatListProps<ItemT> = Pick<FlatListProps<ItemT>, 'ListHeaderComponent' | 'data' | 'renderItem'>; // and more...

type FlatListContentSizeChangeEvent = {
    /**
     * The height of the flat list's content (excluding the header)
     */
    readonly contentHeight: number;
}

type MeasurableFlatListProps<ItemT> = BasicFlatListProps<ItemT> & {
    /**
     * Called when scrollable content view of the flat list changes. Invoked only if the list is in the "scrollable" mode.
     */
    onContentSizeChange: (event: FlatListContentSizeChangeEvent) => void;
}

type HybridFlatListProps<ItemT> = MeasurableFlatListProps<ItemT> & {
    /**
     * If the item count is below this threshold, the list will be in the "scrollable" mode and will render a
     * `ScrollableFlatList`. Otherwise, it will be in the "real" mode and will render a real flat list.
     */
    itemCountThreshold: number,

    /**
     * A factory that allows rendering a real flat list if in the "real" mode.
     */
    realFlatListFactory: FlatListFactory<ItemT>,
};

/**
 * A simple implementation of a subset of the `FlatList` API, backed by the `ScrollView`. Supports content measurement.
 */
function ScrollableFlatList<TItem>({data, renderItem, onContentSizeChange}: MeasurableFlatListProps<TItem>) {
    return (
        <ScrollView
            onContentSizeChange={(width, height) => {
                // ...
            }}
        >
            {/* implementation... */}
        </ScrollView>
    )
}

/**
 * `onContentSizeChange` is invoked only if the list in in the "scrollable" mode.
 */
function HybridFlatList<TItem>(props: HybridFlatListProps<TItem>) {
    const {data, itemCountThreshold, realFlatListFactory} = props;

    if (data.length < itemCountThreshold) { // "scrollable" mode
        return <ScrollableFlatList {...props} />;
    } else { // "real" mode
        return realFlatListFactory.renderFlatList(props);
    }
}

We could quite easily implement FlatListFactory<ItemT> for InvertedFlatList.
I believe we could then implement EmptyStateFlatList based on HybridFlatList, benefiting from its onContentSizeChange and ListHeaderComponent.
There are some gotchas:

What subset of FlatListProps would we need in BasicFlatListProps? The less, the easier it will be to implement ScrollableFlatList and the lower is the risk of some kind of "jump" during switching between the "scrollable" and "real" mode.
Could we actually get all the overflow effects we need from ListHeaderComponent? Do we need to change the API to include some of our assumptions about overflows?
This is getting much more complex than what I initially thought

Okey, an update from my side:
I spent quite some time implementing a sketch of a new solution, assuming that FlatList doesn't support onContentSizeChange. In fact, it does (as its props extend ScrollViewProps), and likely that's what you used in this solution:

I attempted the current method with FlatList, and it worked

Could you comment on how onContentSizeChange works on FlatList, according to your observations? Does it give strong guarantees (i.e. actually calculates the height of all data items), or does it handle it in some best-effort way, for example reporting only the actually rendered items? Whichever it is, are confident that it can work well for our needs in all cases?

but the issue arises with InvertedFlatList.

I'm done for today, could you try hacking on the demo, reverting the math vertically where required? Or is it more complex than that?

@cubuspl42 I don't see the need for layout callbacks like onContentSizeChange. I removed these callbacks from your demo, and it still works as expected. I also tried it with FlatList without the callbacks, and it worked.

I'm very confused; those callbacks did something! 🤔 Please share a fork of my demo!

Awesome! I'm exploring your implementations.

"Rubber banding" in the context of web design refers to a visual effect often used on mobile interfaces. When you try to scroll beyond the edge of a page or a list, the content will move as if it's being pulled by a rubber band, but it will bounce back into place when you let go. This gives the user a clear indication that they've reached the end of the available content.

Our goals:

For content smaller than the screen height, the empty state image should fill the empty space
For content higher than the screen height, only a small part of the empty state image should be visible
a. ...but during rubber banding, it would be preferable to expose the rest of the empty state image

We have this figured out for Native, but are struggling on the Web because of the FlatList quirks.
My idea:
import React from "react";
import {FlatListProps, ScrollView, ScrollViewProps} from "react-native";

type BasicFlatListProps<ItemT> =
  ScrollViewProps
  & Pick<FlatListProps<ItemT>, 'ListHeaderComponent' | 'data' | 'renderItem'>; // and more (?)...

type HybridFlatListMode = 'short' | 'long';

type HybridFlatListProps<ItemT> = Omit<BasicFlatListProps<ItemT>, 'ListHeaderComponent'> & {
  /**
   * If the item count is below this threshold, the list will be in the "short" mode and will render a
   * `ScrollableFlatList`. Otherwise, it will be in the "long" mode and will render a real flat list.
   */
  itemCountThreshold: number,

  renderHeader: (mode: HybridFlatListMode) => React.ReactElement,
};

function ScrollFlatList<TItem>(props: BasicFlatListProps<TItem>) {
  const {data, renderItem} = props;

  return (
    <ScrollView {...props}>
      {/* implementation... */}
    </ScrollView>
  )
}

function HybridFlatList<TItem>(props: HybridFlatListProps<TItem>) {
  const {data, renderHeader, itemCountThreshold} = props;

  const mode = data.length < itemCountThreshold ? 'short' : 'long';

  if (mode === 'short') {
    return <ScrollFlatList {...props} />;
  } else { // "real" mode
    return (
      <InvertedFlatList {...props}>
        {/* implementation... */}
      </InvertedFlatList>
    );
  }
}

/**
 * Cropped empty state image. I'm not sure what "cropped" means technically, but as the last resort, we could just use
 * another .jpg image.
 */
function CroppedEmptyStateImage(): React.JSX.Element {
  throw new Error("TODO: Implement");
}

/**
 * Position "absolute", etc.
 */
function ShiftedEmptyStateImage(): React.JSX.Element {
  throw new Error("TODO: Implement");
}

type EmptyStateFlatListProps<ItemT> = {
  readonly data: ReadonlyArray<ItemT>;
  readonly renderItem: FlatListProps<ItemT>['renderItem'];
}

// Web:
function EmptyStateFlatList<ItemT>({data, renderItem}: EmptyStateFlatListProps<ItemT>) {
  return (
    <HybridFlatList
      data={data}
      renderItem={renderItem}
      renderHeader={(mode) => {
        switch (mode) {
          case "short":
            return <ShiftedEmptyStateImage />;
          case "long":
            return <CroppedEmptyStateImage />;
        }
      }}
      itemCountThreshold={16} // arbitrary, let's pick it experimentally having Expensify one-line messages in mind
    />
  )
}

// Native:
function EmptyStateFlatList<ItemT>({data, renderItem}: EmptyStateFlatListProps<ItemT>) {
  return (
    <InvertedFlatList
      data={data}
      renderItem={renderItem}
      ListHeaderComponent={ShiftedEmptyStateImage}
    />
  )
}

This achieves all goals on nearly all platforms:

On Native, we already have a working solution, so let's utilize it
On the Web, let's implement a "fake" FlatList implementation for short lists, when we need the empty state image the most and when performance means the least

We lose the rubber banding effect, but only on the mWeb, as rubber banding is disabled in Expensify on desktop Web anyway

This is just an inspiration; let me know what you think about it and if you'd like to experiment on it. If you have any better ideas to achieve our goals with reasonable trade-offs, I'm open to hearing them!

I'm not sure if this solution doesn't have any quirks; for example, I'm not sure if React will correctly maintain the identity of the item during the switch between the "hybrid modes". But if we keep the same item keys, I guess it should...

It might be tricky to maintain the scrolling state; we might need to do some custom tricks to "move" it between the ScrollableView and FlatList 😕
It's kind of complicated, I won't lie, I wish we had something simpler. Eh, sometimes achieving a seemingly simple UI can be such a challange.

Does that mean this is ready to be re-tested again? Happy to spin up a test build if so.

Ah, I would consider that a blocker personally. Are we able to fix that?

Hi @rayane-djouah!
Can you please resolve the conflicts here?

@eh2077 Would be taking this over. I had to focus on other high priority issues.

Spent some time to catch up previous discussions.
@rayane-djouah Let me spend a bit more time to dig deeper and I'll feedback on your question about Overflow part is not showing in the over-scroll area in mWeb Safari later.
Can you please fix the lint error?

we have the "Overflow part is not showing in the over-scroll area in mWeb Safari" bug because of the behaviour of ScrollView (FlatList use ScrollView under the hood) as I explained https://github.com/Expensify/App/pull/38449#issuecomment-2041527898. Do you have any ideas on this?

The root cause of the inconsistency on mobile Safari is still not clear to me. Can you elaborate on it?
If we can't fix this in App, is it possible to fix it in the upstream?

Okay I think this is feeling pretty good and it's a major improvement, I think we can leave with the mWeb Safari bug where the rest of the BG image isn't exposed when you bounce scroll/stretch the view a bit.
But that being said, there is still a visible gap between BG and the top of the page on mWeb, and I think we should at least address that:

Also cc @Expensify/design to test this one out too (when things are stable...)

I'm having trouble to login on mobile device. Not sure if it's because of site issue. I'll continue testing when the site is full recovered.

Confirming that the Safari mWeb bug seems to be gone, nice! Let's get this into final review and hopefully merge soon.

I'm re-testing it

Reviewer Checklist

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

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] 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)
[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 checked that screenshots or videos are included for tests on all platforms
[x] I included screenshots or videos for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] 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
[x] I verified proper code patterns were followed (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] 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 either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[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 verified that this PR follows the guidelines as stated in the Review Guidelines
[x] 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)
[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] 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] 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(theme.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 the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[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 reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

https://github.com/Expensify/App/assets/117511920/75286fc1-8fc2-4252-90d0-42845de90632

Android: mWeb Chrome

https://github.com/Expensify/App/assets/117511920/c841d3bd-fcc0-4dd2-9a9f-73ced7239395

iOS: Native

https://github.com/Expensify/App/assets/117511920/ac5dcbd3-dbdc-41d5-b624-feafe20838af

iOS: mWeb Safari

https://github.com/Expensify/App/assets/117511920/1dd5621c-db47-4791-ab5f-7f75882eca8d

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/117511920/9f28e214-3e76-478b-ab59-96ad02c89f29

MacOS: Desktop

https://github.com/Expensify/App/assets/117511920/b2c9a160-eb17-4933-8bac-80b63d0af369

Love it, cc @allroundexperts @yuwenmemon - who needs to do the final review here?

LGTM, just waiting on merge freeze to be lifted.

: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/yuwenmemon in version: 1.4.77-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

This PR most likely caused this issue https://github.com/Expensify/App/issues/42760 but I think we could fix it here: https://github.com/Expensify/App/pull/42629

I think it's possible that this PR also caused this regression https://github.com/Expensify/App/issues/42795. Specifically the part where the background UI is overlapping the report

Wow yeah this doesn't look great:

🚀 Deployed to production by https://github.com/puneetlath in version: 1.4.77-11 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/puneetlath in version: 1.4.77-11 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


LICENSE file is missing a copy right

We are using randen in our Homomorphic Encryption library.
https://github.com/virtualsecureplatform/TFHEpp/tree/master/thirdparties/randen
But, your LICENSE file is missing a copyright.
https://github.com/google/randen/blob/717ced67384bde1dd371589566bbc294fc42e20a/LICENSE#L190
It may good for users to add proper information here.

Thanks for letting us know!
I believe it is standard practice for Google open source projects to copy the unchanged Apache 2 license text and put the copyright in the license header at the start of every source file. Is that sufficient for your needs?

Oh, I didn't know that. If you think preserving the license and copyright notice at the start of every source file is enough to use this library, I have no problem.
Thank you for your quick reply.

You're welcome :)


Fix issue#108 and issue#109

Status of existing AAD integration:

Workaround for AAD with TLSv1 enabled:
-Dweblogic.security.SSL.minimumProtocolVersion=TLSv0
Set the parameters in ${wlsDomainPath}/bin/setDomainEnv.sh

I will apply the solution to cluster and dynamic cluster offer after review.

Testing:

AAD:  TLSv1 enabled
WebLogic on owls-122130-8u131-ol74 connects to AAD successfully.
WebLogic on owls-122140-8u251-ol76 connects to AAD successfully.
WebLogic on owls-141100-8u251-ol76 connects to AAD successfully.
WebLogic on owls-141100-8u251-ol76 connects to AAD successfully.

AAD:  TLSv1 disabled, real version is TLSv1.2
WebLogic on owls-122130-8u131-ol74 connects to AAD successfully.
WebLogic on owls-122140-8u251-ol76 connects to AAD successfully.
WebLogic on owls-141100-8u251-ol76 connects to AAD successfully.
WebLogic on owls-141100-8u251-ol76 connects to AAD successfully.


rollover behavior with arguments for 'right side' increments

Should an update to a 'left side' field allow 'right side' fields to be updated if an argument is specified to do so?
Example use case: the minor version should start at '1' instead of '0'.
[bumpver]
current_version = "26.1"
version_pattern = "MAJOR.MINOR[.PATCH][PYTAGNUM]"

Major version update does a rollover and resets minor field to 0:
$ bumpver update --major
INFO    - Old Version: 26.1
INFO    - New Version: 27.0

Adding a 'minor' version update to the same command does not affect the minor version field.
$ bumpver update --major --minor
INFO    - Old Version: 26.1
INFO    - New Version: 27.0

Should the minor argument increment the minor version in this case or is the default rollover behavior preferred?

I think you could argue for either one, but this is worth noting I think: https://semver.org/#spec-item-8

Patch and minor version MUST be reset to 0 when major version is incremented.

I don't see a compelling argument to change this behaviour atm.

Ok, thats fine. Will close this.

I think you could argue for either one, but this is worth noting I think: https://semver.org/#spec-item-8

Patch and minor version MUST be reset to 0 when major version is incremented.

I don't see a compelling argument to change this behaviour atm.

Ok, thats fine. Will close this.


Support multi projects angular repository

Description
Context
Today our schematics (ng add included) are required to be run on one specific project of an Angular repository.
An Angular repository can be composed of several projects (applications and/or library).
In our current implementation, as only one project is considered, the first one is taken as default.
Proposal

Determine which schematics should be apply to Application, Library or Both
Determine if the schematic require to target only one project (and then turn this project parameter as mandatory)
Fix the schematics that should be applied to all the projects (according to their type?) of the repository
Deprecate the getProjectFromTree function to turn the project name to mandatory parameter

Requires #357

Requires #633


Explain PostgreSQL limitations

Hi, I'm not sure if I put this paragraph to the right location. Should it be somewhere else?


Todolist

A todo list app with the features of

create a project
create task
edit task
delete task

we used HTML, Javascript and CSS with the tailwindcss framework

Hello @rOluochKe, 🙏 thank you for your kind comment, but as you wrote, the start script is optional and, it will not add any new functionality for our project because the dev script works well to run the project locally.


[Blog Contribution] MicroProfile 6, Jakarta EE 10, and Java SE 20 support in Open Liberty <IP_ADDRESS> release

MicroProfile.io WordPress
Social Media Description

[ ] MicroProfile 6.0 enables applications to use MicroProfile APIs with @JakartaEE Core Profile 10 and other updates, including the new MicroProfile Telemetry. @OpenLibertyIO <IP_ADDRESS> provides support for MicroProfile 6 as well as the Jakarta EE 10 profiles and Java SE 20.

Design Card  (for MicroProfile designer)

[ ]  Minimal requirements highlight the MicroProfiler & the title of the blog

Notes
To help with everything

Happy April all! :) Thanks

I will post on SM about this blog this week.
On the MP 6 compatible page it shows the 4 latest blog post for MP 6.o. This is not showing up because there are 4 new post. Please let me now what other changes

Scheduled.

Nice graphic! :D


Radio source pause/play gets stuck

What version of Music Assistant has the issue?
2024.1.0
The problem
Pausing/Resuming on radio channels don't always resume audio.
How to reproduce
When listening to a radio channel "Classic FM" (the UK one) and pressing the play/pause button on our mediaplayer (slimproto based), if you press it again soon, the radio will resume, but if you press it after a few hours MA will not resume.
The player immediately pauses again.
Workaround is to re-start the radio.
Relevant log output
No response
Additional information
I feel that if you're listening to internet radio, the play/pause buttons should really operate more like a mute/unmute button.
What version of Home Assistant Core are your running
2024.1.5
What type of installation are you running?
Home Assistant OS
On what type of hardware are you running?
Generic x86-64 (e.g. Intel NUC)

Please find some supporting logs. A large number of things could have happened in those intervening hours....

I had the issue happen again, and this is the error in the logs (it seems almost unrelated):
2024-01-27 22:25:34.681 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_protocol.py", line 452, in _handle_request
    resp = await request_handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_app.py", line 543, in _handle
    resp = await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/metadata.py", line 360, in handle_imageproxy
    image_data = await self.get_thumbnail(path, size=size, provider=provider)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/metadata.py", line 344, in get_thumbnail
    thumbnail = await get_image_thumb(self.mass, path, size=size, provider=provider)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/images.py", line 49, in get_image_thumb
    return await asyncio.to_thread(_create_image)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/asyncio/threads.py", line 25, in to_thread
    return await loop.run_in_executor(None, func_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/images.py", line 43, in _create_image
    img = Image.open(BytesIO(img_data))
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/PIL/Image.py", line 3309, in open
    raise UnidentifiedImageError(msg)
PIL.UnidentifiedImageError: cannot identify image file <_io.BytesIO object at 0x7f224ab8e5c0>

I repeated the action and got the same error in the logs. Does this help?

Thanks. If you can add a couple of lines from above the error that would also be good.

If you pause a stream, it will stop after 30 seconds of inactivity anyways - otherwise the entire buffer would overflow and/or you run into out of memory issues. For regular tracks, the last position is remembered so that if you press play again, it will continue where you stopped.
For radio streams this is a whole different story as those are supposed to be realtime. Maybe a few seconds buffered but no more than that.
Sounds like there's a bug in resuming a radio stream if I hear this correctly. I'll try to reproduce.

Reproduced the issue and fixed it.
Next beta (beta89) will have the fix included.