Downloading from Funimation dont work

so trying to download from funimation with anime-dl.exe -i "https://www.funimation.com/shows/fairy-tail/" -u "PRIVATE" -p "PRIVATE" -r "1080p" -l "english" -rn 1-10 but get this error
('This lang : ', 'english')
Traceback (most recent call last):
File "anime_dl_main_.py", line 18, in
File "anime_dl_main_.py", line 75, in main
File "anime_dl\AnimeDL.py", line 46, in init
File "anime_dl\sites\funimation.py", line 16, in init
File "anime_dl\sites\funimation.py", line 71, in singleEpisode
AttributeError: 'NoneType' object has no attribute 'group'
[6900] Failed to execute script main
attached my error log file changed my password and username to PRIVATE in log and command
Error Log.log

Check #30

Do you have an update on it if its soon and have you not said that it would work eith subs ?

No update. As soon as I get some time and motivation, I'll work on it.


Fix proxy admin deployment in script

TITLE
Description
Description of the pull request changes and motivation.
Type of change
Please delete options that are not relevant.

[ ] New feature
[ ] Bug fix
[ ] Optimization
[ ] Refactor

Checklist

[ ] “Hotfix” to testnet, everything else to staging
[ ] Linked to Github Issue
[ ] This change depends on code or research by an external entity

[ ] Acknowledgements were updated to give credit

[ ] Unit tests added
[ ] This change requires new documentation.

[ ] Documentation has been added/updated.

[ ] This change is an Optimization

[ ] Benchmarks added/run

[ ] Has a known issue

Link to the open issue addressing it

[ ] If your PR changes the Operator compatibility (Ex: Upgrade prover versions)

[ ] This PR adds compatibility for operator for both versions and do not change batcher/docs/examples
[ ] This PR updates batcher and docs/examples to the newer version. This requires the operator are already updated to be compatible

Fixes issues:

L-01
L-04
L-05
L-06
N-01
N-03
N-04
N-05
N-07
N-08
N-010
N-011
N-012

Fixes Least Authority Suggestion 2


add cygwin support

hi... would like to move to this package but need cygwin support before doing so.  any plans to add it back like the former R-Box and SendTextPlus packages?  Thanks!

You can configure cmder or conemu to launch Cygwin. The Cygwin gui is a kind of "low tech" and it is hard to support in long term.


Expose Country only when it's safe

I think I would prefer to raise an error here since we already have facilities to prevent this name conflict, then have it fail silently.

Either way - I'm OK. Just wanted to avoid :require => ... in Gemfile ;))

I'm bumping into this issue where I already have a Country global, and I thought to open a similar PR. However, I thought instead of magically defining a Country class, why not explicitly require "countries/global" if you need the old behavior?

@kennethkalmer I like the idea of just switching the default behavior vs dynamically detecting if we are going to conflict.

I have a PR using @kennethkalmer suggestion, here #285

Closed in favor of #285


replaceRevive: Throw an error on trying to revive unknown serialized …

…type.
If we know SERIALIZED_TYPE_FIELD_NAME in value, then we should be
able to enumerate all the possible values of
value[SERIALIZED_TYPE_FIELD_NAME]. In fact, that's the job of the
reviver's big switch/case: to enumerate all those possible values
and handle each one appropriately.
The default: case should be impossible, if we've included a case
for each possible value of value[SERIALIZED_TYPE_FIELD_NAME].
Currently, it looks like we have included all the necessary cases.
But we'll want to know right away if we've made a mistake, rather
than waiting for it to cause a problem somewhere later, where it'll
be harder to debug.
See discussion [1], where Greg identified this problem and solution.
[1] https://chat.zulip.org/#narrow/stream/243-mobile-team/topic/.23M4458.3A.20.22t.2Eget.20is.20not.20a.20function.22.20on.20state.2Enarrows.20at.20sta.2E.2E.2E/near/1115886

Thanks! Merged, with a tweak of just adding a code comment (with some of the material that was already in the commit message.)


Add macOS instructions to website

Hey @Kilian, I got Trimage into Homebrew.
If you are interested in the process, you can see my struggles here: https://github.com/Homebrew/homebrew-core/pull/52076
There are some minor issues with the app on macOS as it is, but it works well enough.

:exploding_head:


How to restore projects by using project.json instead of project.csproj?

Environment data
VS Code version:
1.9.0
C# Extension version:
1.6.2
Steps to reproduce
I setup a project by the command yo aspnet, and then, want to run dotnet restore.
Expected  behavior
it displays infomations as following:
MSBUILD : error MSB1003: Specify a project or solution file. The current working  directory does not contain a project or solution file.
Actual behavior
but there is a project.json file in the project root directory, there isn't a project.csproj file now.
Is it because the runtime found project.csproj file instead of project.json file?
How to set the runtime to find my project.json file?

Note that this is really a .NET Core SDK question rather than a question about C# in VS Code. However, the trick is to use a version of the .NET Core SDK that still supports project.json (preview2 builds of the .NET Core SDK are generally good). Then, add a global.json to the directory that looks like so:
{
    "sdk": {
        "version": "1.0.0-preview2-1-003177"
    }
}

Or, you can add the "sdk" property to your existing global.json if it's already there. The version number should be for a .NET Core SDK version that you have installed. You can get the version I listed about at https://www.microsoft.com/net/download/core#/current if you don't have it already.
Once you have the "sdk" property pointing to a version of the .NET Core SDK supporting project.json that you have installed on your machine, all dotnet operations will use the specified version.
If you need further help, you might try asking on the https://github.com/OmniSharp/generator-aspnet repo, or https://github.com/dotnet/cli.

I'm going to go ahead and close these. Do let me know if the instructions above don't work for you.

thanks for your useful solution. And I'm sorry that I ask questions here, this is just because I don't know what the question reference from.

No worries about asking the question, just wanted to mention it in case you have other questions at the command-line. We might not be as equipped to answer those for you.


--without-gflags is not working

Platform: Fedora 24 x86-64
Autoconf version: 2.69
./configure --without-gflags
(lots of output)
...
checking for main in -lgflags... yes
and inside config.status
D["HAVE_LIB_GFLAGS"]=" 1"
So how can I build without gflags?

so why not install the gflags?  it is easy to install gflags :)

Well, I use Qt5 as my app framework and I just don't want to have two command line parser(gflags & QCommandLineParser) exist in my project :)

after i remove gflags lib , i tried to run ./configure --without-glags, then  i got this
checking for main in -lgflags... no
checking for gtest-config... no
checking for main in -lgtest... no

so, i cant reproduce your results...
maybe you should update something, i guess.

That's what i'm trying to figure out. Thanks anyway.

By the way, I have gflags installed on my server but i don't want to use it. Maybe that's the difference from your test.

the flag doesn't ever exist and i think the only way to do this is to manually patch configure.ac and use autoconf to generate a new one.

./autogen.sh && ./configure --without-gflags && make
Cannot build, and still need gflags.
Commit tag : 925858d9969d8ee22aabc3635af00a37891f4e25


4/4! - transform functions.

final pull request for #154
transforms demo,
predefined transforms & their tests
I really wanted to name the file code_transformers... :robot:

Any suggestions as to how to satisfy travis about the demo test error?

I think you need to add the code block that is at the top of the general demo (the one that is there for testing purposes). This is admittedly ugly but we haven't figured out a better way yet.

ready for review :tada:

Is it true that arXiv:1208.5986 implicitly assumes that the number of qubits is a power of 2? Our implementation does not.

@kevinsung no, that is not assumed in any way by arXiv:1208.5986.

I had been under the impression that the Fenwick tree transform was just a different way of implementing essentially the same mapping. But you seem to be correct that there are real difference. This is interesting and suggests that perhaps we should have both types of BK implemented. I am curious to understand more about these differences. If I recall correctly, @VojtaHavlicek implemented the Fenwick tree BK. But @kanavsetia or @jarrodmcc may also have some insights about this difference...
In any event, this is really an issue that is unrelated to the quality of the pull request under review here. I think if you show your BK is isospectral and your JW gives the same JW transform as elsewhere in OpenFermion, that should be enough.

I have not scrutinized 1208.5986, but my understanding is that it defines the BK transform for powers of 2 and then reduces the case of a general integer by using its binary expansion and applying multiple power-of-2 BK transforms.

I think @kevinsung got it right. BK transform of 1208.5986 explicitly defines the transform for powers of 2 (as is evident from figure2 in the paper) but that is not the case for 1701.07072, which is more general.
And I think this is what is causing the discrepancy. For 1208.5986 no matter how many qubits you use, even qubits will always hold just their occupancy, and odd qubits contain their occupancy as well as occupancy of other adjacent qubits. So, if you are looking for the occupancy of 6th qubit, no matter the total number of qubits (which in this case will always be powers of 2), you will always just operate of 6th qubit.
But this is little different for 1701.07072, where, which qubit stores what is also dependent on the number of qubits. If you have total number of qubits as some power of 2, I think you will get the same answer as in 1208.5986. But for general case this will be different.

I understand what you are talking about now. I thought Kevin was saying it would only work for a binary power number of qubits.

Yes, the Fenwick tree approach is more general, and I think it should be relatively straightforward to use the existing Fenwick tree code to define the BinaryCode used in bravyi_kitaev_code (I admit I don't know the details though).

This would be a nice but I won't require it. So long as their Jordan-Wigner encoder matches our Jordan-Wigner and their Bravyi-Kitaev encoder gives the transformation from 1208.5986 while also being isospectral, to our JW/BK, I think that is good enough for now.

Sure, I agree that this should not be a requirement for this PR. However, if we plan to keep two different implementations of BK in OpenFermion then we should remember to make it clear in the documentation.

Ok - I will add the tests and in the description for BK I'll mention which paper the transformation is based on.

ready for review!

ready!


[INTEGRATION] Snowflake Object Tagging

What is the target system?
Snowflake
What kind of integration is this?

[ ] Produces OpenLineage metadata
[X] Consumes OpenLineage metadata
[ ] Something else

How should this integration be implemented?
Background
Snowflake offers a tagging mechanism that can be used to, for example, identify sensitive information in a database. We believe that it could be useful to collect these tags while observing Snowflake workloads, so users could study them in a lineage context.
There is a hierarchy for object tagging in Snowflake: column-level, table-level, schema-level, etc. There are multiple ways to query for the existence of tags, depending on the scope, and some of them are recursive. From the Snowflake docs:

Tag inheritance means that if a tag is applied to a table, the tag also applies to the columns in that table. This behavior is referred to as tag lineage.

The query that can be used to determine the tags for a table or view “with lineage” is:
select *
from table(my_db.information_schema.tag_references(‘my_table’, ‘table’));

This will return tags on all objects above the table in the hierarchy, but not below it. So if there is a tag on the account containing this table, this will find it. However, if there is a tag on a column of this table, this query will not find it.
Approach
This integration could be accomplished by:

Creating a new facet, TagDatasetFacet, with two properties: tag_key and tag_value, both strings.

Modifying the OPENLINEAGE_ACCESS_HISTORY view so it constructs this new facet for each of its run events, passing along both the key and value of the tag.

Updating the example to include a tagged table.

Open Questions

Should there also be TagColumnDatasetFacet, where we store column-level facets? Since OPENLINEAGE_ACCESS_HISTORY does not include column-level lineage, does it make sense to find & emit tags for columns included in the query? Or should we do this when we implement column-level lineage in this view?
Should the facet also collect the tag's domain? Is it useful when looking at an OpenLineage dataset tag to know that it was actually a tag on the entire schema?

Where should this integration be implemented?

[ ] I am interested in doing this work

@rossturk I'm looking at it.

Creating a new facet, TagDatasetFacet, with two properties: tag_key and tag_value, both strings.

Tags are usually understood as binary on/off labels, just like GitHub labels for example. Do we want to support this in some way in the facet, or is it only for k/v mappings?

Should there also be TagColumnDatasetFacet, where we store column-level facets?

Probably yes. We could include this in the TagDatasetFacet, but I'm not convinced that bundling this makes sense.

Should the facet also collect the tag's domain? Is it useful when looking at an OpenLineage dataset tag to know that it was actually a tag on the entire schema?

Hierarchical tags are likely overkill now. I think if you need something like this, you could make it part of your tag key, like snowflake/pii. Another option is that it could automatically be resolved using dataset's namespace - but I'm not sure that's something that needs to be specified, or left to OpenLineage consumer.

@rossturk I'm looking at it.

Creating a new facet, TagDatasetFacet, with two properties: tag_key and tag_value, both strings.

Tags are usually understood as binary on/off labels, just like GitHub labels for example. Do we want to support this in some way in the facet, or is it only for k/v mappings?

The Snowflake notion of tags are k/v, not on/off. I've borrowed their term, and the way they use it. I'm okay if we choose another name for the facet 👍

Should the facet also collect the tag's domain? Is it useful when looking at an OpenLineage dataset tag to know that it was actually a tag on the entire schema?

Hierarchical tags are likely overkill now. I think if you need something like this, you could make it part of your tag key, like snowflake/pii. Another option is that it could automatically be resolved using dataset's namespace - but I'm not sure that's something that needs to be specified, or left to OpenLineage consumer.

I was thinking more along the lines of just carrying forward the tag domain value from Snowflake, which is used to indicate the scope in which the tag was defined. For example, if you ask Snowflake for all the tags on a table, it will also return tags that were set on the schema, database, and account. As we add that tag to the dataset facet in OpenLineage, it might also be useful to capture an additional value that shows that it is schema-level, database-level, etc.


Just for test

Be sure to do all of the following checklist to help us incorporate
your contribution quickly and easily:

[ ] Any interfaces changed?

[ ] Any backward compatibility impacted?

[ ] Document update required?

[ ] Testing done
Please provide details on
- Whether new unit test cases have been added or why no new tests are required?
- How it is tested? Please attach test report.
- Is it a performance related change? Please attach the performance test report.
- Any additional information to help reviewers in testing this change.

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.2/990/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.1/981/

Build Failed  with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/993/


What does 'mono branch' mean? Where the light-wights ? My GPU is 8g, how can i train? Thank you very much

As we mentioned in the readme:  We also provide a light-weight version based on the monocular 2D detection, which only uses stereo images in the dense alignment module. This means the network only needs the monocular image, so training it requires less memory.

Thank you for your patient answer！

Is your cuda' version 8.0？ Mine is cuda8.0 too and when i ran demo.py there is the problem "RuntimeError: cuda runtime error (30) : unknown error at /pytorch/aten/src/THC/THCTensorRandom.cu:25"  Could you give me any suggestion please.

If you use master or mono branch, please use 0.3.0 pytorch as we recommend in the readme.
If you use 1.0 branch, please use 1.0.0 pytorch.

Is your cuda' version 8.0？ Mine is cuda8.0 too and when i ran demo.py there is the problem "RuntimeError: cuda runtime error (30) : unknown error at /pytorch/aten/src/THC/THCTensorRandom.cu:25"  Could you give me any suggestion please.

If you use master or mono branch, please use 0.3.0 pytorch as we recommend in the readme.
If you use 1.0 branch, please use 1.0.0 pytorch.

It did work, thank you very much!

@PeiliangLi , Hi Peiliang, thanks a lot for your great work and comprehensive paper description. May I ask the mAP performance of the mono branch, if you have evaluated?

hi @XinjieInformatik, yes, but I don't remember the exact number. It underperforms the standard version about 2~3%.

hi @PeiliangLi  thanks! already enough information for me.


Put content cleanup

Some refactoring of put content since PutContent as it stands is difficult to follow and reason about.
Split validation into own object.
Splitting out different responsibilities into separate classes. creating/updating/redirecting
Move some hidden logic in place to make things clearer.
Hopefully this will make it easier to refactor more and understand the flow. There are still a few more things that we can do (observers, PORO etc), but will leave it for now.

looks good 👍 - as saying in person it would be nice if we could define a hash of defined defaults for a content_item payload (potentially interspersed with previous values) to merge into as the payload. As opposed to the situation we have currently where we're using the ContentItem model defaults, then merging in payload, then mixing in previous values. Hopefully that sentence made sense.


New doc: How to upgrade ASP.NET Core 2.0 to 2.1

URL must be https://docs.microsoft.com/en-us/aspnet/core/migration/20-to-21/?view=aspnetcore-2.1
Title Migrate from ASP.NET Core 2.0 to 2.1
See  #6069 ?
Update link in
uid: aspnetcore-2.1
# What's new in ASP.NET Core 2.1

See [Migrate from ASP.NET Core 2.0 to 2.1](xref:migration/index)
See https://www.stevejgordon.co.uk/upgrading-aspnet-core-2-application-aspnet-core-2-1-preview-1 and ask Steve Gordon to review.

@Rick-Anderson See the instructions here: https://blogs.msdn.microsoft.com/webdev/2018/05/07/asp-net-core-2-1-0-rc1-now-available/#migrating-an-asp-net-core-2-0-x-project-to-2-1-0-rc1

All that's in CompatibilityVersion and  #6069
I'll show the new code the templates generate.

@natemcmaster  can you give me the elevator pitch on why the templates went from BuildWebHost to CreateWebHostBuilder
I'd like to add that to this migration doc.

@natemcmaster  bonus if you can tell me why  "AllowedHosts": "*" was added to appsettings.json.

AllowedHosts was added due to https://github.com/aspnet/Home/issues/2954. @Tratcher is the expert on this one.
WebHostBuilder changes were made to make it easier to write integration tests. @javiercn's can share more.

@guardrex  can you review what I say about CreateWebHostBuilder and the links I provide to your testing doc?

Nate is correct on AllowedHosts. 2.1 has a small new host filtering middleware included in CreateDefaultBuilder and setting a real body name in AllowedHosts activates it. The * is only a placeholder for discoverability.


Plaid popup continue to open from resume app

Details

fixed open the plaid popup when resume the app
Fixed Issues

$ https://github.com/Expensify/App/issues/27616
PROPOSAL: https://github.com/Expensify/App/issues/27616#issuecomment-1722491760
Tests

Go to account settings >> Workspace.
Click on the workspace to view its settings.
Click on Cards or Reimbursements settings.
Select "Connect bank account" >> "Connect online with Plaid."
Swipe down from the top of the device's screen to view notifications.
Swipe up to hide notifications.
Observe that the "Connect online with Plaid" popup opens again.

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

Offline tests

QA Steps

same as test

[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 approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

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

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

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

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

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

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

Screenshots/Videos

Android: Native

https://github.com/Expensify/App/assets/16595846/332be986-be46-4f97-be8d-386bff1da3dc

Android: mWeb Chrome

https://github.com/Expensify/App/assets/16595846/e337fcb1-c63f-41a2-8581-3b8039e43db6

iOS: Native

https://github.com/Expensify/App/assets/16595846/550cd13e-c414-41b3-a895-849c4c5f7492

iOS: mWeb Safari

https://github.com/Expensify/App/assets/16595846/5b6c8e4f-1e15-4c09-ad4a-416df42eb17e

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/16595846/1823edb9-1644-4759-a792-72e6026f4fee

MacOS: Desktop

https://github.com/Expensify/App/assets/16595846/61dc4b96-52d2-41f5-83a8-e19021f6308b

Android bug: app restarts when open from launch icon (only on plaid screen)
Already happen on production so out of scope
https://github.com/Expensify/App/assets/108292595/f61ddc4f-e1bf-47b4-aa8a-4483369faf31

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 / Chrome
[x] iOS / native
[x] iOS / 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 approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I 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(themeColors.componentBG)

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If 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 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

Web
https://github.com/Expensify/App/assets/108292595/36c023e1-2eb3-4141-8e25-db1e5973eb83

Mobile Web - Chrome
https://github.com/Expensify/App/assets/108292595/385f8548-87dc-46cb-a072-6d20dc58eccd

Mobile Web - Safari
https://github.com/Expensify/App/assets/108292595/e423f5b7-1b3e-476f-9531-43fb79fde25d

Desktop
https://github.com/Expensify/App/assets/108292595/ddb939a5-e014-418d-ab4f-e1fba50756fc

iOS
https://github.com/Expensify/App/assets/108292595/d2bd3d8f-2577-4a07-a992-287565cd3a53

Android
https://github.com/Expensify/App/assets/108292595/d7a9a4f1-051b-498c-8c6e-abfd8473adcb

@tgolen changes done

🚀 Deployed to staging by https://github.com/tgolen in version: 1.3.93-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/Beamanator in version: 1.3.93-1 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/tgolen in version: 1.3.94-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/tgolen in version: 1.3.94-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/Beamanator in version: 1.3.94-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


[FEAT] Retrieve Current Notification Settings - Backend

Description
Develop server-side logic to retrieve current notification settings.
Acceptance Criteria

The endpoint should be accessible at  /api/notification-settings.
The endpoint should accept HTTP POST requests.
Given a POST request with user data (userId), the system should validate and sanitize the incoming data.
Requests to the endpoint must include a valid authentication token in the Authorization header. Authorization: Bearer <token>

Purpose
Provide a backend service that allows users to retrieve  their notification preferences securely.
Requirements

[ ] Develop server-side logic to retrieve current notification settings.
[ ] Ensure user exists and is authorized for notification settings they want to retrieve.
[ ] Retrieve and return user notification settings when user exists and is authorized.
[ ] Return appropriate error codes and responses in error scenarios

Expected Outcome

Allow retrieving notification settings with appropriate validation and security measures.

Status Codes

200: User settings data found
400: Bad Request
401: Unauthorized
404: User not found
500: A server error occurred

Endpoint
[POST] /api/notification-settings
Request:
Headers:
{
  "Content-Type": "application/json",
  "Authorization": "Bearer <JWT_TOKEN>"
}

Body:
{
  "userId": "String"
}

Responses:
Successful response
{
  "message": "string",
  "success": true,
  "status_code": 200,
  "data": {
    // JSON object containing user notification settings
  }
}

## Example User Settings
{
  "email": false,
  "push-notification": true
}

Error response
{
  "message": "string",
  "success": false,
  "status_code": int
}

Testing
Write unit tests that cover

[ ] Verifying user authentication and authorization to retrieve notification settings
[ ] Appropriate response and status code is returned for various scenarios
[ ] User settings data is fetched and returned correctly

this is not coherent

List (Slack ID) of Team Members working on this issue
Nockk
Victoria
codewithKen
Uloamaka
batman.py

Slack ID of Interns working on this issue.
Nockk
batman.py


Regex hint processor

Regex hint processer
Description
Linked to #523.
Implements a RegexHintProcessor, which only holds custom hints. The hints match the code based on a regex.
This processor does not have any builtin, using it can be done in conjonction with the BuiltinHintProcessor with a composite pattern for example. This is left to the user project of the vm.
Checklist

[x] Linked to Github Issue
[x] Unit tests added
[x] Integration tests added.

Codecov Report

Merging #524 (9ead2d4) into main (278833d) will decrease coverage by 0.01%.
The diff coverage is 90.47%.

@@            Coverage Diff             @@
##             main     #524      +/-   ##
==========================================
- Coverage   92.10%   92.09%   -0.02%
==========================================
  Files          48       49       +1
  Lines        3192     3213      +21
==========================================
+ Hits         2940     2959      +19
- Misses        252      254       +2

Impacted Files
Coverage Δ

src/hint_processor/regex_hint_processor/mod.rs
90.47% <90.47%> (ø)

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

I would suggest this is better implemented as part of a downstream project.
Regardless of that, I strongly suggest to move the regex compilation to the hint compilation step, as it tends to be a major performance bottleneck.

Oh I see, I'll add it to our repo then.
Thanks for the feedback, agreed with the regex compilation remark :)


FIPS AES_GCM IV gen changes

In FIPS mode the IV for AES_GCM must be generated inside the fips module boundary.
Note it has not been enforced in the code, because there are cases where it must still be passed in.
Checklist

[ ] documentation is added or updated
[x] tests are added or updated

Merged thanks.


Clarification Required

Please check these requirements

[X] This feature helps everyone using this package
[X] It's feasible and maintainable
[X] It's non breaking
[ ] I issued a PR with the implementation (optional)

Description
Just wanted to clarify that currently there is an internal logic that will disallow same 2FA code from being used twice?
Is there a way to disable this or this is part of the requirement for TOTP?
My use case:

User with administrative rights tries to login to the portal
User prompted to enter 2FA
User successfully login to portal
User tries to access privilege module
User prompted to confirm 2FA again (still within 30 seconds)
Authenticator app is still showing same 2FA
User tries to enter same 2FA and failed.
User waits for 2FA on Authenticator app to "refresh"
User enters new 2FA
User able to access privilege module

Code sample
This post was meant as a clarification

It does by adding that key to a cache. When a key is entered, it first check if it exists in this cache. If it does, then it's blacklisted.

Note that a prover may send the same OTP inside a given time-step window multiple times to a verifier. The verifier MUST NOT accept the second attempt of the OTP after the successful validation has been issued for the first OTP, which ensures one-time only use of an OTP.

A way to bypass this blacklist would be add an options to bypass the blacklist check, but that would need a major rework.


ReactCurrentDispatcher  Error in Next JS 15.

The error occurs when I upgraded to Next.js version 15. No fancy or extra config, just a regular instance declaration.
react-mobile-picker version: 9.2.1
NextJS version: 15.0.1

Same, NextJS 14 was working fine and it seems not the react 19 issues


Allows input of integers

Please check through luhn.py before accepting PR, in case it is not in the style you like.

Coverage decreased (-15.8%) to 84.211% when pulling 7b79485b4748e183050998514ea430db3fb5f9e6 on johnngnky:master into c26e5c61fbc23006f265a71b9f87dac229e6ed99 on mmcloughlin:master.

Coverage decreased (-15.8%) to 84.211% when pulling 7b79485b4748e183050998514ea430db3fb5f9e6 on johnngnky:master into c26e5c61fbc23006f265a71b9f87dac229e6ed99 on mmcloughlin:master.


Adding biome.package.json

Changes
Please describe
Checklist

[x] Apply one of following labels; major, minor, patch or skip-release
[x] I've updated the documentation, or no changes were necessary
[x] I've updated the tests, or no changes were necessary

Background-jobs-common had lint issues, they are not important and I don't think we need to release a new version of it so marking PR as skip-release and I will release new biome-config version manually


Allow component definitions to set/overwrite parameters of their dependencies.

Changes look good, worst case complexity looks scary, we'll see how bad it is in practice.

@Kangz should be my last commit now. I'd work on running time in case it becomes an issue.

LGTM


"Plugin modules missing or built with a different engine version"

For both AdvancedSessions and AdvancedSteamSessions, i get this popup saying the plugins were built with a different engine version. any idea what to try? I'm using UE5.0.3
also when I try to rebuild them it says the project "could not be compiled. Try rebuilding from source manually."?

fixed it, i needed to generate the cpp project files :p


Impossible to handle the ESC key

Hi,
I did read the documentation but I was not able to find a solution, so here is my problem...
I'd like to be able to handle a key down/press/up of the ESC key but it looks like the event does not bubble up, it might be prevented by the @close event.
My scenario is the following:

Search for a string
The results are live filtered and if I blur the field, I keep the current value and its filtered results.

I only want to blur and erase the current search by using the escape key.
Thank you for your help.
https://jsfiddle.net/francoismassart/nksbya92/2/

Solution I found... Binding @keyup.esc on the parent element in the template...
https://jsfiddle.net/francoismassart/zh4tLx69/4/
WDYT?

The content that you type is not treated as a value so this wouldn’t work. You have to select something, this is not a typeahead component. :(


'loudflare' is not recognized as an internal or external command

Copy/paste is being a bit wonky right now, but the TL;DR is that the call to cargo-generate when you run wrangerl generate is not properly quoted. This means if there's a space in the path, things break, and it won't properly generate.
I'll try to get a more proper report later.

This also affects wrangler preview.


Adds scaffolding for metadata

Codecov Report

Merging #61 (3166977) into develop (f295f99) will decrease coverage by 4.49%.
The diff coverage is 30.00%.

:exclamation: Current head 3166977 differs from pull request most recent head ce8b3d5. Consider uploading reports for the commit ce8b3d5 to get more accurate results

@@              Coverage Diff              @@
##             develop      #61      +/-   ##
=============================================
- Coverage      95.58%   91.09%   -4.50%
- Complexity       115      119       +4
=============================================
  Files             20       24       +4
  Lines            272      292      +20
  Branches          21       21
=============================================
+ Hits             260      266       +6
- Misses             9       23      +14
  Partials           3        3

Impacted Files
Coverage Δ

...in/java/com/citihub/configr/metadata/Metadata.java
0.00% <0.00%> (ø)

.../com/citihub/configr/metadata/MetadataService.java
25.00% <25.00%> (ø)

...m/citihub/configr/metadata/MetadataController.java
33.33% <33.33%> (ø)

...ihub/configr/metadata/SchemaValidationService.java
50.00% <50.00%> (ø)

Continue to review full report at Codecov.

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


market value currency mismatch

column names says market value is in gbp but it looks like transfermarkt now show mkt value in Euros whatever the website origin (.fr / .co.uk etc)
The valuations dataset appears to be all in euros as well.
Not sure if this applies to the whole dataset  or just the last scraped
for example Ousmane Dembele: https://www.transfermarkt.co.uk/ousmane-dembele/profil/spieler/288230
          date   datetime   dateweek player_id current_club_id market_value player_club_domestic_competition_id
 1: 2015-10-06 2015-10-06 2015-10-05    288230             131       250000                                 ES1
 2: 2016-02-04 2016-02-04 2016-02-01    288230<PHONE_NUMBER>                                 ES1
 3: 2016-04-09 2016-04-09 2016-04-04    288230<PHONE_NUMBER>0                                 ES1
 4: 2016-07-22 2016-07-22 2016-07-18    288230<PHONE_NUMBER>0                                 ES1
 5: 2016-10-13 2016-10-13 2016-10-10    288230<PHONE_NUMBER>0                                 ES1
 6: 2017-02-07 2017-02-07 2017-02-06    288230<PHONE_NUMBER>0                                 ES1
 7: 2017-06-19 2017-06-19 2017-06-19    288230<PHONE_NUMBER>0                                 ES1
 8: 2018-01-01 2018-01-01 2018-01-01    288230<PHONE_NUMBER>0                                 ES1
 9: 2018-05-30 2018-05-30 2018-05-28    288230<PHONE_NUMBER>0                                 ES1
10: 2018-12-21 2018-12-21 2018-12-17    288230<PHONE_NUMBER>0                                 ES1
11: 2019-02-28 2019-02-28 2019-02-25    288230<PHONE_NUMBER>00                                 ES1
12: 2019-06-11 2019-06-11 2019-06-10    288230<PHONE_NUMBER>00                                 ES1
13: 2019-12-20 2019-12-20 2019-12-16    288230<PHONE_NUMBER>0                                 ES1
14: 2020-03-05 2020-03-05 2020-03-02    288230<PHONE_NUMBER>0                                 ES1
15: 2020-04-08 2020-04-08 2020-04-06    288230<PHONE_NUMBER>0                                 ES1
16: 2020-10-08 2020-10-08 2020-10-05    288230<PHONE_NUMBER>0                                 ES1
17: 2021-01-05 2021-01-05 2021-01-04    288230<PHONE_NUMBER>0                                 ES1
18: 2021-06-01 2021-06-01 2021-05-31    288230<PHONE_NUMBER>0                                 ES1
19: 2021-12-30 2021-12-30 2021-12-27    288230<PHONE_NUMBER>0                                 ES1
20: 2022-06-03 2022-06-03 2022-05-30    288230<PHONE_NUMBER>0                                 ES1
21: 2022-09-23 2022-09-23 2022-09-19    288230<PHONE_NUMBER>0                                 ES1
22: 2022-11-07 2022-11-07 2022-11-07    288230<PHONE_NUMBER>0                                 ES1
          date   datetime   dateweek player_id current_club_id market_value player_club_domestic_competition_id
    ```

    and the players dataset
    ```
     player_id     pretty_name market_value_in_gbp highest_market_value_in_gbp
1:    288230 Ousmane Dembele               6e+07                     1.2e+08

another issue is with this player  https://www.transfermarkt.co.uk/ertugrul-teksen/profil/spieler/411646
The valuations data for this player was:
> kvalues[player_id == 411646]
         date   datetime   dateweek player_id current_club_id market_value player_club_domestic_competition_id
1: 2018-12-21 2018-12-21 2018-12-17    411646             369        23000                                 DK1
2: 2020-07-31 2020-07-31 2020-07-27    411646             369        90000                                 DK1
3: 2020-12-23 2020-12-23 2020-12-21    411646             369        45000                                 DK1
4: 2021-05-31 2021-05-31 2021-05-31    411646             369        45000                                 DK1
5: 2022-02-14 2022-02-14 2022-02-14    411646             369        23000                                 DK1

his valuations do not have the same dates as the website
the values seems to be in GBP in the dataset
he left the Danish team in jan 2021 but valuations still show him playing there

Actually I see you updated just after I downloaded the data will check again. Thanks!
you re right latest data got Euros values for Teksen!
> kvalues[player_id == 411646]
         date   datetime   dateweek player_id current_club_id market_value player_club_domestic_competition_id
1: 2018-12-21 2018-12-21 2018-12-17    411646             369        25000                                 DK1
2: 2020-07-31 2020-07-31 2020-07-27    411646             369       100000                                 DK1
3: 2020-12-23 2020-12-23 2020-12-21    411646             369        50000                                 DK1
4: 2021-05-31 2021-05-31 2021-05-31    411646             369        50000                                 DK1
5: 2022-02-14 2022-02-14 2022-02-14    411646             369        25000                                 DK1
6: 2022-06-20 2022-06-20 2022-06-20    411646             369        50000                                 DK1

Thanks @BenoitLondon for the answer and for opening the related issues.
For this one, here's what I think we should do:

In the players asset, rename columns

market_value_in_gbp → market_value_in_eur
highest_market_value_in_gbp → highest_market_value_in_eur

In the player_valuations asset, rename column

market_value → market_value_in_eur

Let me know what you think.

yes looks good!


As a user logging into a service requiring MFA, I want to be told clearly that I must use the eduID app every step

This screen is rather clear: 'to proceed to  you must '

If the user chooses to ignore this warning or, perhaps, doesn't read all this text, the next screen is less clear.

'Login without the eduApp is strongly discouraged.' While it is impossble, like the previous screen said.
'The  will not receive your attributes'. Most people have no idea what this means. It means you cannot login to the service.
If the user continues anyway, the next screen is just wrong. It's not the user's institution that denies access.

To be clear: the problem is not that logging in doesn't work, but that after ignoring the first warning, the warnings and errors become less clear and accurate.

Also the word "eduApp" just appears out of nowhere in the second screen.


Registry on EC2 + S3 occasional Timeouts on docker push

Hello,
I'm running v2.0.1 of the registry on a c4.2xl ubuntu ami with docker 1.7.0 and a few times a day when I do a docker push from another ec2 machine in the same VPC, i get a timeout error
Error pushing to registry: Head https://s3.amazonaws.com/my-docker-registry/docker/registry/v2/blobs/sha256/35/35fa464854b0bad3cb48d920d30159251ec3164067e07768eab876b62bd26d33/data?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=<left out>%2F20150717%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20150717T005149Z&X-Amz-Expires=1200&X-Amz-Signature=<left out>&X-Amz-SignedHeaders=host: read tcp <IP_ADDRESS>:443: connection timed out

The last few lines of the registry log are
registry_1  | time="2015-07-17T00:56:31.335673369Z" level=info msg="s3.GetContent(\"/docker/registry/v2/repositories/test/ult-<IP_ADDRESS>beta2/_layers/sha256/35fa464854b0bad3cb48d920d30159251ec3164067e07768eab876b62bd26d33/link\")" trace.duration=550.107376ms trace.file="/go/src/github.com/docker/distribution/registry/storage/driver/base/base.go" trace.func="github.com/docker/distribution/registry/storage/driver/base.(*Base).GetContent" trace.id=709dc503-b0d5-4bfa-a231-53ab24f4042c trace.line=55
registry_1  | time="2015-07-17T00:56:31.960985034Z" level=info msg="s3.Stat(\"/docker/registry/v2/blobs/sha256/35/35fa464854b0bad3cb48d920d30159251ec3164067e07768eab876b62bd26d33/data\")" trace.duration=625.210967ms trace.file="/go/src/github.com/docker/distribution/registry/storage/driver/base/base.go" trace.func="github.com/docker/distribution/registry/storage/driver/base.(*Base).Stat" trace.id=a03e7077-a9a8-4e56-ba98-fa2e9f415b05 trace.line=111
registry_1  | time="2015-07-17T00:56:32.597828653Z" level=info msg="s3.Stat(\"/docker/registry/v2/blobs/sha256/35/35fa464854b0bad3cb48d920d30159251ec3164067e07768eab876b62bd26d33/data\")" trace.duration=636.753926ms trace.file="/go/src/github.com/docker/distribution/registry/storage/driver/base/base.go" trace.func="github.com/docker/distribution/registry/storage/driver/base.(*Base).Stat" trace.id=7329e5c1-3555-4483-90d4-dd5fee5f660c trace.line=111

Here is the docker-compose.yml file that i used to start up the registry server
redis:
  ports:
  - 6379/tcp
  image: redis
registry:
  ports:
  - 443:5000/tcp
  environment:
    REGISTRY_HTTP_TLS_CERTIFICATE: /certs/my_cert.crt
    REGISTRY_HTTP_TLS_KEY: /certs/registry.test.net.key
    REGISTRY_STORAGE_CACHE_LAYERINFO: redis
    REGISTRY_REDIS_ADDR: redis:6379
    REGISTRY_STORAGE: s3
    REGISTRY_STORAGE_S3_ACCESSKEY: <omitted>
    REGISTRY_STORAGE_S3_BUCKET: my-docker-registry
    REGISTRY_STORAGE_S3_REGION: us-east-1
    REGISTRY_STORAGE_S3_SECRETKEY:  <omitted>
    REGISTRY_STORAGE_S3_V4AUTH: 'true'
    REGISTRY_STORAGE_S3_CHUNKSIZE: 5242880
  image: registry:2.0.1
  links:
    redis: redis
  volumes:
  - /etc/certs:/certs

The way I read this is your ami can not communicate with S3 properly.
I would open a ticket with Amazon and mention intermittent network failures.

I did a test, and I spun up a new instance to run the registry on in a different zone and it still presented the same issues.
Error pushing to registry: Head https://s3.amazonaws.com/test-docker-registry/docker/registry/v2/blobs/sha256/a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4/data?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=<omitted>%2F20150717%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20150717T160037Z&X-Amz-Expires=1200&X-Amz-Signature=<omitted>&X-Amz-SignedHeaders=host: read tcp <IP_ADDRESS>:443: connection timed out

@jwhitcraft unfortunately I can hardly think of anything else. read tcp <IP_ADDRESS>:443: connection timed out does point to go failing to establish a connection to S3. Unless the go networking client is broken (which I doubt), this indicates a network issue communicating with S3.
We can, and maybe should, be more defensive / resistant in the code wrt such failures, but something is definitely wrong on AMZ side here.

So, while i see this sometimes with just doing a docker push. i'm seeing it almost every time when i use Jenkins to build my docker files and push to the registry, which is usually 4 builds a time. Could i just be over loading the registry with pushing that much?

Interesting...
To make it super clear: the network error is between your docker daemon and S3, is that correct?

Yes, i do a docker push <my registry>/test/something:latest or jenkins does one for me, it will just and freeze up for like 40 minutes and then spit out the error from above of the error from #710

Ok. So it's definitely a client code issue, and network issue between the docker daemon and S3. Registry is not involved here.
The fact that it freezes up 40 minutes is ridiculous - something is wrong in our code.

@jwhitcraft Are you running the registry in s3 or is s3 remote to your registry instance?

Perhaps, a fix for #432 would address this issue. It doesn't necessarily make sense to redirect in all cases if running a registry outside of s3, especially when data is not actually being fetched.

@stevvooe ,
The Registry code is running on an EC2 machine pointed at S3 for the storage driver, both are in the us-east-1 region.

@jwhitcraft Ok.
This sounds like we have two issues going on here:

Network failures in AWS to S3. You'll have to pursue this through AWS support.
Poor timeouts setting for layer existence checks. We'll need to pinpoint these by looking at the daemon logs. Make sure you have debug enabled by starting docker with -D.

@stevvooe,
Some info from AWS:
Thank you for your patience.
Usually if there is no data being send or received from a TCP socket, it will be closed.
A quick test showed that 20 seconds of inactivity will close it:

root@ubuntu:~# time telnet <IP_ADDRESS> 443
Trying <IP_ADDRESS>...
Connected to <IP_ADDRESS>.
Escape character is '^]'.
Connection closed by foreign host.

real    0m20.432s
user    0m0.001s
sys     0m0.006s

I'm working with our network engineers on the VPC to S3 network issue, but it would seem like the S3 client should time out after 20 second of not seeing any data comeback since that is what S3 does.
I'm still working on getting a client setup to replicate this with debugging on .  We've switched to using file system storage till we can get the network figured out and I can give you more information.

@jwhitcraft Part of the issue here is that we haven't isolated the call that is hanging. I suspect we are seeing some sort of s3 timeout, but it may possibly be in the docker daemon client on redirect.
At this point, we'll take a peak at the reproduction and work from there. The daemon logs will help a lot here.

Since this bug was filed, we fixed the problem where were having with our VPC and S3, we had to add a VPC Endpiont to allow our VPC direct access to S3 with out having to go over our via internal infrastructure which is in the west coast and we are using us-east-1.
Once this was done, i am not seeing any problems and even the push and pulls are happening faster.  I've been running with debug mode one for my clients and I was unable to reproduce what was happening.
I would say that this issue can be closed since it was clearly a network issue.


Improve declarative usage of authentication module

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes #(issue)
How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Please also note any relevant details for your test configuration.

[ ] Test A
[ ] Test B

/build

/build

/build

/test

/test

/test

/rebase test=true

/test

/rebase test=true

/merge


Update quest-helper to v1.4.5

Adds Mage Arena I and II, In Search of Knowledge, The General's Shadow, and Enter the Abyss
Lots of code improvements + documenting

MageArenaBossStep borrows a fair bit of code from HotColdClue, it should include the copyright holders from that file like the other added hot-cold classes do. Otherwise LGTM

MageArenaBossStep borrows a fair bit of code from HotColdClue, it should include the copyright holders from that file like the other added hot-cold classes do. Otherwise LGTM

Done @Nightfirecat

Done @Nightfirecat


Make go install github.com/aler9/rtsp-simple-server@latest work

Describe the feature
go install is a great way to install go executables. It's fast and safe. We can use version number when needed. Since this project already uses semver git tags, it should just work.
Running go install github.com/aler9/rtsp-simple-server@latest currently fails due to the rewrite directive, here's the output locally:
go: downloading github.com/aler9/rtsp-simple-server v0.17.13
go install: github.com/aler9/rtsp-simple-server@latest (in github.com/aler9/rtsp-simple-server@v0.17.13):
        The go.mod file for the module providing named packages contains one or
        more replace directives. It must not contain directives that would cause
        it to be interpreted differently than if it were the main module.

It has been the case since March 2021; https://github.com/aler9/rtsp-simple-server/commit/186a91800a684922efe4f7d1f3367144e9604002

There's a workaround to install from sources in the meantime; do a local clone:
git clone https://github.com/aler9/rtsp-simple-server
cd rtsp-simple-server
git checkout v0.17.13
go install .

Hello, this would be nice to support, but replace directives are quite useful to solve important issues, since they allow to temporarily / permanently replace external dependencies, and i can't forbid them.
Maybe you can open an issue in the Golang repository and ask the maintainers to allow go install and replace to coexist.

My question was indirectly: why no attempt to do a PR upstream was done?
https://github.com/notedit/rtmp/compare/master...aler9:master

Usually there's no time to wait for a PR to get merged. Furthermore, the changes in the RTMP repository are not meant to be merged into master.


Add hexchat hook

Update hooks info in readme

Are you targeting systems without bash entirely?  Couldn't most of the hook scripts just be bash only even if the primary shell was fish?  And prevent all the duplication?

Fish has been a first class citizen in the project so I've been keeping it that way. I'm not really sure how to get an idea of shell usage with this project, but I think a lot of fish shell users fish shell.

Discussing the need for .fish files in this repo outside of profile_helper.fish makes sense (though as I mentioned above I think we'd need to discuss how to even make a decision like that), but not part of this PR so I'll merge.


Updates from orginal repo

Best Practice Checklist
Check these items before submitting a PR... See the Contribution Guide for the full detail: https://github.com/Azure/azure-quickstart-templates/blob/master/1-CONTRIBUTION-GUIDE/README.md

uri's compatible with all clouds (Stack, China, Government)
Staged artifacts use _artifactsLocation & _artifactsLocationSasToken
Use a parameter for resource locations with the defaultValue set to resourceGroup().location
Folder names for artifacts (nestedtemplates, scripts, DSC)
Use literal values for apiVersion (no variables)
Parameter files (GEN-UNIQUE for value generation and no "changemeplease" values)
$schema and other uris use https
Use uniqueString() whenever possible to generate names for resources.  While this is not required, it's one of the most common failure points in a deployment.
Update the metadata.json with the current date

For details: https://github.com/Azure/azure-quickstart-templates/blob/master/1-CONTRIBUTION-GUIDE/best-practices.md

[ ] - Please check this box once you've submitted the PR if you've read through the Contribution Guide and best practices checklist.

Changelog

updates from org repo


screenshot config

hey, i would like to know what is the neofetch configuration in the screenshot

https://github.com/anhsirk0/fetch-master-6000
I believe this is the fetch program, not neofetch

It's this version of pfetch, specifically.

It's this version of pfetch, specifically.


Hammerhead is changing the behavior of the page

Are you requesting a feature or reporting a bug?
Bug
What is the current behavior?
When server returns HTTP status 500, hammerhead throws it's own TypeError, messing with the application's own error handling. If the application handles the HTTP 500 error, it changes it's behavior.
What is the expected behavior?
I am not sure what exactly hammerhead does (monitoring the network requests?) but it should not replace the original exception with type error. Most likely the problem is hammerhead's src/client/sandbox/fetch.js, line 87:
            args[0] = function (response) {
                if (response.status === 500)
                    throw new TypeError();

How would you reproduce the current behavior (if this is a bug)?
We are using "whatwg-fetch": "2.0.3" to do XHR, then check the response and throw an error:
function checkStatus(response) {
  if (response.status >= 200 && response.status < 300) {
    return response;
  }
  const error = new Error(response.statusText);
  error.response = response;
  throw error;
}

const promise = fetch(...).then(checkStatus);

promise.catch(e => console.log(e.message)); // e is TypeError thrown by hammerhead, no message

Specify your

testcafe version: 0.18.3

Hi, @kolman
Thanks for your report.
I've reproduced the problem and created a separate issue in the web proxy repository - https://github.com/DevExpress/testcafe-hammerhead/issues/1397

Hi @kolman,
The fix is published in<EMAIL_ADDRESS>


.NET 4.7.2 is not relevant on this document.

[Enter feedback here]
I just ran the 18.10 setup for SSMS and discovered that .NET Framework 4.7.2 was not installed with this installation file.
Document lists that .NET Framework 4.7.2 remains as a shared component when uninstalling SSSMS.
Why would the document list an unrelated shared component as remaining installed if the setup file never installs it to begin with?

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

ID: 45daf2f0-bb22-338f-062b-a9fabcb71a92
Version Independent ID: b6e909fe-15d9-c1cf-c018-d4f6f36ff31f
Content: Download SQL Server Management Studio (SSMS) - SQL Server Management Studio (SSMS)
Content Source: docs/ssms/download-sql-server-management-studio-ssms.md
Product: sql
Technology: ssms
GitHub Login: @dzsquared
Microsoft Alias: drskwier

#assign:dzsquared

Hi @sivan-koren  - the list of shared components are potentially installed by SSMS, but may already exist within your operating system.  To be clear, is SSMS functioning normally for you?  I'm updating the docs now to be more clear, here's a sneak peak at the content:

SSMS may install shared components if it is determined that they are missing during SSMS installation. SSMS will not automatically uninstall these components when you uninstall SSMS.

The shared components are:

Azure Data Studio
Microsoft .NET Framework 4.7.2
Microsoft OLE DB Driver for SQL Server
Microsoft ODBC Driver 17 for SQL Server
Microsoft Visual C++ 2013 Redistributable (x86)
Microsoft Visual C++ 2017 Redistributable (x86)
Microsoft Visual C++ 2017 Redistributable (x64)
Microsoft Visual Studio Tools for Applications 2017

These components aren't uninstalled because they can be shared with other products. If uninstalled, you may run the risk of disabling other products.

SSMS currently working, no .NET 4.7.2 is installed.
Another .NET version, namely 4.5, is installed, but did not originate from
the SSMS installer, it is pre-existing.
On Mon, Nov 1, 2021, 12:25 PM Drew Skwiers-Koballa @.***>
wrote:

Hi @sivan-koren https://github.com/sivan-koren - the list of shared
components are potentially installed by SSMS, but may already exist within
your operating system. To be clear, is SSMS functioning normally for you?
I'm updating the docs now to be more clear, here's a sneak peak at the
content:
SSMS may install shared components if it is determined that they are
missing during SSMS installation. SSMS will not automatically uninstall
these components when you uninstall SSMS.
The shared components are:

Azure Data Studio
Microsoft .NET Framework 4.7.2
Microsoft OLE DB Driver for SQL Server
Microsoft ODBC Driver 17 for SQL Server
Microsoft Visual C++ 2013 Redistributable (x86)
Microsoft Visual C++ 2017 Redistributable (x86)
Microsoft Visual C++ 2017 Redistributable (x64)
Microsoft Visual Studio Tools for Applications 2017

These components aren't uninstalled because they can be shared with other
products. If uninstalled, you may run the risk of disabling other products.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/sql-docs/issues/6992#issuecomment-956479443,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADGVZZNX5C2TJXBD5UJVYJTUJ3LRHANCNFSM5HENHVIQ
.
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.

#please-close


Unable to play some h264 or hevc videos on Electron 2.x + mpv.js

Hi Kagami,
I found a strange issue that mpv.js is not able to play some h264 or hevc videos with Electron 2.x.
I try the same videos with Electron 1.8.8 and Electron 3.0.x, they don't have this issue.
If you need to reproduce this problem,  I can put a link to the sample video.
Thanks.

What OS are you using? There is known issue with Electron 2.x on Linux:
https://github.com/electron/electron/issues/13624
https://github.com/electron/electron/pull/15555

I'm using macOS High Sierra 10.13.5.
When play these videos, mpv.js displayed a green screen (audio is ok).

I got some errors from console:
[12564:1215/175010.690707:ERROR:texture_manager.cc(2437)] [.PPAPIContext]GL ERROR :GL_INVALID_VALUE : glTexImage2D: invalid internal_format GL_RGBA16_EXT
[12564:1215/175010.713451:ERROR:gles2_cmd_decoder.cc(9798)] [.PPAPIContext]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
[12564:1215/175010.713490:ERROR:gles2_cmd_decoder.cc(9798)] [.PPAPIContext]RENDER WARNING: texture bound to texture unit 2 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
[12564:1215/175010.713518:ERROR:gles2_cmd_decoder.cc(9798)] [.PPAPIContext]RENDER WARNING: texture bound to texture unit 1 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.

Link the video.

https://0x0.st/skcm.mkv

Fixed! It was quite interesting bug.
Chrome 61÷64 for some reason reports support for 16-bit textures in gl extension string, but it seems to be not working correctly, at least with mpv. So in case of 10-bit video it tries to create 16-bit texture and it fails. In chrome versions which electron 1.x/3.x uses glGetString(GL_EXTENSIONS) doesn't return GL_EXT_texture_norm16, so mpv fallbacks to 8-bit textures (likely with downscaling) and everything works perfectly.
Actually we've already seen presence of that exact issue in #25 but for 8-bit videos it worked only with a warning.
FWIW, fix might be better (for example there is a small leak now, also it looks kludgy, there might be better way to disable 16-bit textures in mpv), but should work as is.

Cool!


TST check types on Travis

Currently not a lot of things is checked because mypy --silent-imports --check-untyped-defs eli5 fails with multiple errors. There is a lot of errors like this when --check-untyped-defs option is enabled:
eli5/_feature_weights.py: note: In function "get_top_features":
eli5/_feature_weights.py:41: error: Unexpected keyword argument "pos" for "FeatureWeights"
eli5/_feature_weights.py:41: error: Unexpected keyword argument "neg" for "FeatureWeights"
eli5/_feature_weights.py:41: error: Unexpected keyword argument "pos_remaining" for "FeatureWeights"
eli5/_feature_weights.py:41: error: Unexpected keyword argument "neg_remaining" for "FeatureWeights"

but at least some checks are good; at least it will keep type declarations in sync (they were broken).

Current coverage is 95.80% (diff: 100%)

Merging #55 into master will decrease coverage by <.01%

@@             master        #55   diff @@
==========================================
  Files            26         26
  Lines          1193       1192     -1
  Methods           0          0
  Messages          0          0
  Branches        198        198
==========================================
- Hits           1143       1142     -1
  Misses           26         26
  Partials         24         24

Diff Coverage
File Path

•••••••••• 100%
eli5/sklearn/unhashing.py

•••••••••• 100%
eli5/sklearn/explain_prediction.py

Powered by Codecov. Last update 8da5169...49ca4b6

That's great! 👍
And maybe we can fix some type errors with --check-untyped-defs by writing __init__ methods for attr-based classes.

Wow, mypy with --check-untyped-defs caught an actual error!
eli5/sklearn/utils.py: note: In function "get_feature_names":
eli5/sklearn/utils.py:99: error: Argument 1 to "len" has incompatible type "FeatureNames"; expected "Sized"

where I copied a piece of code and did not change it (the fix is https://github.com/TeamHG-Memex/eli5/commit/6abbb8db0559757fdd127e2b1e09bd24a3cc60a6#diff-47f7891fe007f47de0c660890504d78c)
@kmike --check-untyped-defs looks useful, what do you think about adding explicit __init__ methods that enumerate all arguments and moving type declarations to them? Maybe it's also possible to check that they are in sync with definitions in the class fields automatically.
I'm +1 to merge this PR as-is, just discussing future steps :)

@lopuhin I may have broken your branch because I rebased "mypy" branch, sorry!

@kmike np, I was going to redo it anyway!


Add option to add discrete/continuous covariate directly to final regression

Potential alternative to using ES_residualize_covariates.

This is now implemented. Just include any regressors that you would like to pass to the final/main regression in discrete_covars (for discrete, introduced as dummies for each level) and cont_covars (for continuous, currently only introduced linearly).
For functions of continuous regressors (e.g., polynomials, interactions, etc.), best to generate them before using ES() as then pass them among the cont_covars.


Unsupported APPEND mode for custom datasets

Hi team,
I'm using the Algolia plugin to sync my data once processed with Dataiku. However, I'm not able to use the option Append instead of overwrite

Is there anyway to circumvent this limitation?
Can we allow append mode on Algolia datasets?
I'm down to send a PR if you point me in the right direction!
Thanks a lot
cc. @cstenac @jereze

Hi Raphi,
To best help you, I would like to understand the use case you are trying to address. Could you send me a screenshot of your flow? Are you using scenarios to automate it? Cheers,
Alex

Hi Alex,
I'd like from two data pipeline to push data into the same Algolia index. Here is a truncated screenshot of our current pipeline:

We apply different process to different types of data, but at the end, we want to send both into the same Algolia index. Does it make sense?
No we are not using scenarios.
Thanks for your help!

Hi @alexcombessie
sorry to ping you again, but this is a real blocker for us... and we are stuck on it. Anything on our side we can do?
Please let me know, thanks

How about trying to sync to a 'dummy' copy of your dataset in APPEND MODE then sync that to algolia. This may work with an extra step, but without code.

The issue is that my two dataset that I want to sync to Algolia don't have the schema. Algolia being schemaless, we can have different records with different attributes. Syncing the two datasets into one force to have the same schema / columns.
Also, that doesn't fix the issue that for every sync with Algolia, it's deleting all objects before indexing them, which is not a behaviour we expect in that case.

Have you tried to partition your two input datasets, stack them and then sync the partitioned stack to Algolia? You may have to adapt the plugin code to take into account partitioning.

We cannot use the partitioned datasets :/

Are you using the free edition of Dataiku? Partitioning management is included in our Enterprise license.

Yes we are currently using the free edition.

 As highlighted in https://www.dataiku.com/dss/editions/, the free edition is not the best suited for this type of advanced workflows. I suggest you speak to<EMAIL_ADDRESS>to discuss Enterprise licensing.


Scrollbar dosn't appear

Hey @smikhalevski,
I have been trying to implement your component in my project but I can't make it works.
This is my pice of code in my render function:
render: function(){
		var state = {
		    axes: ScrollAxes.XY,
		    disabled: false,
		    captureKeyboard: true,
		    hoverProximity: 50,
		    fastTrackDuration: 500,
		    fastTrack: FastTrack.REWIND,
		    outset: true
		  };

	return (

		    <ScrollBox {...state} style={{height: '500px'}}  className="scroll-box_example scroll-box_wrapped" >

hi

hi

hi

...
 // 100 elements lmore

		    </ScrollBox>

		  );
}

But the scroll bar dosn't appear.
This is how I import the different parts of your component:
var ScrollBox = require('react-scroll-box').ScrollBox;
var GenericScrollBox = require('react-scroll-box').GenericScrollBox;
var FastTrack = require('react-scroll-box').FastTrack;
var ScrollAxes = require('react-scroll-box').ScrollAxes;

Do you have any idea what is happening? I'm using React and ReactDOM 0.14.6 and coding in ES5.

I suppose .main-view has overflow: hidden, so your scrollbars are cropped because of outset: true in state.
Can you give me a link to have a look at your markup?

You right!
Thank for your help.


Add option to download report as a text file

I want to keep a history of match reports on my PC so I'd like to add an option to download the report as a file.
I've added a button that, when clicked, will write the report to a text file and trigger a download.
If the required methods are not supported (IE <10) the download button will be hidden. Tested it on latest versions of Chrome, Firefox and Safari. Can't test IE at the moment as I'm on a Mac :)

Ping @nopr.
It's fine if you don't want to merge this, then I'll close it.

Sorry bro, just caught up. I'm more than happy to merge this.

OK, awesome :)


Fix sentence transformer export

What does this PR do?
Fixes #1365
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests?

@mht-sharma I am wondering why it was not catched by the CI?


Add Nepali and Hindi translations

Regards,
First of all, I am really thankful to you all for creating this amazing package. As I was searching for the localizations of my language, it was missing. An issue was also created #34
I have created this PR by translating the country names in the local languages which will be helpful for the developers in most of the Asian countries [🇳🇵, 🇮🇳, 🇧🇹, 🇵🇰, 🇧🇩 ]
Thank You!

@sachin-dahal Thank you for the contribution. Nepali and Hindi has locale code 'hi' and 'ne'. Please check commit f35688e.


feat: added Base URL configuration to OpenAI

Base URL must be set for OpenAI-compatible service.

as of now how can i change base url

We're going to skip this one because the default looks ok. If we're wrong please resubmit.


binary exercise added

@wolf99 Why this track is still not launched , this repo has more than 10 problems. ??

@DeathSec Don't know TBH. some of the official group people might (https://github.com/orgs/exercism/people).
Although I'd imagine it's because exercism is small project (admin-wise) and the one person that is trying to work on it full time is probably rather busy.

@patricksjackson can you merge this to the repo?

@palisaide i will add some more test from canonical-data.json , and i changed the array to pointer  in the 'convert' function , now it looks good

Those nitpicks are just to make sure we keep a consistent style across the repo. It otherwise looks great.

LGTM 👍


feat(android): allow building exoplayer from source

Summary
Add configuration and documentation to be able to build from media3 / Exoplayer source code
Motivation
I had to do a small workaround in exoplayer source code to develop a new feature/poc
Changes

Add configuration to build from source
document the feature
implement it in the sample. It is not enabled by default, but can be activated with only 2 gradle script uncommenting

Test plan
Easy to test by change the sample,  @KrzysztofMoch do you think I need to enable 1 dedicated build from source in the github CI ? My issue with that is that sample will need to clone media3 source code, it will highly increase folder size for developement environment ...

@KrzysztofMoch This one is ready for review !

Looks good to me, left one small comment

Great, thank you, so let's merge this one ! 👍

@freeboub
Looks great to me! sorry for the late confirmation.
By the way, do you have any plans to bump up a media3 version?

For media3 version, I tried few month ago, I had some issue regarding to gradle plugin. But you can force the version in the gradle file with following value. The react native version used in sample was not compatible with media3...
RNVideo_media3Version=1.1.1
Notice also that in my thumbnail poc, I use master branch of media3 so version 1.3.1 shall work (no blocking point on API change).

@freeboub
I asked because it was a target version issue and I wanted to insert the add-on from 1.2.0 if the library raised the default.

@YangJonghun I am not sure to understand exactly what you want do ... Upgrading locally to 1.2.0 doesn't ?

@freeboub
I'd like to add CMCD prop.
However, this function require 1.2.0 or later version of media3, which is difficult to do in the current default version.


Handling the response from the server

Angular is expecting an observable type for a user array. If we return the user array wrapped in an object, then we can't cast that or auto parse it to the right type. The object we were using had a success field and a data field. rxjs won't parse out the user stuff properly. It was switched in this lab to get the user back and nothing about success. We are not sure if there is a clear way to support the practice of getting to say something about the success and making everything happy.

I'm guessing we'd have to create some sort of new parameterized ResponseWrapper class (e.g., ResponseWrapper<User[]> on the client side that would peel off the success field and provide the desired content.
To be honest, I'm not sure how much we care at the moment. Maybe this would be something to think about more carefully when we have more time?


archiveFileName {#} placeholder in nested in another layout?

Case 1 (Correct, but ugly)
${when:when=1 == 1:inner=${RegistryLogDirectory}/Log_${literal:text={#\}}.log}

Case 2 (Wrong)
According to https://github.com/nlog/NLog/wiki/Configuration-file#content-escaping it should IMHO work, but it does not:
${when:when=1 == 1:inner=${RegistryLogDirectory}/Log_{#\}.log}

Do you mean:

"correct" => working
"wrong" => not working, it's a bug

?

related #https://github.com/NLog/NLog/issues/444

Yes, according to the link case 2 is a bug.

OK thanks I updated your post. Technicality this is the same issue as #444, as {#} isn't a layout renderer, but OK, it's really annoying it's not working as expected and I needs to be fixed.  We will add this to our unit tests.
Thanks for reporting!


[ENH] - Improve build logs for users

Feature description
As an end user, if I have a build that fails, I expect to use the logs (via the UI, not Loki) to help me debug. I find that the logs available to me are very frequently insufficient to help me debug.

It seems like the builds take a long time to populate this logs with anything beyond starting build of conda environment 2024-03-21 14:52:09.332184 UTC. Perhaps they are not flushed frequently enough?
The conda config is confusing. The output from the conda-config command shows channel_priority: flexible which shouldn't be true for conda-store (we have checked this many times).
As an end user, it would be nice to know the build sequence so that I can understand where I am in the process and what part I might be hung on. Currently, its hard to tell what is happening on the backend. From the logs, I have no idea what the process is (conda-lock/conda solve/build env). Example - I had a succesful build from a month ago. It took 3 minutes to build originally. I copied it to a new environment and it took 47 minutes. The only thing I saw for that time was starting build of conda environment 2024-03-21 14:52:09.332184 UTC.
When I have a build fail, I can't tell where in the build its failing. See the example failure below. I often see this error about a missing .conda file. I don't know what conda-store is running so I can't try to reproduce it on my local machine. That said, I'm also not sure if there is any additional logging from conda-lock that would be helpful in debugging?

I will also say the conda output that I expect as an end user IS available, but only after a successful build and it looks a little different given that we're building from a conda-lock file. At the very least, I think if an error happens during the build, there should be a stdout/stderr flush.
Value and/or benefit
End users who can debug failed builds and have visibility into the progress of a build.
Anything else?
Example failure:
starting build of conda environment 2024-03-21 14:52:09.332184 UTC
::group::action_solve_lockfile
Running command: mamba info

     active environment : None
       user config file : /root/.condarc
 populated config files :
          conda version : 23.3.1
    conda-build version : not installed
         python version : 3.10.12.final.0
       virtual packages : __archspec=1=x86_64
                          __glibc=2.31=0
                          __linux=5.10.210=0
                          __unix=0=0
       base environment : /opt/conda  (writable)
      conda av data dir : /opt/conda/etc/conda
  conda av metadata url : None
           channel URLs : https://repo.anaconda.com/pkgs/main/linux-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/linux-64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : /opt/conda/pkgs
                          /root/.conda/pkgs
       envs directories : /opt/conda/envs
                          /root/.conda/envs
               platform : linux-64
             user-agent : conda/23.3.1 requests/2.31.0 CPython/3.10.12 Linux/5.10.210-201.852.amzn2.x86_64 ubuntu/20.04.6 glibc/2.31
                UID:GID : 0:0
             netrc file : None
           offline mode : False

Running command: conda config --show
add_anaconda_token: True
add_pip_as_python_dependency: True
aggressive_update_packages:
  - ca-certificates
  - certifi
  - openssl
allow_conda_downgrades: False
allow_cycles: True
allow_non_channel_urls: False
allow_softlinks: False
allowlist_channels: []
always_copy: False
always_softlink: False
always_yes: None
anaconda_upload: None
auto_activate_base: True
auto_stack: 0
auto_update_conda: True
bld_path:
changeps1: True
channel_alias: https://conda.anaconda.org
channel_priority: flexible
channel_settings: []
channels:
  - defaults
client_ssl_cert: None
client_ssl_cert_key: None
clobber: False
conda_build: {}
create_default_packages: []
croot: /opt/conda/conda-bld
custom_channels:
  pkgs/main: https://repo.anaconda.com
  pkgs/r: https://repo.anaconda.com
  pkgs/pro: https://repo.anaconda.com
custom_multichannels:
  defaults:
    - https://repo.anaconda.com/pkgs/main
    - https://repo.anaconda.com/pkgs/r
  local:
debug: False
default_channels:
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
default_python: 3.10
default_threads: None
deps_modifier: not_set
dev: False
disallowed_packages: []
download_only: False
dry_run: False
enable_private_envs: False
env_prompt: ({default_env})
envs_dirs:
  - /opt/conda/envs
  - /root/.conda/envs
error_upload_url: https://conda.io/conda-post/unexpected-error
execute_threads: 1
experimental: []
extra_safety_checks: False
fetch_threads: 5
force: False
force_32bit: False
force_reinstall: False
force_remove: False
ignore_pinned: False
json: False
local_repodata_ttl: 1
migrated_channel_aliases: []
migrated_custom_channels: {}
non_admin_enabled: True
notify_outdated_conda: True
number_channel_notices: 5
offline: False
override_channels_enabled: True
path_conflict: clobber
pinned_packages: []
pip_interop_enabled: False
pkgs_dirs:
  - /opt/conda/pkgs
  - /root/.conda/pkgs
proxy_servers: {}
quiet: False
remote_backoff_factor: 1
remote_connect_timeout_secs: 9.15
remote_max_retries: 3
remote_read_timeout_secs: 60.0
repodata_fns:
  - current_repodata.json
  - repodata.json
repodata_threads: None
report_errors: None
restore_free_channel: False
rollback_enabled: True
root_prefix: /opt/conda
safety_checks: warn
sat_solver: pycosat
separate_format_cache: False
shortcuts: True
show_channel_urls: None
signing_metadata_url_base: None
solver: classic
solver_ignore_timestamps: False
ssl_verify: True
subdir: linux-64
subdirs:
  - linux-64
  - noarch
target_prefix_override:
track_features: []
unsatisfiable_hints: True
unsatisfiable_hints_check_depth: 2
update_modifier: update_specs
use_index_cache: False
use_local: False
use_only_tar_bz2: False
verbosity: 0
verify_threads: 1

Running command: conda config --show-sources

CONDA_FLAGS=--strict-channel-priority
Locking dependencies for ['linux-64']...
 - Install lock using: conda-lock install --name YOURENV /tmp/tmpo_lt8igh/conda-lock.yaml
Rendering lockfile(s) for linux-64...
WARNING: installation of pip dependencies from explicit lockfiles is only supported by the 'conda-lock install' and 'micromamba install' commands. Other tools may silently ignore them. For portability, we recommend using the newer unified lockfile format (i.e. removing the --kind=explicit argument.
 - Install lock using : conda create --name YOURENV --file conda-linux-64.lock

::endgroup::
Traceback (most recent call last):
  File "/opt/conda/envs/conda-store-server/lib/python3.10/site-packages/conda_package_handling/streaming.py", line 32, in _extract
    with open(filename, "rb") as fileobj:
FileNotFoundError: [Errno 2] No such file or directory: '/opt/conda/pkgs/libgrpc-1.61.2-h42401df_0.conda'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/conda/envs/conda-store-server/lib/python3.10/site-packages/conda_store_server/build.py", line 183, in build_conda_environment
    context = action.action_fetch_and_extract_conda_packages(
  File "/opt/conda/envs/conda-store-server/lib/python3.10/site-packages/conda_store_server/action/base.py", line 31, in wrapper
    action_context.result = f(action_context, *args, **kwargs)
  File "/opt/conda/envs/conda-store-server/lib/python3.10/site-packages/conda_store_server/action/download_packages.py", line 41, in action_fetch_and_extract_conda_packages
    conda_package_handling.api.extract(str(file_path))
  File "/opt/conda/envs/conda-store-server/lib/python3.10/site-packages/conda_package_handling/api.py", line 77, in extract
    format.extract(fn, dest_dir, components=components)
  File "/opt/conda/envs/conda-store-server/lib/python3.10/site-packages/conda_package_handling/conda_fmt.py", line 46, in extract
    _extract(str(fn), str(dest_dir), components=components)
  File "/opt/conda/envs/conda-store-server/lib/python3.10/site-packages/conda_package_handling/streaming.py", line 42, in _extract
    raise exceptions.InvalidArchiveError(filename, f"failed with error: {str(e)}") from e
conda_package_handling.exceptions.InvalidArchiveError: Error with archive /opt/conda/pkgs/libgrpc-1.61.2-h42401df_0.conda.  You probably need to delete and re-download or re-create this file.  Message was:

failed with error: [Errno 2] No such file or directory: '/opt/conda/pkgs/libgrpc-1.61.2-h42401df_0.conda'

I'm in agreement with @nkaretnikov that at the very least there are issues here which need to first be addressed on the conda-store-server side of things. IMO improving the logging situation there is the first step, then we can think about how to implement user-facing feedback in the UI next. I think for this reason it makes sense to first move this to https://github.com/conda-incubator/conda-store. With respect to the individual issues:

The conda config is confusing. The output from the conda-config command shows channel_priority: flexible which shouldn't be true for conda-store (we have checked this many times).

conda-store uses many tools internally and we print logs from them without any processing. The actual channel priority is set via --strict-channel-priority and is printed later. See the previous discussion here https://github.com/conda-incubator/conda-store/issues/737#issuecomment-1913780222 and the PR that implements it here: https://github.com/conda-incubator/conda-store/pull/693

@kcpevey Looks like conda config is not the right source of information about your config when you use conda-store. I can see a few of ways of addressing this, but do you have any ideas about your preferred solution here? I'd be interested to hear them if so. @jaimergp @nkaretnikov The fact that this has come up before means we need to make it clearer to the user.
Can we insert a shim for conda config and provide the actual configuration used by conda-store? Or maybe just display a message saying "You've got conda-store installed. FYI conda-store has a couple of settings which might differ from your conda config..." or similar.

As an end user, it would be nice to know the build sequence so that I can understand where I am in the process and what part I might be hung on. Currently, its hard to tell what is happening on the backend. From the logs, I have no idea what the process is

It sounds like it might be possible to get more information about what conda-lock is doing by following @nkaretnikov's suggestion. Let's try that first since we have the most control over that. I could also see adding something like a progress bar or some other visualization (diagram of the build steps and their current status?) but this would require upstream changes in conda and conda-lock.
TLDR: there are a few things we can start to take action on.

Try to stream output from conda-lock while actions are running. starting build of conda environment 2024-03-21 14:52:09.332184 UTC isn't really enough to give the user an idea about the current status of a build. It sounds like conda output is currently only available on successful builds, but let's make it accessible for failed builds as well; that way users can at least start to track down build issues.
Improve clarity of the conda config output. Need ideas about how to address this.
I'm also wondering why a build which took 3m initially took 47m on a subsequent build. Is this some network issue, or something else? If it's anything other than a network issue I'd be interested in getting that fixed - 47m is way too long to wait for an environment to build. @kcpevey would you be able to share the environment you copied over?

If we can't make progress with (1) above, we'll probably need to make upstream changes to conda and conda-lock. Later on we can follow up about changes we can make to conda-store-ui.

I'm also wondering why a build which took 3m initially took 47m on a subsequent build. Is this some network issue, or something else? If it's anything other than a network issue I'd be interested in getting that fixed - 47m is way too long to wait for an environment to build. @kcpevey would you be able to share the environment you copied over?

I actually think this one has to do with a bug that had been recently introduced where "queued" builds were showing up as "building". So this can be disregarded.
As for reasonable output given what I know now, I propose the logs simply output 2 additional pieces of information:

The name of the step in the build process (e.g. "Solving conda-lock", "Building env from lockfile", "Conda export", etc)
The command that's being run (e.g. conda-lock create ...)

Peyton, Chuck, and I discussed this today. It was agreed that I'll focus on log-flushing since I have the most context.
We'll split this into self-contained issues and close this one to avoid getting sidetracked:

[ ] implement log flushing

later: moving logged_command to run (in action)

[ ] add user-readable messages to logs:

explain how to interpret output of conda config and the strict packaging priority (show a banner)
print action end time and time delta

[ ] long-term: opentelemetry/tracing
[ ] long-term (UI): visualization of the build process: start -> step1 -> ... -> end (shown as bubbles with arrows according to the current build phase). Open this one in the UI repo.

The issues will be linked above once I open them. Will close this one once that's done.


⚠ Bofrost.si has degraded performance

In 0bf505b, Bofrost.si (https://www.bofrost.si) experienced degraded performance:

HTTP code: 500
Response time: 2752 ms

Resolved: Bofrost.si performance has improved in fd71815 after 1 minute.