Commands show names only, not menu paths

In the ImageJ search bar, you can see the menu path of each command:

But in napari-imagej, only the command name is visible:

So it becomes difficult to know which Image... command it's going to run. (You can click Source, but it's an extra step that opens a web browser.) It would be better for napari-imagej to embed the menu paths, in a similar fashion to what the ImageJ search bar does.

So it's not too bad to get the menu path, but it is difficult to color them differently, like we do in ImageJ. I think the most performant way to do it is something like this, but that's really in-depth.


[DO NOT REVIEW] PR for testing purposes

Description

closes: #XXXX
Commit Message / Changelog Entry
type: commit message

see the guidelines for commit messages. (view raw markdown for examples)

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

[ ] Targeted PR against the correct branch (see CONTRIBUTING.md).
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Code follows the module structure standards and Go style guide.
[ ] Wrote unit and integration tests.
[ ] Updated relevant documentation (docs/) or specification (x/<module>/spec/).
[ ] Added relevant godoc comments.
[ ] Provide a commit message to be used for the changelog entry in the PR description for review.
[ ] Re-reviewed Files changed in the Github PR explorer.
[ ] Review Codecov Report in the comment section below once CI passes.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (1c0c756) 81.59% compared to head (9c501da) 81.61%.
Report is 5 commits behind head on main.

Additional details and impacted files

@@            Coverage Diff             @@
##             main    #5790      +/-   ##
==========================================
+ Coverage   81.59%   81.61%   +0.02%
==========================================
  Files         199      199
  Lines       15167    15146      -21
==========================================
- Hits        12375    12362      -13
+ Misses       2326     2319       -7
+ Partials      466      465       -1

Files
Coverage Δ

...interchain-accounts/controller/keeper/handshake.go
83.70% <100.00%> (ø)

...ules/apps/27-interchain-accounts/types/metadata.go
79.79% <100.00%> (ø)

modules/core/03-connection/keeper/verify.go
80.36% <100.00%> (ø)

modules/core/03-connection/types/connection.go
100.00% <ø> (+10.16%)
:arrow_up:

modules/core/04-channel/keeper/handshake.go
90.20% <100.00%> (ø)

modules/core/04-channel/keeper/timeout.go
95.39% <100.00%> (ø)

modules/core/04-channel/keeper/upgrade.go
92.46% <100.00%> (ø)

... and 3 files with indirect coverage changes

Nice, its all passing ❤

@srdtrk Would you still like to merge this test?
I would probably move the steps you added to a new block (i.e. so that it's not part of the "interchain account executes a bank transfer on behalf of the corresponding owner account" block, since the code you added is doing something else). And potentially maybe we could just add a new test altogether for this. If you prefer, I can do these changes. Please let me know.

55


Update random ID generation in mmdetection.py

Update random ID generation to avoid overwriting existing annotations.

Good job!
It seems like a good suggestion.🤔
Let me have a try.

Seems to be a great idea. The problem of overwriting previous annotations have bothered me a lot.

Please resolve the conflict.


Tests are broken

 #$ git log -1
commit 077ec9f80ddc74ca0fa5950aad5847ca71dea2b2
Author: cyborg0922<EMAIL_ADDRESS>Date:   Sun Jun 30 18:30:12 2019 +1200

    Make wif_to_key cleaner. Use different WIF and Addresses for STN.
 #$ nosetests -vx
Failure: SyntaxError (invalid syntax (bitindex3.py, line 49)) ... ERROR

======================================================================
ERROR: Failure: SyntaxError (invalid syntax (bitindex3.py, line 49))
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/nose/failure.py", line 39, in runTest
    raise self.exc_val.with_traceback(self.tb)
  File "/usr/local/lib/python3.5/dist-packages/nose/loader.py", line 418, in loadTestsFromName
    addr.filename, addr.module)
  File "/usr/local/lib/python3.5/dist-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/usr/local/lib/python3.5/dist-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/usr/lib/python3.5/imp.py", line 244, in load_module
    return load_package(name, filename)
  File "/usr/lib/python3.5/imp.py", line 216, in load_package
    return _load(spec)
  File "<frozen importlib._bootstrap>", line 693, in _load
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 673, in exec_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "/home/user/repos/bitsv/bitsv/__init__.py", line 2, in <module>
    from bitsv.network.rates import SUPPORTED_CURRENCIES, set_rate_cache_time
  File "/home/user/repos/bitsv/bitsv/network/__init__.py", line 6, in <module>
    from .services import NetworkAPI
  File "/home/user/repos/bitsv/bitsv/network/services/__init__.py", line 2, in <module>
    from .bitindex3 import (
  File "/home/user/repos/bitsv/bitsv/network/services/bitindex3.py", line 49
    f'https://api.bitindex.network/api/v3/{self.network}/addrs/utxo',
                                                                   ^
SyntaxError: invalid syntax

----------------------------------------------------------------------
Ran 1 test in 0.159s

FAILED (errors=1)

This is on Python 3.5, maybe that is why? I don't think we want to drop 3.5 yet.

https://cito.github.io/blog/f-strings/
f-strings are 3.6+.

Next up is bitcoinx, what do you think @AustEcon?
I opened this: https://github.com/kyuupichan/bitcoinX/issues/5

Yeah. I am planning to send the bip32 stuff off to its own repo and make it so that all of the bitsv stuff is nicely available at the "leaves of the tree". E.g. every bip32 derived key should give easy access to all bitsv functionality via inheritence... This would remove the bitcoinx dependency for bitsv but would still be present for the bip32 stuff. :)
And yes - I am quite happy to have the f-string stuff changed over to .format() syntax even though f-strings look way cooler 😆.

Ha, yes they do. Can you review my PR? #32
Going to bed now.


Fix 11688 : Added tooltip for add buttons

Notes for Reviewers
This PR fixes #11688

Added tooltip for 2 buttons
Fixed: https://github.com/meshery/meshery/issues/11688

Signed commits

[x] Yes, I signed my commits.

@amitamrutiya your review, would be great.

Hey @helloworld-chhanda, you did an excellent job—thanks for that! But next time, please wait for the issue to be assigned to you before making a PR.

Hey @helloworld-chhanda, you did an excellent job—thanks for that! But next time, please wait for the issue to be assigned to you before making a PR.

Sure, I will wait. Thank you for your quick approval.

@helloworld-chhanda. let's discuss this PR during the Meshery dev meeting call, if you would. Please add it as an agenda item to the meeting minutes.


Refactoring metrics creation and initialisation

Metrics were previously created regardless of metro-dr or regional-dr. This has now changed, metrics are not created for metro-dr. The metrics instance creation is also moved from DRPC instance creation to updating DRPC condition, this is done so as not to initialize and set the default value as 0.
The values now refer to DRPC status and not VRG. we update DPRC LastGroup statuses based on the availability of VRG lastGroupSyncTime and the Relocate action.  In case we do not get VRG,  metrics will have the previous or the last known value from DRPC.
Removed 0 value filtering from alerts. So alerts are fired when metrics have zero value which is set based on DRPC lastGroupSynctime.
BZ: 2232242

fixes issue: https://github.com/RamenDR/ramen/issues/1040


Animation Paths

This is a version of https://github.com/koenbok/Framer/pull/151, but with the changed animation API (currently on master) merged in.

Aside from a single method call in the path animation example, this is good to go! Thanks for dealing with all the merge conflicts.


Ported 'vignette' effect from old version of Paint.NET

https://github.com/rivy/OpenPDN/blob/cca476b0df2a2f70996e6b9486ec45327631568c/src/Effects/VignetteEffect.cs

@cameronwhite I implemented your suggestions 👍

The 'codespell' build is failing but from the error messages (and the fact that all other builds are successful) I don't think it's related to my changes.


Included symbol maps are (presumedly) for IDA.

The included symbol maps aren't compatible with dolphin. Having dolphin symbol maps would be ideal since dolphin has scripts to import/export maps from both IDA and Ghidra.

I personally don't think we need maps for dolphin while using the repo at this state


add heroku deploy button

Hey there,
Thanks for submitting a pull request. I'm sure others will find this helpful.
I'll have a look a bit later to ensure that everything would work as expected.
Thanks,
Nathan

I've tweaked some things before merging @rzlamrr
Please refer to git history.


Question

https://github.com/KnightMiner/Inspirations/issues/89
When will the new update be out to fix that crash you said was fixed but never posted a update for on cursedforged

I never said it was fixed, I said it is in the process of being fixed. I have a life outside of this mod.


fix(BarChartCard): add conditions for timestamp formatter

Closes #3457
Summary

only use timestamp formatter when scaleType is time and bottomAxesMapsTo is date

Change List (commits, features, bugs, etc)

added checks for scaleType and bottomAxesMapsTo

Acceptance Test (how to verify the PR)

Go BarChartCard story and change content.layout to Horizontal. Check the x-axis show value correctly

Things to look for during review

[ ] Make sure all references to iot or bx class prefix is using the prefix variable
[ ] (React) All major areas have a data-testid attribute. New test ids should have test written to ensure they are not changed or removed.
[ ] UI should be checked in RTL mode to ensure the proper handling of layout and text.
[ ] All strings should be translatable.
[ ] The code should pass a11y scans (The storybook a11y knob should show no violations). New components should have a11y test written.
[ ] Unit test should be written and should have a coverage of 90% or higher in all areas.
[ ] All components should be passing visual regression test. For new styles or components either a visual regression test should be written for all permutations or the base image updated.
[ ] Changes or new components should either write new or update existing documentation.
[ ] PR should link and close out an existing issue

@jessieyan This looks good but we are failing our cypress test?

Let me check again. It passed for me before.

Cypress VTR failed with image different. I'm trying to update the image.


Camera2 openGl + FPS + resolution + sound

Tried to record on 60 fps and resulted video is on 15fps recorded.
It records up to 30fps and read somewhere that we need to ask from camera2api to do more frames.
https://developer.android.com/reference/android/hardware/camera2/CameraCharacteristics
Also i notice sound is a little out of sync.
Till you look for this i may have found how to enable 60fps.
Also i know that you use samsung s7 and i would like to know if its possible to record on max resolution.

I don't know how to increase camera2 fps. I will try find it.
About high resolutions, I did streams and videos to 4k (3840x2160) without problems with my S7. Anyway high resolutions on any devices have problems to render. I recommend you use only resolutions supported by your native camera app to reduce performance problems.

Maybe sound was out of sync cause of low fps when setting 60fps.(when i set 60fps i get a 15fps video result)
About resolution.. can you tell me the settings to achieve 4k?
I mean i tried to set surface and encoder to bigger resolutions than 1920x1080 but i get error camera cant open this resolution.

Because your are using camera1. If you want use more resolution than 1920x1080 you need use camera2. With camera 2 you can achieve higher resolutions. For 4k I use:
rtspCamera2.prepareAudio() && rtspCamera2.prepareVideo(3840, 2160, 30, 12000 * 1024, false, 2, CameraHelper.getCameraOrientation(this))

Oh god didnt even notice that :O and thanks For CameraHelper.getCameraOrientation(this)


VOD playback speed selection on tvOS

Currently there is playback speed selection on mobile, will need the same be implemented on tvOS and web
Options

0.75x
1.0x
1.5x
1.75x
2.0x

There is no audio when the playback speed other than 1.0x is selected

@mulundapm Does the issue appear on both web and tvOS, or only tvOS?


helm: update charts fullname template

fix duplicate naming for resources, like
helm install helm/prometheus-operator --name prometheus-operator --namespace monitoring
...

resources:
prometheus-operator-prometheus-operator-...
prometheus-operator-prometheus-operator-...

https://github.com/kubernetes/helm/issues/1186

@luisyonaldo ci is failling, could you fix that?

the issue that was causing the CI to fail was fixed, could you rebase it and run again?

@gianrubio it's been fixed, not sure why CI is failing

This PR needs a rebase. We had some trouble with our CI setup, sorry for the inconvenience.

thanks @luisyonaldo


Set rain_amount_max values to 0

Would it be possible to set the forecast suburb_rain_amount_max_0, etc, values to be 0 when they're absent (and hence no rain forecast)?
This seems to work for the min values, but the max ones go to 'unkown' which is misleading (and breaks some automations I'm trying to do on numeric_state).

Great idea, I will get this out in the next release

Fixed in 0.8.1

So this should not apply to the range - I am seeing:
0 to 0mm

Should just show 0mm.

Thanks David! Good pickup. Reopening issues

Fixed in 0.8.3


Configure Azure Pipelines

This configuration builds the application and proceeds builds for both Debug and Release configurations.

oops ... I meant for this to go back into my own forked repo, not jamcneil:master


pythonPackages.nbclassic: proposal for fixing build failure due to nodejs deps

Description of changes
using  v4.3.0 nbclassic github version as src for this package would require dealing with bower nodejs dependencies which would be, given the fact that bower is almost deprecated, cumbersome to deal with directly (i tried for a while...).
So i decided to use the Pypi-version where all node-deps are included. Also an new dependency notebook_shim had to be packaged.
I only started looking into this matter because another package i maintain manim did not build anymore because of nbclassic not building anymore.
Unfortunately ATM nbclassic only builds with export NIXPKGS_ALLOW_INSECURE=1 because of pythonPackages.mistune, see also PR #186272
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

@ofborg build python310Packages.nbclassic python310Packages.jupyterlab

Ah, it cannot build on ofborg because of the insecure dependency.

Result of nixpkgs-review pr 186703 run on x86_64-darwin 1

1 package marked as broken and skipped:

manim

3 packages failed to build:

python39Packages.jupyterlab
python39Packages.jupyterlab-lsp
python39Packages.jupytext

7 packages built:

python310Packages.jupyterlab
python310Packages.jupyterlab-lsp
python310Packages.jupytext
python310Packages.nbclassic
python310Packages.notebook_shim
python39Packages.nbclassic
python39Packages.notebook_shim

Note that since https://github.com/NixOS/nixpkgs/pull/186272 was merged hours ago, this won't build when merged into master (thus nixpkgs-review will fail) until https://github.com/NixOS/nixpkgs/pull/186804 is merged.

Result of nixpkgs-review pr 186703 run on x86_64-darwin 1

1 package marked as broken and skipped:

manim

3 packages failed to build:

python39Packages.jupyterlab
python39Packages.jupyterlab-lsp
python39Packages.jupytext

7 packages built:

python310Packages.jupyterlab
python310Packages.jupyterlab-lsp
python310Packages.jupytext
python310Packages.nbclassic
python310Packages.notebook-shim
python39Packages.nbclassic
python39Packages.notebook-shim

Result of  nixpkgs-review pr 186703 run on x86_64-linux

4 packages failed to build:

python39Packages.jupyterlab
python39Packages.jupyterlab-git
python39Packages.jupyterlab-lsp
python39Packages.jupytext

9 packages built:

manim
python310Packages.jupyterlab
python310Packages.jupyterlab-git
python310Packages.jupyterlab-lsp
python310Packages.jupytext
python310Packages.nbclassic
python310Packages.notebook-shim
python39Packages.nbclassic
python39Packages.notebook-shim

nix log /nix/store/gx97h2k4rdyd7jb7yj1mh5bk85gxs3cz-python3.9-jupyterlab_server-2.15.0.drv (build failure)
Sourcing python-remove-tests-dir-hook
Sourcing python-catch-conflicts-hook.sh
Sourcing python-remove-bin-bytecode-hook.sh
Sourcing pip-build-hook
Using pipBuildPhase
Using pipShellHook
Sourcing pip-install-hook
Using pipInstallPhase
Sourcing python-imports-check-hook.sh
Using pythonImportsCheckPhase
Sourcing python-namespaces-hook
Sourcing pytest-check-hook
Using pytestCheckPhase
@nix { "action": "setPhase", "phase": "unpackPhase" }
unpacking sources
unpacking source archive /nix/store/jkw7pif6r27bbr3rjg7wzaq0v58cldm2-jupyterlab_server-2.15.0.tar.gz
source root is jupyterlab_server-2.15.0
setting SOURCE_DATE_EPOCH to timestamp<PHONE_NUMBER> of file jupyterlab_server-2.15.0/tests/translations/jupyterlab-some-package/setup.py
@nix { "action": "setPhase", "phase": "patchPhase" }
patching sources
substituteStream(): WARNING: pattern '--cov jupyterlab_server --cov-report term-missing --cov-report term:skip-covered' doesn't match anything in file 'pyproject.toml'
@nix { "action": "setPhase", "phase": "configurePhase" }
configuring
no configure script, doing nothing
@nix { "action": "setPhase", "phase": "buildPhase" }
building
Executing pipBuildPhase
Creating a wheel...
WARNING: The directory '/homeless-shelter/.cache/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo,>
Processing /build/jupyterlab_server-2.15.0
  Running command Preparing metadata (pyproject.toml)
  Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: jupyterlab_server
  Running command Building wheel for jupyterlab_server (pyproject.toml)
  Building wheel for jupyterlab_server (pyproject.toml) ... done
  Created wheel for jupyterlab_server: filename=jupyterlab_server-2.15.0-py3-none-any.whl size=54080 sha256=b08ddaa7f8415c41cfce74313dfc1cbd435dd389a16d9252d85c0c8f141090ff
  Stored in directory: /build/pip-ephem-wheel-cache-yj1av9rv/wheels/ea/50/d0/bb312eac99e64e2f2443d5b29455912f4555a3bb2cd18bb678
Successfully built jupyterlab_server
Finished creating a wheel...
Finished executing pipBuildPhase
@nix { "action": "setPhase", "phase": "installPhase" }
installing
Executing pipInstallPhase
/build/jupyterlab_server-2.15.0/dist /build/jupyterlab_server-2.15.0
Processing ./jupyterlab_server-2.15.0-py3-none-any.whl
Requirement already satisfied: json5 in /nix/store/07ywxkyqpvad1vpdg9a84ipv6xm5gqjv-python3.9-pyjson5-0.8.5/lib/python3.9/site-packages (from jupyterlab-server==2.15.0) (0.8.5)
ERROR: Could not find a version that satisfies the requirement importlib-metadata>=3.6; python_version < "3.10" (from jupyterlab-server) (from versions: none)
ERROR: No matching distribution found for importlib-metadata>=3.6; python_version < "3.10"


Make modlist.d generic

tl;dr: this is a first dependency to expose the built documentation DMD on dlang.org's menu and makes this creates usable independently from dlang.org.

Accept arbitrary number of directories
Replaced hard-coded tree dumping of Phobos and DRuntime with a --dump flag
Detect the source folder of a directory automatically
Use std.getopt as arg parser

By itself this change seems to be killing library navigation, is that a bug or does it depend on another change?

By itself this change seems to be killing library navigation, is that a bug or does it depend on another change?

Sorry - forgot to rebase this as well.

Documentation OK (no changes)

Looks good :)


[Feature]: Parse-platform back-end integration

Is there an existing issue for this?

[X] I have searched the existing issues

Summary
Parse-platform is an open-source Back-end as a Service (BaaS): https://parseplatform.org/
Parse provide user authentication and ACL on each record of the database (in a better way than firebase from my point of view).
Parse dashboard is simple to design data structure.
Parse provide a GraphQL api to access data and launch cloud function.
It is already possible to connect Appsmith and Parse-platform. But, more API integration could make it a killer bundle
Why should this be worked on?
Low effort to integrate. Parse Platform + Appsmith would provide a killer solution on the market compare to table oriented solution (airtable...) or no code apps developement.

@slysiou Wondering incase you were ever able to try this, given that the GraphQL integrations was released some time back.

Yes, it works now. But, I am looking to add the parse package to simplify the code.


[Monitor - Query] Build libraries failing in nightly runs

Monitor - Query nightly test runs are failing with:

Error message:
Invoking: npm run clean && tsc -p . && npm run build:nodebrowser && api-extractor run --local && npm run build:types
<EMAIL_ADDRESS>clean D:\a_work\1\s\sdk\monitor\monitor-query
rimraf dist dist-* temp types *.tgz *.log coverage coverage-browser
test/internal/unit/logsQueryClient.unittest.spec.ts(36,18): error TS7053: Element implicitly has an 'any' type because expression of type '"_baseUri"' can't be used to index type 'AzureLogAnalytics'.
Property '_baseUri' does not exist on type 'AzureLogAnalytics'.
rush build (2 minutes 42.0 seconds)

For more details check here:

https://dev.azure.com/azure-sdk/internal/_build/results?buildId=1520825&view=results

This has been fixed.


Question: readme.md does not mention module name to include

I do not know if it is common knowledge how to include angular modules by name,
but how i usually approach this is to open demo's and see what the module / directive name is that is included, in this case simply gridster. Might it be neccesary to include this in the readme or not? if not, i assume that any angular directive or module named angular - < name > should be included in your angular app by including <name>.
Oh, and GREAT addon! Thanks a bunch, really came in handy :D

Thanks!  This has been added to the latest commit.


Update manage-feedback-policies-in-teams.md

Learn Build status updates of commit 3d16180:
:bulb: Validation status: suggestions

File
Status
Preview URL
Details

Teams/manage-feedback-policies-in-teams.md
:bulb:Suggestion

Details

Teams/manage-feedback-policies-in-teams.md

Line 69, Column 419: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://learn.microsoft.com/deployoffice/privacy/optional-connected-experiences' will be broken in isolated environments. Replace with a relative link.

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


travis fails due to new ubuntu image

The travis yml specifies a GEOS version that is not contained in the used xenial image.

Fixed by #498


We reached the witch-hunting phase

After the discussion here , I think it starts to be clear that the unsafe prohibition from any user library is going to be a difficult thing to uphold while also ensuring fairness.
I see a few challenges here:

The developer challenge: is everybody willing to provide an implementation here under the obligation to invest a tremendous amount of time and check every nook and cranny of the packages he uses so a case can be made that there is no usafe code?
The watch over the fence issue: I don't like that Rust is fast. I feel that I have reached the limits of my language, so let's take a peak then - Rust uses bumpalo, which contains unsafe code: owner, please ban bumpalo. To some extent, it seems that some developers are concerned with going over the source code of the packages used by the languages which happen to be at the top. So now we have the non-user of language X reading the code implemented in language X and opening an issue. But then some experienced users and even language developers of X intervene and present an expertise-backed opinion, and they can be easily dismissed (because they are biased and it is natural to take the side of their language).
The owner's challenge: the owner of the repository will not be able to invoke expertise in all the used languages and ensure a fair judgment over all these issues.

So where is this going? Are we starting a rust + bumpalo round now?
Maybe an objective solution is to call this the battle of STDLIBS and prohibit any usage of any external package (while also prohibiting any unsafe call from stdlib).
But if we do the above, then this benchmark is no longer real-world (because who would avoid battle-tested packages and start implementing functionality from scratch)?
So how about an even better one: prohibit the developers from doing unsafe tricks, and let's call it a languages ecosystem benchmark.

I think it's fair to assume that IF you use an external package like bumpalo you'd make sure it complies with the rules of the benchmark. If you feel like you've reached the edge of what's possible in your language, that's fine. Maybe someone else can find a neat trick to speed things up. (After all that's what this repo is for!)
Unsafe code or c bindings in other languages are forbidden as they do not represent the true spirit of the language to benchmark. So in this - I agree with you. Please remove bumpalo from rust as it's against the rules.
I think it's fair to assume that others will watch over each other so noone is using dirty tricks. This means everyone can participate and contribute while others can check their implementation and maybe adjust their own... Or find that you used something that's against the rules (like you with bumpalo for rust)
Using only STDLIBS is not an option, as some languages (CPP for example) do not handle Json decode/encode at all and there is some additional code required.
So I think using packages is fine, as long as the compute step does not use an extremely specific packages or custom type implementations (that's just my feeling) to be faster. Others will check your implementation if you beat them in the benchmark and will make sure you are complying with the rules.
Unsafe tricks are against the rules anyway.
That's just my two cents. :)

The watch over the fence issue: I don't like that Rust is fast. I feel that I have reached the limits of my language, so let's take a peak then - Rust uses bumpalo, which contains unsafe code: owner, please ban bumpalo.

To be clear, I have no issue per se with the Rust version using bumpalo. It's a good crate, and it's fantastic that you can leverage it to gain performance. I do however think it's a bit weird to seemingly arbitrarily apply some "unsafeness" criterion only to some languages - so what I'm asking about is consistency between languages :shrug:

Unsafe code or c bindings in other languages are forbidden as they do not represent the true spirit of the language to benchmark. So in this - I agree with you. Please remove bumpalo from rust as it's against the rules.

Judgment calls on this can start to be difficult.
For example, the Nim impl for this benchmark uses the xxhash package, and that package is a thin {.importc.} wrapper around the C library xxHash. The motivation for for using xxHash is simple: Nim's built-in murmurHash is a bit pokey, the community knows it, and it's really easy to substitute a faster hash for your HashMaps and HashSets without waiting on std to be overhauled, which may never happen.
With Nim in general, this is the way of things for many real world projects, and Nim's design promotes and encourages it: use the built-ins and std library where they're well suited, and where they're not suited maybe you'll implement some alts in your own pure Nim but most probably you'll wrap one or more C/++ libraries and/or use wrappers that are already available. With Nim's C backend — it's the default and what most projects use — FFI is extremely thin: there's no bridge really, it's just a matter of the correct symbols being available when the Nim compiler hands off the C sources it generated to gcc or clang or whatever.
Summing up, I agree with this

So how about an even better one: prohibit the developers from doing unsafe tricks, and let's call it a languages ecosystem benchmark.

In the case of Nim specifically, prohibiting the use of wrappers for C/++ libs would be completely against the grain of how the language is designed to be used and is used in practice.


Update vec and nat valueToString when this issue is fully resolved

https://forum.dfinity.org/t/blob-arguments-for-for-init-and-post-upgrade-come-in-as-an-empty-array/27117/2

I don't know what pr it was in but this was fixed with this commit https://github.com/demergent-labs/azle/commit/ea8a7a370f3d8bc8bd463d3f2cfa2f5621b25ed6


Results of Transformer model for single GPU - not promising (as shown below)

zukommt parution etzworld       Hello world
Good    Goodbye world
zukommt parution etzworld       Hello world
Good    Goodbye world
zukommt parution etzworld       Hello world
Good    Goodbye world

This looks like a vocabulary issue that was corrected in 1.0.11. please give it a try. I'm closing for now, but please reopen if you still see the issue -- and add more details about your training setup (how many gpus, which model / data-set, how many training steps, what does eval show / screenshot).


Documentation on required permissions

Hello,
I followed this guide, but I am getting the following error message:
Failed to start SQL trigger listener for table: 'dbo.MyTable', function ID: '8177f0a5d9a12cef'. Exception: Microsoft.Data.SqlClient.SqlException (0x80131904): User does not have permission to perform this action.
CREATE SCHEMA failed due to previous errors.

Can we get documentation on what permissions are required for this to work? Also, is there a way to set up the schema changes separately so that the runtime user doesn't require to create schema permissions?

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

ID: 4ae29079-5afb-aae0-cf91-05a255f56a0b
Version Independent ID: 9edf22a4-9bc7-e425-895e-ca88a08a01bb
Content: Azure SQL trigger for Functions
Content Source: articles/azure-functions/functions-bindings-azure-sql-trigger.md
Service: azure-functions
GitHub Login: @JetterMcTedder
Microsoft Alias: bspendolini

@Tiberriver256
Thanks for your feedback! We will investigate and update as appropriate.


/api/auth/basic 404 (Not Found)

Hello, i enabled authentication, and when i try to login (**/login)
the ui leads to
**/api/auth/basic 404 (Not Found)
Swagger reveals that there is no "auth" controller

hey @mordebip I wouldn't consider auth stable or useable at the moment. Did you pull from master or run the latest release?

i pulled from stable and rebuilt the ui and the api using the dockerfile.
or should i recompile everything ?

I Cloned from the master branch, and rebuilt from the ui as well as the api dockerfile.
then i updated the docker-compose file to use the local images.
Should i rebuild the rest too ?

May be related to #811

@mordebip on #811 you mentioned that the login is working,  are you still getting this error?

No, i'm not having that one anymore (but i have no clue how or why)


Support deno

Is there a way to use markdown-it in Deno?

No idea. Your question does not look project-specific.


Passing cookies or request headers

This might be a duplicate of https://github.com/lapwinglabs/x-ray/issues/91.
I'm using x-ray to build a link checker for a large production site. It is working great but I can't use it to test our development site because we keep it behind a password protected splash screen.
If I could set a cookie when using x-ray I could make this work. Digging around the code a little I see your setting headers on https://github.com/lapwinglabs/x-ray-crawler/blob/03b89901e9857925d80a0e5b80fdbe297510789b/lib/http-driver.js#L26 but I cant figure out where that is coming from.

You probably have already solved this, but here's my solution for anybody who might stuble here.
Switch the driver to something you have control over. Here's a quick and dirty example, I hope it's clear.
var R = require('ramda'),
	Promise = require('bluebird'),
	xray = require('x-ray'),
	_request = require('request');

var request = _request.defaults({
    jar: true,
    headers: {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0'}
});

var prequest = (opts) => new Promise((resolve, reject) => request(opts, (err, res, body) => R.isNil(err) ? resolve(body) : reject(err)));

// x-ray request "driver" wow so pompous much pretentiousness
var request_driver = (config) => {
    var options = config || {};
    return (ctx) => prequest(R.merge(options, {uri: ctx.url}));
};

var pray = (url, selector, def) => {
   return new Promise((resolve, reject) => {
        var x = xray().driver(request_driver());
        x(url, selector, def)((err, obj) => R.isNil(err) ? resolve(obj) : reject(err));
   });
};

pray('http://imgur.com/search?q=doge', 'div.cards', {image: ['img@src']}).then(console.log);

You can use request.defaults or pass the options to request_driver() inside the .driver() call, like this:
var x = xray().driver(request_driver({
    jar: true,
    headers: {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0'}
}));

Working on that under #51


Implement collection type extensions

In SQL 99 the array type was added which is very convenient especially when indexes are possible. There are various databases that have support for collection types in one or another way. We should take a look into that and try to implement an abstraction for that.

PostgreSQL has full native support for array types
DB2 has XML support which can be used to emulate arrays. Not very storage space friendly but one can definitely afford the space when already being able to pay for DB2 licenses
MSSQL has XML support too
Oracle has native support for array types
MySQL has XML support too
H2 has native support for array types

Regarding JDBC Support

DB2 doesn't support selecting multisets: https://www.google.at/url?sa=t&source=web&rct=j&url=https://www.ibm.com/support/knowledgecenter/SSGU8G_11.70.0/com.ibm.jccids.doc/src/tpc/imjcc_rjvjdata.htm&ved=0ahUKEwjogbrH9dLSAhXLIsAKHV5UBeoQFggaMAA&usg=AFQjCNEg33fieC26t1dNgjBJkZNB6qwH9w&sig2=3XtfgNJGmX8SSV1EDVK9kw but this seems to suggest it does https://www.ibm.com/support/knowledgecenter/en/SSEPGG_9.7.0/com.ibm.db2.luw.apdv.java.doc/src/tpc/imjcc_tjv00002.html
Oracle supports reading through the array type: http://forums.devx.com/showthread.php?156112-How-to-read-a-oracle-multiset-in-java
PostgreSQL jdbc does not implement this yet according to this: http://stackoverflow.com/questions/32016829/postgresql-array-agg-of-multiple-columns-with-jdbc
The SQL Server JDBC driver apparently also does not support that as can be seen here: https://github.com/Microsoft/mssql-jdbc/blob/55f0b7f40611c0985ea6122ecd3fef0f4bea16ca/src/main/java/com/microsoft/sqlserver/jdbc/SQLServerResultSet.java#L2627

Related issues

https://github.com/pgjdbc/pgjdbc/issues/381
https://github.com/pgjdbc/pgjdbc/issues/63
https://github.com/pgjdbc/pgjdbc/issues/24

A PR for an array datatypes module for Hibernate has been proposed https://github.com/hibernate/hibernate-orm/pull/1499 . Personally I use the array custom types provided by vladmihalcea/hibernate-types. Both implementations rely on Connection#createArrayOf(String typeName, Object[] elements). Whilst Oracle supports native array types, based on the comments it seems this method is not implemented in their JDBC driver. I am uncertain about H2.
I am also uncertain whether we should emulate array support for databases that do not. It makes this feature drastically more complicated. Not only do we have to emulate the collection storage, but also any of the collection array functions. We'd also lose valuable type information that databases with native array implementations will have.
I actually toyed around with pgjdbc/pgjdbc#381 a little myself. PostgreSQL's array_agg can return a record array, which could benefit from proper struct handling at the driver level. I wanted to use this in combination with array_agg to obtain record arrays and fetch multiple plural non-set associations in this way (while also eliminating redundant data in the cross product). The feature is unfortunately difficult to implement. Primarily because the struct is basically received as a string value from the DB and type info for the struct members would have to be retrieved separately as far as I remember. Given the little interest in the past few years, I doubt whether this will ever be implemented.

The main purpose of emulating this via XML or JSON would be to reduce the amount of data that needs to be fetched when wanting to fetch collections. I don't know if we can make that happen for hibernate native collections, but the potential benefits for entity views are huge.
I would like to use that as default fetch strategy for collections as it should be the most efficient way of  fetching nested data. It avoids cross products and also avoids separate queries. We can make use of more efficient pagination as we don't have to handle cardinality/cross product due to collections and generally should be able to implement more efficient collection filtering due to filters being pushed into the collection aggregation.
Array support in postgresql is nice to support because it has some nice filter/index performance benefits to it, so that's something I definitely want to add as a separate feature.
Type information is definitely something we have to be able to retain for arrays, as accessing elements should produce validly typed nodes. For that, I think we need a special array type registry to also be able to produce a valid array type when aggregating individual values.


Detail and scope 1.0.0 issues

We want to look through all the v1.0.0 tagged issues and:

Have a description of what the work entails
Have a discussion on that work amongst the team
Scope out each item and prioritize it

Below are the issues, their assigned person, and the day we would like to present
June 2nd

[ ] Rework standard installation experience
[ ] Execute-only invocations
[ ] Stabilize structured logging
[ ] Remove the distinction between --select and --models flags when working with node types

June 9th

[ ] Move starter project for init task into dbt repo
[ ] More consistency for global CLI flags
[ ] Parity for source freshness task/command
[ ] Rationalize quoting configs + properties

June 16th

[ ] Make default test-paths and analysis-paths configs consistent
[ ] Allow data tests to be documented
[ ] Remove ingestion-time partitioned tables in BigQuery and all associated logic
[ ] Give profiles some love
[ ] Add an alias for source-paths configuration key

We want to look through all the v1.0.0 tagged issues and:

Have a description of what the work entails
Have a discussion on that work amongst the team
Scope out each item and prioritize it

Below are the issues, their assigned person, and the day we would like to present
May 26th

[ ] Rework standard installation experience
[ ] Execute-only invocations
[ ] Stabilize structured logging
[ ] Remove the distinction between --select and --models flags when working with node types

June 2nd
June 9th
June 16th

@jtcohen6 if there are any more items to add to the list or any items that don't need scoped please feel free to adjust the list accordingly before I start assigning people to topics

@leahwicz That list looks great to me! I gather that we're leaving off #2743 and #2401, because those are ones we've already discussed in some detail and which we know to be quite complex.

@jtcohen6 yeah I left them off since we are planning to work on them this cycle (#2743 for sure) so the scoping will happen no matter what


Support for default predefined userFields

We need the option to be able to output additional fields which always contain the same value.

Sorry, I should have read the documentation :)


VCU-43: Configurable Signing Algo Per Service: Config Changes

Change the Config microservice to return the signing algo flag value from the transaction config to the saml-engine service.
Plug-in to saml-engine.

Yes, as advised by Codacy.  It rejected them in part 1 so in part 2 I
updated them beforehand.
On 7 June 2018 at 16:32, alan-gds<EMAIL_ADDRESS>wrote:

@alan-gds commented on this pull request.
This looks fine, but I'm curious about why we lost those underscores in
the test names.
In hub/config/src/integration-test/java/uk/gov/ida/
integrationtest/hub/config/apprule/TransactionsResourceIntegratio
nTest.java
https://github.com/alphagov/verify-hub/pull/76#discussion_r193698791:

@@ -85,7 +86,7 @@ public static void setUp() throws Exception {
}

  @Test

public void getAssertionConsumerServiceUri_returnsOkAndUri(){

public void getAssertionConsumerServiceUriReturnsOkAndUri(){

I think these test names were clearer when they had the underscores. Was
removing the underscores the result of a Codacy judgement?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/alphagov/verify-hub/pull/76#pullrequestreview-126720923,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Akcpg3djYtnuTQpoFSAdX58vUVkBAImvks5t6UeDgaJpZM4UbHJC
.

The dev team has agreed that we can ignore this Codacy check, and Dan has reinstated the underscores; I'll merge the PR.


Error retrieving vpc

https://sentry.io/organizations/iasql/issues/3186398059/?project=6106929&referrer=webhooks_plugin
Seems to be failing on target group mapper setting up the vpc. Maybe the vpc does not exists?  Is it a wrong string?

I'm pretty certain we have fixed this. It was a bug in ELB accidentally attaching multiple VPCs to the singular vpc property and then exploding. Getting stricter with our types should help avoid this class of bug in the future.


Provide a troubleshooting page

It would be helpful to have a "Troubleshooting" page, showing the status of some common causes for failure and hence support requests.

Network access on HTTP and HTTPS to https://gbrds.gbif.org, http://rs.gbif.org
Public network access, tested using the service on https://tools.gbif.org
Data directory: writeable and disk space remaining
Operating system, Java version (like we have in the HTTP client user agent: GBIF-IPT/2.4.2-rd9bfb4b (+https://www.gbif.org/ipt) Java/1.8.0_131 (Linux)).
Test/Production mode

The first two would be useful on their own, by the relevant administration settings and perhaps during setup.

Here is my first version:

I have few questions:

Public network access, tested using the service on https://tools.gbif.org
Checking https://gbrds.gbif.org, http://rs.gbif.org should be enough to check public network access?
Or is the specific URL https://tools.gbif.org used in the code, and worth a check? (I can find references but not real calls)

I set a limit to 80% of disk usage, to display it in red. Do you agree?

Is this page restricted or public?

Should we add a menu entry for this page?
Maybe the gbif.org  icon, near the login button?

Related to #3, I didn't display the real paths of the file permissions tests (config directory path, etc...), because we usually avoid to display publicly system information (to prevent attacks).

However, I realize that, at startup, we do such tests and display the paths:

What do you think about it?
To be consistent, should we display the paths everywhere, or hide them everywhere?
For ease of use, I would keep displaying them, because I guess all IPT users are not comfortable with checking the logs for such warnings.
And if we want to be really secure, we should also prevent displaying stacktraces in the UI, etc... but it will make the bug reporting more difficult.
Cheers,
Sylvain

What about this UI instead?
I think the block titles are more readable (highly inspired by gbif.org :) ) but it's a bit less compliant with the IPT stylesheet.

I also added a JSON output:

Public network access, tested using the service on https://tools.gbif.org
Checking https://gbrds.gbif.org, http://rs.gbif.org should be enough to check public network access?
Or is the specific URL https://tools.gbif.org used in the code, and worth a check? (I can find references but not real calls)

Requests to https://gbrds.gbif.org and http://rs.gbif.org confirm there is outbound web access.  That's sufficient for fetching and updating DWC extension/vocabulary data, and registering datasets in GBIF's registry.
The other important thing is inbound web access, so GBIF can retrieve the dataset after it's been registered.  In other words, checking the public URL / baseURL is correct, as is done on the initial IPT Setup II screen.  I hadn't realized, but this is only done in JavaScript at the moment: https://github.com/gbif/ipt/blob/master/src/main/webapp/WEB-INF/pages/admin/registration.ftl#L60-L83

I set a limit to 80% of disk usage, to display it in red. Do you agree?

Seems fine for me.

Is this page restricted or public?
Should we add a menu entry for this page?
Related to #3, I didn't display the real paths of the file permissions tests (config directory path, etc...), because we usually avoid to display publicly system information (to prevent attacks).

We already show file paths on /admin/config.do, which the admin can see.
We could either add this page to the Administration menu, or (maybe even better?) add the status to each option in the /admin/config.do page.  What do you think of something like this? (I just made it in developer tools.)

Or even changing the setup page to use the blocks.

Public access
I totally understand, so we need a 3rd party to check if our own IPT url is accessible.
It looks like https://tools.gbif.org/ws-validurl/?url=http://www.google.fr is doing that perfectly!

3.4.5.
I understand your idea, but I think errors are less visible if the status is mixed with configuration.
Having the status on a dedicated page seems clearer for me.
What about having it public, without sensible information if you are not logged, like the paths and server information.

And when logged:

(by the way, I added the application server info)

What about having it public, without sensible information if you are not logged, like the paths and server information.

This is also fine. Thanks for implementing it!

I created the PR https://github.com/gbif/ipt/pull/1584

I added an entry menu here, using font awesome icon:

It would be better to use the GBIF icon, wouldn't it? any plan to include them?

Great !
I did plan to work on your remarks today but you were faster ! :)
I like the GBIF icons for health and language buttons !


[fix] optional for local_delete_from_db and set default port, new endpoints

Pull Request summary:
Small fixes for data models
New endpoints in:

vmngclient/endpoints/certificate_management_device.py
vmngclient/endpoints/configuration_device_inventory.py

Description of changes:
[Add more in depth analysis of what changed, provide logs, examples of usage]
Checklist:

[x] Make sure to run pre-commit before committing changes
[x] Make sure all checks have passed
[x] PR description is clear and comprehensive
[x] Mentioned the issue that this PR solves (if applicable)
[x] Make sure you test the changes

This issue was migrated from an old repository: https://github.com/CiscoDevNet/catalystwan/pull/411


numpy.ndarray * control.TransferFunction gives array object

TransferFunction doesn't have the __array_priority = 11 class attribute that StateSpace and FrequencyResponseData do.  Is this on purpose?  See below for results of array * tf, which results in an array (dtype object), and array * ss, which results in a SS object.  I found this while investigating the behaviour of bdalg.connect in relation with #421
Should multiplication of scalar transfer functions by arrays be special-cased so that, e.g., with scalar tf k, k * eye(5) gives a 5x5 TF with identical entries on the diagonal?  I think this sort of convention is used in literature, but it might be tricky to get something consistent here (e.g., should 1-input 1-output state-space systems do something analogous?; should one do general broadcasting?)
(control-dev) rory@rory-latitude:~/src/python-control$ ipython
Python 3.8.5 | packaged by conda-forge | (default, Jul 31 2020, 02:39:48)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.17.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: !git describe
0.8.3-62-g6ede92e

In [2]: import control

In [3]: import numpy as np

In [4]: np.array([[1]]) * control.tf([1], [1,1])
Out[4]: array([[TransferFunction(array([1.]), array([1, 1]))]], dtype=object)

In [5]: np.array([[1]]) * control.ss([[-1]], [[1]], [[1]], [[0]])
Out[5]: StateSpace(array([[-1.]]), array([[1.]]), array([[1.]]), array([[0.]]))

For the purposes of being able to use bdalg.connect with TransferFunctions, it's probably sufficient just to add the __array_priority__ entry to the class in question.  However, I wondered about general type conversion in python-control; see below.
For the operations +, -, *, /, I would expect the following priority of "type conversion", where conversions are always to earlier entries (so, e.g., FRD + StateSpace should give type FRD).  For FRD, this is based on the idea that it's possible, and least in principle, to go from any of the others to FRD type, but the opposite is not possible (or, at least, not straightforward).

FRD
LinearIOSystem
StateSpace
TransferFunction
numpy.ndarray / Python float

However, some command-line experimentation found this is not the case.  Results below (script after that), showing the result type of lopnd op ropnd.  "op" = operator, "lopnd" is left-hand operand, "ropnd" is right-hand operand; "E" is error.  The type names are hopefully obvious except perhaps lio = LinearIOSystem, arr = numpy.ndarray, and flt = Python's built-in float type.
Not all operations are defined (many "E" s), and the tables are frequently not symmetric about the diagonal.
Division is a special case: it probably only makes sense to divide by a tf or frd.  (And frd / anything also makes sense).
We don't support matmul at all; ignore that part of the table.

ropnd
ss
tf
frd
lio
arr
flt

op
lopnd

add
ss
ss
ss
E
ss
ss
ss

tf
tf
tf
E
tf
tf
tf

frd
E
E
frd
E
E
E

lio
E
E
E
lio
E
E

arr
ss
arr
E
E
arr
arr

flt
ss
tf
E
E
arr
flt

sub
ss
ss
ss
E
ss
ss
ss

tf
tf
tf
E
tf
tf
tf

frd
E
E
frd
E
E
E

lio
E
E
E
lio
E
E

arr
ss
arr
E
E
arr
arr

flt
ss
tf
E
E
arr
flt

mul
ss
ss
ss
E
E
ss
ss

tf
tf
tf
E
tf
tf
tf

frd
E
E
frd
E
E
frd

lio
lio
E
E
lio
E
E

arr
ss
arr
E
E
arr
arr

flt
ss
tf
frd
E
arr
flt

truediv
ss
E
tf
E
E
E
E

tf
tf
tf
E
tf
tf
tf

frd
E
E
frd
E
E
frd

lio
E
tf
E
E
E
E

arr
E
arr
E
E
arr
arr

flt
E
tf
frd
E
arr
flt

matmul
ss
E
E
E
E
E
E

tf
E
E
E
E
E
E

frd
E
E
E
E
E
E

lio
E
E
E
E
E
E

arr
E
E
E
E
arr
E

flt
E
E
E
E
E
E

from itertools import product
import operator

import numpy as np
import pandas as pd

import control as ct

type_db = [
#   name    class                     instance
    ('ss',  ct.StateSpace,            ct.ss([[-1]],[[1]],[[1]],[[0]])),
    ('tf',  ct.TransferFunction,      ct.tf([1],[0.5, 1])),
    ('frd', ct.FrequencyResponseData, ct.frd([10+0j, 9 + 1j, 8 + 2j], [1,2,3])),
    ('lio', ct.LinearIOSystem,        ct.LinearIOSystem(ct.ss([[-1]],[[5]],[[5]],[[0]]))),
    ('arr', np.ndarray,               np.array([[2.0]])),
    ('flt', float,                    3.0),
    ]

klass_to_name = { ncf[1]: ncf[0]
                  for ncf in type_db }

typenames = [ncf[0] for ncf in type_db]

opnames = ['add', 'sub', 'mul', 'truediv', 'matmul']

def frame_per_op(op):
    resultss = [list()
                for _ in type_db]
    for lh, results in zip(type_db, resultss):
        lopnd = lh[2]
        for rh in type_db:
            ropnd = rh[2]
            try:
                result = klass_to_name[type(op(lopnd, ropnd))]
            except Exception:
                result = 'E'
            results.append(result)
    return pd.DataFrame(resultss,
                        columns=pd.Index(typenames, name='ropnd'),
                        index=pd.Index(typenames, name='lopnd'))

ops = [getattr(operator, opname)
       for opname in opnames]

df = pd.concat([frame_per_op(op)
                for op in ops],
               keys=opnames,
               names=['op'])

This is great. I knew that ss/float gave an error and was thinking about a PR, but this shows that there are a few holes to fill.
This hierarchy makes sense to me. Should a nonlineariosystem sit at the top, beside FRD systems?

This hierarchy makes sense to me. Should a nonlineariosystem sit at the top, beside FRD systems?

That seems right; and, operations trying to combine these two should fail.  There's also InterconnectedSystem, I'm not sure how that fits in.

LinearIOSystem and InterconnectedSystems are both subclasses of InputOutputSystem.  Any operation with an LTI system that can be converted to a StateSpace system can (and probably should) be promoted to an InputOutput system.  Note that you can't combine an FRD system with an InputOutputSystem since the former is has (only) a frequency domain representation and later has (only) a state space representation.


Log refreshing status

Refresh may take long time depending on the number of resources and stability of network connection. For instance in my case it hangs up for tens of minutes at refreshing step.

Thread safety: logger is simultaneously writable so it would cause no problem in goroutine loop :)

@ktogo Good idea, maybe it's print a lot of logs, but I ok with this.


AnimatedSwitcher should be more customizable

Currently AnimatedSwitcher only allows you to play the same animation for both exit and enter, which can only be played simultaneously. If you look at the Material website, the overwhelming majority of transitions fade to white/transparent first, and then fade in the next element.
Working around both these constraints is a bit fiddly, and can be made a lot easier if these options were integrated into the constructor.
Ideally AnimatedSwitcher should support the following options:

bool simultaneous - if false, plays the next childs animation after the previous, instead of at the same time
Duration {enter,exit}Duration - specifies unique durations for entering and exiting childs, respectively
Widget {enter,exit}TransitionBuilder - specifies unique transitions for entering and exiting childs, respectively

As a use case, currently I use AnimatedSwitcher to transition changing pages in a Scaffold, however I had to implement a few hacky solutions to achieve a satisfying result. Firstly, as the animations are played simultaneously in AnimatedSwitcher, I had to wrap switchInCurve and switchOutCurve with an Interval to squash each curve away from each other:
        return AnimatedSwitcher(
          duration: Duration(milliseconds: 250),
          child: pages.elementAt(vm.pageIndex),
          switchInCurve: Interval(
            0.3,
            1,
            curve: mt_curves.easeOutQuart,
          ),

          switchOutCurve: Interval(
            0.7,
            1,
            curve: Curves.linear,
          ),

This was a bit non-intuative to begin with, as AnimatedSwitcher plays the enter animation in reverse. So instead of the interval being 0 -> 0.3 (exit) and 0.3 -> 1 (enter), it is 0.7 -> 1 and 0.3 -> 1
I also wanted to use different animations and curves for enter/exit, to follow the Material design example of a quick exit and a longer fade in + scale animation (https://material.io/design/components/bottom-navigation.html#behavior). Google Photos does a similar animation for their page changes (including exit/enter not playing simultaneously), so this is a pretty common use case. My workaround for this seemed even hackier:
          transitionBuilder: (Widget child, Animation<double> animation) {
            Widget fadeChild;
            if (animation.status == AnimationStatus.dismissed) {
              // current page includes an additional scale transition
              fadeChild = ScaleTransition(
                scale: Tween<double>(begin: 0.95, end: 1).animate(animation),
                child: child,
              );
            } else {
              // previous page just fades out
              fadeChild = child;
            }

            return FadeTransition(
              opacity: animation,
              child: fadeChild,
            );
          }

Source for my workarounds here: https://gist.github.com/marcoms/aab4c9ab889303fd41970734472f961a

Have also been struggling to create separate transitions with AnimatedSwitcher and found that if you return a different type at all it will rebuild the old widget. So in the workaround above it will rebuild the child which I didn't expect even though it's always returning a FadeTransition. So if child is stateful it would run initState again which can cause problems.
However, if you just pass different animations it doesn't rebuild. So I guess it needs the exact same structure defined, but I don't understand if that's intentional or why it'd be required.
This example should demonstrate how one version triggers a rebuild and the other doesn't.
import 'package:flutter/material.dart';

void main() {
  runApp(MaterialApp(home: TestScreen()));
}

class TestScreen extends StatefulWidget {
  @override
  _TestScreenState createState() => _TestScreenState();
}

class _TestScreenState extends State<TestScreen> {
  var _counter = 1;

  @override
  Widget build(BuildContext context) {
    return GestureDetector(
      onTap: () => setState(() => _counter++),
      child: Scaffold(
        body: Column(
          crossAxisAlignment: CrossAxisAlignment.stretch,
          children: <Widget>[
            Expanded(
              child: AnimatedSwitcher(
                duration: Duration(milliseconds: 300),
                child: _ChildWidget(
                  key: ValueKey<int>(_counter),
                  number: _counter
                ),
                transitionBuilder: (Widget child, Animation<double> animation) {

                  // Will see "Build child x" in the console twice
                  Widget fadeChild;
                  if (animation.status == AnimationStatus.dismissed) {
                    // current page includes an additional scale transition
                    fadeChild = ScaleTransition(
                      scale: Tween<double>(begin: 0.5, end: 1).animate(animation),
                      child: child,
                    );
                  } else {
                    // previous page just fades out
                    fadeChild = child;
                  }

                  return FadeTransition(
                    opacity: animation,
                    child: fadeChild,
                  );

                  // Will only see "Build child x" once
//                  return FadeTransition(
//                    opacity: animation,
//                    child: ScaleTransition(
//                      scale: animation.status == AnimationStatus.dismissed
//                        ? Tween<double>(begin: .5, end: 1).animate(animation)
//                        : AlwaysStoppedAnimation(1.0),
//                      child: child,
//                    ),
//                  );
                },
              ),
            ),
            Padding(
              padding: EdgeInsets.only(bottom: 50),
              child: Text('Tap anywhere to advance', textAlign: TextAlign.center),
            )
          ],
        ),
      ),
    );
  }
}

class _ChildWidget extends StatelessWidget {
  final int number;
  const _ChildWidget({Key key, @required this.number}) : super(key: key);

  @override
  Widget build(BuildContext context) {

    print('Build child $number');

    return Text(number.toString(), style: TextStyle(fontSize: 100));
  }
}

We had a discussion on supporting different animations in this issue https://github.com/flutter/flutter/issues/19395

I just had a similar problem and found out that you can also do this with the ‘PageTransitionSwitcher’.  But you have to install the ‘animations’ package from Flutter. Just as info for those who simply want a solution..

Should we consider adding PageTransitionSwitcher to the framework?

If we implement what original issue suggest, is there anything PageTransitionSwitcher can do but AnimationSwitcher can't?

I think PageTransitionSwitcher is exactly the same, but supports customizing both the enter and exit animations in the transitionBuilder. So we could either implement the same functionality in AnimatedSwitcher or move PageTransitionSwitcher into the framework to resolve this issue.

historically we try to avoid adding widget that are not used in material or cupertino into flutter/flutter, but i am not sure if that is still the case.


[EsBuild] locale changed from "en" to "en-US"

Which @angular/* package(s) are the source of the bug?
localize, Don't known / other
Is this a regression?
Yes
Description
Before upgrading our product to Angular 17, our default LOCALE_ID was "en"
After upgrading and switching to Application builder, the LOCALE_ID value is now set to "en-US"
Please provide a link to a minimal reproduction of the bug
No response
Please provide the exception or error you saw
Before:
LOCALE_ID = en

After:
LOCALE_ID = en-US

Please provide the environment you discovered this bug in (run ng version)
Angular CLI: 17.0.1
Node: 18.18.2
Package Manager: pnpm 8.10.5
OS: darwin arm64

Angular: 17.0.3
... animations, common, compiler, compiler-cli, core, forms
... language-service, localize, platform-browser
... platform-browser-dynamic, platform-server, router
... service-worker

Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.1700.1 (cli-only)
@angular-devkit/build-angular   17.0.1
@angular-devkit/core            17.0.1 (cli-only)
@angular-devkit/schematics      17.0.1 (cli-only)
@angular/cdk                    17.0.1
@angular/cli                    17.0.1
@angular/fire                   7.5.0
@angular/material               17.0.1
@schematics/angular             17.0.1 (cli-only)
rxjs                            7.5.7
typescript                      5.2.2
zone.js                         0.14.2

Anything else?
Angular.json:

{
  "$schema"<EMAIL_ADDRESS>  "version": 1,
  "newProjectRoot": "projects",
  "projects": {
    "fastorder-shop": {
      "projectType": "application",
      "schematics": {
        "@schematics/angular:component": {
          "style": "scss"
        }
      },
      "i18n": {
        "locales": {
          "da": "src/locale/messages.da.xlf",
          "en": "src/locale/messages.en.xlf",
          "it": "src/locale/messages.it.xlf",
          "es": "src/locale/messages.es.xlf",
          "de": "src/locale/messages.de.xlf",
          "pt": "src/locale/messages.pt.xlf",
          "fr": "src/locale/messages.fr.xlf"
        }
      },
      "root": "",
      "sourceRoot": "src",
      "prefix": "app",
      "architect": {
        "build": {
          "builder": "@angular-devkit/build-angular:browser-esbuild",
          "options": {
            "outputPath": "dist/fastorder-shop",
            "index": "src/index.html",
            "main": "src/main.ts",
            "polyfills": "src/polyfills.ts",
            "tsConfig": "tsconfig.app.json",
            "assets": [
              "src/robots.txt",
              "src/favicon.ico",
              "src/manifest.json",
              "src/assets"
            ],
            "styles": [
              "src/app/styles/index.scss",
              {
                "input": "src/app/styles/theme-water-green.scss",
                "bundleName": "theme-water-green",
                "inject": false
              },
              {
                "input": "src/app/styles/theme-dark-green.scss",
                "bundleName": "theme-dark-green",
                "inject": false
              },
              {
                "input": "src/app/styles/theme-dark-blue.scss",
                "bundleName": "theme-dark-blue",
                "inject": false
              },
              {
                "input": "src/app/styles/theme-petrol-blue.scss",
                "bundleName": "theme-petrol-blue",
                "inject": false
              },
              {
                "input": "src/app/styles/theme-cyan.scss",
                "bundleName": "theme-cyan",
                "inject": false
              },
              {
                "input": "src/app/styles/theme-black.scss",
                "bundleName": "theme-black",
                "inject": false
              },
              {
                "input": "src/app/styles/theme-blue.scss",
                "bundleName": "theme-blue",
                "inject": false
              },
              {
                "input": "src/app/styles/theme-green.scss",
                "bundleName": "theme-green",
                "inject": false
              },
              {
                "input": "src/app/styles/theme-blue-gray.scss",
                "bundleName": "theme-blue-gray",
                "inject": false
              },
              {
                "input": "src/app/styles/theme-teal.scss",
                "bundleName": "theme-teal",
                "inject": false
              },
              {
                "input": "src/app/styles/theme-dark-orange.scss",
                "bundleName": "theme-dark-orange",
                "inject": false
              },
              {
                "input": "src/app/styles/theme-purple.scss",
                "bundleName": "theme-purple",
                "inject": false
              }
            ],
            "stylePreprocessorOptions": {
              "includePaths": [
                "src/app/styles"
              ]
            },
            "scripts": [],
            "vendorChunk": true,
            "extractLicenses": false,
            "buildOptimizer": false,
            "sourceMap": true,
            "optimization": false,
            "namedChunks": true
          },
          "configurations": {
            "production": {
              "fileReplacements": [
                {
                  "replace": "src/environments/environment.ts",
                  "with": "src/environments/environment.prod.ts"
                },
                {
                  "replace": "src/app/store/build-specifics/index.ts",
                  "with": "src/app/store/build-specifics/index.prod.ts"
                }

              ],
              "optimization": true,
              "outputHashing": "all",
              "sourceMap": false,
              "namedChunks": false,
              "extractLicenses": true,
              "vendorChunk": false,
              "buildOptimizer": true,
              "localize": [
                "da",
                "en",
                "it",
                "es",
                "de",
                "pt",
                "fr"
              ],
              "serviceWorker": true,
              "ngswConfigPath": "ngsw-config.json"
            },
            "localprod": {
              "fileReplacements": [
                {
                  "replace": "src/environments/environment.ts",
                  "with": "src/environments/environment.localprod.ts"
                }
              ],
              "optimization": false,
              "outputHashing": "all",
              "sourceMap": true,
              "namedChunks": false,
              "extractLicenses": true,
              "vendorChunk": false,
              "buildOptimizer": false,
              "localize": [
                "en"
              ],
              "baseHref": "/en",
              "serviceWorker": true,
              "ngswConfigPath": "ngsw-config.json"
            },
            "localtest": {
              "fileReplacements": [
                {
                  "replace": "src/environments/environment.ts",
                  "with": "src/environments/environment.localtest.ts"
                }
              ],
              "optimization": false,
              "outputHashing": "all",
              "sourceMap": true,
              "namedChunks": false,
              "extractLicenses": true,
              "vendorChunk": false,
              "buildOptimizer": false,
              "localize": [
                "en"
              ],
              "baseHref": "/en",
              "serviceWorker": true,
              "ngswConfigPath": "ngsw-config.json"
            },
            "dev": {
              "fileReplacements": [
                {
                  "replace": "src/environments/environment.ts",
                  "with": "src/environments/environment.dev.ts"
                }
              ],
              "optimization": false,
              "outputHashing": "all",
              "sourceMap": true,
              "namedChunks": false,
              "extractLicenses": true,
              "vendorChunk": false,
              "buildOptimizer": false,
              "localize": [
                "da",
                "en",
                "it",
                "es",
                "de",
                "pt",
                "fr"
              ],
              "styles": [
                "src/app/styles/index.scss",
                {
                  "input": "src/app/styles/theme-water-green.scss",
                  "bundleName": "theme-water-green",
                  "inject": false
                },
                {
                  "input": "src/app/styles/theme-dark-green.scss",
                  "bundleName": "theme-dark-green",
                  "inject": false
                },
                {
                  "input": "src/app/styles/theme-dark-blue.scss",
                  "bundleName": "theme-dark-blue",
                  "inject": false
                },
                {
                  "input": "src/app/styles/theme-petrol-blue.scss",
                  "bundleName": "theme-petrol-blue",
                  "inject": false
                },
                {
                  "input": "src/app/styles/theme-cyan.scss",
                  "bundleName": "theme-cyan",
                  "inject": false
                },
                {
                  "input": "src/app/styles/theme-black.scss",
                  "bundleName": "theme-black",
                  "inject": false
                },
                {
                  "input": "src/app/styles/theme-blue.scss",
                  "bundleName": "theme-blue",
                  "inject": false
                },
                {
                  "input": "src/app/styles/theme-green.scss",
                  "bundleName": "theme-green",
                  "inject": false
                },
                {
                  "input": "src/app/styles/theme-blue-gray.scss",
                  "bundleName": "theme-blue-gray",
                  "inject": false
                },
                {
                  "input": "src/app/styles/theme-teal.scss",
                  "bundleName": "theme-teal",
                  "inject": false
                },
                {
                  "input": "src/app/styles/theme-dark-orange.scss",
                  "bundleName": "theme-dark-orange",
                  "inject": false
                },
                {
                  "input": "src/app/styles/theme-purple.scss",
                  "bundleName": "theme-purple",
                  "inject": false
                }
              ],
              "stylePreprocessorOptions": {
                "includePaths": [
                  "src/app/styles"
                ]
              },
              "serviceWorker": true,
              "ngswConfigPath": "ngsw-config.json"
            },
            "test": {
              "fileReplacements": [
                {
                  "replace": "src/environments/environment.ts",
                  "with": "src/environments/environment.test.ts"
                },
                {
                  "replace": "src/app/store/build-specifics/index.ts",
                  "with": "src/app/store/build-specifics/index.prod.ts"
                }
              ],
              "optimization": false,
              "outputHashing": "all",
              "sourceMap": true,
              "namedChunks": false,
              "extractLicenses": true,
              "vendorChunk": false,
              "buildOptimizer": false,
              "localize": [
                "da",
                "en",
                "it",
                "es",
                "de",
                "pt",
                "fr"
              ],
              "styles": [
                "src/app/styles/index.scss",
                {
                  "input": "src/app/styles/theme-water-green.scss",
                  "bundleName": "theme-water-green",
                  "inject": false
                },
                {
                  "input": "src/app/styles/theme-dark-green.scss",
                  "bundleName": "theme-dark-green",
                  "inject": false
                },
                {
                  "input": "src/app/styles/theme-dark-blue.scss",
                  "bundleName": "theme-dark-blue",
                  "inject": false
                },
                {
                  "input": "src/app/styles/theme-petrol-blue.scss",
                  "bundleName": "theme-petrol-blue",
                  "inject": false
                },
                {
                  "input": "src/app/styles/theme-cyan.scss",
                  "bundleName": "theme-cyan",
                  "inject": false
                },
                {
                  "input": "src/app/styles/theme-black.scss",
                  "bundleName": "theme-black",
                  "inject": false
                },
                {
                  "input": "src/app/styles/theme-blue.scss",
                  "bundleName": "theme-blue",
                  "inject": false
                },
                {
                  "input": "src/app/styles/theme-green.scss",
                  "bundleName": "theme-green",
                  "inject": false
                },
                {
                  "input": "src/app/styles/theme-blue-gray.scss",
                  "bundleName": "theme-blue-gray",
                  "inject": false
                },
                {
                  "input": "src/app/styles/theme-teal.scss",
                  "bundleName": "theme-teal",
                  "inject": false
                },
                {
                  "input": "src/app/styles/theme-dark-orange.scss",
                  "bundleName": "theme-dark-orange",
                  "inject": false
                },
                {
                  "input": "src/app/styles/theme-purple.scss",
                  "bundleName": "theme-purple",
                  "inject": false
                }
              ],
              "stylePreprocessorOptions": {
                "includePaths": [
                  "src/app/styles"
                ]
              },
              "serviceWorker": true,
              "ngswConfigPath": "ngsw-config.json"
            },
            "da": {
              "baseHref": "/da",
              "localize": [
                "da"
              ]
            },
            "en": {
              "baseHref": "/en",
              "localize": [
                "en"
              ]
            },
            "it": {
              "baseHref": "/it",
              "localize": [
                "it"
              ]
            },
            "es": {
              "localize": [
                "es"
              ]
            },
            "de": {
              "localize": [
                "de"
              ]
            },
            "pt": {
              "baseHref": "/pt",
              "localize": [
                "pt"
              ]
            },
            "fr": {
              "baseHref": "/fr",
              "localize": [
                "fr"
              ]
            }
          }
        },
        "serve": {
          "builder": "@angular-devkit/build-angular:dev-server",
          "options": {
            "buildTarget": "fastorder-shop:build"
          },
          "configurations": {
            "production": {
              "buildTarget": "fastorder-shop:build:production"
            },
            "localprod": {
              "buildTarget": "fastorder-shop:build:localprod"
            },
            "localtest": {
              "buildTarget": "fastorder-shop:build:localtest"
            },
            "dev": {
              "buildTarget": "fastorder-shop:build:dev"
            },
            "da": {
              "buildTarget": "fastorder-shop:build:da"
            },
            "en": {
              "buildTarget": "fastorder-shop:build:en"
            },
            "it": {
              "buildTarget": "fastorder-shop:build:it"
            },
            "es": {
              "buildTarget": "fastorder-shop:build:es"
            },
            "de": {
              "buildTarget": "fastorder-shop:build:de"
            },
            "pt": {
              "buildTarget": "fastorder-shop:build:pt"
            },
            "fr": {
              "buildTarget": "fastorder-shop:build:fr"
            }
          }
        },
        "extract-i18n": {
          "builder": "@angular-devkit/build-angular:extract-i18n",
          "options": {
            "buildTarget": "fastorder-shop:build"
          }
        },
        "lint": {
          "builder": "@angular-eslint/builder:lint",
          "options": {
            "lintFilePatterns": [
              "src/**/*.ts",
              "src/**/*.html"
            ]
          }
        },
        "e2e": {
          "builder": "@briebug/cypress-schematic:cypress",
          "options": {
            "devServerTarget": "fastorder-shop:serve",
            "watch": true,
            "headless": false
          },
          "configurations": {
            "production": {
              "devServerTarget": "fastorder-shop:serve:production"
            }
          }
        },
        "server": {
          "builder": "@angular-devkit/build-angular:server",
          "options": {
            "outputPath": "dist/fastorder-shop/server",
            "main": "server.ts",
            "tsConfig": "tsconfig.server.json",
            "sourceMap": true,
            "optimization": false,
            "buildOptimizer": false
          },
          "configurations": {
            "production": {
              "outputHashing": "media",
              "fileReplacements": [
                {
                  "replace": "src/environments/environment.ts",
                  "with": "src/environments/environment.prod.ts"
                }
              ],
              "localize": [
                "da",
                "en",
                "it",
                "es",
                "de",
                "fr",
                "pt"
              ],
              "sourceMap": false,
              "optimization": true,
              "styles": [
                "src/app/styles/index.scss"
              ],
              "stylePreprocessorOptions": {
                "includePaths": [
                  "src/app/styles"
                ]
              },
              "buildOptimizer": true
            },
            "dev": {
              "outputHashing": "media",
              "fileReplacements": [
                {
                  "replace": "src/environments/environment.ts",
                  "with": "src/environments/environment.dev.ts"
                }
              ],
              "localize": [
                "da",
                "en",
                "it",
                "es",
                "de",
                "pt",
                "fr"
              ],
              "sourceMap": false,
              "optimization": true,
              "stylePreprocessorOptions": {
                "includePaths": [
                  "src/app/styles"
                ]
              },
              "buildOptimizer": true
            },
            "da": {
              "localize": [
                "da"
              ]
            },
            "en": {
              "localize": [
                "en"
              ]
            },
            "it": {
              "localize": [
                "it"
              ]
            },
            "es": {
              "localize": [
                "es"
              ]
            },
            "de": {
              "localize": [
                "de"
              ]
            },
            "pt": {
              "localize": [
                "pt"
              ]
            },
            "fr": {
              "localize": [
                "fr"
              ]
            }
          }
        },
        "cypress-run": {
          "builder": "@briebug/cypress-schematic:cypress",
          "options": {
            "devServerTarget": "fastorder-shop:serve"
          },
          "configurations": {
            "production": {
              "devServerTarget": "fastorder-shop:serve:production"
            }
          }
        },
        "cypress-open": {
          "builder": "@briebug/cypress-schematic:cypress",
          "options": {
            "devServerTarget": "fastorder-shop:serve",
            "watch": true,
            "headless": false
          },
          "configurations": {
            "production": {
              "devServerTarget": "fastorder-shop:serve:production"
            }
          }
        }
      }
    }
  },
  "cli": {
    "packageManager": "pnpm",
    "analytics": "73f81165-848c-4c25-9c1f-5d5e81bb6da0",
    "cache": {
      "enabled": true,
      "path": ".cache",
      "environment": "all"
    },
    "schematicCollections": [
      "@angular-eslint/schematics"
    ]
  },
  "schematics": {
    "@angular-eslint/schematics:application": {
      "setParserOptionsProject": true
    },
    "@angular-eslint/schematics:library": {
      "setParserOptionsProject": true
    }
  }
}

This looks similar to #26026

Hi @spock123, I am unable to replicate this discrepancies reported between the application and browser builder. Can you please provide a reproduction?
en-US is Angular's default sourceLocale which can be changed by setting sourceLocale in the i18n configuration object.

Hi @alan-agius4  I shall try to make a simple version, I'll have to simplify our application a lot but I'll give it a shot.

A good way to make a minimal repro is to create a new app via ng new repro-app and adding the minimum possible code to show the problem. Then you can push this repository to github and link it here.

I bet it works if I do that /s  .. we shall see hehe

Hi, just to clarify that this is not a unique case: we have the same problem as here and in #26026. The LOCALE_ID returns 'en-US' for each language. I have tried to reproduce the issue with a minimal project, but without success. (In the minimal project, everything works as it should).
I will have another look in the coming days to see if I can reproduce it.

Can you check if you replace<EMAIL_ADDRESS>with the contents of https://gist.github.com/alan-agius4/9e8ba93fb8a837b43f8d6931e8f2164f fixes the issue?

Hi @alan-agius4, thanks for your work!
I have replaced it, but the error persists.
I have also tested the new build system (@angular-devkit/build-angular:application), but the issue is the same.

@vorlif this issue is about the application builder, if you are experiment the problem with the webpack based builder. It’s different.

@alan-agius4 Sorry, I should have written that in more detail. Here the builder and my the results when I open the created de app:

@angular-devkit/build-angular:browser  - de :heavy_check_mark:
@angular-devkit/build-angular:browser-esbuild  - en-US
@angular-devkit/build-angular:application  - en-US

It works correctly with the old build system (Webpack), but not with the new build systems. I think this is the same issue as described here.
@spock123 Did you use the application builder (@angular-devkit/build-angular:application)?  You write about the "old" builder and your angular.json contains @angular-devkit/build-angular:browser-esbuild.
So I think you have tested @angular-devkit/build-angular:browser-esbuild and @angular-devkit/build-angular:browser?

@vorlif  thanks, now I don't feel so alone :)
I was using the browser-esbuild builder. I have precisely the same issue - browser builder gives correct LOCALE_ID; while browser-esbuild gives me en-US

@spock123, even for you https://github.com/angular/angular-cli/issues/26409#issuecomment-1825346697 doesn't fix your issue?

I haven't tested it yet, will try tonight :)
On Fri, Nov 24, 2023 at 1:58 PM Alan Agius @.***> wrote:

@spock123 https://github.com/spock123, even for you #26409 (comment)
https://github.com/angular/angular-cli/issues/26409#issuecomment-1825346697
doesn't fix your issue?
—
Reply to this email directly, view it on GitHub
https://github.com/angular/angular-cli/issues/26409#issuecomment-1825642333,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJVM5BIRANYTHRMWTNGSD3YGCKW5AVCNFSM6AAAAAA7Q5H26GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMRVGY2DEMZTGM
.
You are receiving this because you were mentioned.Message ID:
@.***>

Okay, I've found the problem for myself. My IDE has automatically added this import
import {$localize} from '@angular/localize/init';
If I remove this line, the problem is solved.

@spock123, even for you #26409 (comment) doesn't fix your issue?

Hey!! that fixed it!!!!   @alan-agius4

@vorlif  how did you get angular.json configured with the application builder btw? I use @angular-devkit/build-angular:browser-esbuild, and if I replace that with  @angular-devkit/build-angular:application, I get this syntax error for angular.json:

{
      instancePath: '',
      schemaPath: '#/required',
      keyword: 'required',
      params: { missingProperty: 'browser' },
      message: "must have required property 'browser'"
    }

@vorlif how did you get angular.json configured with the application builder btw? I use @angular-devkit/build-angular:browser-esbuild, and if I replace that with @angular-devkit/build-angular:application, I get this syntax error for angular.json:

You have to replace main with browser. Take a look at the documentation, it is explained in detail there. You may need to make additional modifications to your configuration.

@spock123, thanks for confirming that the proposed change fixes your issue.

@alan-agius4 : Just to chime in here, your fix also fixed it for me. Thank you! Any idea when we will see that in production?

My guess is within the next 2 days. Last release was about 8 days ago, so it's about this time a new bugfix release comes out.

Release happen mostly on wednesday. Last week was a bit particular because of Thanksgiving 👌


training data

Hi! What training data was used to train encoder? Original implementation used 70k FFHQ, what about yours?

Hi! The checkpoint was trained on the same FFHQ 70k data.

ok, thanks. Guess results should be better if one add some "non FFHQ style" faces