vcv-rack: 1.1.6 -> 2.0.3

Motivation for this change
Update to next major version, with great improvements in visual and sound engine, latency, usability, etc. https://vcvrack.com/Rack
It's a packaging of Rack 2 Free (the opensource one) + Fundamental (a default set of modules, like in VCV 1.x)
I've been using this for a couple of days for my own use, but I thought it may be a desirable update to have for everyone, so I'm opening this MR.
Things done

Built on platform(s)

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

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

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

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.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
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

When I first tried to build this with nix-build -v -A vcv-rack it failed because of hash mismatches. I was able to stop these mismatches by changing the sha256 sum for VCVRack/Fundamental to 1cnld5c682dfi6hkzs949zs05kranxgfivnzxszjd21ins10wz22 and the sha256 sum for VCVRack/Rack to 1xk7nrikrk7dnnk4ggjn1jis6qnywn52141mgixlcndml5na24la. (Obtained these sums with nix-prefetch-url --unpack "https://github.com/VCVRack/Rack/archive/v2.0.1.tar.gz" etc.)
After that nix-build -v -A vcv-rack failed because the prePatch script line cp dep/pffft/*.h dep/include failed, because you removed the pffft source and other source dependencies from the derivation. I tried commenting out all these file copy operations that operate on sources that are no longer in the derivation, but the VCV Rack build still failed because it requires nanovg, and the derivation isn't supplying that in any way. How are you supplying these dependencies when you build VCV Rack 2 with this derivation?

Hi @ddelabru, these dependencies are submodules of the vcv-rack git repository. These submodules are pulled (or at least they should be?) by fetchFromGitHub. nix-prefetch-url --unpack will justly give a different hash, because the source will be different.
It seems at least the bot was able to build it fine, so I'm not really sure what is happening here.

Right, it seems that fetchSubmodules is not true by default, declared it explicitly.

Thanks for looking into this, @jpotier!
With fetchSubmodules turned on the build got much farther, but now is failing on a linker error:
g++ -o plugin.so build/src/8vert.cpp.o build/src/ADSR.cpp.o build/src/Delay.cpp.o build/src/LFO.cpp.o build/src/Merge.cpp.o build/src/MidSide.cpp.o build/src/Mixer.cpp.o build/src/Mutes.cpp.o build/src/Noise.cpp.o build/src/Octave.cpp.o build/src/Pulses.cpp.o build/src/Quantizer.cpp.o build/src/Random.cpp.o build/src/SEQ3.cpp.o build/src/Scope.cpp.o build/src/SequentialSwitch.cpp.o build/src/Split.cpp.o build/src/Sum.cpp.o build/src/Unity.cpp.o build/src/VCA-1.cpp.o build/src/VCA.cpp.o build/src/VCF.cpp.o build/src/VCMixer.cpp.o build/src/VCO.cpp.o build/src/Viz.cpp.o build/src/WTLFO.cpp.o build/src/WTVCO.cpp.o build/src/plugin.cpp.o build/src/dr_wav.c.o -shared -L../.. -lRack -Wl,-rpath=/tmp/Rack2 -static-libstdc++ -static-libgcc
/nix/store/lbxfixyw1yk099pjyaiy3xj5dl7kxm1g-binutils-2.35.2/bin/ld: cannot find -lRack

My other concern is that because these submodules don't specify a commit hash to pull in, the source hashes will be "fragile" and will no longer be valid when new commits are made to any of them. (I suspect this is why they had been specified directly in the derivation for Rack v1 to begin with.)

Thanks for looking into this, @jpotier!
With fetchSubmodules turned on the build got much farther, but now is failing on a linker error:
g++ -o plugin.so build/src/8vert.cpp.o build/src/ADSR.cpp.o build/src/Delay.cpp.o build/src/LFO.cpp.o build/src/Merge.cpp.o build/src/MidSide.cpp.o build/src/Mixer.cpp.o build/src/Mutes.cpp.o build/src/Noise.cpp.o build/src/Octave.cpp.o build/src/Pulses.cpp.o build/src/Quantizer.cpp.o build/src/Random.cpp.o build/src/SEQ3.cpp.o build/src/Scope.cpp.o build/src/SequentialSwitch.cpp.o build/src/Split.cpp.o build/src/Sum.cpp.o build/src/Unity.cpp.o build/src/VCA-1.cpp.o build/src/VCA.cpp.o build/src/VCF.cpp.o build/src/VCMixer.cpp.o build/src/VCO.cpp.o build/src/Viz.cpp.o build/src/WTLFO.cpp.o build/src/WTVCO.cpp.o build/src/plugin.cpp.o build/src/dr_wav.c.o -shared -L../.. -lRack -Wl,-rpath=/tmp/Rack2 -static-libstdc++ -static-libgcc
/nix/store/lbxfixyw1yk099pjyaiy3xj5dl7kxm1g-binutils-2.35.2/bin/ld: cannot find -lRack

Hmm, it's breaking while building the Fundamental plugins pack. I'm not really able to tell why it's different for you than for me.

My other concern is that because these submodules don't specify a commit hash to pull in, the source hashes will be "fragile" and will no longer be valid when new commits are made to any of them. (I suspect this is why they had been specified directly in the derivation for Rack v1 to begin with.)

I think you're right about this. What a chore! I'll be re-establishing separate git repos to pull the necessary dependencies, pinned.

error: hash mismatch in fixed-output derivation '/nix/store/6fg7rfwsimhm4s62jfabx3f8xk449qyw-source.drv':
         specified: sha256-gy+YiYhgBO9eoEBP0PmteVjfaJWWIa/Ye9tvJG1b6aw=
            got:    sha256-ihKhbKG1WUZ7fDWQIIrl3mKjowxWvkemte3MPGO2Z/Y=

After fixing that:
patching sources
cp: missing destination file operand after 'dep/include'
Try 'cp --help' for more information.

How exactly are you testing this package?

@Ralith, the errors you reported look exactly like the errors I got when I first tried to build this; see my conversation with jpotier above. jpotier has amended the commit a few times and I no longer get the same errors with the latest code. (I'm getting a different error now, the linker error I described above.)

jpotier has amended the commit a few times and I no longer get the same errors with the latest code

Yeah, so I now pull the would-be submodules explicitly and separately from the git pull. Due to caching, I might have forgotten to revert the hash for the Rack source (grmbl) let me have a look again.

jpotier has amended the commit a few times and I no longer get the same errors with the latest code. (I'm getting a different error now, the linker error I described above.)

I am using the latest code. Check the hash for yourself: https://github.com/NixOS/nixpkgs/blob/656b21d8e0a91f60ca376941ddc75c00e2fdee3a/pkgs/applications/audio/vcv-rack/default.nix#L66

@Ralith try it now? I've fixed the hash

I'm currently able to build with nix-build -v -A vcv-rack and the resulting binary runs. I should maybe make sure I don't have any cached sources that are bypassing hash mismatches.

@ddelabru could you test that you are able:

to use the fundamental plugins (like VCV VCO, Scope, etc.)
to save a patch (I had to fix a bad crash due to some gtk stuff missing when I was building the package)

@ddelabru could you test that you are able:
1. to use the fundamental plugins (like VCV VCO, Scope, etc.)

The tutorial patch seems to include all these, and it works beautifully: the basic VCO, the wavetable VCO, scope, mixer, VCA, ADSR envelope generators, etc.

2. to save a patch (I had to fix a bad crash due to some gtk stuff missing when I was building the package)

Added the VCV Recorder module to the tutorial patch, saved it, and then closed and reopened Rack, and was able to load the saved patch without a problem.

Can confirm, current version seems to work. Real-time output is super glitchy, though...

e: works properly when switched to pulse audio mode.

Good to know! I'm using PipeWire, and tried both Jack and Pulseaudio outputs from the Audio module of VCV, and both work pretty well.

e: works properly when switched to pulse audio mode.

I always had stutter with ALSA output in Rack v1, too; switching to pulseaudio has always solved that unless I've so overloaded the GPU/CPU with modules that it's going to stutter anyway

@Ralith @ddelabru would you mind doing a review of the code as well?

@jpotier, the current iteration of the code looks good to me. However, there is now a 2.0.3 release. This one fixes a few major bugs people noticed when v2 was first made available.

@jpotier, the current iteration of the code looks good to me. However, there is now a 2.0.3 release. This one fixes a few major bugs people noticed when v2 was first made available.

I'll update to 2.0.3

Could we also keep v1 of vcv-rack? It has about 1,000+ more modules than VCV Rack 2 does at this time - some of which the authors have stated will never be updated.

Could we also keep v1 of vcv-rack? It has about 1,000+ more modules than VCV Rack 2 does at this time - some of which the authors have stated will never be updated.

Being able to still use VCV v1 is undeniably something important, and good to have.
NB: After this update, VCV v1 will still part of the history of Nixpkgs. As such, it will still be usable as long as the upstream source is available, albeit being a bit more difficult to discover. Now, I don't know if it is scheduled to be worked on independently of v2, or if it's scheduled to die upstream. If it is still patched for bugs upstream then yes, 100%, we should have separate packages for v1 and v2. However I was under the impression that v1 would be practically abandoned.
Personally, I don't mind extending the scope of this PR to create a new package in nixpkgs, and keep the v1 where it's at.

Option 1: we move on and update v1 to v2, knowing it still allows people to run the older version, but that it's less transparent how to install v1 (need to pin an older nixpkgs), or
Option 2: we create a new package for v2, to which the vcv-rack will default to, but there will still be a vcv-rack1 package available to install v1.

@Ralith @ddelabru @Moredread @nathyong what do you people think about these two options?

I understand why people will want to keep Rack 1 around. There are certainly some very popular modules that either won't make it over to v2 or just haven't yet. That said, I also get the impression that v1 is being quickly abandoned by VCV. And, if I understand correctly, the VCV "Library" (essentially an app store that is the official place to obtain plugins and modules) is now hiding any plugins or modules that haven't been released for v2. So if a user doesn't already have the v1 plugins they want to use installed, they may have to go to the Github repos and web sites for those plugins and download them manually. For this reason, I think v2 should probably be the default vcv-rack package in nixpkgs 22.05, but maybe it should be a separate vcv-rack-2 package in 21.11, with v1 remaining the default so that users' VCV Rack patches don't suddenly become unusable for them because they are running a version that doesn't have the modules they need.

Yet another update has been released: the current version seems to be 2.0.4. @jpotier

I think they're up to 2.0.5 now; seems like they're still going after some bugfixes that canter up after the initial v2 release.
@tholzschuh Thanks for bringing up Rack Pro. I hadn't considered it but you're right that this derivation won't cover it. Patching a proprietary ELF binary to link in shared libraries from the Nix store isn't a problem for Nix derivations; that's how Nix packages the official Spotify client, for example. Since the free version can be built from source and the proprietary version would require patching an ELF binary, the pro version might need to be a separate package from the free version in Nix.
Right now I think the problem is that VCV Rack doesn't actually let you download the Rack Pro binary until you've bought it. (This is unlike other "freemium" software, for example the Bitwig DAW, where there's just one binary but at runtime it checks whether you've bought a license and opens either as the demo version or a paid version accordingly.) And I don't personally have Pro because Standalone Rack is sufficient for me, and money has been a little tight (though I have bought a commercial VCV plugin before and have my eye on others) so I can't test anything with the VCV Rack Pro binary. We should maybe reach out to the VST devs about how to enable Rack Pro on Nix / NixOS, and explain to them why that will require a patched binary, but it might help to have Nix users who have bought or would buy Rack Pro so we can demonstrate why they should support Nix compatibility.
The other wrinkle here is that the two distinguishing features of Pro are 1) professional support and 2) VCV Rack as a VST plugin for digital audio workstations (DAWs). So it only really makes sense to package VCV Rack Pro for Nix if we make sure the VST version works; I think someone who has more experience with VSTs should look at it.
Anyway, since it looks like Pro would have to be a separate package anyway, I think this update to the existing derivation should proceed, but maybe with a note that it's specifically for the free version of VCV Rack and not for Pro.

Right now I think the problem is that VCV Rack doesn't actually let you download the Rack Pro binary until you've bought it. (This is unlike other "freemium" software, for example the Bitwig DAW, where there's just one binary but at runtime it checks whether you've bought a license and opens either as the demo version or a paid version accordingly.) And I don't personally have Pro because Standalone Rack is sufficient for me, and money has been a little tight (though I have bought a commercial VCV plugin before and have my eye on others) so I can't test anything with the VCV Rack Pro binary.

I bought the Pro version and would of course help where possible.
I'm not really experienced at all in packaging with nix (so far).
The Pro-version comes with a text file with installation instructions:
There's a Rack Pro folder that one should copy to some places, and two VST2 libraries that one should copy to some VST-locations.

We should maybe reach out to the VST devs about how to enable Rack Pro on Nix / NixOS, and explain to them why that will require a patched binary, but it might help to have Nix users who have bought or would buy Rack Pro so we can demonstrate why they should support Nix compatibility.

As I said above: I'm a NixOS user that bought Rack Pro.
Maybe some others have too?

The other wrinkle here is that the two distinguishing features of Pro are 1) professional support and 2) VCV Rack as a VST plugin for digital audio workstations (DAWs). So it only really makes sense to package VCV Rack Pro for Nix if we make sure the VST version works; I think someone who has more experience with VSTs should look at it.
Anyway, since it looks like Pro would have to be a separate package anyway, I think this update to the existing derivation should proceed, but maybe with a note that it's specifically for the free version of VCV Rack and not for Pro.

Yeah, I was just asking out of curiosity about the Pro-package.
The derivation suggested in this PR works perfectly well, so I'd definitely like to see it being accepted.

bumped to v2.0.5

@jpotier, in 2.0.4 Rack switched from gtk3 to zenity for displaying dialog boxes, so I think you need to change the Nix derivation to reflect that. I can't save or open patches with the latest version, or do anything that requires dialogs.

in 2.0.4 Rack switched from gtk3 to zenity for displaying dialog boxes

Damn, really? Way to not abide by semver (that's on me for expecting a change from 2.0.4 -> 2.0.5 to be a patch thing, not a breaking change).
Thanks for the very detailed suggestion, @ddelabru I'll make the change as soon as I get some quiet time.

@tholzschuh, thanks for letting me know you have pro. Unfortunately I feel a little out of my depth making any attempt to package it if I don't have a copy of it myself but if you want to use Pro with Nix then there are probably others.
I've given a little more thought to how it should be done and it sounds like wha t happens when you download Pro after installing it is that you get some files (maybe in a zip archive or tarball?) that come with instructions on where to put the Pro executable, where to put your Rack directory, where to copy the VST, etc. Probably the best way to accommodate this, instead of adding Pro to nixpkgs, would be to maintain a simple Nix expression in a file that you would copy to your local directory alongside the file you downloaded from the VCV Rack web site, and then you'd use a Nix command like some variation of nix-env -f ./ -iA vcv-rack-pro to imperatively install Pro to your user profile. This wouldn't be declarative like nixpkgs but it would side-step the problems of needing to be authenticated with VCV Rack in order to download the Pro binary, and of unstable checksums that would result from grabbing possibly unversioned archive files. The Nix expression would take care of unpacking the archive, patching the binary, and putting all the files where they're supposed to go.
Hopefully some Nix packager who has a licence for Pro will have a go at this; if they do they could probably maintain it in their own repo since with the solution I'm suggesting it wouldn't belong in nixpkgs.

I had a look at the Rack source code and it seems the one line where the zenity  executable filename is defined isn't in the Rack source code itself but in a submodule https://github.com/AndrewBelt/osdialog.git , in the C source file osdialog_zenity.c:
static const char zenityBin[] = "zenity";

So I think that's what needs patching specifically.

@ddelabru there, should be fixed now? At least I could open the save menu with this new version.

@jpotier I get now the following error:
/nix/store/cdm6zywd51mbabxhklsixwcskv4n70s3-binutils-2.35.2/bin/ld: cannot find -lRack
collect2: error: ld returned 1 exit status
make[1]: *** [../../compile.mk:62: plugin.so] Error 1
make[1]: Leaving directory '/build/source/plugins/Fundamental'
make: *** [Makefile:280: plugins] Error 2

I was able to build commit 3a768c3e7f00866d48f1cdd5f5e23911cd987569 with nix-build -A vcv-rack and it produced a Rack binary 2.0.6 binary that worked well for me, with zenity dialogs and everything. Not sure why I didn't get the same linker error @tasmo did. @tasmo, were you building from the same git ref and with the same nix-build command?
I did try deleting the symlink to the build result and clearing my nix cache to force a fresh build, and it still worked.

@ddelabru Yes, I used the same commit and the same command. Clearing the nix cache did it. thank you!

Can you please remove me from the maintainer list with this PR (so that a seperate PR doesn't cause any merge conflicts)? I sadly have little time atm, and I don't think that will change soon.

[...] Right now I think the problem is that VCV Rack doesn't actually let you download the Rack Pro binary until you've bought it.

requireFile

This has now been open for almost a quarter of a year, and I'm not feeling like progress is made.
I still have this random build problem other have expressed here too:
/nix/store/cdm6zywd51mbabxhklsixwcskv4n70s3-binutils-2.35.2/bin/ld: cannot find -lRack

Once in a blue moon.
I feel the PR is mostly good, but not there yet, and unfortunately, my itch was scratched (I now have a working version of Rack2 to use for myself, this one) so my motivation is mostly gone. I'll close my PR here, and I encourage anyone to pick it up and finish it for the community to enjoy, do not hesitate to reuse this PR and call it your own if it helps. I don't want to be the blocking factor in this process, and I feel that having an open PR for Rack2 in the pipes may prevent others to give it a go.

For anyone picking this up: the license is now GPLv3 with plugin exception (meaning, plugins are allowed to be non-GPL if they aren't commercial) + cc by-nc-nd, the pr as of writing still has bsd. (This also affects the 1.x package).


Bring back tippy from april fools last year

Unironically good
I think the code is old and doesnt work and I'm not coder so I can't update it
(old demo)
https://private-user-images.githubusercontent.com/60421075/228731344-5ebb0da3-e911-44b8-aec2-ab5e6c241c36.mp4?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MDgxMDMxOTcsIm5iZiI6MTcwODEwMjg5NywicGF0aCI6Ii82MDQyMTA3NS8yMjg3MzEzNDQtNWViYjBkYTMtZTkxMS00NGI4LWFlYzItYWI1ZTZjMjQxYzM2Lm1wND9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDAyMTYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwMjE2VDE3MDEzN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWQzNWU3NTQ1YmFmOTUzZTJmMjU0YWE5MTY5M2I4ZmE2MzdmMDdkMDJjY2ZmN2Y0MjdhZDI0NjU5NTBjNjI0NTImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.XhgHsgCVACVwipeMuWBGN6etb590hyJPh9sMVuiL824

He is real

Return of the King

too good

This is unironically really great and should be in mainline
With different theming this would be really useful when I write a tutorial game to teach SS14 to newbies

tipothy

Imagine a way to make tippy answer questions.
(In game): hey CMO how do I label jugs?
Tippy: use hand labeler

clippy is in the public domain :trollface:

i am going to merge this on goob station.
permanently.

The code for the PR has been fixed to work with the game; it got closed due to a miscommunication between me and the PR author (100% my fault). I'll merge the fix to get Tippy up and running later today.


fix issue on NumberFormat compact with custom numeric class

Some users of my decimal package asked to allow using NumberFormat with Decimal objects. To support this I introduced an adapter DecimalIntl to be able to use a Decimal with formatter.format(number) (See README for an example).
Testing it with several NumberFormat I faced an issue with NumberFormat.compact() because of a missing .toInt() that leads to an exception du to a call to int.+(num other) with a Decimal adapter class. This PR fix this issue.

Tests need to be fixed. Otherwise LGTM.

humm, please wait before merging... I think something is wrong with my change.

I don't find a correct solution to make compact number format working with Decimal. It would be great to have a kind of interface defining the methods used from this file to work with custom numbers. For now I'll will close this PR. Sorry for the noise.


Using Grafana data source REST API to update kubernetes data source

I have been successful in updating the kubernetes data source when we deploy a new kubernetes cluster.  However, I can't seem to properly update the tlsCACert.  It looks like it maybe encoded when its stored.  Is there some way that I can encode that certificate in the json file that I use when I do a PUT on the data source?

Hey I will take a look into your issue. As a starting point, which version of grafana are you using?

We are using the latest grafana container image on docker hub.  I believe its version 4.6.2.
Currently, we are deploying it in a kubernetes cluster using the stable grafana chart in helm.


Set VideoGear's decoder.

Is there any way to set the video decoder for the VideoGear class? I've been looking through docs but not so many details found.
I would like to use the GPU in order to decode the video, in order to speed up the process a little.

I would like to use the GPU in order to decode the video, in order to speed up the process a little.

OpenCV don't support GPU decoding in python yet and therefore there's no way of doing this in vidgear. OpenCV does supports Nvidia GPUs for speeding up DNN's computation modules which can used if you compile OpenCV with CUDA support, follow this article for more information.
But wait there's a Hack, export OPENCV_FFMPEG_CAPTURE_OPTIONS="video_codec|h264_cuvid" environment variable which works for some people but decrease performance for others and more information can be found in this issue: https://github.com/opencv/opencv/issues/11220


Cannot build project with other web3 libraries: multiple targets named secp256k1

Describe the bug
Using SPM unable to build the project with other web3 Swift-based libraries because everyone uses their own copy of secp256k1.
This issue should be fixed by SPM but it renders WalletConnectSwiftV2 unusable for other projects.
SDK Version

Client: Swift
Version: any

To Reproduce
Steps to reproduce the behavior:

Add WalletConnectV2 library as a dependency using SPM;
Add as a dependency probably any other web3 Swift library using SPM. For example web3swift;
Build.

Expected behavior
WalletConnectSwiftV2 must build with other libraries.
Screenshots

Update (duplicate symbols issue):

Device (please complete the following information):

Any iOS device

Update: I've forked web3swift and changed the name of secp256k1 to web3_secp256k1 and that led to duplicate symbols issue.
Full stack of duplicated symbols:
duplicate symbol '_CURVE_B' in:
    .../Build/Products/Debug-iphonesimulator/web3_secp256k1.o
    .../Build/Products/Debug-iphonesimulator/libsecp256k1.o
duplicate symbol '_secp256k1_context_clone' in:
    .../Build/Products/Debug-iphonesimulator/web3_secp256k1.o
    .../Build/Products/Debug-iphonesimulator/libsecp256k1.o
duplicate symbol '_secp256k1_context_create' in:
    .../Build/Products/Debug-iphonesimulator/web3_secp256k1.o
    .../Build/Products/Debug-iphonesimulator/libsecp256k1.o
duplicate symbol '_secp256k1_context_destroy' in:
    .../Build/Products/Debug-iphonesimulator/web3_secp256k1.o
    .../Build/Products/Debug-iphonesimulator/libsecp256k1.o
duplicate symbol '_secp256k1_context_randomize' in:
    .../Build/Products/Debug-iphonesimulator/web3_secp256k1.o
    .../Build/Products/Debug-iphonesimulator/libsecp256k1.o
duplicate symbol '_secp256k1_context_set_error_callback' in:
    .../Build/Products/Debug-iphonesimulator/web3_secp256k1.o
    .../Build/Products/Debug-iphonesimulator/libsecp256k1.o
duplicate symbol '_secp256k1_context_set_illegal_callback' in:
    .../Build/Products/Debug-iphonesimulator/web3_secp256k1.o
    .../Build/Products/Debug-iphonesimulator/libsecp256k1.o
duplicate symbol '_secp256k1_ec_privkey_negate' in:
    .../Build/Products/Debug-iphonesimulator/web3_secp256k1.o
    .../Build/Products/Debug-iphonesimulator/libsecp256k1.o
duplicate symbol '_secp256k1_ec_privkey_tweak_add' in:
    .../Build/Products/Debug-iphonesimulator/web3_secp256k1.o
    .../Build/Products/Debug-iphonesimulator/libsecp256k1.o
duplicate symbol '_secp256k1_ec_privkey_tweak_mul' in:
    .../Build/Products/Debug-iphonesimulator/web3_secp256k1.o
    .../Build/Products/Debug-iphonesimulator/libsecp256k1.o
duplicate symbol '_secp256k1_ec_pubkey_combine' in:
    .../Build/Products/Debug-iphonesimulator/web3_secp256k1.o
    .../Build/Products/Debug-iphonesimulator/libsecp256k1.o
duplicate symbol '_secp256k1_ec_pubkey_create' in:
    .../Build/Products/Debug-iphonesimulator/web3_secp256k1.o
    .../Build/Products/Debug-iphonesimulator/libsecp256k1.o
duplicate symbol '_secp256k1_ec_pubkey_negate' in:
    .../Build/Products/Debug-iphonesimulator/web3_secp256k1.o
    .../Build/Products/Debug-iphonesimulator/libsecp256k1.o
duplicate symbol '_secp256k1_ec_pubkey_parse' in:
    .../Build/Products/Debug-iphonesimulator/web3_secp256k1.o
    .../Build/Products/Debug-iphonesimulator/libsecp256k1.o
duplicate symbol '_secp256k1_ec_pubkey_serialize' in:
    .../Build/Products/Debug-iphonesimulator/web3_secp256k1.o
    .../Build/Products/Debug-iphonesimulator/libsecp256k1.o
duplicate symbol '_secp256k1_ec_pubkey_tweak_add' in:
    .../Build/Products/Debug-iphonesimulator/web3_secp256k1.o
    .../Build/Products/Debug-iphonesimulator/libsecp256k1.o
duplicate symbol '_secp256k1_ec_pubkey_tweak_mul' in:
    .../Build/Products/Debug-iphonesimulator/web3_secp256k1.o
    .../Build/Products/Debug-iphonesimulator/libsecp256k1.o
duplicate symbol '_secp256k1_ec_seckey_verify' in:
    .../Build/Products/Debug-iphonesimulator/web3_secp256k1.o
    .../Build/Products/Debug-iphonesimulator/libsecp256k1.o
duplicate symbol '_secp256k1_ecdsa_recover' in:
    .../Build/Products/Debug-iphonesimulator/web3_secp256k1.o
    .../Build/Products/Debug-iphonesimulator/libsecp256k1.o
duplicate symbol '_secp256k1_ecdsa_recoverable_signature_convert' in:
    .../Build/Products/Debug-iphonesimulator/web3_secp256k1.o
    .../Build/Products/Debug-iphonesimulator/libsecp256k1.o
duplicate symbol '_secp256k1_ecdsa_recoverable_signature_parse_compact' in:
    .../Build/Products/Debug-iphonesimulator/web3_secp256k1.o
    .../Build/Products/Debug-iphonesimulator/libsecp256k1.o
duplicate symbol '_secp256k1_ecdsa_recoverable_signature_serialize_compact' in:
    .../Build/Products/Debug-iphonesimulator/web3_secp256k1.o
    .../Build/Products/Debug-iphonesimulator/libsecp256k1.o
duplicate symbol '_secp256k1_ecdsa_sign' in:
    .../Build/Products/Debug-iphonesimulator/web3_secp256k1.o
    .../Build/Products/Debug-iphonesimulator/libsecp256k1.o
duplicate symbol '_secp256k1_ecdsa_sign_recoverable' in:
    .../Build/Products/Debug-iphonesimulator/web3_secp256k1.o
    .../Build/Products/Debug-iphonesimulator/libsecp256k1.o
duplicate symbol '_secp256k1_ecdsa_signature_normalize' in:
    .../Build/Products/Debug-iphonesimulator/web3_secp256k1.o
    .../Build/Products/Debug-iphonesimulator/libsecp256k1.o
duplicate symbol '_secp256k1_ecdsa_signature_parse_compact' in:
    .../Build/Products/Debug-iphonesimulator/web3_secp256k1.o
    .../Build/Products/Debug-iphonesimulator/libsecp256k1.o
duplicate symbol '_secp256k1_ecdsa_signature_parse_der' in:
    .../Build/Products/Debug-iphonesimulator/web3_secp256k1.o
    .../Build/Products/Debug-iphonesimulator/libsecp256k1.o
duplicate symbol '_secp256k1_ecdsa_signature_serialize_compact' in:
    .../Build/Products/Debug-iphonesimulator/web3_secp256k1.o
    .../Build/Products/Debug-iphonesimulator/libsecp256k1.o
duplicate symbol '_secp256k1_ecdsa_signature_serialize_der' in:
    .../Build/Products/Debug-iphonesimulator/web3_secp256k1.o
    .../Build/Products/Debug-iphonesimulator/libsecp256k1.o
duplicate symbol '_secp256k1_ecdsa_verify' in:
    .../Build/Products/Debug-iphonesimulator/web3_secp256k1.o
    .../Build/Products/Debug-iphonesimulator/libsecp256k1.o
duplicate symbol '_secp256k1_nonce_function_default' in:
    .../Build/Products/Debug-iphonesimulator/web3_secp256k1.o
    .../Build/Products/Debug-iphonesimulator/libsecp256k1.o
duplicate symbol '_secp256k1_nonce_function_rfc6979' in:
    .../Build/Products/Debug-iphonesimulator/web3_secp256k1.o
    .../Build/Products/Debug-iphonesimulator/libsecp256k1.o
duplicate symbol '_secp256k1_scratch_space_create' in:
    .../Build/Products/Debug-iphonesimulator/web3_secp256k1.o
    .../Build/Products/Debug-iphonesimulator/libsecp256k1.o
duplicate symbol '_secp256k1_scratch_space_destroy' in:
    .../Build/Products/Debug-iphonesimulator/web3_secp256k1.o
    .../Build/Products/Debug-iphonesimulator/libsecp256k1.o
ld: 34 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

I'll update the web3swift fork I'm using with this secp256k1 Swift replacement: https://github.com/pebble8888/secp256k1swift
That should fix the problem. I'll post updates here later.

@JeneaVranceanu any update? did you manage to solve your problem?

@llbartekll Hey, sorry for late reply. For the last few weeks I was on vacation so didn't check the email that much.
No, I wasn't able to fix the issue yet as I didn't have time to but I think the option of replacing secp256k1 with the Swift version of it is still the one that's more likely to fix the issue for the combination of WalletConnectV2 and web3swift. But it will still fail for other libraries that use the same secp256k1 module name in C++.

I think I'll have to get back to this issue later as it seems unavoidable.


console.log auto imports import console=require('console');

VSCode Version:1.31.1
OS Version:Mac OS Current

Steps to Reproduce:
type console.. 7 times out of 10, vscode will insert import console=require('console');in the imports top of the file leading to a compilation error.
Single most annoying issue of vs code by far.

Does this issue occur when all extensions are disabled?: Not sure

Does this reproduce in the latest VS Code insiders build with all extensions disabled? Make sure you are using the latest TypeScript version too
Also @Zlass which version of the node typings are you using? I don't see that declaration in the latest @types/node and have not been able to repro this issue

Ok, I believe I found the cause. Seems like it's a bug related @types/styled-components having a dependacy on @types/react-native, which conflicts with the node's console type.
I was able to reproduce it in the insider build by creating a new typescript react app with create-react-app and installing @types/styled-components.
I don't think this is a VS Code issue and there's already an open issue for it in DefinitelyTyped here

Hmmm, I don't use styled components. Not impossible that it came along with some other library

@mschipperheyn I'd recommend checking what shows up when you try to auto-complete console. I was able to figure out what package was declaring another definition of console by peeking at the references of each auto-complete suggestion.

I'm experiencing the same (on version 1.30.2). It's a React Native project, not using Styled Components (but any other lib might). When typing console below is the respective output of auto complete. The first does an auto import, the second does an auto require.

Add a console.d.ts file to your src root and add the following contents:
declare module 'console' {
    export = typeof import("console");
}

That will fix your import

Thanks @BrendonSled for that temp fix... that seems to have resolved it for me - now to add this to all my other projects 🙈

@BrendonSled thanks you !! Finally a tmp solution

Anyone have an update on this beyond temporary solutions? Google only returns this link and the StackOverflow link posted before

@BrendonSled  thx for your solution

This is driving me crazy...

Argh, this is so annoying!

Same problem here. I'm on Linux Mint 19.1.
The only way I could get around this auto import feature is to either:
Go to File :arrow_forward: Preferences :arrow_forward: Settings :arrow_forward: Search for Javascript Auto Imports :arrow_forward: uncheck Enable/disable auto imports suggestions.
OR
Go to File :arrow_forward: Preferences :arrow_forward: User Snippets:arrow_forward: Select global.code-snippets :arrow_forward: Save it to /vscode/snippets/global.code.snippets :arrow_forward: then add and save this global snippet (this will make the console snippet below the first entry in the auto suggest list):
{
  "Print to console": {
    prefix: ["console", "console.", "console.l", "console.lo", "console.log"],
    body: ["console.log($1);"],
    description: "Log output to console"
  }
};

same problem here visual studio 1.33.1 node 10
temp solution worked for me...

This is infuriating. Would be great if we could blacklist certain auto imports.

This is exceedingly annoying. The workaround posted by @BrendonSled is invalid according to strict ts. Any other way to fix this?
'export=' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer.   ts(7022)

Add a console.d.ts file to your src root and add the following contents:
declare module 'console' {
    export = typeof import("console");
}

That will fix your import

For me, as I'm working with js files, had to create a console.d.js file with the same content

@AndrewMorsillo give some suggestions on this issue a try.
In particular, both this suggestion and this suggestion seem to have improved the situation for me.

@RyanCavanaugh Any way we can improve the experience even if there is an incorrect d.ts from a package?

declare module 'console' {
    export = typeof import("console");
}

the code has an error but can fix the problem
I think it's not beautiful
my template solution is
yarn add<EMAIL_ADDRESS>
the version don't declare the module "console"

Credit to @mattcarlotta for his answer.  I am just formatting this for JSON since VSCode doesn't seem to respect it otherwise:
{
	"Print to console": {
	  "prefix": ["console", "console.", "console.l", "console.lo", "console.log"],
	  "body": ["console.log($1);"],
	  "description": "Log output to console"
	}
}

This has been driving me 🙃  on React Native projects

This issue should have been fixed. If you're still running into this, please

ensure that you still see the behavior after installing this plugin
provide a minimal reproduction of the issue.

@DanielRosenwasser
I install the plugin and then lost any auto import.
I want the auto import, but dont't want to auto import the console.

Okay, that sounds like a separate issue that you should file on https://github.com/Microsoft/TypeScript.

@DanielRosenwasser That plugin resolved it for me. I'm not quite sure I understand what that does. Is that a workaround until a new version of VSCode is pushed out, or is that a more permanent solution?

It means the problem has already been fixed and will be fixed in the next version of VS Code.

this is still not fixed in the latest version of vscode

Do we have any recent update for this issue? this issue still persist in the latest version of vscode for me as well.

Sorry, my bad. It will be in next month's release. Insiders and users of https://marketplace.visualstudio.com/items?itemName=ms-vscode.vscode-typescript-next will have the fix available.

@DanielRosenwasser Are you sure about that? I have JavaScript and TypeScript Nightly installed and I'm still getting this issue.

I'm seeing the issue with both VScode Insider (without the plugin) and VSCode (with the plugin installed). They both seem to use TS 3.6.0-dev.20190810
VSCode
Version: 1.37.0
Commit: 036a6b1d3ac84e5ca96a17a44e63a87971f8fcc8
Date: 2019-08-08T01:22:37.660Z
Electron: 4.2.7
Chrome: 69.0.3497.128
Node.js: 10.11.0
V8: 6.9.427.31-electron.0
OS: Darwin x64 18.7.0

VSCode Insider
Version: 1.38.0-insider
Commit: ffa22b268f451b5211abbe2d2a47e6b753b55b1a
Date: 2019-08-13T07:23:55.783Z
Electron: 4.2.9
Chrome: 69.0.3497.128
Node.js: 10.11.0
V8: 6.9.427.31-electron.0
OS: Darwin x64 18.7.0

Could this please be reopened? Because it's not fixed yet (not even with the Typescript Nightly plugin)

Hey all, is someone able to share an actual repo that has this issue? It sounds crazy, but I can’t repro at all. TypeScript has had special handling for excluding auto-imports for declarations that just re-export a global for over a year. The fact that that’s not happening for all of you means something very strange, but apparently quite common, is going on.
My best guess is that some combination of dependencies has given you two different versions of @types/node simultaneously, and somehow that’s throwing a wrench in the system. I’m going to attempt to invent scenarios like that, but if someone can provide an exact environment where this happens, it will definitely speed up the fix.

Looks like this won't make it into the RC, but should make it into the nightly and the proper release of 3.6.

I run Mac and Ubuntu. Mac is fine, Ubuntu has this issue.
For whoever is saying JavaScript and TypeScript Nightly isn't working, make sure to configure it properly:

Open a JavaScript or TypeScript file in VS Code.
In the VS Code command palette, run the TypeScript: Select TypeScript version command.
Make sure you have Use VS Code's version selected

I was happily living without this issue until I installed styled-components and there it is again.

@tlaak what version of TypeScript are you using? I’m quite sure I fixed this in 3.6. Of course, older versions of TypeScript will continue to exhibit this behavior forever.

@andrewbranch I think I was using the older 3.5.x version set up by create-react-app. But anyway, I don't have access to the project anymore so can't confirm.

@andrewbranch I just had the pleasure of running into this very annoying issue with my project, and after upgrading TypeScript from 3.5.x to 3.6 I can confirm that it's fixed!! 🎉 FYI for anyone else with this issue: make sure that the version of Typescript in the bottom right corner of VS Code is also set to 3.6.x

I can confirm that in 3.5.x is there, and on 3.6.2, no more console auto import.
Which 3.6.2 is the vscode default ts version seems like.

You can figure it out by following the path of where ever import console=require('console') leads to. Credit to this stackoverflow.

@Zlass this is a life saver 🙏
For anyone who still have issues: you can follow steps on stackoverflow

It is back...

@Arcanorum Please create new issues instead of posting on 4 year old ones


Double encoding for SKUs in GET queries

Amazon expects double URL encoding for GET requests with a list of SKUs in the query (i.e. /products/pricing/v0/price).
The library encodes it only once and because of that when you have an SKU with special characters Amazon returns an error.
Example: sku with special character & - 'Test&Sku'
When encoding it once - Amazon does not recognize the SKU:
https://sellingpartnerapi-na.amazon.com/products/pricing/v0/price?ItemType=Sku&MarketplaceId=ATVPDKIKX0DER&Skus=Test%26Sku
response: {"body":"\n{\n"payload": [\n    {\n  "status": "ClientError"\n        ,"SellerSKU": "Test"\n              }\n      ]\n}\n","statusCode":200}
With double-encoded SKU - successful response with information:
https://sellingpartnerapi-na.amazon.com/products/pricing/v0/price?ItemType=Sku&MarketplaceId=ATVPDKIKX0DER&Skus=Test%2526Sku
Let me know if you have encountered the same problem. I can create a PR to fix this issue.

Hi @YuriiHerasymchuk,
we do have the same issue when trying the call. It doesn't work single encoded but works fine when double encoded.
However I am very sure we fixed the issue in the past and I think we discovered a bigger problem here. The handling seems to be inconsistent when comparing it with other operations.
I.e. the listCatalogItems operation works fine when the SellerSKU is single encoded, but doesn't work when double encoded. When trying the below call with a valid SKU that includes a & it will return an items array including the item information only when single encoded but an empty array when double encoded.
await sellingPartner.callAPI({
  operation:'catalogItems.listCatalogItems',
  query:{
    MarketplaceId:'A1805IZSGTT6HS',
    SellerSKU:'A VALID TEST SKU WITH &'
  }
});

PLEASE NOTE: Trying with a test sku will always return an empty items array so in order to test it you would require an actual SKU with a &.
To sum up, I am not quite sure what to do here, maybe we should open a Sellingpartner docs issue and/or we would probably have to define for each operation that includes an SKU as query parameter if it needs to be single or double encoded.

We tested all operations with SKU in query for single/double encoding and it turns out that only the operations of the productPricing endpoint expects the value to be double encoded. We fixed this now in v0.7.7.


Wave refusing to play outside the monitor

I am playing a WaveOut directly and even doing this:
wave.DeviceNumber = -1;
it does not work. How do i convert this:
var enumerator = new MMDeviceEnumerator();
var device = enumerator.GetDefaultAudioEndpoint(DataFlow.Render, Role.Console);
to an int that i can use?
My code:
Sample.txt

MMDeviceEnumerator enumerates WASAPI devices. You;d use WasapiOut to open the devices you find that way.
WaveOut uses the legacy waveOut Windows APIs, so you need to call GetCapabilities to get details of the available devices.
This article should help.


Web Extensions no longer work in dev mode

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version:
Version: 1.91.0 (user setup)
Commit: ea1445cc7016315d0f5728f8e8b12a45dc0a7286
Date: 2024-07-01T18:52:22.949Z
Electron: 29.4.0
ElectronBuildId: 9728852
Chromium: 122.0.6261.156
Node.js: 20.9.0
V8: 12.2.281.27-electron.0
OS: Windows_NT x64 10.0.19045

VS Code Version loaded for debugging:
Version: 1.92.0-insider
Commit: 82104a3a6cf8713b81e5bbd97960dbf5c82a816a
Date: 2024-07-05T00:00:00.000Z
Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36

Steps to Reproduce:

Open an existing web extension codebase, or generate a brand new one with yo code as described in the official documentation at Web Extensions | Visual Studio Code Extension API
Run npm install if necessary.
Run npm run run-in-browser to debug Web Extension
Hobbled non-functional version of VSCode is loaded, with disconnected "mount" and the web extension not loaded (see screenshot below)
Clicking in the file tree crashes with unserious error messages. DevTools console looks disastrous (see below).

This does 𝗻𝗼𝘁 look like vscode-test-web issue
The session fails on new, and on old well-used versions of @vscode/test-web

The example in /vscode-extension-samples/helloworld-web-sample that uses v0.22 fails.
My own repo fails - tested historical commits with v0.32, v0.52, even tried the very latest v0.56
Brand new scaffolded extension pointing to v0.55 fails

Also tried on MacOS (M1),  on Ubuntu (arm64 VM) and Windows 10.
Never works.

There was a recent change to our NLS story that requires vscode-test-web to install a newer version. Can you check what version of "@vscode/test-web" you have installed?
@aeschli I wonder how we can communicate this to extension authors that they will have to update, besides putting release notes.

As mentioned above, tried with these versions, including the latest:
v0.22
v0.32
v0.52
v0.55
v0.56 <-- latest

And I'd love to help you guys with fixing, give me some clues what's changed with NLS.
I can see these, but they're quite terse on details.
NLS: decouple from loader (helps for ESM) #212542
Implement NLS without AMD loader #214588
nls follow up debt work #219265
I'll try to check out https://github.com/microsoft/vscode-test-web update references and see if it comes with any issues by itself. But hints and tips appreciated!

Aha! Clamping the VSCode to "stable" not "insiders" fixes it for vscode-test-web.
That's good enough to fix the immediate issue so I'll make a PR for vscode-test-web repo patch.
Still give me clues, I'd love to make a proper fix with whatever NLS shenanigans needing to change.

I can reproduce with a fresh extension, but I am not clear how my NLS changes impact this, given we pushed a fix for that 🤔

PR to vscode-test-web repo to unblock the functionality by falling back onto stable -
Clamp VSCode download to stable release until NLS issue on Insiders is fixed #129
At least my own development is unblocked, but I suspect others might appreciate it.

I think we would rather address the real issue.

Sure, I just thought one does not preclude another.

This bug has been fixed in the latest release of VS Code Insiders!
@mihailik, you can help us out by commenting /verified if things are now working as expected.
If things still don't seem right, please ensure you're on version b23e791eb5afbd95f05aa24da7693ce89344a079 of Insiders (today's or later - you can use Help: About in the command palette to check), and leave a comment letting us know what isn't working as expected.
Happy Coding!

I am still getting errors:
09ac518b-16fa-4167-807a-4e021e8a04ae:1 Refused to load the script 'blob:http://v--09gskr5q7h8fetd36ifu8kdh2v08q87egl8od71vgvu9r06ame0s.localhost:3000/447093dc-785b-4ae1-8f63-7f861336850a' because it violates the following Content Security Policy directive: "script-src 'self' 'unsafe-eval' 'sha256-V28GQnL3aYxbwgpV3yW1oJ+VKKe/PBSzWntNyH8zVXA=' https: http://localhost:*". Note that 'script-src-elem' was not explicitly set, so 'script-src' is used as a fallback.

(anonymous) @ 09ac518b-16fa-4167-807a-4e021e8a04ae:1
(anonymous) @ 09ac518b-16fa-4167-807a-4e021e8a04ae:1
09ac518b-16fa-4167-807a-4e021e8a04ae:1 Uncaught DOMException: Failed to execute 'importScripts' on 'WorkerGlobalScope': The script at 'blob:http://v--09gskr5q7h8fetd36ifu8kdh2v08q87egl8od71vgvu9r06ame0s.localhost:3000/447093dc-785b-4ae1-8f63-7f861336850a' failed to load.
    at blob:http://v--09gskr5q7h8fetd36ifu8kdh2v08q87egl8od71vgvu9r06ame0s.localhost:3000/09ac518b-16fa-4167-807a-4e021e8a04ae:1:410
    at blob:http://v--09gskr5q7h8fetd36ifu8kdh2v08q87egl8od71vgvu9r06ame0s.localhost:3000/09ac518b-16fa-4167-807a-4e021e8a04ae:1:415
(anonymous) @ 09ac518b-16fa-4167-807a-4e021e8a04ae:1
(anonymous) @ 09ac518b-16fa-4167-807a-4e021e8a04ae:1

Version: 1.92.0-insider
Commit: b23e791eb5afbd95f05aa24da7693ce89344a079
Date: 2024-07-09T05:03:50.549Z
Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36

@slavek-kucera I cannot reproduce. Here is what I do:

git clone https://github.com/microsoft/vscode-test-web.git
npm i
npm run install-extensions
npm run compile
npm run sample or npm run sample-tests both succeeds

Can you test that?
Are you on Windows with Chrome?

That runs fine - so blob/data URL will now be unavailable?

Is this something that your extension is using?

At the moment yes, I am looking for a workaround at the moment.

Is there a way for me to run your extension?

I think this is somehow related to my problem
https://github.com/microsoft/vscode/blob/fc8ade92b04da02aecebd856d781a5ea938c99e9/src/vs/workbench/api/worker/extensionHostWorker.ts#L109

I would need a step by step instruction how to reproduce with your extension, please be detailed and assume I haver never used that extension or ran it.

I steps to reproduce the problem:

go to insiders.vscode.dev
install the extension
create a new text file
change language mode to hlasm
start typing
You should get diagnostics, completions etc. on stable version you do, on insiders the lsp server no longer starts.

I managed to find a workaround and in the process I discovered a few additional details.
The extension uses emscripten toolchain to produce wasm and js glue code that allows the language server to run in the browser.
Originally, the Worker hosting the language server was able to fetch and import the glue code and later on start additional Workers (to emulate threads) reusing this imported module.
In the Insiders version, this does not seem to be possible anymore and the browser refuses to start the nested Workers, because the first Worker creation is handled by the vscode code I posted above, which means the worker is running a code from a Blob URL and apparently losses the ability to start workers with any other scripts.

I can reproduce, though I do not fully understand why the Content-Security-Policy suddenly became so strict in the extension host iframe. Before my change, the Worker extension host was created directly as new Worker(url) in the iframe. After my change, the Worker is created with a Blob that has a importScript inside:
https://github.com/microsoft/vscode/blob/316c67d8a25f2f892227bc21df0b2b7c5a98aaa0/src/vs/workbench/services/extensions/worker/webWorkerExtensionHostIframe.html#L96-L104
The iframe has always set a CSP:
https://github.com/microsoft/vscode/blob/316c67d8a25f2f892227bc21df0b2b7c5a98aaa0/src/vs/workbench/services/extensions/worker/webWorkerExtensionHostIframe.html#L4-L8
I can confirm that the adding blob: and data: to script-src allows your extension to run again.
@mihailik where do you see that you also need connect-src to be updated?

I assume that the connect-src question was directed at me - it might not be needed, it could have been an artifact of my debugging.

/verified

Totally works, no more apparent issues.
Though seeing some console outputs related to nls, not sure if it needs to be worrying?
Let me know if I should collect any more info on this one.

And huge thanks for the fast turnaround, and a fix. You rock!!!

Thanks, I did not figure out that 2 different users are in this issue, so while the original issue seems resolved, there is still the issue with broadcomMFD.hlasm-language-support not working currently in insiders.

@bpasero I think this can be closed now.

@slavek-kucera did the change in https://github.com/microsoft/vscode/pull/223153 help?

@bpasero Not sure, I've found a way to build the extension so that I don't encounter the problem anymore.


Deprecate unescape and use decodeURIComponent

This PR will replacing unescape() with decodeURIComponent().
Open the PR for issue #10.

I will use git cherry-pick <commit-id> to merge b3413cb and d20f6eb onto a new branch.

Close the PR.


export to svg

🚀 Feature
Add support for export to svg
From @freeman-lab, mentioned in #100:

High-level agreement with @jni that this [napari] need not become illustrator :) with my user hat on, if we eventually have “export to svg” then I can do all fine tuning in other programs, making many features overkill to do within Napari. But without that, I may end up reproducing in Matplotlib what I already have in Napari just to fine tune the plot and/or get that SVG — not a dealbreaker but nice to avoid if possible.

this library might prove useful https://github.com/mozman/svgwrite

From Slack:
One approach is to have each layer know how to export itself as svg. The viewer can then ask each layer to produce a SVG group. Actually, we could have a SVG view for each layer type that takes a layer type and produces a SVG group. That would be a continuation of the Model-View paradigm.


openssl_get_publickey always notice not exist or null

error:0906D06C:PEM routines:PEM_read_bio:no start line"\u4e0d\u5339\u914d\u6216\u4e3a\u7a7a\uff01"

That's because you're feeding PEM_read_bio a file that isn't in PEM format.
That being said, openssl_get_publickey isn't one of our routines, so this ticket isn't clearly about issues in OpenSSL.  I suggest you talk with those that wrote the program / library you're using, or if openssl_get_publickey is something you wrote, the mailing list<EMAIL_ADDRESS>may be a more suitable place to ask.
Closing this ticket.


Add an inline server=> serializer/ deserializer

I was thinking: why do we force people to pass serialized data into our HTML component, and then manually deserialize it in the client entry point? To me, it feels like we can be smarter here, where we have a component that knows how to serialize in a server environment/ retrieve serialized data from the DOM (warning: speculative, potentially bad component idea incoming):
// Our app component could serialize its own Apollo store, and rehydrate on the client:

import {WithSerializedData, Serialize} from '@shopify/cereal';

const APOLLO_DATA_ID = 'apollo-data';

return (
  <WithSerializedData id={APOLLO_DATA_ID}>
    {(data) => {
      const client = new ApolloClient(...);
      return (
        <>
          <ApolloProvider client={client)>...</ApolloProvider>
          <Serialize id={APOLLO_DATA_ID} data={client.cache.extract()} />
        </>
      );
    }}
  </WithSerializedData>
);

@Shopify/web-foundation thoughts?

I'm thinking it might be possible to include this in the react-html package or react-serialize?

Done :)


Description / License / Categories empty

When clicking on a picture.
Either fix or remove

I had a similar problem, but it oddly resolved after clearing app data and cache (on Samsung Galaxy S4).

I did a bit more testing and it seems that this only happens with newly-uploaded pics. Pics that were uploaded a while ago (maybe prior to last restart?) are fine. Not sure why....

@nicolas-raoul This bug is quite interesting. I found the issue: In the displayMediaDetails() method of MediaDetailFragment.java, it handles images differently depending on whether the actualUri of the image being loaded starts with http:// (which means it's downloaded from commons, e.g. https://upload.wikimedia.org/wikipedia/commons/thumb/2/25/Takoyaki_2.jpg/640px-Takoyaki_2.jpg
) or anything else (usually device storage). It displays the desc/license/cats if it starts with http:// and not if it starts with anything else.
So I copied the code for displaying the desc/license/cats into the 'else' branch (see #160), and those fields aren't empty anymore. The catch is, the desc just says 'No description' and the cats says 'non selected'. I'm guessing this is because desc/license/cats aren't stored at all with the image on device storage.
I'm not sure why some images are retrieved from the internet and some are retrieved from device storage. How do you think we should proceed with this? Do we want to try and make the app load everything from the internet? Or just remove the fields entirely?

I believe desc/license/cats should be downloaded from the Internet every time, since they are often modified.
I believe that the fields are useful, especially if we add edition capabilities in the future (#161)

I don't know if they can be downloaded from the internet without also downloading the associated image. As in, I don't think we can just 'match' them with the image on the device storage. Would it be worth the bandwidth tradeoff if we make it download from the internet all the time?

Done at #162

How about adding a field linking to the online image (in Media.java?) and
setting it at the right place?
Loading images everytime would probably increase bandwidth usage a lot,
since images are displayed everytime the app is opened, and most people
probably upload using the app only :-/
On Thu, Jul 7, 2016 at 4:22 PM, Josephine Lim<EMAIL_ADDRESS>wrote:

I don't know if they can be downloaded from the internet without also
downloading the associated image. As in, I don't think we can just 'match'
them with the image on the device storage. Would it be worth the bandwidth
tradeoff if we make it download from the internet all the time?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/nicolas-raoul/apps-android-commons/issues/12#issuecomment-231002626,
or mute the thread
https://github.com/notifications/unsubscribe/AAGFBoqpifSkKk3PIiDm_cvFg5H-Uj8Pks5qTKlGgaJpZM4GHLbA
.

Hm, this doesn't affect the images displayed in ContributionsList (the main activity when people open the app). It only loads the image when the user taps a particular contribution to display the title, desc, cats etc.
If we just link to the online image, they will still need to download it to view it, right?

Ah OK! If only after tapping a particular image then it is perfectly OK
then, thanks for the explanation :-)
On Thu, Jul 7, 2016 at 5:07 PM, Josephine Lim<EMAIL_ADDRESS>wrote:

Hm, this doesn't affect the images displayed in ContributionsList (the
main activity when people open the app). It only loads the image when the
user taps a particular contribution to display the title, desc, cats etc.
If we just link to the online image, they will still need to download it
to view it, right?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/nicolas-raoul/apps-android-commons/issues/12#issuecomment-231011093,
or mute the thread
https://github.com/notifications/unsubscribe/AAGFBtuvN01_Z6wQEsIKYvs-TCKCML1Bks5qTLPMgaJpZM4GHLbA
.

Fixed via #162


Website sections corrupted after editing on slow PC

A collaborator had to make some edits during his vacation and all he had available was a 2012 macbook. After making the changes the sections he edited lost all content, and the site wouldn't deploy from there on. I had to create a new website from the live primo.json.
Example error in browser console:
Page.svelte_svelte_type_style_lang.59202fed.js:581  Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'heading')
    at Page.svelte_svelte_type_style_lang.59202fed.js:581:84380
    at Array.forEach (<anonymous>)
    at I (Page.svelte_svelte_type_style_lang.59202fed.js:581:84246)
    at mke (Page.svelte_svelte_type_style_lang.59202fed.js:581:84203)
    at fn (index.9b868608.js:4:6826)
    at new gke (Page.svelte_svelte_type_style_lang.59202fed.js:590:1719)
    at We (index.9b868608.js:1:8991)
    at Array._i (2.f66bc637.js:3:17923)
    at ue (index.9b868608.js:1:794)
    at Lt (2.f66bc637.js:1:24401)

Scratch that, it happens on me too but only on live editing, not when editing the block contents by the edit button.
I'm still on  2.0.0--beta.11


Missing Feature: Adding "wpk" field to footer

What works perfectly and correctly
Adding "kid" (Wrapped PASERK) field to footer through footer.add_aditional("kid", ...) is not allowed.
Adding "wpk" (Wrapped PASERK) field to footer through footer.add_aditional("wpk", ...) is not allowed.
Adding "kid" (Wrapped PASERK) field to footer possible with footer.key_id(...).
Missing feature
Adding "wpk" (Wrapped PASERK) field to footer not possible footer.wrapped_paserk(...).

Hi @Rust-Galt,
It's true that currently you can't set the wpk claim in the footer. The reason is that, the PASERK "wrapped" formats that are safe to put in the footer, have not been implemented yet. If we were to allow users to set the wpk claim to anything, they might inadvertently leak some key material in there.
The way we solve this for the kid claim currently, is we have a Id PASERK struct that can be put in the footer, as you mention with key_id(). I'd prefer we keep it the same if we're to add wpk possibility.
So I guess my question is, are you asking that some specific variant, that can be put into wpk field of the footer, be added (seal, local-wrap or secret-wrap)? Or do you already have some functionality that implements those wrapped-formats?
If the latter is the case, maybe you are interested in contributing/getting it added this to this library?

Hi @brycx,
Very reasonable choice and now I understand. I have played around with the various PASETO/PASERK crates and each have some features missing here and there. And yours seems the most clean and featured one. @conradludgate rusty_paserk seems to support the various PASERK formats.
So I see there is no real issue here. I just wanted to ask about it like this. Greetings


OMQ improved after uptading the repo

Hi,
As we reported earlier we obtained 0.13 OMQ from benchbot evaluation of  miniroom:1 on default votenet. Now after updating the repo, the OMQ improved to 0.21. The eval.ai shows your baseline as 0.41.  What changed in the evaluation from before?

Hey @gmuraleekrishna. The baseline on EvalAI with the score of is just a simple method one of us in the lab came up with which is not part of any tutorial. The methodology is simplistic but a step above what we present in the tutorial which is really just meant as a jumping off point to show how to do the entire pipeline from beginning to end, outputting some meaningful result.
Regarding the improved OMQ score you have, I require more information.
Did you run an experiment, save the results.json and use benchbot_eval on the results file before and after the update, or, did you run your experiment from beginning to end, with evaluation included before and after the update?
Was the experiment only on miniroom:1 using the default votenet?
Did you notice any difference in traversal between the two runs?
In subsequent attempts have you gotten a consistent 0.21 score or 0.13 score?
Any extra info can help us sort out what might be going on so all info is appreciated.

Just pinging this issue again. If there have been no developments and you can provide us with no further info, I will close this issue.


Add log rotation configuration for VM Agent

VM Agent crashes because log rotation configuration is nil.
This change adds log rotation configuration for VM Agent.

Hi @antoninbas , I just found VM Agent crashed on main branch because the newly added log rotation configurations are nil.
Could you help review this change?

/test-vm-e2e

Follow-up PR to fix initialization in options.go: https://github.com/antrea-io/antrea/pull/5369

/test-vm-e2e

@mengdie-song could you rebase the PR and run test-vm-e2e again?

/test-vm-e2e

Hi @antoninbas, I has rebased the PR and VM e2e test has passed. Regarding the e2e cleanup issue, I have another change to fix it (https://github.com/antrea-io/antrea/pull/5406).

/skip-conformance
/skip-networkpolicy


pep8

https://gist.github.com/MichaelCurrie/802ce28c993ff2dd632c might be interesting for Travis

Instead of having travis ci commit back to the project, I added pycodestyle as a travis ci command which verifies the codebase of pep8 errors. I've excluded a couple errors (Line too long, import statement not at the top), but I think it's worth it.
The build will fail if there are pep8 errors.
https://github.com/pwnbus/scoring_engine/pull/42


Fix missing route and infinite route loading when categorizing track distance expense

Details

When categorizing distance expense, the route line doesn't show on the confirmation page and it loads infinitely on the edit distance page. This PR fixes it.
Fixed Issues

$ https://github.com/Expensify/App/issues/47739
PROPOSAL: https://github.com/Expensify/App/issues/47739#issuecomment-2301128376
Tests

Same as QA Steps

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

Offline tests

Same as QA Steps
QA Steps

Open self DM
Create a new distance track expense
Select Categorize it
Select any workspace
In confirm page, verify the map shows the green route line
Press the Distance field
Verify the map shows the green route line
Verify the button doesn't infinitely show loading indicator
Close the categorize page
Open the track expense report
Verify the distance and rate don't show Pending

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

PR Author Checklist

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

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

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

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

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

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

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

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

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

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

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

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

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

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

https://github.com/user-attachments/assets/2f7e3710-095e-42f3-af87-7a78924f9785

Android: mWeb Chrome

https://github.com/user-attachments/assets/3d5e5673-9923-4f8d-b172-fe5a40557eb9

iOS: Native

https://github.com/user-attachments/assets/736426db-0289-4be8-8f2b-b50ec452460d

iOS: mWeb Safari

https://github.com/user-attachments/assets/b767410d-f0ee-4a1a-afa0-003fe214a832

MacOS: Chrome / Safari

https://github.com/user-attachments/assets/e5a2225b-cc45-4d50-b6b4-b507f1fe1640

MacOS: Desktop

https://github.com/user-attachments/assets/772c5b81-436f-411c-a626-88374d3ba863

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

🚀 Deployed to staging by https://github.com/carlosmiceli in version: 9.0.26-1 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/puneetlath in version: 9.0.26-6 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


make a man aurutils

Hello Alad, thank you for your very good job onb aursync, quickly it is now a very good helper tool, i'm very happy with it.
I see the readme page is fine and usefull, the man pages for aursync is also perfect.
Just maybe add a man page for aurutils could be the final perfect point (maybe). I thank about the readme page for this man page...
thank you very much for this tool.

Thanks, I'll convert the Readme to a man page then. :+1:

https://github.com/AladW/aurutils/blob/master/aurutils.7
@Earnestly thoughts?

Sees okay, I'd refer to all other programs as .BR foo (n) though.

Done, cheers.


Replace the use of the term hang in documentation

Clarify meaning by REPLACING WITH "stop responding" or "not responding."
When used with technical audiences to describe an application, program, website or service that is not responding.

From a search I only see one occurrence in our changelog.  In the source code, it's only in comments.
I do see one case in PowerShell-Docs

I don't think this is a high priority, but the tool says that we should fix it.  So, I filed an issue to track the resolution.

Re-reading the guidance, we should fix for all audiences.

The following terms still exist:

comments are covered by this issue when the code is published.

Move this to 6.1 and created PR to add exceptions for these instances for now.

As far as I can see, there is no occurence of the word hang in the docs of the PowerShell or Docs repo btw,

@bergmeister including code comments, those are considered documentation for this context

There is still one instance
https://github.com/PowerShell/PowerShell/blob/5d03e1653a7d518715fa3f00587cad6b5c78cc89/src/System.Management.Automation/engine/remoting/commands/newrunspacecommand.cs#L1356


Make the pose_V to TFMessage conform with ROS2

🦟 Bug fix
The conversion from a gz::msgs::pose_V message to a ros2 geometry_msgs::msg::TransformStamped message what not compatible to make it a proper "tf2" message.
Summary

Checklist

[x] Signed all commits for DCO

I'm not sure why this PR is needed. The child_frame_id is properly handled by the conversion from gz::msgs::Pose to geometry_msgs::msg::TransformStamped in
https://github.com/gazebosim/ros_gz/blob/21d4c2317bbaa1d73260257e27fd61f20eb13ea1/ros_gz_bridge/src/convert/geometry_msgs.cpp#L251-L257
and the frame_id is handled in https://github.com/gazebosim/ros_gz/blob/21d4c2317bbaa1d73260257e27fd61f20eb13ea1/ros_gz_bridge/src/convert/std_msgs.cpp#L171-L176

I'm going to close this PR for lack of activity. @teyssieuman if you still want to make progress on the PR, I'd suggest opening a new one targeting the ros2 branch. We can then backport to humble if the changes are backward compatible. Thanks for the contribution nonetheless.


Unable to access existing app in LZ1

Describe the bug
I have the serverless app running for:
ubwyx8.   d1teiaeu0lqk6i.cloudfront.net
Everything in Cloudfront looks Ok
This project set does not use OIDC authentication.
As part of my regression test, I successfully redeployed the serverless app after the upgrade to 1.5.5. After a few days, I returned, and I am getting a blank page. The code behind is indicating that Javascript is not enabled in my browser (see below in Page Source). This has happen several times before and I was always unsure if I had changed some parameter, but in this case nothing has changed on my side.
I think it is not the cause of this problem, but as extra info i would like to mention that  between installing the app and the last (unsuccessful) attempt to load the app, the keycload login changed to the new IDIR.
Definition of done
The app should be able to be loaded with no problems.
Page Source:

!doctype html>BC Gov Startup Sample ProjectYou need to enable JavaScript to run this app.

Discussed with Carles and determined that debugging is not with the effor due to the way a single repo was used to deploy to multple accounts. In the future one app repo per project-set will be used.


Changes to avoid memory leak in Rollout worker

Currently in rollout worker, we call restore_checkpoint repeatedly to load the latest model in memory. The restore checkpoint functions calls checkpoint_saver. Checkpoint saver uses GlobalVariablesSaver which does not release the references of the previous model variables. This leads to the situation where the memory keeps on growing before crashing the rollout worker.
This change avoid using the checkpoint saver in the rollout worker as I believe it is not needed in this code path.
Also added a test to easily reproduce the issue using CartPole example. We were also seeing this issue with the AWS DeepRacer implementation and the current implementation avoid the memory leak there as well.

@x77a1 I don't quite understand how the memory leak happens. I can't see GlobalVariableSaver.restore() holding onto anything. Here is the code:
    def restore(self, sess: Any, restore_path: str):
        """
        Restore from restore_path
        :param sess: active session for session-based frameworks (e.g. TF)
        :param restore_path: full path to load checkpoint from.
        """
        # We don't use saver.restore() because checkpoint is loaded to online network, but if the checkpoint
        # is from the global network, a namespace mismatch exists and variable name must be modified before loading.
        variables = dict()
        reader = tf.contrib.framework.load_checkpoint(restore_path)
        for var_name, _ in reader.get_variable_to_shape_map().items():
            # if variable was saved using global network, re-map it to online network
            # TODO: Can this be more generic so that `global/` and `online/` are not hardcoded here?
            new_name = var_name.replace('global/', 'online/')
            variables[new_name] = reader.get_tensor(var_name)
        # Assign all variables
        sess.run([v.assign(variables[v.name.split(':')[0]]) for v in self._variables])

@safrooze I was able to narrow it down to the following statement in GlobalVariableSaver.
v.assign(variables[v.name.split(':')[0]]) for v in self._variables

@x77a1 nice find! Yes it looks like the continuous tf.assign() call does indeed result in memory leak. However your solution which creates a new completely new graph for every new restore seems hacky and fragile. For one, it creates a dependency for order of operations (i.e. call restore on graph_manager before calling restore on savers) between separate modules which can create a silent regression.
The link to TF issue you discovered has a great suggestion on how to deal with such situation and I think that's what we have to implement. Do you feel comfortable modifying the GlobalVariableSaver to use placeholders to avoid creating new assign ops?

@safrooze I agree with you. I was also not satisfied with my previous implementation. As you rightly pointed out that it was flaky. I read a little more about the Placeholder approach. Its indeed very clean. I have tried to update the code with this approach. Have tested it on my local box.

@Ajay191191 just for the future, I think it's better to squash merge the changes rather than merge all the changesets into the main repo.


Typescript 5.4.5 and useInfiniteQuery requires avoidable type annotations

Describe the bug
When using the latest Typescript and latest React Query, useInfiniteQuery requires convoluted type annotations to avoid errors. These should not be necessary and should be inferred by the compiler. Specifically, the configuration option initialPageParam should infer it's type by assignment, but it does not and infers unknown unless verbose typing is declared at the useInfiniteQuery call. This behavior is illustrated in the linked Playground example. Note the:
useInfiniteQuery<Post[]>({
vs
useInfiniteQuery<Post[], Error, InfiniteData<Post[]>, QueryKey, number>({
The first is used in many online tutorials with apparently no error marks, but I can only get rid of the errors by using the second typed invocation.
Your minimal, reproducible example
https://www.typescriptlang.org/play/?ts=5.4.5#code/JYWwDg9gTgLgBAbwFBzgawKYbABShgN2AgFcBnAEQEMYqAaFOcjASQDsAzYN4GDARRIYoATwap2XHn2q1xcQcJEBpDGKQBfOBygQQcAOQABWmzK0AxmgD0+KhZgBaAI5DRBpKEiw4VAB7EZNq6+gb+gR5IGH7e8Nx8UBz2GHA4EOaIjMAAJgBccGwkIABGwowwvAA2GPnmUNwA5ozFENkitTD1bE2ozFAseQVFpVCaSJ5sCUkWKWnmiqKZqGBUDRgAysAAXjVDJWUa40gWEGbwzHMwQQC8cAAUrkr5lwsiAJRw1wB8jMyS3LwBG4RAAeS4AbQAunQ4ABRKC6KBfO7IVCoR6iVTtODggyQcxkAwwjEiaGMdHAgBibHyKLgKzWOCoUCo+luAEY4BoPt8lmjUPgYCQoGxfAF0uT+XAAHRrGBg9IwKHIgwACxgMDAZFy1msACsyKcwJVkqqIJVssJpTARGBgCdLdKTiBrPirkS+VK0SsWSBtZ6vWiAPrmZkwWkMjBM31wRxwdkfABUcBJ0sjmx28kDwcqoF4+VT6e2GCzgY0pf53Ml-OtqowbDud3wZB5Xzgzel2RoVDekvLktD1QAKqBduyAAxB8fT0sAipUSpMxnM1n5dml42m82WqCyKj5TDYPCEYjkPeluUAOWiMCXUZXIFpJvMd5hC8XqwwZBhz9vn+jrKtgGAoYEKIpwL+d7StU3QwKqcBtuOcAAPy+JUH5rGQ0H1g0cFwAA1PGcD5CQbCWlIGDZH2F6gceRCkGQd4AY+9xcFAL6fm+6F3t+EFUBxy6+q21ZoRhX7YbB8FtpyqHvjxEm4fBcaciRZEYBR2TyFW4wnGcTBkFGipkAATJ89wks8iqvMJvQGf80hAkoCrmFCMLwoiML2YCe7OUqkJfDCrxYjChT7EiKKSiSWL5LibqEsSwJkvyJLUrSCD0v+D5mZy3KfG2qJSoKwqiuEErZrKoG+cqdxqhqWo6vqhpsJuMxmhaVo2naDoYE6eiukZHoFdmPqsv6Q3ZnAIa0LAEaZTGylJimwJpp+GYliJXpBrmID5ktSgrWsa0VlK-bZlW5VwfWjbNkBHZdrQvaVqWg4YCOIBjpO07jrO0jAAuTEPmuG4mq127CHuB5YLg+D0We3Y0TA15+H+gmrvckGcaJPE-vxKP3kJeXAe2oHFXxAk9TBikIXASGydxn5YZTeGESpTBqRp1GSnKdGnoxc1o3cbHk1xYm8RjqMgDZUpyQzCl4dJKFY7LTNKURqnkdwlFab2UQxNA8AIBcRkwkbBLGRoQA
Steps to reproduce

Navigate to TS Playground link provided
Note the error marks and lack-there-of in the 2 hook implementations provided

Expected behavior
As a developer, I expect the only required type annotation  to be useInfiniteQuery<**TQueryFnData**> the others should be forwarded or inferred by the value of initialPageParam
How often does this bug happen?
Every time
Screenshots or Videos

Platform
macOS Sonoma 14.5,
VS Code Version: 1.89.1 (Universal)
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Tanstack Query adapter
react-query
TanStack Query version
v5.40.0
TypeScript version
v5.4.5
Additional context
No response

pageParam is unknown because you take away type inference by providing to 2 of the 5 type parameters manually. TypeScript can't do partial type inference yet, so once you define one type parameter, the rest will fall back to the default value.
The best fix is to use type inference all the way through. I've written about this here: https://tkdodo.eu/blog/react-query-and-type-script#infer-all-the-things
and it's also in the docs: https://tanstack.com/query/v5/docs/framework/react/typescript#type-inference
so really, just remove the <> and everything infers nicely:
https://www.typescriptlang.org/play/?ts=5.4.5#code/JYWwDg9gTgLgBAbwFBzgawKYbABShgN2AgFcBnAEQEMYqAaFOcjASQDsAzYN4GDARRIYoATwap2XHn2q1xcQcJEBpDGKQBfOBygQQcAOQABWmzK0AxmgD0+KhZgBaAI5DRBpKEiw4VAB7EZNq6+gb+gR5IGH7e8Nx8UBz2GHA4EOaIjMAAJgBccGwkIABGwowwvAA2GPnmUNwA5ozFENkitTD1bE2ozFAseQVFpVCaSJ5sCUkWKWnmiqKZqGBUDRgAysAAXjVDJWUa40gWEGbwzHMwQQC8cAAUrkr5lwsiAJRw1wB8jMyS3LwBG4RHdkKhUI9RKp2nAANoGSDmMgGOhwSEiAC68ghwIAYmx8qC4Cs1jgqFAqPoNB9vktwah8DASFA2L4AulGPTUAA6NYwAA8l1hGK+dwMAAsYDAwGRctZrAArMinMCVZLiiCVbLCbkwERgYAnbXck4gayIq4oulc8ErCkgWXWm3ggD65nJMEJJIwZPtcEccAAjB8AFRo4Hc72bHbY52oF2VUC8fLoyOrDbbDCxm0abPg6mcrm68UYNh3O74Mg0r5wSvc7I0KhvQu5wvu6oAFVAu0DAAYXb3B7GARUqJUyaTyZT8oHY6r1ZrtVBZFR8phsHhCMRyCvY3yAHLRGATn1TkCEtXmE+osfj9NkVGX4-p32U6tOhkYJksuBPk-c6puhgcU4BrXs4AAfl8So7zWMgANLBpgLgABqIM4HyEg2G1KQMGyFs9y-TciFIMgT1fc97i4KAr3TG8YJPB9fyoWjJ3tatC1QW9GIQoCQJrQNIOg2CMHgwCkJAgNBMw7CMFw7J5ALcZoliRALnSK4NCAA

After spending the whole morning trying to debug this issues, what ever I'm tried I can't get getNextPageParam to inferred typed from queryFn.
Turns out it's my linter, it auto sort object key alphabetically.
So note to myself and other who sees this, order does matter!
Below is the exact same code, but getNextPageParam is the first key on the object, lastPage ended up to be unknown.
https://www.typescriptlang.org/play/?ts=5.4.5&ssl=23&ssc=5&pln=23&pc=21#code/JYWwDg9gTgLgBAbwFBzgawKYbABShgN2AgFcBnAEQEMYqAaFOcjASQDsAzYN4GDARRIYoATwap2XHn2q1xcQcJEBpDGKQBfOBygQQcAOQABWmzK0AxmgD0+KhZgBaAI5DRBpKEiw4VAB7EZNq6+gb+gR5IGH7e8Nx8UBz2GHA4EOaIjMAAJgBccGwkIABGwowwvAA2GPnmUNwA5ozFENkitTD1bE2ozFAseQVFpVCaSJ5sCUkWKWnmiqKZqGBUDRgAysAAXjVDJWUa40gWEGbwzHMwQQC8cAAUrkr5lwsiAJRw1wB8jMyS3LwBG4RHdkKhUGsYAA5aIwHCrDDwqBUED5O6VKjmeFrOi+SqVbEYMi4jFYhFIlEfb5LcGofAwEhQNhwUlwhEAOmq3RgAAs4F84AAGOAAfjxBIRZE5GG5fIA1HAAIxwfIkNjZDBSDDZRioDTyCEYOH4IikMiEimo+5cKBknHiwnElmYtlrS1Un601BUfGO6Wy-lK0UOyX+hq8uCOIOq9Wa7jag1wR6iVTtOAAbQMkHMZAMuOTIgAuomCwAxNhohBwFZuqjI-QaD002n0xnM8LpXVe9mQgA8l3Tha+dwMPJgMDAZFy1msACsyKcwBiZjyIJUNVB2TARGBgCcNeyTiBrNmrnnm17lnWUVOL5fUAB9cx1mBomuI6-6KOKj4AKiTwLsu+mw7Im95wA+lSgLw+QFkBCIgRgYFevqXa0o2aHgluPIyncdz4GQTYEey2Q0FQbxdqhtLPtUAAqoC7IqgoPoKrGJgCFQ+han75IqiZLskq7rsIshUPkmDYHghDEOQonyBh4zRLEiAXOkVwaEAA

Wow would have never guessed this, but the order of the properties was also my issue as well. Thanks :)


The program stucks in an infinite loop while synthesising vocals

I tried to synthesise a very basic song with the Kasane Teto voicebank, but got this error:
----- start vocalization -----
synthesize "naU" from -100ms to 666ms
load voice "naU" from wav data
[WavParser::parse] unknown tag found at "./vocals/teto/teto/_nau+_nau+_n-.wav"
[WavParser::parse] unknown tag found at "./vocals/teto/teto/_nau+_nau+_n-.wav"
[WavParser::parse] unknown tag found at "./vocals/teto/teto/_nau+_nau+_n-.wav"
... and so on ...

The issue seems to be that the wav parses uses sizeof(long) to mean 4. However, on my platform, sizeof(long) == 8. Therefore the wav parser does not work.


Data from server using RESTFul API

Hi,
I like the functionality of your ng2-smart-table package. I am trying to use this in my Angular 4 web app. My web app fetch the data from RESTful API. I want attach data I received from API to table. Is it possible?
Thanks.

I think you need to declare a local data server. and use httpModule. There is an example for this here https://akveo.github.io/ng2-smart-table/#/

@RoryGarner92 what do you mean by local data server? There are many tables and links on the suggested page. Will you please send me specific link. I really appreciate your help.

There is the link to the sample.  https://github.com/akveo/ng2-smart-table/blob/master/src/app/pages/examples/server/basic-example-load.component.ts

@RoryGarner92 I will implement and get back to you. If its possible then why repo is saying API data source coming soon in read me file. Bit confusing.
Thanks.

@dgpuranik
Hi , Why did you closed this issue. Have u got the solution .Is @RoryGarner92  suggested solution is working for you?

I would like to know if this solution worked? else, I'd appreciate some hints

@RoryGarner92 's suggested solution works and its pretty simple to implement.

@RoryGarner92  i did this but the pagination dosn't work and filtering as well ,
i didn't understand where 's the problem
source: ServerDataSource ;
constructor(http:Http,
private rowService:RowService)
{
var rows =this.rows;
console.log("/////////this.rows +++++///////////");
this.source=new ServerDataSource (http,{
endPoint:'http://localhost:3000/api/rows',

pagerLimitKey:"_limit",
pagerPageKey:"_page",
sortDirKey: "_order",
sortFieldKey: "_sort",
totalKey:'total',
dataKey:'data',

I had the same issue, the problem is the way it does the request that is probably different from the way your API does it

@meriem-hm
If you handle pagination in your backend so you have to specify
pagerPageKey:'page'
and
pagerLimitKey:'page_size'
like you did with dataKey and others
page and page_size represent params that your API accept like http://localhost:3000/api/rows/?page=1&page_size=5
the component will put them in your endpoint and replace the value of page_size (here 5) by perPage(20 in the example)  that you specified in settings objects or 10 by default.
example :
this.sourceServer = new ServerDataSource(this.http, {
endPoint:  'http://localhost:3000/api/rows',
totalKey: 'total',
dataKey: 'data',
pagerPageKey:'page',
pagerLimitKey:'page_size'
});
settings = {
pager: {
perPage: 20
},
actions:false,
columns :{
}
...
}
Hope that will help you

this.sourceServer = new ServerDataSource(this.http, {

This works on fetching remote data, but  I can't add new data item still and other server side write options.

@YasmineA hi, thanks that works for me but i have to send a Bearer  token with my request is there anyway to set that!?

@salehasadi  yes it's possible via an Intercepter that it will add token to each http request :

@salehasadi  yes it's possible via an Intercepter that it will add token to each http request : ```import { Injectable, Injector } from "@angular/core";
import {
HttpRequest,
HttpHandler,
HttpEvent,
HttpInterceptor,
HttpResponse
} from "@angular/common/http";
import { Router } from "@angular/router";
import { Observable } from "rxjs/Observable";
import { catchError, tap } from "rxjs/operators";
@Injectable()
export class TokenInterceptor implements HttpInterceptor {
constructor(private injector: Injector) {}
intercept(
request: HttpRequest,
next: HttpHandler
): Observable<HttpEvent> {
var router = this.injector.get(Router);
request = request.clone({
  setHeaders: {
    Authorization: "JWT " + localStorage.getItem("token")
  }
});
return next.handle(request).pipe(
  tap(
    event => {},
    error => {}
  )
);

}
}

@yasmineA I have challenge accessing the datakey since the data returned from RESTFul API is nested as shown below:
{     "response": {         "status": 200,         "message": "system users retrieved successfully"     },     "data": {         "content": [             {                 "id": 1,                 "createdOn": null,                 "softDelete": false,                 "firstName": "",                 "email": "",                 "password": "",                 "lastName": "",                 "phoneNumber": "",                 "roles": [                     {                         "id": 1,                         "createdOn": null,                         "softDelete": false,                         "roleName": "",                         "privileges": [                             {                                 "id": 4,                                 "createdOn": "",                                 "softDelete": false,                                 "name": ""                             }                         ]                     }                 ]             }         ],         "pageable": {             "sort": {                 "sorted": false,                 "unsorted": true,                 "empty": true             },             "pageSize": 1,             "pageNumber": 0,             "offset": 0,             "unpaged": false,             "paged": true         },         "totalElements": 3,         "totalPages": 3,         "last": false,         "first": true,         "sort": {             "sorted": false,             "unsorted": true,             "empty": true         },         "numberOfElements": 1,         "size": 1,         "number": 0,         "empty": false     } }
Is there a way to get to the datakey with this kind of data?

Hi,
I like the functionality of your ng2-smart-table package. I am trying to use this in my Angular 4 web app. My web app fetch the data from RESTful API. I want attach data I received from API to table. Is it possible?
Thanks.

you can do it by using SeverDataSource like this
this.source = new ServerDataSource(this.http, {
endPoint: ${environment.backendUrl}/api/***,
dataKey: 'data.userList',
filterFieldKey: 'filterOn',
sortDirKey: 'desc',
pagerLimitKey: 'pagerLimit',
pagerPageKey: 'activePage',
sortFieldKey: 'sortOn',
totalKey: 'data.totalUser',
});
this code is from my project and it is working fine.


how to send command/super modifier

with the follow screenshot, I know set chats: "\x69" to send i, and chats: "\x09" to send ^i, could you please help me how to send ⌘i?

Thanks!

Can you post the config you've tried? You need to set Super as one of the modifiers.

Hi @jwilm
Thank you for your reply.
The question is, I use emacs in tmux with alacritty, and config Command + i for my emacs, but it haven't trigger my emacs function, so I guess alactritty have send Command + i to emacs.
I know to use mods: Super/Command to handle alacritty input, and it totally works for me, so my question is what should I send to internal program when I press Command + i in alacritty?
- { key: I, mods: Command, chars: "WHAT SHOULD BE HERE?" }

@falood So this has been opened a long time ago, but does this actually work in a different terminal emulator? I'm asking because usually terminal emulators know only about ctrl + shift and alt. Running showkey -a does not report super on linux for example.


How to center the Title in each feature_row column?

Hi.
I've been working on building a website using your theme (4.13) for last few weeks now.
My questions is about feature_row. How do I make the title of each feature column to be centered?
feature_row:
  - image_path: /assets/images/code.png
    alt: "coding"
    title: "Blog"

I checked the documentation and still not finding anything on how to center the 'title' text.. I must have missed something. Been on it for two days now. I know this is a simple question and I fear that the answer is there somewhere in the documentation. I just couldn't find it.
thanks (in advance just in case)

https://mmistakes.github.io/minimal-mistakes/docs/helpers/#feature-row
You'll use type="center"
Here's the sourcecode for some examples
https://github.com/mmistakes/minimal-mistakes/blob/master/docs//_pages/splash-page.md

I realized I didn't give you a full code. (I used partial code which caused confusion.)  Here is the full code I use.
feature_row:
  - image_path: /assets/images/code.png
    alt: "coding"
    title: "Blog"        # I want this centered
    url: "/coding/"
  - image_path: /assets/images/portfolios.png
    alt: "Portfolios of codes"
    title: "Portfolios"        # I want this centered
    url: "/portfolios/"
  - image_path: /assets/images/code_me.png
    alt: "Resume"
    title: 'Resume'      # I want this centered
    url: "/me/"

I wanted those title from each 'feature' to be centered.(see code above) Not have the whole feature centered as you gave me the example in your previous answer.

You'll need to customize the CSS then. This isn't something supported by the theme.

Ahh . thanks for the help.

Ahh .  thanks for the help. Appreciate it


Unable to save the selected assets array

I have implemented this project via cocoa pods. I wanted to save the selected images (path) to an array and retrieve and upload in another view controller.
Failed to work out. Appreciate your help.

Hi @alvinreuben
The asset url is a temp url, so you have to save the selected images to Document directory and upload later.

Closing the thread...