Build failure of 0.5 with rustfft-complex feature enabled.

Building 0.5 fails with the rustfft-complex feature.
I am attempting to enable this feature because the default feature set panics at runtime when given more than 4096 samples.

Compiling spectrum-analyzer v0.5.0
error[E0659]: Complex32 is ambiguous (glob import vs glob import in the same module)
--> /home/tom/.cargo/registry/src/github.com-1ecc6299db9ec823/spectrum-analyzer-0.5.0/src/lib.rs:40:18
|
40 | use crate::fft::{Complex32, Fft, FftImpl};
|                  ^^^^^^^^^ ambiguous name
|
note: Complex32 could refer to the type alias imported here
--> /home/tom/.cargo/registry/src/github.com-1ecc6299db9ec823/spectrum-analyzer-0.5.0/src/fft/mod.rs:53:9
|
53 | pub use microfft_real::;
|         ^^^^^^^^^^^^^^^^
= help: consider adding an explicit import of Complex32 to disambiguate
note: Complex32 could also refer to the type alias imported here
--> /home/tom/.cargo/registry/src/github.com-1ecc6299db9ec823/spectrum-analyzer-0.5.0/src/fft/mod.rs:58:9
|
58 | pub use rustfft_complex::;
|         ^^^^^^^^^^^^^^^^^^
= help: consider adding an explicit import of Complex32 to disambiguate

error[E0659]: FftImpl is ambiguous (glob import vs glob import in the same module)
--> /home/tom/.cargo/registry/src/github.com-1ecc6299db9ec823/spectrum-analyzer-0.5.0/src/lib.rs:40:34
|
40 | use crate::fft::{Complex32, Fft, FftImpl};
|                                  ^^^^^^^ ambiguous name
|
note: FftImpl could refer to the struct imported here
--> /home/tom/.cargo/registry/src/github.com-1ecc6299db9ec823/spectrum-analyzer-0.5.0/src/fft/mod.rs:53:9
|
53 | pub use microfft_real::;
|         ^^^^^^^^^^^^^^^^
= help: consider adding an explicit import of FftImpl to disambiguate
note: FftImpl could also refer to the struct imported here
--> /home/tom/.cargo/registry/src/github.com-1ecc6299db9ec823/spectrum-analyzer-0.5.0/src/fft/mod.rs:58:9
|
58 | pub use rustfft_complex::;
|         ^^^^^^^^^^^^^^^^^^
= help: consider adding an explicit import of FftImpl to disambiguate

error[E0659]: FftImpl is ambiguous (glob import vs glob import in the same module)
--> /home/tom/.cargo/registry/src/github.com-1ecc6299db9ec823/spectrum-analyzer-0.5.0/src/lib.rs:40:34
|
40 | use crate::fft::{Complex32, Fft, FftImpl};
|                                  ^^^^^^^ ambiguous name
|
note: FftImpl could refer to the unit struct imported here
--> /home/tom/.cargo/registry/src/github.com-1ecc6299db9ec823/spectrum-analyzer-0.5.0/src/fft/mod.rs:53:9
|
53 | pub use microfft_real::;
|         ^^^^^^^^^^^^^^^^
= help: consider adding an explicit import of FftImpl to disambiguate
note: FftImpl could also refer to the unit struct imported here
--> /home/tom/.cargo/registry/src/github.com-1ecc6299db9ec823/spectrum-analyzer-0.5.0/src/fft/mod.rs:58:9
|
58 | pub use rustfft_complex::;
|         ^^^^^^^^^^^^^^^^^^
= help: consider adding an explicit import of FftImpl to disambiguate

error[E0659]: FftImpl is ambiguous (glob import vs glob import in the same module)
--> /home/tom/.cargo/registry/src/github.com-1ecc6299db9ec823/spectrum-analyzer-0.5.0/src/lib.rs:123:18
|
123 |     let buffer = FftImpl::fft_apply(samples);
|                  ^^^^^^^ ambiguous name
|
note: FftImpl could refer to the struct imported here
--> /home/tom/.cargo/registry/src/github.com-1ecc6299db9ec823/spectrum-analyzer-0.5.0/src/fft/mod.rs:53:9
|
53  | pub use microfft_real::;
|         ^^^^^^^^^^^^^^^^
= help: consider adding an explicit import of FftImpl to disambiguate
note: FftImpl could also refer to the struct imported here
--> /home/tom/.cargo/registry/src/github.com-1ecc6299db9ec823/spectrum-analyzer-0.5.0/src/fft/mod.rs:58:9
|
58  | pub use rustfft_complex::;
|         ^^^^^^^^^^^^^^^^^^
= help: consider adding an explicit import of FftImpl to disambiguate

error[E0659]: Complex32 is ambiguous (glob import vs glob import in the same module)
--> /home/tom/.cargo/registry/src/github.com-1ecc6299db9ec823/spectrum-analyzer-0.5.0/src/lib.rs:163:19
|
163 |     fft_result: &[Complex32],
|                   ^^^^^^^^^ ambiguous name
|
note: Complex32 could refer to the type alias imported here
--> /home/tom/.cargo/registry/src/github.com-1ecc6299db9ec823/spectrum-analyzer-0.5.0/src/fft/mod.rs:53:9
|
53  | pub use microfft_real::;
|         ^^^^^^^^^^^^^^^^
= help: consider adding an explicit import of Complex32 to disambiguate
note: Complex32 could also refer to the type alias imported here
--> /home/tom/.cargo/registry/src/github.com-1ecc6299db9ec823/spectrum-analyzer-0.5.0/src/fft/mod.rs:58:9
|
58  | pub use rustfft_complex::;
|         ^^^^^^^^^^^^^^^^^^
= help: consider adding an explicit import of Complex32 to disambiguate

error[E0659]: FftImpl is ambiguous (glob import vs glob import in the same module)
--> /home/tom/.cargo/registry/src/github.com-1ecc6299db9ec823/spectrum-analyzer-0.5.0/src/lib.rs:187:15
|
187 |         .take(FftImpl::fft_relevant_res_samples_count(samples_len))
|               ^^^^^^^ ambiguous name
|
note: FftImpl could refer to the struct imported here
--> /home/tom/.cargo/registry/src/github.com-1ecc6299db9ec823/spectrum-analyzer-0.5.0/src/fft/mod.rs:53:9
|
53  | pub use microfft_real::;
|         ^^^^^^^^^^^^^^^^
= help: consider adding an explicit import of FftImpl to disambiguate
note: FftImpl could also refer to the struct imported here
--> /home/tom/.cargo/registry/src/github.com-1ecc6299db9ec823/spectrum-analyzer-0.5.0/src/fft/mod.rs:58:9
|
58  | pub use rustfft_complex::;
|         ^^^^^^^^^^^^^^^^^^
= help: consider adding an explicit import of FftImpl to disambiguate

error[E0659]: Complex32 is ambiguous (glob import vs glob import in the same module)
--> /home/tom/.cargo/registry/src/github.com-1ecc6299db9ec823/spectrum-analyzer-0.5.0/src/lib.rs:288:31
|
288 | fn complex_to_magnitude(val: &Complex32) -> f32 {
|                               ^^^^^^^^^ ambiguous name
|
note: Complex32 could refer to the type alias imported here
--> /home/tom/.cargo/registry/src/github.com-1ecc6299db9ec823/spectrum-analyzer-0.5.0/src/fft/mod.rs:53:9
|
53  | pub use microfft_real::;
|         ^^^^^^^^^^^^^^^^
= help: consider adding an explicit import of Complex32 to disambiguate
note: Complex32 could also refer to the type alias imported here
--> /home/tom/.cargo/registry/src/github.com-1ecc6299db9ec823/spectrum-analyzer-0.5.0/src/fft/mod.rs:58:9
|
58  | pub use rustfft_complex::;
|         ^^^^^^^^^^^^^^^^^^
= help: consider adding an explicit import of Complex32 to disambiguate

Hi @tkaitchuck
Hm, I'm wondering why this is not reported by CI 🤔
I'm going to fix this in the next 48 hours, thanks for reporting it!

Ahh, you must exclude the default feature! This crate compiles only iff there is exactly one feature provided.
[dependencies]
specturm-analyzer = { feature = "rustfft-complex", no-default-features = true }

I'll add it to the readme.
PS: microfft will hopefully soon also work with FFT sizes bigger than 4096, see https://gitlab.com/ra_kete/microfft-rs/-/issues/8


Added Azure Blob storage support

Hey I started working on Azure blob storage support (based largely on S3).
I tested largely the sync command, the checksums look okay, but there are no automated tests for now.
Let me know what needs work .
Thanks for taking a look !

That is looking really good :-)
Some small stuff

Can you link the commit message to #801
Can you split the vendor commit into a separate commit "vendor: add xyz for azure"?
Fix the build! (I think you've missed actually committing the stuff in vendor)

I presume you've seem the docs on how to write a new backend? You've got to "unit tests" by the look of it - if you generate them for Azure, then they will guide you through making it 100% compliant with the rest of rclone.
Excuse my ignorance but are there different types of Azure storage?  This just addresses blobs - will there be a requirement for people for the other types of storage? I'm wondering whether it might be better called "azureblob" but happy to go with your recommendation.
Anyway, great stuff - carry on :-)

@ncw thanks for the feedback ! I'm traveling next week, but I'll get on it ASAP (should I close the PR until then so I don't pollute ?). ACK for all the requested changes, and also I think azureblob is better. Thanks for the suggestion on how to do unit tests as well.
For Azure there's actually a bunch of storages (sic), but let's say the usual ones are blob and file:

https://docs.microsoft.com/en-us/azure/storage/storage-introduction#blob-storage
https://docs.microsoft.com/en-us/azure/storage/storage-introduction#file-storage

Files are actually mountable as a CIFS mount, so maybe less interesting to rclone, as other solutions exist, but we need blob.

Looking forward to seeing your changes!
Happy for you to keep force pushing this PR if that makes a good workflow for you.
The tests are quite fussy, so let me know if you need any help getting them to pass.

Would love to see Azure Storage added.

How are you doing with this?
I have to make an pology - I've just changed the List interface, splitting it into a simple List which just lists one directory, and a ListR interface with does a recursive list if the remote is capable of it. This takes a lot of complexity out of the remotes which is a good thing hopefully! If you take a look at the S3 remote you'll see how it has changed

I'd like to get this into 1.38 if possible.  Do you want me to carry on from this point?

@ncw hey Nick, sorry for the absence. I'd love it if you could carry this forward, if you think this is useful enough. Sorry I haven't been able to port and succesfully close the PR.

@adragomir that is perfectly fine - you've done the hard bit which is much appreciated.  I'll pull this into a branch and finish it off.

I've taken what you've done and fixedup bitrot for rclone changes, and again for the Azure library (which seems to have changed a great deal) and it is now passing the integration tests!
I've a bit more work to do to support large blobs.  I'd like to support modtime also which means adding a bit of metadata with the modtime in also.
I'm going to close this now and I'll update #801 when I've made a beta with the code in.
Thank you very much for your contribution
-- Nick


added decimal to binary convertor

Issue Id you have worked upon -
#4 Decimal to binary and binary to decimal convertor
Briefly explain your program logic -
Parse the input taken from the user using parseInt method,
if the parsed value is a then display it
Screenshots(Attach 2 screenshots of your own input and output) -

By raising this PR I affirm that -

[x] My code follows the guidelines of this project.

[x] I have performed a self-review of my own code.

[x] I have commented my code.

[x] My code gives the correct output.

[x] I affirm that I strictly follow contributing guidelines and code of conduct.

@abhijithhegde,
Kindly add the issue id

hey, I have added it

@abhijithhegde, Sure

Congratulations 🎉 @abhijithhegde on your contribution.


Optimize repaints -> cpu usage

When element get difference width's like 14.54477%, webkit repaint it (or calculate something) every time when value is updated, and my cpu usage become ~80%. When i use Math.round, i got normal cpu usage without any visual difference. Because webkit doesn't repaint an element, if previous css value is equivalent new.
I think, in 95% situations Math.round is better, then terrible repainting and high cpu usage.

Thanks for your contribution! We'll triage and take a look at it as soon as possible!


But depth@0ms don't work?

Hi,
Following the change log on 2020-11-13
"In order to provide users with more secure and stable services, the update time of depth@0ms and @depth@0ms is dynamically adjusted according to the total amount of data traffic and other objective conditions."
I have implement it, but it is not response anymore
My code:
`public Closeable onDepthEvent(String symbols, BinanceApiCallback callback) {
final String channel = Arrays.stream(symbols.split(","))
.map(String::trim)
//                .map(s -> String.format("%s@depth@100ms", s))
//                .map(s -> String.format("%sdepth@0ms", s)) // dont work
.map(s -> String.format("%s@depth5@0ms", s)) // dont work
            .collect(Collectors.joining("/"));
    return createNewWebSocket(channel, new BinanceApiWebSocketListener<>(callback, DepthEvent.class));
}`

Please give me some advice, so many thanks to everyone !!!

I understand, thanks you.


6.0.0 ts-graphviz error

Hi with node12, madge is not working with 6.0.0
node_modules/ts-graphviz/lib/core/index.cjs:164
    const subgraph = id ? this.getSubgraph(id) ?? this.createSubgraph(id) : this.createSubgraph();
SyntaxError: Unexpected token '?'

Hi,
madge@6 does not have support for versions of Node.js that are EOL.

https://github.com/pahen/madge/pull/342

Thanks.


Please confirm these before moving forward

[X] I have searched for my issue and not found a work-in-progress/duplicate/resolved issue.
[X] I have not been informed if the issue is resolved in a preview version of the winget client.

Category of the issue
Multiple installed packages found.
Brief description of your issue
I upgraded EpicGames.EpicGamesLauncher by using winget. It didn't uninstall the previous version properly, but new files overriten. And then I uninstalled new version from windows settings, as a normal uninstall process. However, this makes the old version impossible to uninstall, because that uninstalling process cannot find required folders.
Steps to reproduce
I upgraded EpicGames.EpicGamesLauncher by using winget. It didn't uninstall the previous version properly, but new files overriten. And then I uninstalled new version from windows settings, as a normal uninstall process. However, this one stays left:
winget list Epic
Name                                              Id                                                                              Version         Available     Source
------------------------------------------------------------------------------------------------------------------------------------
Epic Games Launcher                     EpicGames.EpicGamesLauncher                               1.1.257.0       <IP_ADDRESS>       winget
Epic Online Services                       {6D70A161-C29B-441B-9AA5-2ABBAB3B4B4D}      <IP_ADDRESS>

I tried to uninstall these ones but exits with error code 1605.
I use chocolatey to download version 1.1.257.0 of this app, and uninstall it. the result was that:
winget list Epic
Name                                              Id                                                                              Version         Source
---------------------------------------------------------------------------------------------------------------------
Epic Online Services                       {6D70A161-C29B-441B-9AA5-2ABBAB3B4B4D}      <IP_ADDRESS>

And still cannot uninstall this waste because it's files are already deleted.
I install latest version by using this code: winget install -e -i --id=EpicGames.EpicGamesLauncher --source=winget --scope=machine
And the result of winget list Epic is this:
Name                                              Id                                                                              Version        Source
---------------------------------------------------------------------------------------------------------------------
Epic Games Launcher                     EpicGames.EpicGamesLauncher                               <IP_ADDRESS>        winget
Epic Online Services                       {6D70A161-C29B-441B-9AA5-2ABBAB3B4B4D}      <IP_ADDRESS>
Epic Online Services                       {758842D2-1538-4008-A8E3-66F65A061C52}         <IP_ADDRESS>

Actual behavior
Upgrading EpicGames.EpicGamesLauncher from version 1.1.257.0 to the latest version makes the old version (1.1.257.0) impossible to uninstall, because that uninstalling process cannot find required folders.
Expected behavior
Upgrade should uninstall the previous version at first.
Installing new version should delete entry of the previous version, because the new version will make same folder paths and registry entries, so the old one will be overwritten.
Environment
[winget --info]
Windows Package Manager v1.3.2691
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.19045.2364
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.18.2691.0

Logs: %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\DiagOutputDir

Links
---------------------------------------------------------------------------
Privacy Statement   https://aka.ms/winget-privacy
License Agreement   https://aka.ms/winget-license
Third Party Notices https://aka.ms/winget-3rdPartyNotice
Homepage            https://aka.ms/winget
Windows Store Terms https://www.microsoft.com/en-us/storedocs/terms-of-sale

Screenshots and Logs
No response

2023-01-02 08:48:28.319 [CORE] WinGet, version [1.3.2691], activity [{12F21E84-8638-432A-BA40-45623572646C}]
2023-01-02 08:48:28.320 [CORE] OS: Windows.Desktop v10.0.19045.2364
2023-01-02 08:48:28.320 [CORE] Command line Args: "C:\Users\nejat\AppData\Local\Microsoft\WindowsApps\winget.exe" uninstall --id={6D70A161-C29B-441B-9AA5-2ABBAB3B4B4D}
2023-01-02 08:48:28.320 [CORE] Package: Microsoft.DesktopAppInstaller v1.18.2691.0
2023-01-02 08:48:28.320 [CORE] IsCOMCall:0; Caller: winget-cli
2023-01-02 08:48:28.335 [CLI ] WinGet invoked with arguments: 'uninstall' '--id={6D70A161-C29B-441B-9AA5-2ABBAB3B4B4D}'
2023-01-02 08:48:28.335 [CLI ] Found subcommand: uninstall
2023-01-02 08:48:28.335 [CLI ] Leaf command to execute: root:uninstall
2023-01-02 08:48:28.338 [CLI ] Executing command: uninstall
2023-01-02 08:48:28.339 [REPO] GetCurrentSourceRefs: Source named 'microsoft.builtin.desktop.frameworks' from origin Default is hidden and is dropped.
2023-01-02 08:48:28.339 [REPO] Default source requested, multiple sources available, adding all to source references.
2023-01-02 08:48:28.339 [REPO] Adding to source references msstore
2023-01-02 08:48:28.339 [REPO] Adding to source references winget
2023-01-02 08:48:28.340 [REPO] Multiple sources available, creating aggregated source.
2023-01-02 08:48:28.340 [REPO] Adding to aggregated source: msstore
2023-01-02 08:48:28.340 [REPO] Sending http GET request to: https://storeedgefd.dsx.mp.microsoft.com/v9.0/information
2023-01-02 08:48:28.595 [REPO] Response status: 200
2023-01-02 08:48:28.595 [REPO] Sending http GET request to: https://storeedgefd.dsx.mp.microsoft.com/v9.0/information
2023-01-02 08:48:28.692 [REPO] Response status: 200
2023-01-02 08:48:28.693 [REPO] Adding to aggregated source: winget
2023-01-02 08:48:28.736 [CORE] Examining extension: PFN = Microsoft.Winget.Source_8wekyb3d8bbwe, ID = IndexDB
2023-01-02 08:48:28.736 [CORE] Found matching extension.
2023-01-02 08:48:28.789 [REPO] Opening SQLite Index for ImmutableRead at 'C:\Program Files\WindowsApps\Microsoft.Winget.Source_2023.102.514.863_neutral__8wekyb3d8bbwe\Public\index.db'
2023-01-02 08:48:28.789 [SQL ] Opening SQLite connection: 'file:/C:/Program Files/WindowsApps/Microsoft.Winget.Source_2023.102.514.863_neutral__8wekyb3d8bbwe/Public/index.db?immutable=1' [1, 40]
2023-01-02 08:48:28.790 [REPO] Opened SQLite Index with version [1.6], last write [2023-01-02 07:13:32.000]
2023-01-02 08:48:28.995 [REPO] Creating PredefinedInstalledSource with filter [None]
2023-01-02 08:48:28.995 [REPO] Creating new SQLite Index [4294967295.4294967295] at ':memory:'
2023-01-02 08:48:28.995 [SQL ] Opening SQLite connection: ':memory:' [6, 0]
2023-01-02 08:48:29.051 [REPO] Examining ARP entries for Machine | X64
2023-01-02 08:48:29.196 [REPO] Examining ARP entries for Machine | X86
2023-01-02 08:48:29.228 [FAIL] D:\a_work\1\s\external\pkg\src\AppInstallerRepositoryCore\Microsoft\Schema\1_0\Interface_1_0.cpp(197)\WindowsPackageManager.dll!00007FFD0BC764DA: (caller: 00007FFD0BC6FBE9) Exception(1) tid(f50) 800700B7 Halen varolan bir dosya oluşturulamaz.
2023-01-02 08:48:29.229 [REPO] Ignoring duplicate ARP entry Machine|X86|WinMerge_is1 [WinMerge <IP_ADDRESS>]
2023-01-02 08:48:29.312 [REPO] Examining ARP entries for User | X64
2023-01-02 08:48:29.876 [REPO] Opening SQLite Index for ReadWrite at 'C:\Users\nejat\AppData\Local\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\StoreEdgeFD\installed.db'
2023-01-02 08:48:29.876 [SQL ] Opening SQLite connection: 'C:\Users\nejat\AppData\Local\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\StoreEdgeFD\installed.db' [2, 0]
2023-01-02 08:48:29.877 [REPO] Opened SQLite Index with version [1.3], last write [2022-05-05 17:15:08.000]
2023-01-02 08:48:29.942 [REPO] Opening SQLite Index for ReadWrite at 'C:\Users\nejat\AppData\Local\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\Microsoft.Winget.Source_8wekyb3d8bbwe\installed.db'
2023-01-02 08:48:29.943 [SQL ] Opening SQLite connection: 'C:\Users\nejat\AppData\Local\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\Microsoft.Winget.Source_8wekyb3d8bbwe\installed.db' [2, 0]
2023-01-02 08:48:29.944 [REPO] Opened SQLite Index with version [1.3], last write [2023-01-01 18:52:39.000]
2023-01-02 08:48:30.004 [CLI ] Found one app. App id: {6D70A161-C29B-441B-9AA5-2ABBAB3B4B4D} App name: Epic Online Services
2023-01-02 08:48:30.019 [CLI ] Removing: {6d70a161-c29b-441b-9aa5-2abbab3b4b4d}
2023-01-02 08:48:30.019 [CLI ] Starting: 'C:\Windows\system32\msiexec.exe' with arguments '/x{6d70a161-c29b-441b-9aa5-2abbab3b4b4d} /qb'
2023-01-02 08:48:33.228 [CLI ] MsiExec uninstaller failed: 1605
2023-01-02 08:48:33.230 [CLI ] Terminating context: 0x8a150030 at D:\a_work\1\s\external\pkg\src\AppInstallerCLICore\Workflows\UninstallFlow.cpp:10c

We can certainly add uninstallPrevious to the manifest, but the actual issue here is with the EpicGames installer not removing the registry entries of the old version of Epic online Service. I will note, however, that I was unable to reproduce this issue when going from version <IP_ADDRESS> to version <IP_ADDRESS>, indicating that this issue is purely because the version 1.1.257.0 was so out of date and EpicGames likely fixed an issue in their installer since then.

So, how can I remove that bugged old version?


What are versions 6.7.6 and 6.8.0?

What version of React-Table are you using?
6.7.5
What bug are you experiencing, or what feature are you proposing?
Version 6.8.0 is released on npm, there is no mention of it in this repository, package.json is at 6.7.6, the last tag is 6.7.6 but changelog only mentions 6.7.5.
6.8.0 was released 2 months ago on npm, so I’m wondering what it’s about and what changed.

cc @gary-menzel

I don't have an answer for you.  There were a bunch of PRs that were pushed through by @tannerlinsley and I am aware that there is some background work being done on a new version.
I would suggest that 6.7.6 is the STABLE version at this point - it is still the one I am using for PRODUCTION work.

Closing due to issue age. If this issue was a question, please ask it again on https://spectrum.chat/react-table. If you think this issue needs to be reopened or if it should be turned into a pull-request, please check the latest version of React-Table for the issue or feature once more and reopen or create a PR if appropriate. Thanks!


[document] Flink CDC is Compatible with Flink 1.14,document should be updated.

Is your feature request related to a problem? Please describe.
Flink CDC is Compatible with Flink 1.14,document should be updated.

Hi, when 2.2.* will be available to use?

fixed in https://github.com/ververica/flink-cdc-connectors/commit/7fc9c9ded061712f2dcdc2a8ec6cfe2b3bd9637a.


feat: support for install_chunked_code in ic-mgmt

Motivation
Add support for installation of large Wasm modules to @dfinity/ic-management. The feature has been rolled out in dfx few weeks ago and was often requested by Azle developers. Not sure there are that much devs that need this with our library but that way the tooling is up-to-date everywhere given. that we already support installCode.
Notes
Nothing that particular in the implementation, it follows the existing code base. Only particularity is probably installChunkedCode which accepts a hash as Uint8array or number[] as defined by did but als as string hex because most probably it is the type of hash that will effectivelly be used by a consumer - i.e. a human readable hash.
Changes

add support for IC mgmt upload_chunk, clear_chunk_store, stored_chunks and install_chunked_code

@lmuntaner I provide one PR for the four functions because those are all related and the implementation felt trivial but, if you rather like four distinct PRs, I don't mind splitting the code. Just let me know.


[Question]请问parrellel-raft有计划开源吗

Describe the problem
RT
...

Hi @jiangshifu.
Parallel-Raft is a storage-level design, which is not in a plan of open source. There is a paper publicly available introducing some detail about Parallel-Raft: PolarFS: An Ultra-low Latency and Failure Resilient Distributed File System for Shared Storage Cloud Database.

/close


Border radius descriptions221123b

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Create AColdOne Clogging

A plugin that announces Collection Logs with the voice of AColdOne. I've copied code from m0bilebtw's C Engineer plugin and have given him the appropriate attribution
Here is permission to use the audio clips from the Big Man himself:

Don't use "example" as your config group

i have fixed my oopsie, terribly sorry about that


0.10 – ambiguity warnings are generated also for keypath inside alias block {{#with}}

Description:
In Ractive 0.9.x no warning were generated for unresolved keypath inside alias block {{#with}} .
In Ractive 0.10.3 warning are generated.
This should be an error if I'm referring to the correct documentation page:
https://ractive.js.org/api/#with-sections

{#with }} also allows aliasing of references, including special references. [...] In this mode, the context within the block is not altered.

0.9.14 – https://jsfiddle.net/8ygtkdw3/
0.10.3 – https://jsfiddle.net/8ygtkdw3/2/
Versions affected:
0.10
Platforms affected:
All
Reproduction:

https://jsfiddle.net/8ygtkdw3/2/
Open the console
Ambiguity warning is present: 'message' resolved but is ambiguous.

Ractive.defaults.warnAboutAmbiguity = true;

const r = window.r = new Ractive({
  el: '#main',
  template: `
  {{#with foo as bar}}
  	{{message}}
  {{/with}}
  `,
  data: {
    message: 'I\'m a message',
    foo: 'I\'m foo',
  }
});

Should be fixed in 0.10.4-dev and edge once travis does what travis does. Thanks for the report!


Fixes path for estimate form page 3; fixes overlay for estimate form page 1.

Coverage remained the same at 97.73% when pulling 4db0905dcf609e3b82e2c54bbb443b24e5f2e47c on himedlooff:form-explainer into 108c19568fd5aebcf5ff7344513fd2097ffcfc07 on cfpb:master.

That was an easy one. :+1:


Updated controller receiver

What is working:

Robot Control

Camera Streaming

Audio Streaming

Text to speech

What is broken

Crashes sometimes when hitting home button
Potential random crashes

Merging as is as everything mostly works. Will branch off again to fix each issue


Quoted string parser does not support escapes or empty strings

There are a couple of issues with the way we are currently parsing quoted strings.

We don't handle escaped quote characters (ie "string with \" escaped quote" or 'test \'test\'')

Brig does properly support and highlights for quoted strings with escapes, making this especially confusing for users

Empty quotes are returned as invalid, ie "" or '', but should be a successful parse with an empty string result
A string with no spaces when quoted results in a failed parse, ie 'cat' or "dog" will fail
When more than one space character is placed sequentially in a quoted string, it is reduced to one. ie 'a______b' -> a_b

This is also an issue with vanilla minecraft brig commands and we probably don't need to worry about it.
/minecraft:tell @s "______test______" -> "_test_" (replace _ with  )

fixed by #70


Integrate search.js fetch function with app.js fetch

OR integrate search.js into HTML of search.html which might help with caching and reducing network calls


Jokes Chrome Extension (GSSOC'22)

A simple chrome extension which when clicked upon gives us a random joke every time (extracted from an API)
GSSOC'22
could you assign this to me?

A simple chrome extension which when clicked upon gives us a random joke every time (extracted from an API)
GSSOC'22 could you assign this to me?

Will it be a simple HTML, CSS, JS project?

@sejalc22
It should be not like this as it is already there on the website.
Good Luck 👍🏻


Add auto-updating for brave

Body
Should be possible, https://github.com/brave/brave-browser/issues/2457
Version
0.0.0
What browsers are you seeing the problem on?
Brave
What OS are you seeing the problem on?
No response
Anything else?
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Now that this is on the Chrome webstore, this shouldn't be needed anymore?

yes

Now that this is on the Chrome webstore, this shouldn't be needed anymore?

Now that this is removed on the Chrome webstore, this is needed again

Now it is back on the webstore


Visual Studio exception handling warning C4530.

While building using VS 2017, I noticed a ton of these warnings:
warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc
The fix is easy, just add /EHsc to the target_compile_options under the MSVC conditional in CMakeLists.txt.
Otherwise, the lack of unwind semantics (destructors not getting called) will ruin someone's day the first exception that occurs.

CC #212

Funny enough, I tried a different tack and cloned this repo right from VS 2019 and used its internal CMake compatibility to build it.  I didn't see the warning when I built this way, my guess is (I didn't dig into it) that they appended the flag.

I'm not sure exactly what was happening here, but we build every commit with VS2017 and haven't seen this warning. So I'm going to close this, but please reopen if you still have concerns.


Updates to 20.2 Cloud Storage Bulk Operations page

Updates to 20.2 Cloud Storage Bulk Operations page as per #10761 and some corrections.
Relates to #10544

This change is

Hey @mwang1026, thanks for the review! Made the changes.... but I had a few questions. I think that RESTORE can just pop up to the first table of example URLs & makes sense, OK?
Also, 21.1 notes that HTTP storage can only be used for IMPORT. Is that the case in 20.2 as well? If so, I'll go ahead and remove that from the top table in 20.2 + add note.

Hey @kathancox I seem to have missed this review request!  Sorry, I'll review today.  Sorry for the delay!


Update SCSB indexing docs

Thanks for updating the docs - I think pointing to an old commit to determine current state could be fragile

yes definitely. I missed that. I will update


Stability of SHCI triplet calculations

Greetings,
I have a calculation where I place an oxygen molecule at some distance from an organic molecule, and then I get it closer to react. While the singlet state curve seems very linear at long distances, the triplet curve shows a lot of deviation.
These are the results:

Is there any explanation for this? I don't know if this could be derived from theory or from the program code.
Best regards,
Pablo

Hi Pablo,
Could you post your input code (in the github issue) so we can have a look at it?
Thanks,
James

We can reopen this issue when the problem can be reproduced with test systems.


Issues fixed

Pull request to check codacy

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 55.55556% with 4 lines in your changes missing coverage. Please review.

Files with missing lines
Patch %
Lines

Support.cpp
57.14%
3 Missing :warning:

RealmOfRecipes.cpp
50.00%
1 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.

Files with missing lines
Coverage Δ

RealmOfRecipes.cpp
75.00% <50.00%> (+18.75%)
:arrow_up:

Support.cpp
64.40% <57.14%> (+0.06%)
:arrow_up:

... and 1 file with indirect coverage changes


Crash after update to 2.5.0

Crash after update to 2.5.0
exports.init = function (sequelize: Sequelize, optionsArg: array): Model {                                   ^ SyntaxError: Unexpected token :

Which node version are you using?

10.15.0

Thanks, I can reproduce it. I'll work on a fix.

on node 11.10.1 crash too

Yep, too much syntactic sugar, will add a build step to transpile it with babel

Ran into this same error today 3/4
Any updates @nielsgl ?

@nwhitmont I started working on it this weekend (https://github.com/nielsgl/sequelize-paper-trail/tree/develop) but will take a bit longer than expected so I would use the previous version until then. Hopefully I can get a new version out this week.

@nielsgl would it be possible to "un-release" 2.5.0?
This bug will affect anyone who has ^2.4.2 in their package.json and the install of 2.5.0 might be accidental.  At least that's how it happened on my team... during a production deployment!

Yep it's reverted and released as 2.5.2 on npm


Finish Instruction Booklet

Finish the instruction booklet and add it here with a PDF version.

PDF and word doc are now in the repo. Done.


Compilation errors

Hi Pratheek,
After including your library to my project, when I try to compile I get the following error messages:
centroidtracker.cpp(91): warning C4244: 'argument': conversion from 'double' to 'const _Ty', possible loss of data
1>        with
1>        [
1>            _Ty=float
1>        ]

centroidtracker.cpp(103): warning C4267: 'argument': conversion from 'size_t' to 'const _Ty', possible loss of data
1>        with
1>        [
1>            _Ty=int
1>        ]

centroidtracker.cpp(166): error C3861: 'inserter': identifier not found

centroidtracker.cpp(168): error C3861: 'inserter': identifier not found

Could you please help me out?
Thanks in advance.
Regards,

Pratheek,
I figured out how to solve that issue, you simply need to add  the include  on top on the centroitracker.cpp file:
#include <iterator>

Regards,

Hey @YannickLecroart, thank you very much for pointing out this issue! Cheers :)


Vibration gets broken by Camera Recording

Steps to Reproduce

Run flutter create bug.

Update the files as follows: ...

...

Create flutter project

Add camera Package

Copy camera setup from pub.dev package page of camera, so that you have a CameraController

Create RaisedButton and edit onPressed method to do the following
() => { HapticFeedback.heavyImpact(); _controller.startVideoRecording(videoPath); }

Now if you run the app and press the button, your mobile device will vibrate accordingly but the next time you press the button, your mobile device will not vibrate.

Expected results:
Every time i press the button it should vibrate.
Actual results:
It only works once.
Info:
I have tried to do the vibration with: HapticFeedback, vibration and vibrate.
The camera function works as expected.
Uses permission has been set.
If you remove the startVideoRecording-Line, the Vibration/HapticFeedback works as expected.

Logs

[✓] Flutter (Channel stable, 1.20.0, on Mac OS X 10.15.6 19G73, locale en-CH)
    • Flutter version 1.20.0 at /Users/sav/development/flutter
    • Framework revision 840c9205b3 (5 days ago), 2020-08-04 20:55:12 -0700
    • Engine revision c8e3b94853
    • Dart version 2.9.0

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.1)
    • Android SDK at /Users/sav/Library/Android/sdk
    • Platform android-30, build-tools 30.0.1
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.6)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.6, Build version 11E708
    • CocoaPods version 1.9.3

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 48.0.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)

[✓] VS Code (version 1.47.3)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.13.2

[✓] Connected device (1 available)
    • Noah’s iPhone (mobile) • 00008020-00153D8E3AC1002E • ios • iOS 13.6

• No issues found!

Issue replicable on latest Stable version. Although not sure if haptic feedback is supported by camera plugin yet.
Code sample.

flutter doctor -v
[✓] Flutter (Channel stable, 1.20.1, on Mac OS X 10.15.2 19C57, locale en-US)
    • Flutter version 1.20.1 at /Users/deeptibelsare/Documents/Fluttersdk/flutter
    • Framework revision 2ae34518b8 (30 hours ago), 2020-08-05 19:53:19 -0700
    • Engine revision c8e3b94853
    • Dart version 2.9.0

[!] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at /Users/deeptibelsare/Library/Android/sdk
    • Platform android-29, build-tools 29.0.3
    • ANDROID_HOME = /Users/deeptibelsare/Library/Android/sdk
    • ANDROID_SDK_ROOT = /Users/deeptibelsare/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)
    ✗ Android license status unknown.
      Try re-installing or updating your Android SDK Manager.
      See https://developer.android.com/studio/#downloads or visit https://flutter.dev/docs/get-started/install/macos#android-setup for detailed instructions.

[✓] Xcode - develop for iOS and macOS (Xcode 11.6)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.6, Build version 11E708
    • CocoaPods version 1.9.3

[✓] Android Studio (version 3.6)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 45.1.1
    • Dart plugin version 192.7761
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)

[✓] Connected device (2 available)
    • SM A260G (mobile)           • 5200763ebcfa861f • android-arm • Android 8.1.0 (API 27)
    • sdk gphone x86 arm (mobile) • emulator-5554    • android-x86 • Android 11 (API 30) (emulator)

! Doctor found issues in 1 category.

This is expected behavior on iOS. See https://developer.apple.com/documentation/audiotoolbox/1405202-audioservicesplayalertsound

However, the device does not vibrate if your app’s audio session is configured with the playAndRecord or record audio session category. This ensures that vibration doesn’t interfere with audio recording.


improve handling of Helm index with broken helm chart versions

While trying to figure out the issue https://github.com/fluxcd/source-controller/issues/1515 in the flux source controller of filtering chart versions from a Helm index with broken dependencies we stumbled over this issue https://github.com/helm/helm/issues/12748 where it has already been fixed in Helm.
On further investigation it appeared that the exclusion of invalid versions in https://github.com/helm/helm/blob/1a500d5625419a524fdae4b33de351cc4f58ec35/pkg/repo/index.go#L345 was not ideal.
even though the copied slice cvs was adjusted to the correct size, the original slice i.Entries still remained the original size. It just contained copies of references of valid versions.
example of i.Entries before filtering:
[0xc000130f30 0xc0001315f0  0xc000131a70 0xc00021f710]

assuming chart versions at location 0xc0001315f0 and 0xc000131a70 are invalid. The content of cvs after validating the versions looked like this (which is correct):
[0xc000130f30 0xc00021f710]

But i.Entries still remains the original size:
[0xc000130f30 0xc00021f710 0xc00021f710 0xc00021f710]

Technically it does not contain any invalid version. But later on the index gets further sorted and filtered which unnecessarily contains duplicate versions.
a simple reassignment of cvs to i.Entries[name] solves this issue.
Additionally:
If the last chart in the index is malformed, it will not be removed

First comment: agree, if entries are excluded due to validation failure, then the filtered entries slice should be assigned back to i.Entries. In that sense, it seems like https://github.com/helm/helm/pull/13177 is a fix here.
Second comment: https://github.com/helm/helm/pull/12789 doesn't exclude "bad" entries. It actually does the opposite: it allows bad entries (entries which fail validation) to be included. By ignoring the validation error. And as such, it actually reduces the expose to the bug presented here. I mention, because I want to ensure the fix proposed is the right one (and there isn't another cause)


Improve usage of this library

I'm not as happy as in the beginning with the current usage of the library and how to set the options. The singleton of the options are limiting the usage of the library in some cases which can be annoying for developers.
In the beginning i wanted to use this approach to keep the general usage of the library as close to the original as possible.
Currently you can just use zxcvbn from the core package without setting any options and it will just work.
As this library is getting furthor away from the original library because of improved algorythm more matcher better dictinaries and so on. I think we should have a simpler approach to how to use this library and the highly customization of it.
I thought about two different approaches
1. Use zxcvbn as a class
I think we could directly use a class instead of making a little turn for a singleton options class
import { zxcvbnFactory } from '@zxcvbn-ts/core'
import * as zxcvbnCommonPackage from '@zxcvbn-ts/language-common'
import * as zxcvbnEnPackage from '@zxcvbn-ts/language-en'

const options = {
  translations: zxcvbnEnPackage.translations,
  graphs: zxcvbnCommonPackage.adjacencyGraphs,
  dictionary: {
    ...zxcvbnCommonPackage.dictionary,
    ...zxcvbnEnPackage.dictionary,
  },
}
const zxcvn = new zxcvbnFactory(options)

const password = 'somePassword'
zxcvn.check(password)
// or
await zxcvn.checkAsync(password)

To update the options we could use the same as previously:
zxcvn.setOptions(options)

2. Make heavy options function public
Another approach would be too get rid of the classes and make the heavy functions public. For example building the correct rankedDictionaries is really heavy and could be a functions outside
const rankedDictionaries = makeRankedDictionaries({
    ...zxcvbnCommonPackage.dictionary,
    ...zxcvbnEnPackage.dictionary,
    userInputs: []
  })
const l33tTabel = makeL33tTable(l33tTableOption)

const options = {
  translations: zxcvbnEnPackage.translations,
  graphs: zxcvbnCommonPackage.adjacencyGraphs,
  rankedDictionaries,
  l33tTable,
}
const password = 'somePassword'
zxcvbn(password, options)

I think in its current form it is very easy to misuse this library. Consumers may assume that it is okay to call setOptions once, and subsequent calls will be using the same configuration. However because the extendUserInputsDictionary function in Options.ts user inputs are persisted in the configuration, so they can impact the future password strength calculation.
This issue can fix the current behavior too.
See: https://github.com/zxcvbn-ts/zxcvbn/blob/2159891f94670d4f8694a50d676c8ec3be1698cc/packages/libraries/main/src/Options.ts#L160

@MrWook , thank you very much for mentioning me in the security advisory, I appreciate it! (And sorry, I couldn't find a better channel for this message :)

@balassy don't worry, i saw that there were no way to report those issue too and i added the SECURITY.md file to the repo for those cases.

I wouldn't mind if zxcvbn was a class that could be constructed with different options.
It would be really nice if the userInputs was separate from the other dictionaries, so you could change userInputs without rebuilding everything.
I think my ideal API would have the zxcvbn object be completely immutable once constructed, so the options are locked in. It would be reusable without changing any configuration:
import { zxcvbnFactory } from '@zxcvbn-ts/core'
import * as zxcvbnCommonPackage from '@zxcvbn-ts/language-common'
import * as zxcvbnEnPackage from '@zxcvbn-ts/language-en'

const options = {
  translations: zxcvbnEnPackage.translations,
  graphs: zxcvbnCommonPackage.adjacencyGraphs,
  dictionary: {
    ...zxcvbnCommonPackage.dictionary,
    ...zxcvbnEnPackage.dictionary,
  },
}
const zxcvbn = new zxcvbnFactory(options) //zxcvbn object is immutable and read-only (construct a new one if you want different options)

const password = 'somePassword'
const userInputs = ['email', 'first-name', 'last-name']
zxcvbn.check(password, userInputs) //doesn't save password or userInputs, computes using function inputs only

Being able to separate instances in this way would enable me to have 2 separate matchers, which would be an acceptable workaround for the problem I described in #246


deps: update to CloudEvents 4.0.0 and some linting

Signed-off-by: Lance Ball<EMAIL_ADDRESS>

4.0.1 was just released if you want to update to that

@lholmquist actually - I found a bug in cloudevents sdk and will submit a PR today. Then update to 4.0.2 :wink:

https://github.com/cloudevents/sdk-javascript/pull/394


Can we rename this repository?

Hi @kisvegabor,
Can we rename this repository as lv_sim_mdk_an547_cm55?
I get this idea is because MPS3 is very expensive and highly likely that normal users won't have one. But for most MDK users, Corstone-300-FVP is the best (and the only) free simulation for the board which has an LCD and a touch screen.
So if we keep calling this repository lv_port_mps3_an547_cm55, almost no one will get interesting in it as they have no such board called MPS3.
To draw the attention of those MDK users, it is better to emphasize its simulation capability with the name lv_sim_mdk_an547_cm55.
What do you think?

Hi,
It came up to drop the lv_sim_* prefixes and use only lv_port_* so we shall perform an other rename. :slightly_frowning_face:
The name of the simulator projects should be built like lv_port_ + pc/win/linux + extra_info.
So I suggest lv_port_pc_mdk_an547_cm55 or as it's really a simulator (unlike the other PC projects) lv_port_an547_cm55_sim. What do you think?

Done, thank you!


How to add dynamic meta data using React Helmet

I installed https://github.com/nfl/react-helmet
but I don't understand where to add  in my src files. Is it something possible?
H

Can you describe your specific use case in more detail?
What kind of metadata do you want to add and how dynamic is it?

Here the meta data that I want to add:
<Helmet
title={post.title}
meta={[
{ name: 'author', content: "Fishii.shop" },

{ name: 'twitter:site', content: "Fishii.shop" },
{ name: 'twitter:creator', content: "Fishii.shop" },
{ name: 'twitter:title', content: post.title },
{ name: 'twitter:image', content: post.image },

{ property: 'og:title', content: post.title },
{ property: 'og:site_name', content: "Fishii.shop" },
{ property: 'og:type', content: "website" },
{ property: 'og:url', content: "http://fishii.shop/post/"+post.puid },
{ property: 'og:description', content: post.title },
{ property: 'og:image', content: post.image },
{ property: 'og:site_name', content: "Fishii.shop" },

{ name: 'viewport', content: 'width=device-width, maximum-scale=1' },
{ name: 'apple-itunes-app', content: 'app-id=1125423676' },
]}
/>

This react app is hosted on Firebase Hosting.

Is there any particular reason you are not doing this right in the HTML?

I need to have dynamic meta tag like the post title

@jsappme did you experience a specific error while adding react-helmet?

I need to have dynamic meta tag like the post title

Create React App produces a static bundle with HTML, JS, and CSS. It can’t possibly give you a dynamic <meta> tag because the result HTML is created ahead of time.
While changing document.title with something like React Helmet makes sense, changing <meta> tags doesn’t make sense unless your app is server rendered. Server rendering is not a supported feature of Create React App so if you want to use it, you might want to check out some alternatives such as Next.js.
That said, if you don’t want full server rendering and only need to change <meta> tags, you could do this by hand as described here.
I hope this helps!

existentialism: is it possible to use react-helmet for not a server rendering react app?

@jsappme yep, here's a very trivial example:
// ./src/App.js
import React, { Component } from 'react';
import Helmet from 'react-helmet';

class App extends Component {
  render() {
    return (

        <Helmet title="My Title - Test!" />

    );
  }
}

export default App;

If you aren't having any actual create-react-app-related issues, you may want to consult react-helmet's docs or raise an issue with them.

I opened an issue on react-helmet too.
here is the code that I tried on my site: https://fishii.shop
import Helmet from "react-helmet"

injectTapEventPlugin();

const App = ({ children }) => (
  <MuiThemeProvider>

    <Helmet title="My Title - Test" />

But i still do not see the new title. Are you using server side rendering?

Actually this code does change the title but not the source code of the page, this might be due to the non server rendering.

@jsappme
Yes, it won't change the source because the source is in the static HTML file.
You can find it in public/index.html and edit it to your liking.
Indeed there is no way to make it dynamic because there is no server rendering.
But you can use a trick I linked to above if you use a server like Express in production.

@gaearon I'm trying to generate dynamic meta tags as documented in the link you mentioned. This part isn't clear to me: "Then, on the server, regardless of the backend you use, you can read index.html into memory and replace OG_TITLE, OG_DESCRIPTION, and any other placeholders with values depending on the current URL."
How would you do that on a simple express server? Here's what I'm working with:
`
/**

Create and configure express app
*/

var app = express();
app.set('port', (process.env.PORT || 3001));
// bodyParser parses application/json data from a POST request
app.use(bodyParser.json());
// Set up logger
app.use(morgan(':remote-addr - :remote-user [:date[clf]] ":method :url HTTP/:http-version" :status :res[content-length] :response-time ms'));
/**

Serve the React app (specifically the build directory)
from the node server, using express.static
*/

if (process.env.NODE_ENV === 'production') {
app.use(express.static(path.resolve(__dirname, '../client/build')));
}
/**

Set up routes for our API
which will handle all inbound requests to the server
*/
routes(app);

/**

Start all our cron jobs
*/
scheduler.start();

/**

Run our reactors
These are functions which listen for changes in the DB and execute
(e.g., When event is added, send host an email)
*/
reactors();

/**

For any requests that were not handled by the API,
return the React app (which will handle routing on the client)
*/

app.get('*', (request, response) => {
response.sendFile(path.resolve(__dirname, '../client/build', 'index.html'));
});
/**

Start the express app
*/

app.listen(app.get('port'), () => {
console.log(Listening on port ${app.get('port')});
});
`

@gaearon I'm trying to generate dynamic meta tags as documented in the link you mentioned.
This part isn't clear to me: "Then, on the server, regardless of the backend you use, you can read index.html into memory and replace OG_TITLE, OG_DESCRIPTION, and any other placeholders with values depending on the current URL."
How would you do that on a simple express server? Here's what I'm working with:
/**
 *  Create and configure express app
 */

var app = express();
app.set('port', (process.env.PORT || 3001));
// bodyParser parses application/json data from a POST request
app.use(bodyParser.json());
// Set up logger
app.use(morgan(':remote-addr - :remote-user [:date[clf]] ":method :url HTTP/:http-version" :status :res[content-length] :response-time ms'));

/**
 * Serve the React app (specifically the build directory)
 * from the node server, using express.static
 */

if (process.env.NODE_ENV === 'production') {
  app.use(express.static(path.resolve(__dirname, '../client/build')));
}

/**
 *  Set up routes for our API
 *  which will handle all inbound requests to the server
 */
routes(app);

/**
 *  Start all our cron jobs
 */
scheduler.start();

/**
 * Run our reactors
 * These are functions which listen for changes in the DB and execute
 * (e.g., When event is added, send host an email)
 */
reactors();

/**
 *  For any requests that were not handled by the API,
 *  return the React app (which will handle routing on the client)
 */

app.get('*', (request, response) => {
  response.sendFile(path.resolve(__dirname, '../client/build', 'index.html'));
});

/**
 *  Start the express app
 */

app.listen(app.get('port'), () => {
  console.log(`Listening on port ${app.get('port')}`);
});

Thanks

Instead of using sendFile, you would load this file into memory outside the request with fs.readFileSync, and then do the interpolation and send the response in your get('*' handler.

@gaearon Thanks!

I followed the instructions here, but for some reason,
app.get('*', (request, response) => {
  response.sendFile(path.resolve(__dirname, '../client/build', 'index.html'));
});

never gets called. Express seems to serve index.html automatically in production since it has it as a static file. How exactly should I replace the OG_TITLE and OG_DESCRIPTION tags if the '*' route never gets called? Or am I missing something here?
Thanks for your help.

@gaearon @ecastano could you please share a working example of : 'Instead of using sendFile, you would load this file into memory outside the request with fs.readFileSync, and then do the interpolation and send the response in your get('*' handler.' ?

I figured it out after tinkering for a while; wrote a post about how to do it:
https://www.kapwing.com/blog/how-to-add-dynamic-meta-tags-server-side-with-create-react-app/
And a demo repo here:
https://github.com/justswim/cra-metatag-demo
Hope this is helpful for folks!

@justswim It works great, but only one time.
After page reload browser displays placeholders.

@andrOmelianenko What do you mean by SW?
The main point of the metatags is for crawlers like FB or Twitter, so as long as it works on the first load it should be fine. For after your app loads, you can use React Helmet or something to make the tags show up properly on the client side.

@justswim I'm about built-in service worker.

@gaearon would this npm library solve the problem at hand, or will the same problem persist?
https://www.npmjs.com/package/react-meta-tags

@henrybrigham It works in the same way like react-helmet. So it's useless for fb/twitter crawlers till you don't use ssr.

@justswim  I read your blog(https://www.kapwing.com/blog/how-to-add-dynamic-meta-tags-server-side-with-create-react-app/) and gave it a try, that is really helpful! But I also have anther issue that in the main project I am working on, where the client side and server side are separated. So when I want to read client side's index.html file at the server side, it cannot get the file's path name like this at the server side:
const filePath = path.join(__dirname, './docs/index.html');
since they live in two different repos.
In this case, is there anyway I can still use your method to dynamically change the meta tag for the webpage? Thank you very much!

@keyanzhang  i think you just need to serve your front end app using a server and the create routes with the pages you want a dynamic meta tags on. I have done this and it works.
1.I have my react app and i am serving it with node js express.
2. I have my backend app separate with some apis to serve my app and i use axios for my calls.

Hi @justswim,
I implemented your technique (https://www.kapwing.com/blog/how-to-add-dynamic-meta-tags-server-side-with-create-react-app/) and OG tags are loading fine in localhost(when I run node server.js).
The production build is deployed on an Azure web server, and I don't know what to tell the dev-ops team to run (maybe run node server.js or anything else) so that it works fine on Production server as well.
Can anyone suggest or help me as I am not aware of Azure server.

How to add twitter card meta tag using react-helmet to render dynamic data?

In React Helmet, if you want to target and dynamically update server rendered meta tags, add data-react-helmet="true" to the element when you first create it on the server. Otherwise it will just add a new element to the bottom of the head.

@amit0shakya Hi, I think the right way to do is to make your html page server side rendered. I met the same problem this April, and finally found a way out following this blog: https://medium.com/styled-components/the-simple-guide-to-server-side-rendering-react-with-styled-components-d31c6b2b8fbf. The way I did is to make this a server side rendering service, handling the requests of a specific route, and deployed it. By this way the meta tags can be dynamically rendered with the data passed back from API calls, and the facebook sharing with customized preview works fine for our app now.

@KeyeZhang I am using Nextjs + Express server for React based project. and still having this issue.

I figured it out after tinkering for a while; wrote a post about how to do it:
https://www.kapwing.com/blog/how-to-add-dynamic-meta-tags-server-side-with-create-react-app/
And a demo repo here:
https://github.com/justswim/cra-metatag-demo
Hope this is helpful for folks!

i explain your example
my app router set domain/post:id
in nodejs server side  i get id for dynamic meta
resApp.params[0]
and call 1 api for get meta data using request module
full code
app.get('/post/*', function(resApp, response) {
const filePath = path.resolve(__dirname, './build', 'index.html')
fs.readFile(filePath, 'utf8', function (err,data) {
  if (err) {
    return console.log(err);
  }
  var url = `*********/guest/Meta/post/${resApp.params[0]}`;

  request(url, { json: true }, (err, res, body) => {
    if (err) { return console.log(err); }

    data = data.replace(/\$OG_TITLE/g, body.title);
    data = data.replace(/\$OG_DESCRIPTION/g, body.description);
    result = data.replace(/\$OG_IMAGE/g, body.thumbnail);
    response.send(result);
  });

});

});


Add some UI on using reveal answer button and show score even if internal bot was used to get answer

In any mode (Easy, medium, hard) The user can simply press "Reveal answer" to get answers, but there is no interaction of this event, it just shows answer.
Add a popup with funny notes "Here is the answer 🤓" and after showing answer it pops up "Score: -1, reason: Usage of 'Reveal answer' ".

"Here is the answer 🤓"

And after showing answer it pops up "Score: -1, reason: Usage of 'Reveal answer' ".

Good idea, @mapleGUARD
Thanks for your contribution


Zod array length validation issues with useFieldArray

Describe the bug
Zod array length validation does not trigger when using the append method from useFieldArray.
To Reproduce

Use zod and @hookform/resolvers for validation.
Create a field using useFieldArray.
Add the zod schema for this field and set a minimum length for the array length AND a validation for the objects in the array.
Submit the empty form to trigger the errors in the form since this field is empty. You see the proper validation error.
Add a new field to the array
The error still persists

Codesandbox link (Required)
https://codesandbox.io/s/react-hook-form-array-length-error-zod-b92w1t
Expected behavior
A clear and concise description of what you expected to happen.
I should be able to validate the array length and its contents using
Screenshots
https://github.com/react-hook-form/react-hook-form/assets/36263538/949d8419-bc07-42a8-8b81-4973dbe9ea0e
Desktop (please complete the following information):

OS: macOS 13.3.1
Browser Chrome
Version 113.0.5672.126

Also came to this error. The missing update is not the only thing that is wrong here.
The field array errors should be put into a "root" object.
With the current implementation of zodResolver, it always sets message and type for the field array and if this happens, all the other errors of its items are gone.

You need to manually invoke the trigger method when adding to the field array. Validation doesn't occur automatically when a new field is registered.
https://codesandbox.io/s/react-hook-form-array-length-error-zod-forked-zjx7g7?file=/src/App.tsx

Hi @jorisre!
I'm not trying to be mean, and I am super grateful that you and others developed react-hook-form. It's such a great library.
However, I think that the fact that the trigger is not invoked automatically when adding to a field array is in fact the issue. It seems to me that invoking the trigger manually is a workaround.
Thank you.


Add polyfill for structured clone

What this does

adds core-js library for polyfilling
imports polyfill for structured clone

Structured clone seems to not be supported by certain webviews, adding a polyfill for it resolves problems on those devices. See more info here: #192

Thank you, it looks great. I have limited access to the code this week, but I'll try to find the time to test, merge and release ASAP!


Fix: Set request headers to http client

Request headers were not propagated into the http client used in api calls. This pull request fixes that (and includes a simple test).

Coverage increased (+0.33%) to 79.19% when pulling 98836c6ebdbd642eeba0df56ed7e27cb2ce7125f on lku:fix/http-client-headers into 077b1e2356b663e5893986fbbb2e039abfe126e5 on EvanDotPro:master.

Coverage increased (+0.33%) to 79.19% when pulling 98836c6ebdbd642eeba0df56ed7e27cb2ce7125f on lku:fix/http-client-headers into 077b1e2356b663e5893986fbbb2e039abfe126e5 on EvanDotPro:master.

Thanks @lku


getinstinct.com has been permenantly shut down

As the authors of getinstinct.com write: "As of Dec 31, 2016, Instinct has been permenantly shut down."
They recommend https://soundslice.com (which already in the list) and for piano https://www.flowkey.com.

Thanks!


Localization dies when starting

There is no map frame and different nodes state that when doing a tf transform.
I started rl bitbots_bringup simulator_teamplayer.launch game_controller:=false and rr humanoid_league_game_controller sim_gamestate.py in webots.
When starting  rl bitbots_bringup simulator_teamplayer.launch game_controller:=false and localization:=false and rl bitbots_localization localization.launch, one can see that it will not start correctly.
I dont really know what causes this issue as I looked at the recent adjustments in the localization and it looks fine.
Expected behavior

Current behavior

Steps to Reproduce

rl bitbots_bringup simulator_teamplayer.launch game_controller:=false and localization:=false
rl bitbots_localization localization.launch
watch the dsd in rqt e.g.
...

Context (Environment)

[ ] RViz
[ ] Simulator
[ ] Robot
[ ] Local

Possible Solution

Has this been resolved?

Has this been resolved?

It has been resolved by deleting and recloning the meta. So technically no, but I cannot reproduce it anymore

Okay

Weird


new participant being added to multiparty call cannot see quick connect names originally in the call

repro:

agent 1 answers incoming call
agent 1 calls agent 2 -> agent 1 will see "agent 2" quick connect name appear on screen. agent 2 will just see "INTERNAL-TRANSFER" for agent 1s name. In the code (agent 2 perspective):

const agent1Connection = contact().getConnections()[1];
const quickConnectName = agent1Connection.getQuickConnectName(); // -> will return undefined

To add to this, at this point if agent 1 were to add agent 3. both agent 1 and agent 2 will see "agent 3" on their screen. so at this point each agent sees the following:
Agent 1

123-222-2233
Agent 2
Agent 3

Agent 2

123-222-2233
INTERNAL-TRANSFER
Agent 3

Agent 3

123-222-2233
INTERNAL-TRANSFER
INTERNAL-TRANSFER

so the pattern seems to be "an agent can only see quick connect name for connections added while they were on the call".
But...why is this? Shouldn't every agent be able to see every other agents name in multiparty mode? The docs explicitly call this out as a MP feature:

An agent sees the quick connect ID for other agents, instead of just internal transfer. see

Agents that are added through quick connects will have a name in the quick connect field. Agent 2 and Agent 3 were added as quick connects, so only their connections will have a quick connect name associated with them. When I reproduced this, Agent 2's name was visible for agent 3 as well, which follows this pattern.

I do see that the replication steps have changed a bit for this in that agent 3 now sees agent 2's name. HOWEVER, closing this issue misses the point, which is at no point in any of this should INTERNAL-TRANSFER be shown for any agent. Certainly having 'INTERNAL-TRANSFER' as the quick connect name for the initial agent isn't accurate. is there another field where Agent 1's name can be accessed so that all agents can have a full picture of the call.

Just to reiterate.. if this ticket is working as designed then the docs are misleading at best - https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-release-notes.html#comparison-multi-party
In Non multiparty mode: An agent only sees internal transfer for another agent on the call.
in Multiparty: An agent sees the quick connect ID for other agents, instead of just internal transfer.
So it's true that an agent now sees quick connect IDs for agents who were quick connected, we still see internal transfer for the original agent.


Conditional middleware

Can azure functions isolated support conditional middleware?:
.e.g. UseWhen(context =>, appBuilder =>)
I have middleware that I would only like to use with HttpTriggers.
Thanks

Good question. Should be looked at from a broader perspective. What if my middleware is only for Service Bus triggers. Or Blobs.
Theoretically, it's possible by looking at some sort of object in the binding context. This is how I've done in week HTTP triggers out in the middleware. But since there could be any type of trigger, it would require knowing a corresponding type for each trigger to look for.

Version 1.8.0-preview1 of Microsoft.Azure.Functions.Worker package introduces the UseWhen extension method which will allow you to register a middleware which gets executed conditionally.
Sample usage.
var host = new HostBuilder()
    .ConfigureFunctionsWorkerDefaults(workerApplication =>
    {
        workerApplication.UseWhen<StampHttpHeaderMiddleware>((context) =>
        {
            // We want to use this middleware only for http trigger invocations.
            return context.FunctionDefinition.InputBindings.Values
                          .First(a => a.Type.EndsWith("Trigger")).Type == "httpTrigger";
        });
    })
    .Build();

Nice. Thank you.


Add support for programmatically changing peer layers when using the SFU

Relevant components:

[X] Signalling server
[ ] Frontend library
[ ] Frontend UI library
[ ] Matchmaker
[ ] Platform scripts
[X] SFU

Problem statement:
Currently when utilising the SFU, players are switched to different resolution streams based on their prevailing network conditions.
It may be useful however, to force a specific player (or all players) to be on a specific layer. This could be useful during development to see how your stream will look at different resolutions without needing to use a third party tool such as NetLimiter to fake this poor network.
Solution
This PR adds support for a new message from the application. This message is structured as follows:
{
    "type": "layerPreference",
    "playerId": "TargetPlayerId",
    "spatialLayer": N,
    "temporalLayer": M
}

The playerId value represents the id of the player whose layers you wish to change.
The spatialLayer value represents the resolution based layer, configured by the SimulcastParameters passed to the application at launch. If no value is passed, layer 0 represents full resolution and layer 1 represents half resolution.
The temporalLayer value represents the framerate based layer. Pixel Streaming currently doesn't support different temporal layers, but if/when support for it is added this value will become useful.
Documentation
No SFU specific docs.
Test Plan and Compatibility
Tested using the latest SFU and Cirrus to ensure a stream can still operate as expected.
I also setup a key bind in an Unreal project to switch between layers. In this example, I passed three layers in the application by launching with -SimulcastParameters=1.0,5000000,20000000,2.0,1000000,5000000,4.0,50000,1000000. These three layers represent Full Res, Half Res and Quarter Res. My bind would then cycle through each layer on key press and set every player to this new layer.

@mcottontensor This change will mean minor version bump to the RELEASE_VERSION file and we should also do a new release of the signalling server container too.


Not working

So I followed this tutorial on youtube,
https://www.youtube.com/watch?v=HlOUKj6WP-s&list=PLmo1GBItOimXfKR5t4D3f0doSflEgUo9j&index=3&t=474s
and installed everything I needed to install, activated everything, made sure picture and video were of same size and named properly and I cannot get the program to green screen me out. I have an NVIDIA graphics card. I used a sample image and video from this website and it worked, but mine wont work. It green screens random sections of the background but not everything. It's not a complicated scene, and it is on a tripod. Just me walking away for a few seconds and turning around. it is a 4k video. I cannot upload the original as it is too big so I am converting it too a smaller size and uploading for you to look at. Help me please.
https://user-images.githubusercontent.com/76640989/103165057-31404f80-47d0-11eb-9892-52d7993febda.mp4

Where is the background image without the subject?
Our method is background matting. It requires an additional capture of the background without the subject. So you could start recording, then enter the scene, and later use the first frame as the background input.
When you run the inference_video.py script, the --video-bgr is asking you for this pre-captured background image, not the target background you want to composite on.

I have it as well, i didnt send it because i was just sending an example of
what i am having a problem with.
On Mon, Dec 28, 2020 at 1:02 AM Peter Lin<EMAIL_ADDRESS>wrote:

Where is the background image without the subject?
Our method is background matting. It requires an additional capture of the
background without the subject. So you could start recording, then enter
the scene, and later use the first frame as the background input.
When you run the inference_video.py script, the --video-bgr is asking you
for this pre-captured background image, not the target background you want
to composite on.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/PeterL1n/BackgroundMattingV2/issues/15#issuecomment-751623067,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASIXFXJ4HERZASAOFVPGPN3SXA3S7ANCNFSM4VKRKAIQ
.

The dimensions of the photo and video do not match. The photo shows that part of the fan did not enter the frame, although it is in the video.

Like I said in my initial post, I had to resize the video because it was
too large to send in this email. It wouldn’t let me because it was too big
so I had to use handbrake and size it down and That’s why it doesn’t match.
But the original 4K video and 4K PNG match.
On Tue, Dec 29, 2020 at 2:47 AM Student B<EMAIL_ADDRESS>wrote:

The dimensions of the photo and video do not match. The photo shows that
part of the fan did not enter the frame, although it is in the video.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/PeterL1n/BackgroundMattingV2/issues/15#issuecomment-752015192,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASIXFXJJEJQXVLVQCWWHMHTSXGQSRANCNFSM4VKRKAIQ
.

I see the point of @mowshon.
I understand that you resized the src.mp4, but if you just look at the fan at the very left. The bgr.png has part of it croped out of the frame where the src.mp4 has more fan part. So there is a shift between the src.mp4 and bgr.png, and that could be why the model failed. The src and bgr need to be very aligned.
You could try adding the --preprocess-alignment flag when using inference-video.py. This uses opencv to do alignment before passing into the model. But for the best result, make sure the background is aligned.

Holy crap, I didn't even notice that. I appreciate your patience and
advice. I will try and redo my video and image so they match and try again.
I love the program and I hope I can get it to work. Thanks.
On Tue, Dec 29, 2020 at 10:59 AM Peter Lin<EMAIL_ADDRESS>wrote:

I see the point of @mowshon https://github.com/mowshon.
I understand that you resized the src.mp4, but if you just look at the fan
at the very left. The bgr.png has part of it croped out of the frame where
the src.mp4 has more fan part. So there is a shift between the src.mp4 and
bgr.png, and that could be why the model failed. The src and bgr need to be
very aligned.
You could try adding the --preprocess-alignment flag when using
inference-video.py. This uses opencv to do alignment before passing into
the model. But for the best result, make sure the background is aligned.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/PeterL1n/BackgroundMattingV2/issues/15#issuecomment-752184562,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASIXFXL6R4WJISTVZKI2F3LSXIKH5ANCNFSM4VKRKAIQ
.

No problem. Let us know if you got it fixed.

It worked now, thanks.
2 questions

Not sure, but does it save the same quality as the original video? It says it's the same size but the quality is not the same. I am guessing the program is not able to save the same quality. If not, no worries. still works great.
can you input all the other output files that are saved into blender to help with green screening?

Currently, the script uses opencv to save output as mp4 files. It is just a demo to show it works. We didn't really put too much effort into giving you the option of codec or bitrate control. You could output it as png image sequence by passing ----output-format=image_sequence. Png images also comes with alpha channel, so you don't need to do color keying again.
Our neural model actually produces alpha matte. but because videos don't support the alpha channel, so we composite the result onto a green background, which you may use another software to color key it away again, which is kinda stupid. I am not familiar with blender, but if you want to, you could use the fgr and pha output and composite yourself. Or switch to output image sequence.

So I am trying to save it as an image sequence.
I have the script with your "output" command. Not sure if I put it in the right place.
"python inference_video.py --model-type mattingrefine --model-backbone resnet50 --model-checkpoint ./model/PyTorch/pytorch_resnet50.pth --model-refine-sample-pixels 320_000 --video-src ./input/src.mp4 --video-bgr ./input/bg.png --output-dir ./output ----output-format=image_sequence .png"
and it gives me the following script error--
--model-backbone {resnet101,resnet50,mobilenetv2}
[--model-backbone-scale MODEL_BACKBONE_SCALE]
--model-checkpoint MODEL_CHECKPOINT
[--model-refine-mode {full,sampling,thresholding}]
[--model-refine-sample-pixels MODEL_REFINE_SAMPLE_PIXELS]
[--model-refine-threshold MODEL_REFINE_THRESHOLD]
[--model-refine-kernel-size MODEL_REFINE_KERNEL_SIZE]
--video-src VIDEO_SRC --video-bgr VIDEO_BGR
[--video-resize VIDEO_RESIZE VIDEO_RESIZE]
[--preprocess-alignment] --output-dir OUTPUT_DIR
--output-types {com,pha,fgr,err,ref}
[{com,pha,fgr,err,ref} ...]
[--output-format {video,image_sequences}]
inference_video.py: error: the following arguments are required: --output-types
not sure if I am doing this wrong.
Thanks for your help.

Couple of errors. It should be
"python inference_video.py --model-type mattingrefine --model-backbone resnet50 --model-checkpoint ./model/PyTorch/pytorch_resnet50.pth --model-refine-sample-pixels 320_000 --video-src ./input/src.mp4 --video-bgr ./input/bg.png --output-dir ./output --output-format= image_sequences --output-types com"

It is --output-format not ----output-format.
The error was telling you that you missed --output-types argument.
--output-format should be "image_sequences"

That worked perfect. Thanks.
Are there going to be any upgrades in the future to change the video output options, or is there a way to tweak the setting manually ourselves to do that?
If not, thank you for all your help and the awesome software. Will keep this page bookmarked for future updates, fingers crossed.

Unlikely we will add more video options. Our focus is more on the deep learning research side and less so on the engineering side to build a fully useable product. The neural model is made public so technically people can build all sorts of products and options, but we will not be providing that.

Thanks!
On Thu, Dec 31, 2020 at 1:40 PM Peter Lin<EMAIL_ADDRESS>wrote:

Closed #15 https://github.com/PeterL1n/BackgroundMattingV2/issues/15.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/PeterL1n/BackgroundMattingV2/issues/15#event-4160219084,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASIXFXNYT5KCS7TJX4S2BZLSXTOUFANCNFSM4VKRKAIQ
.


live555: 2024.03.08 -> 2024.04.14

Description of changes

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] 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
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 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

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

1 package built:
live555
Result of nixpkgs-review pr 305400 run on aarch64-darwin 1

1 package built:

live555

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-already-reviewed/2617/1595


Code asked to report this:

Checklist

[x] I'm reporting a broken site support issue
[x] I've verified that I'm running youtube-dl version 2021.12.17
[x] I've checked that all provided URLs are alive and playable in a browser
[x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[x] I've searched the bugtracker for similar bug reports including closed ones
[x] I've read bugs section in FAQ

Verbose log

user@users-MacBook-Air ~ % youtube-dl https://youtu.be/HWKqlYZ9M5Q
[youtube] HWKqlYZ9M5Q: Downloading webpage
[youtube] HWKqlYZ9M5Q: Downloading player b7910ca8
ERROR: Unable to extract uploader id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

user@users-MacBook-Air desktop % youtube-dl https://youtu.be/HWKqlYZ9M5Q -v
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['https://youtu.be/HWKqlYZ9M5Q', '-v']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dl version 2021.12.17
[debug] Python version 3.11.3 (CPython) - macOS-12.6.5-x86_64-i386-64bit
[debug] exe versions: none
[debug] Proxy map: {}
[youtube] HWKqlYZ9M5Q: Downloading webpage
ERROR: Unable to extract uploader id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/youtube_dl/YoutubeDL.py", line 815, in wrapper
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/youtube_dl/YoutubeDL.py", line 836, in __extract_info
    ie_result = ie.extract(url)
                ^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/youtube_dl/extractor/common.py", line 534, in extract
    ie_result = self._real_extract(url)
                ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/youtube_dl/extractor/youtube.py", line 1794, in _real_extract
    'uploader_id': self._search_regex(r'/(?:channel|user)/([^/?&#]+)', owner_profile_url, 'uploader id') if owner_profile_url else None,
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/youtube_dl/extractor/common.py", line 1012, in _search_regex
    raise RegexNotFoundError('Unable to extract %s' % _name)
youtube_dl.utils.RegexNotFoundError: Unable to extract uploader id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Description

The system is updated but not working. I've tried with different Youtube links but no success. Any idea of what is happening?

[x] I've searched the bugtracker for similar bug reports including closed ones

Learn how by reading #30839 (again?).

[x] I've read bugs section in FAQ

Apply this.


Miscellaneous cleanup

See individual commit messages

This looks fine to me. I think @gwenn and I have diagreed about session before so maybe he has stronger opinions, though.

I disagreed to activate session while generating default bundled bindgen.

I disagreed to activate session while generating default bundled bindgen.

Fair enough!


Difference in output between BeamDyn versions

Dear all,
I'm modelling a 80m rotor blade in OpenFAST, in combination with BeamDyn to model the structural dynamics.
I used a BeamDyn driver compiled in single precision under a 64-bit windows system (BeamDyn v1.01.04). Now I upgraded to the latest v2.1.0-version on the master branch, compiled on a 64-bit Linux cluster system using intel/2018b and CMake/3.11.4.
After the version upgrade, I experience large differences in the BeamDyn deflections. As an example, I attached a BeamDyn model of the two versions, where the blade is loaded under a 1g gravity load. As the output files show, the v1.01.04 shows a transient to the correct tip deflection of 1.3m (verified with HAWC2 and Bladed). The newest version of BeamDyn shows a minimal steady tip deflection.
My question is: where does the difference in output between the two versions comes from? Have the output coordinate system of Beamdyn changed, or have I compiled BeamDyn wrong?
I'm grateful for any thoughts on this matter.
Best regards,
Jelmer Polman
BeamDyn_Issue.zip

I think I know what the problem is.  The definition of the output nodes changed between versions from finite element (FE) points (9 total) to the quadrature points (84 total).  This change was made when the mesh resolution was increased.
v 1.01.04
In the version 1.01.04, the output nodes are at the finite element points.  Thus in you v1.01.04 model, the output nodes selected correspond to the finite element (FE -- where the calculations are performed). These nodal locations are at the spanwise locations of
0.00000E+00
4.00868E+00
1.29093E+01
2.54689E+01
3.99900E+01
5.45111E+01
6.70707E+01
7.59713E+01
7.99800E+01

These are given in the summary file as the global node initial position vectors.
v2.1.0
In the version 2.1.0, the output nodes correspond to the quadrature points given in the blade file.  So, the node 9 as requested is corresponding to a location of 6.9 meters (between FE nodes 1 and 2).  If you want the tip deflection, you will want to include the following channels in the outlist: TipTDxr TipTDyr, and TipTDzr.  If you want a comparable comparison to the FE node locations from v1.01.04, you can select the nodes to output as:
          1, 6, 15, 27, 42, 57, 69, 78, 84    OutNd          - Nodes whose values will be output  (-)

The quadrature point locations are also listed in the summary file.  To find the nodes closest to the FE nodes, I searched through this list from your model.  The FE node at 25 m falls between quadrature points 27 and 28.
Also, note that this version includes a QuasiStaticInit solve option.  This will find the static equilibrium before running the dynamic solve.  This helps reduce the initial transients in a fully coupled solution.

I ran your case using BeamDyn compiled from the dev branch using gfortran on a Mac (File 1) and compared with your v1.01.04 output file.  I used the OutNd as specified above, and set the QuasiStaticInit to false.

Thank you for the help. That was indeed the issue I had.
Best regards,
Jelmer Polman


Rerender attempt

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender

@notestaff failed here too. Let's try a master build with no changes.


KIC 2.0: Set the metrics and healthz port to the same as in 1.x

~The health and metrics servers need to run on the same port, and use the same path routing as in 1.x.~
The health endpoint must remain unchanged w.r.t. KIC 1.x because changing it will cause a crash loop for users of the existing KIC deployment.
We expect little usage of the existing metrics endpoint due to its limited coverage. KIC 2.0 will likely add much more useful metrics due to #1278.
Acceptance criteria:

[ ] keep the existing healthz endpoint intact
[ ] expose metrics, possibly on a different endpoint/port, and define an appropriate ServiceMonitor and canonical prometheus service discovery annotations
[ ] create integration tests that check health and metrics, the tests should run (and succeed) on both 1.x and 2.x without changes.

Setting as blocked while discussing with the team, because making this work as it did in 1.x with controller runtime is non-trivial.

Code-wise, it looks like changing the listen port should be all we need for healthz parity. CR already defaults to exposing a /healthz path: https://github.com/kubernetes-sigs/controller-runtime/blob/v0.8.3/pkg/manager/manager.go#L183-L187
There are a few references in files under railgun/config. Are these generated from anything, or should I update them manually?
CR provides separate /healthz and /readyz endpoints on that endpoint, and we should make use of the latter for readiness checks. Old-style config, which used /healthz for both, will still work, though it won't technically be correct.
Integration tests may be a bit tricky, since these endpoints aren't normally exposed AFAIK (Kubernetes built-ins check them and they have no Service). Do we have anything else that interacts with Pod IPs in integration tests currently?

Do we have anything else that interacts with Pod IPs in integration tests currently?

Not directly to the pods, but if you expose them via Ingress that you could test them that way?

https://book.kubebuilder.io/component-config-tutorial/define-config.html suggests that you do just update content under config/ manually, so that's what I did: https://github.com/Kong/kubernetes-ingress-controller/pull/1283
It looks like Kubebuilder handles ServiceMonitor generation for us (behind a local RBAC proxy):
https://book.kubebuilder.io/reference/metrics.html
https://github.com/Kong/kubernetes-ingress-controller/blob/main/railgun/config/prometheus/monitor.yaml
https://github.com/Kong/kubernetes-ingress-controller/blob/main/railgun/config/default/manager_auth_proxy_patch.yaml
So nothing new there.
The basic (no RBAC proxy) health and metrics listens normally only listen on localhost, which we'd need to override if we wanted to expose them through a Service+Ingress. However, integration tests pose a further challenge: by design, our tests don't run the controller in a Pod at all, and we don't intentionally expose it in any way--it just runs in the background.
Since it is running directly on the test host, however, it listens there, and f155e28 does work to access it :shrug: The condition for proceeding with the test technically shouldn't be the proxy readiness, but we don't start the background controller until after it. That can probably use a separate event that fires after the controller starts, but I could use some help to understand how that should work.

Since it is running directly on the test host, however, it listens there, and f155e28 does work to access it shrug The condition for proceeding with the test technically shouldn't be the proxy readiness, but we don't start the background controller until after it. That can probably use a separate event that fires after the controller starts, but I could use some help to understand how that should work.

How about we sync on this today?


qmp: unify up/down memory scaling

The new implementation has several advantages over the previous one:

It handles the case, when there are leftover memory backends from
previous incomplete unplugs (see #451). Those backends are reused for
new DIMM devices.
It allows for simultaneous addition/removal of multiple devices.
It adds symmetrical k8s event reporting for both memory backends
and DIMM devices.

Fixes #451

Reviewing commit-by-commit (thanks for separating the steps!)

First commit looks good! Let's split that into a separate PR, it'll be quicker to merge & simplify this one — and that way, the squashed history is better.

Alternatively, there's a way to rebase & merge so each commit keeps the PR number on the end. Happy to explain that one a bit more. I mention this is because it's helpful to have separate changes in separate commits after merging, but we usually squash+merge because then the commits all reference the PR.

Second commit - need to look at this more thoroughly. First impressions: it could some comments, in particular: a brief (few sentences) explanation of how the new functions fit together (+ what's the difference between devices vs objects/backends), as well as brief comments on the functions saying what they do
Third commit - roughly same situation as the second commit. Need to look at it more thoroughly, but at first glance, it could use some comments.

@sharnoff
Let's go forward with "rebase & merge". I'll update the subjects before merging with the PR number.
I've added some comments and expanded commit message for the 2nd commit. If you think more explanation is needed, let me know where should I put it.

Sounds good. I'll try to get a more thorough review done today.

This comment is about the qmp logic in general, not this PR specifically. I think we should make a qmp package and put all the qmp related stuff in there (separation of concerns). Prefixing related functions with a name (like Qmp) is a practice coming from languages such as C that didn't have package like Go. With the qmp package we would have a nicer API, for example, qmp.DelMemoryBackend.

I think we should make a qmp package and put all the qmp related stuff in there

Opened #716.


Adds rendering to C4View and C4Shape

Tested with C4Image, C4Circle and C4Star, C4Line
Fixes: #593


Documentation for browserify regarding entries isn't clear

Referring to the documentation here: https://github.com/gulpjs/gulp/blob/master/docs/recipes/browserify-uglify-sourcemap.md
I'm finding the lack of comments regarding entries and source confusing. What's the relationship between - entries: './entry.js', and .pipe(source('app.js'))?
I've written the task below, but my scripts are outputting to ./.temp/assets/js/app/assets/_js/main.js.
How do i collapse that path to just the root of the gulp.dest? The desired output is ./.temp/assets/js/main.js
gulp.task('js-development', function() {
  var b = browserify({
    entries: './app/assets/_js/main.js',
    debug: true
  });

  return b.bundle()
    .pipe(source('./app/assets/_js/main.js'))
    .pipe(buffer())
    .pipe(plugins.sourcemaps.init({loadMaps: true}))
      .on('error', plugins.util.log)
    .pipe(plugins.sourcemaps.write('./'))
    .pipe(gulp.dest('.temp/development/assets/js/'));
});

entries is an option you give to browserify that tells it what file to read, the argument to source is what you want to name the files after it comes out of browserify.
The argument to source should be the name of the file (so in your case just main.js)
This is all in the documentation for browserify and the documentation for the source plugin.


Clicking the "Like" button on Facebook shows hidden comments

This no longer seems to be happening.


⚠ Bofrost.at has degraded performance

In 210f3b7, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 847 ms

Resolved: Bofrost.at performance has improved in 28f4b26 after 7 minutes.


Conditionally applying constraint

Hello,
I've just picked up Cuelang, so please excuse a potentially naive question.
I've read through the tutorials and spec, but can't quite work out how to apply a constraint to values in a schema conditionally on their type.
I'm have the following:
NotEmpty :: != ""

A :: {
	address_line_1:  string
	address_line_2?: string
	street?:         string
	house_number?:   string
	city:            string
	province?:       string
	postal_code:     string
	country:         string
	country_code:    string
	company_name?:   string
}

B :: [_]: NotEmpty
B :: {
	id:               string
	order_reference?: string
	is_bulk_order:    bool
	order_type:       OrderType
	line_items: [LineItem]
	customer_reference?:             string
	customer_purchase_order_number?: string
	email:                           string
	phone?:                          string
	first_name:                      string
	last_name:                       string
  { A }
}

I'm trying to apply the NotEmpty constraint to all string fields of the struct B. However, there are other types which are incompatible with the constraint.
What would be the best way to achieve something like this?
Cheers

As it's a fairly arbitrary subset of fields, you would have to write it out, for instance:
B :: {
	id:               NotEmpty
	order_reference?: NotEmpty
	is_bulk_order:    bool
	order_type:       OrderType
	line_items: [LineItem]
...
  { A }
}

If all string fields were identified in their name as such, one could write something like:
B :: [=~"String$"]: NotEmpty

There is a proposal out to also support field selection based on the field value. In that case you could write something like:
B :: [_]?[string]: NotEmpty

to apply the NotEmpty constraint only to fields with a value that is a string. This kind of functionality is consistent with the spirit language (aspect-oriented and constraint-based), but will still need to go through several design rounds before it could be implemented.
BTW, the best place to ask these questions is on CUE's slack channel.

Closing this as it is is not a proposal, feature request or bug.

Ah, thanks a lot! Have just joined the slack channel, will continue discussions over there. Thanks!

This issue has been migrated to https://github.com/cue-lang/cue/issues/195.
For more details about CUE's migration to a new home, please see https://github.com/cue-lang/cue/issues/1078.


This page isn't working error (log out).

I am using oidc-client library for my angular web site to work with IdentityServer4 for authentication and authorization using implict flow.  In the IdentityServer4 logout code, I redirect to my angular web page after logout.
public async Task Logout(LogoutInputModel model)
{
// build a model so the logged out page knows what to display
var vm = await _account.BuildLoggedOutViewModelAsync(model.LogoutId);
        var user = HttpContext.User;
        if (user?.Identity.IsAuthenticated == true)
        {
            // delete local authentication cookie
            await HttpContext.SignOutAsync();

            // raise the logout event
            await _events.RaiseAsync(new UserLogoutSuccessEvent(user.GetSubjectId(), user.GetDisplayName()));
        }
return Redirect(vm.PostLogoutRedirectUri);

}
Sometimes, I got an "This page isn't working" error. I think vm.PostLogoutRedirectUri is null in this case. Is this a known problem for IdentityServer4? If it is, what is the work around?

You should open this in the IdentityServer issue tracker if you think it's an issue there.

I am not sure where is the issue (IdentityServer4 or oidc-client). Here is my user manager settings.
  authority: `${environment.identityServer4Url}`,
   client_id: '***************',
   redirect_uri: 'http://localhost:4200/auth.html',
   post_logout_redirect_uri: 'http://localhost:4200',
   response_type: 'id_token token',
   scope: 'read write openid profile',
   silent_redirect_uri: 'http://localhost:4200/silent-renew.html',
   automaticSilentRenew: false,
   accessTokenExpiringNotificationTime: 4,
   filterProtocolClaims: true,
   loadUserInfo: true,

I am using the following command to sign out:
startSignoutMainWindow() {
this.mgr.signoutRedirect().then(function (resp) {
setTimeout(5000, () => {
});
}).catch(function (err) {
});
}

It's hard to tell. Any update on your end?