update_installed_exts.sh generates invalid hashes

Describe the bug
update_installed_exts.sh is a script for VSCode extensions update. It works great except of the fact that it generates incorrect hashes.
Script downloads a version with tag latest, extract its version and calculate its hash. When nix attempts to download it then, it downloads not the latest tag, but a tag based on the extracted version. They are not guaranteed to be the same.
Steps To Reproduce
Steps to reproduce the behavior:

Run update_installed_exts.sh

> wget  https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/applications/editors/vscode/extensions/update_installed_exts.sh
> ./update_installed_exts.sh
...
  {
    name = "terraform";
    publisher = "hashicorp";
    version = "2.24.3";
    sha256 = "0mrsbpwyq120d402yi5zxz16xnca2wjq6ya7csvmaxs833vv41jc";
  }
...

Now download both the latest version and 2.24.3.

> wget https://hashicorp.gallery.vsassets.io/_apis/public/gallery/publisher/hashicorp/extension/terraform/latest/assetbyname/Microsoft.VisualStudio.Services.VSIXPackage -O latest
> wget https://hashicorp.gallery.vsassets.io/_apis/public/gallery/publisher/hashicorp/extension/terraform/2.24.3/assetbyname/Microsoft.VisualStudio.Services.VSIXPackage -O 2-24-3

Both of them have different hashes.

> nix-hash --flat --base32 --type sha256 latest 2-24-3
0mrsbpwyq120d402yi5zxz16xnca2wjq6ya7csvmaxs833vv41jc
0rcx5cfbm2xq8sarxvh01n3jcy0jr10d2ahpgk0jinjczflpcysj

When I try to rebuild my environment, I predictably get an error:

error: hash mismatch in fixed-output derivation '/nix/store/mdis1yca274r1mz8zma84svgaisriqrf-hashicorp-terraform.zip.drv':
         specified: sha256-TAay9xhId1W3Zkd5gyUXitluwu+/RC8AaUAE7PldOlc=
            got:    sha256-Unt2qftM2ijBfBcq0UDIEngmhw0A7p6VRriLuhwrnWU=

I tried to fix this hash and immediately get the same problem for two other packages packages.

Expected behavior
The script have to generate a hash for the same version it provides in outputs.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.
Notify maintainers

@AndersonTorres
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
this path will be fetched (0.00 MiB download, 0.00 MiB unpacked):
  /nix/store/bzkj7bl9ii8zxsf8n08ra5vrqa4zja62-nix-info
copying path '/nix/store/bzkj7bl9ii8zxsf8n08ra5vrqa4zja62-nix-info' from 'https://cache.nixos.org'...
 - system: `"x86_64-linux"`
 - host os: `Linux 5.15.74, NixOS, 22.05 (Quokka), 22.05.20221023.471d921`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.8.1`
 - channels(konstantin): `"home-manager-22.05.tar.gz"`
 - channels(root): `"nixos-22.05"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

I am not the maintainer of this script.
The only thing I did was move it to a more suitable directory.

I found that some packages are platform specific and some are not. Nix adds arch suffix in the end, but update_installed_exts.sh don't.
This one don't have platform specific versions:
https://marketplace.visualstudio.com/items?itemName=asvetliakov.vscode-neovim#version-history
This one have platform specific versions:
https://marketplace.visualstudio.com/items?itemName=hashicorp.terraform#version-history

Looks like it's not a bug in a script. The url used just return non-consistent results. I guess if I just keep retrying updates, eventually all the updates get the same versions they received during hash generation.
> for i in $(seq 10); do
  wget https://rust-lang.gallery.vsassets.io/_apis/public/gallery/publisher/rust-lang/extension/rust-analyzer/0.4.1260/assetbyname/Microsoft.VisualStudio.Services.VSIXPackage
done

> nix-hash --flat --base32 --type sha256 Microsoft.VisualStudio.Services.VSIXPackage*
166i5j2qgnhnci6ngwlh7ry4vs138b0xaa7rvgix2xhh962656yj
166i5j2qgnhnci6ngwlh7ry4vs138b0xaa7rvgix2xhh962656yj
0qb9pbb6vx062yh578pkgbga2qkm3h5799n22fjkzwmkxfvrx977
166i5j2qgnhnci6ngwlh7ry4vs138b0xaa7rvgix2xhh962656yj
166i5j2qgnhnci6ngwlh7ry4vs138b0xaa7rvgix2xhh962656yj
0qb9pbb6vx062yh578pkgbga2qkm3h5799n22fjkzwmkxfvrx977
166i5j2qgnhnci6ngwlh7ry4vs138b0xaa7rvgix2xhh962656yj
0qb9pbb6vx062yh578pkgbga2qkm3h5799n22fjkzwmkxfvrx977
166i5j2qgnhnci6ngwlh7ry4vs138b0xaa7rvgix2xhh962656yj
0qb9pbb6vx062yh578pkgbga2qkm3h5799n22fjkzwmkxfvrx977

Though, if I use a URL extracted from a website, the result is expected.
> for i in $(seq 10);
  do wget https://rust-lang.gallerycdn.vsassets.io/extensions/rust-lang/rust-analyzer/0.4.1260/1666745150870/Microsoft.VisualStudio.Services.VSIXPackage
done

> nix-hash --flat --base32 --type sha256 Microsoft.VisualStudio.Services.VSIXPackage*
0c62ww08ayl6k9zg73lgvs8kzgp0vbq5zinplkbnsmvpmv04xvpw
0c62ww08ayl6k9zg73lgvs8kzgp0vbq5zinplkbnsmvpmv04xvpw
0c62ww08ayl6k9zg73lgvs8kzgp0vbq5zinplkbnsmvpmv04xvpw
0c62ww08ayl6k9zg73lgvs8kzgp0vbq5zinplkbnsmvpmv04xvpw
0c62ww08ayl6k9zg73lgvs8kzgp0vbq5zinplkbnsmvpmv04xvpw
0c62ww08ayl6k9zg73lgvs8kzgp0vbq5zinplkbnsmvpmv04xvpw
0c62ww08ayl6k9zg73lgvs8kzgp0vbq5zinplkbnsmvpmv04xvpw
0c62ww08ayl6k9zg73lgvs8kzgp0vbq5zinplkbnsmvpmv04xvpw
0c62ww08ayl6k9zg73lgvs8kzgp0vbq5zinplkbnsmvpmv04xvpw
0c62ww08ayl6k9zg73lgvs8kzgp0vbq5zinplkbnsmvpmv04xvpw

The URL I used in the first experiment is the one I received from derivation /nix/store/hv4gg0v6l311a701zigbawim0fgvvc2d-rust-lang-rust-analyzer.zip.drv.
warning: Git tree '/home/konstantin/nixconf' is dirty
building the system configuration...
warning: Git tree '/home/konstantin/nixconf' is dirty
error: hash mismatch in fixed-output derivation '/nix/store/hv4gg0v6l311a701zigbawim0fgvvc2d-rust-lang-rust-analyzer.zip.drv':
         specified: sha256-Qsgq8Cpc6pTlXFnJtxxqTgjjNS4dmAXyP9wXSMKEYTM=
            got:    sha256-0ptihEkQdtHj2/ko1cFCI+hNfD6Q8mdNZBbah4Us0Zg=
error: 1 dependencies of derivation '/nix/store/727mbyi04qbz1r3d9w64gbv9qi5m33ka-vscode-extension-rust-lang-rust-analyzer-0.4.1260.drv' failed to build
error: 1 dependencies of derivation '/nix/store/ynxi9rldm5klbkz966ly68x1w1l4x9rk-vscode-extensions.drv' failed to build
error: 1 dependencies of derivation '/nix/store/knm3bfv6i078kf35jhy7vm1sch9l4ar7-vscode-with-extensions-1.69.2.drv' failed to build
error: 1 dependencies of derivation '/nix/store/k111khii632xdah9psg6yrjwsffrr54k-home-manager-path.drv' failed to build
error: 1 dependencies of derivation '/nix/store/75yqndz153zmz2j4z5i519gg2h357yyp-vscode-with-extensions-1.69.2-fish-completions.drv' failed to build
error: 1 dependencies of derivation '/nix/store/4spf4pwa0m9f5l7brhiwdxj3qmm162xl-home-manager-generation.drv' failed to build
error: 1 dependencies of derivation '/nix/store/bpjf7lp1z438ldny4444bm5hbg6gf8f6-user-environment.drv' failed to build
error: 1 dependencies of derivation '/nix/store/48v2i7dcwx244ayscb0vaygxcs5x838a-etc.drv' failed to build
error: 1 dependencies of derivation '/nix/store/nv8pqcgak76gfjdf27qzf77dv62q4n5n-nixos-system-konstantin-desktop-22.05.20221023.471d921.drv' failed to build

> cat /nix/store/hv4gg0v6l311a701zigbawim0fgvvc2d-rust-lang-rust-analyzer.zip.drv
Derive([("out","/nix/store/fjy6wb7pzxawy5grn3id767cnh1dmiis-rust-lang-rust-analyzer.zip","sha256","42c82af02a5cea94e55c59c9b71c6a4e08e3352e1d9805f23fdc1748c2846133")],[("/nix/store/25v14drl573yalys9kdc4c1m8kz5fmvd-bash-5.1-p16.drv",["out"]),("/nix/store/8m2x8d26gx9ghjfb6jd7zz30c6wclq40-curl-7.83.1.drv",["dev"]),("/nix/store/xzmr17csmjpmf2p0m2rp6zd8wdd4dxlz-mirrors-list.drv",["out"]),("/nix/store/ykv69zk4y8dj1ajxrfh2xf17gfqn294x-stdenv-linux.drv",["out"])],["/nix/store/720ikgx7yaapyb8hvi8lkicjqwzcx3xr-builder.sh"],"x86_64-linux","/nix/store/9zm6br2ri10a0b71dll2wrim5bnhg6b6-bash-5.1-p16/bin/bash",["-e","/nix/store/720ikgx7yaapyb8hvi8lkicjqwzcx3xr-builder.sh"],[("SSL_CERT_FILE","/no-cert-file.crt"),("buildInputs",""),("builder","/nix/store/9zm6br2ri10a0b71dll2wrim5bnhg6b6-bash-5.1-p16/bin/bash"),("configureFlags",""),("curlOpts",""),("depsBuildBuild",""),("depsBuildBuildPropagated",""),("depsBuildTarget",""),("depsBuildTargetPropagated",""),("depsHostHost",""),("depsHostHostPropagated",""),("depsTargetTarget",""),("depsTargetTargetPropagated",""),("doCheck",""),("doInstallCheck",""),("downloadToTemp",""),("executable",""),("impureEnvVars","http_proxy https_proxy ftp_proxy all_proxy no_proxy NIX_CURL_FLAGS NIX_HASHED_MIRRORS NIX_CONNECT_TIMEOUT NIX_MIRRORS_alsa NIX_MIRRORS_apache NIX_MIRRORS_bioc NIX_MIRRORS_bitlbee NIX_MIRRORS_centos NIX_MIRRORS_cpan NIX_MIRRORS_debian NIX_MIRRORS_fedora NIX_MIRRORS_gcc NIX_MIRRORS_gentoo NIX_MIRRORS_gnome NIX_MIRRORS_gnu NIX_MIRRORS_gnupg NIX_MIRRORS_hackage NIX_MIRRORS_hashedMirrors NIX_MIRRORS_ibiblioPubLinux NIX_MIRRORS_imagemagick NIX_MIRRORS_kde NIX_MIRRORS_kernel NIX_MIRRORS_luarocks NIX_MIRRORS_maven NIX_MIRRORS_mozilla NIX_MIRRORS_mysql NIX_MIRRORS_openbsd NIX_MIRRORS_opensuse NIX_MIRRORS_osdn NIX_MIRRORS_postgresql NIX_MIRRORS_pypi NIX_MIRRORS_qt NIX_MIRRORS_roy NIX_MIRRORS_sageupstream NIX_MIRRORS_samba NIX_MIRRORS_savannah NIX_MIRRORS_sourceforge NIX_MIRRORS_steamrt NIX_MIRRORS_tcsh NIX_MIRRORS_testpypi NIX_MIRRORS_ubuntu NIX_MIRRORS_xfce NIX_MIRRORS_xorg"),("mirrorsFile","/nix/store/kpy64rkpq32sc9c39lc8yqwcb5gdyx22-mirrors-list"),("name","rust-lang-rust-analyzer.zip"),("nativeBuildInputs","/nix/store/6ddzfbih16zb596rpkg9aw2yhnkhn6m5-curl-7.83.1-dev"),("nixpkgsVersion","22.05"),("out","/nix/store/fjy6wb7pzxawy5grn3id767cnh1dmiis-rust-lang-rust-analyzer.zip"),("outputHash","0cv1hk14h5yw7zr0b60x5qsy622fd8fbgjarbkjr9sjw5bq2mj22"),("outputHashAlgo","sha256"),("outputHashMode","flat"),("outputs","out"),("patches",""),("postFetch",""),("preferHashedMirrors","1"),("preferLocalBuild","1"),("propagatedBuildInputs",""),("propagatedNativeBuildInputs",""),("showURLs",""),("stdenv","/nix/store/cckh9b9b92zb3a6jincm8aqdm4bff73l-stdenv-linux"),("strictDeps",""),("system","x86_64-linux"),("urls","https://rust-lang.gallery.vsassets.io/_apis/public/gallery/publisher/rust-lang/extension/rust-analyzer/0.4.1260/assetbyname/Microsoft.VisualStudio.Services.VSIXPackage")])

A solved a problem for myself by changing a format extensions.nix file use. I think fixing URL is a right way to do it as fetching it by version only doesn't guarantee consistent result.
    {
      name = "rust-lang-rust-analyzer-0.4.1260";
      src = {
        url = "https://rust-lang.gallerycdn.vsassets.io/extensions/rust-lang/rust-analyzer/0.4.1260/1666745150870/Microsoft.VisualStudio.Services.VSIXPackage";
        sha256 = "0c62ww08ayl6k9zg73lgvs8kzgp0vbq5zinplkbnsmvpmv04xvpw";
        name = "rust-analyzer-rust-lang.zip";
      };
      vscodeExtUniqueId = "rust-lang.rust-analyzer";
    }

Here is how I get the URLs. For extensions that require to provide architecture, I use a hard-coded one. I am not sure how architecture is resolved for the link used in original script and nixpkgs. I will be happy to create MR, but want to get some feedback on my findings and format change(it can prefer URL and fallback to current syntax) proposal before I jump into that.

@kulabun I had the same issue with the same extension (rust-analyzer). Using your updates:
https://github.com/kulabun/nixconf/blob/6918f0000a6dc6af8e9a7485de29ee935efeaa33/modules/home-manager/vscode/update-extensions.sh#L46
https://github.com/kulabun/nixconf/blob/6918f0000a6dc6af8e9a7485de29ee935efeaa33/modules/home-manager/vscode/default.nix#L21
worked for me. Obviously I'm on linux-x64.

@kulabun @icyrockcom
I also ran into this issue. Instead of finding the latest version from the url first, I use the version from the unzipped extension and just replace latest with that version:
https://github.com/tricktron/my-system-configs/blob/d7722c236668cdffab91883c8bd6a2d72001d125/apps/default.nix#L42
The architecture is not considered at all but so far it is working.

I wrote a small script to help managing this stuff in a JSON blob w/ a supporting Nix expression; I'm sure there are some improvements, but I mainly wanted the ability to share among different platforms without too much frustration.
https://github.com/jkachmar/morioh/blob/01d4d7461b2a1af4c869ec3e1dff18ce8ff916be/config/user/vscode/update.py
Usage example: https://github.com/jkachmar/morioh/blob/main/config/user/vscode/extensions.nix


Code  Error in Version 2.0.1

Error in index.js
Code:
const MusicFiles = {
    getAll(options){

        return new Promise((resolve, reject) => {

            if(Platform.OS === "android"){
                RNReactNativeGetMusicFiles.getAll(options,(response) => {
                    resolve(response);
                },(error) => {
                    reject(error);
                });
            }else{
                RNReactNativeGetMusicFiles.getAll(options, (tracks) => {
                    if(tracks.length > 0){
                        resolve(tracks);
                    }else{
                        reject(false);
                    }
                });
            }

        });

    }
}

You should swap the last two param of function  RNReactNativeGetMusicFiles.getAll.
The definition  of RNReactNativeGetMusicFiles.getAll  is
 public void getAll(ReadableMap options, final Callback errorCallback, final Callback successCallback)
But the master branch of the repo is right....

Thanks, I will fix it

fixed in v2.1.0

thanks for your work :)

@cinder92 @yyrdl I am still facing an issue on the iOS platform let me know the solution is urgent.


chore: generate keys in the test

Description

Closes #25.
References

Review Checklist

[ ] I have added documentation for new/changed functionality in this PR or in openfga.dev
[ ] The correct base branch is being used, if not main

Codecov Report

Merging #62 (762191d) into main (e993d95) will increase coverage by 0.04%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main      #62      +/-   ##
==========================================
+ Coverage   76.47%   76.52%   +0.04%
==========================================
  Files          72       72
  Lines        8054     8054
==========================================
+ Hits         6159     6163       +4
+ Misses       1475     1471       -4
  Partials      420      420

Impacted Files
Coverage Δ

server/commands/check.go
85.88% <0.00%> (+0.30%)
:arrow_up:

pkg/tuple/validation.go
69.44% <0.00%> (+2.77%)
:arrow_up:

server/errors/errors.go
80.88% <0.00%> (+2.94%)
:arrow_up:

Continue to review full report at Codecov.

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


feat(world): more nuanced system hooks per function selector

System hooks are now registered per function on the system instead of on the system as a whole

cross posting from discord:
unfortunately adding this change increases gas surprisingly significantly, so i wonder if it's still worth it. It's already possible to get "system hooks per function" by only having a single function per system (e.g. the fallback function for extra gas efficiency), or by a layer on top of system hooks (i.e. SystemFunctionHook is SystemHook) and i'm not sure if a gas increase of ~500 per system call (in any case, even with no hooks on the system installed) is worth it for this feature

closing this for now since 1) significantly increases gas and 2) code is frozen for audit


feat(modules/home-manager): add glamour

Adds support for glamour, a Markdown rendering library used in a variety of Go CLIs (including gh and glow).

🔥


Implement number of islands

added number_of_islands to image/cleaning.py
(Calculates the number of connected clusters on a pixel mask)
added unit test with LSTCam geometry

When I worked on this bigger clusters were counted correctly. In hindsight this might need the pixels to follow a specific camera geometry tho.
I will check on this once I find the time. If we also want to know which pixels connect to a cluster, it might be best to just rework it completely.

This is written in a very non-pythonic way, so it likely quite inefficient, though perhaps it could be sped up quite a bit with a numba @jit decorator?
I suspect there is already code to count islands somewhere in the scientific python stack, since we use this technique already. @jjlk do you use a better method for this?

I think https://docs.scipy.org/doc/scipy/reference/generated/scipy.sparse.csgraph.connected_components.html#scipy.sparse.csgraph.connected_components is what we need

I think https://docs.scipy.org/doc/scipy/reference/generated/scipy.sparse.csgraph.connected_components.html#scipy.sparse.csgraph.connected_components is what we need

That looks pretty good. I didn't expect a scipy function for an arbitrary geometry, but sparse graphs seems to be the keyword here. I'll play around with that function and upload a cleaner scipy version later

Looks good!

@MaxNoe  do you still want changes? If not, you can accept your review and I'll merge this,


AQCU-1706: rework qualifierTable building logic to ensure all qualifi…

…ers relevant are included

Coverage decreased (-0.02%) to 97.408% when pulling 6582974f7b889320ffe9b498ba1c8fefe4a09c82 on mhines-usgs:master into 1dbf0b0ff4e945313886e6111158ce8e40135a3e on USGS-R:master.


Bad error message for const variables used in const enums

TypeScript Version:  3.3.0-dev.201xxxxx

Search Terms:
const enum initializer ts2474
Code
// lib.ts
const enum STATIC_KEYS {
    ZERO,
    ONE,
    TWO,

    LAST
}

export const STARTING_NUMBER = STATIC_KEYS.LAST;

// consumer.ts
const enum MORE_STATIC_KEYS {
    ONE = STARTING_NUMBER, // error TS2474; STATIC_KEYS.LAST works as expected
    TWO,
    THREE,
}

Expected behavior:
Code compiles with MORE_STATIC_KEYS.ONE === STATIC_KEYS.LAST.
Actual behavior:
error TS2474: In 'const' enum declarations member initializer must be constant expression.
TS recognizes that STARTING_NUMBER has the type STATIC_KEYS.LAST, but doesn't consider it a 'constant expression.'
If this is expected behavior, clarity in the error message would be appreciated.
Playground Link: link
Related Issues:
Multiple discussions about merging/intersecting of const enums, of which the above is my attempted workaround.

const enum will be fully erased after compilation, which means you can't index it by an arbitrary value.

A const value isn't a constant expression in the sense that error message is indicating, unfortunately. It's trying to say that you need the initializer to be a simple number or string, or the result of arithmetic of those - references to other variables (which may have been calculated using functions and other things we won't precalculate and inline) don't count as "constant" in the same sense. Maybe we need to be more clear here. @DanielRosenwasser ?

const enum member initializers can only contain literal values and other const enums values.

I think I was also confused by this language from the handbook explaining what constitutes a 'constant expression':

a reference to previously defined constant enum member (which can originate from a different enum).

At any rate, thanks for clarifying.

Thanks @alisabzevari!

const enum member initializers can only contain literal values and other computed enum values.

// 👍 computed enum
const enum Dynamic {
  role = Roles.User,
  level = Level.A,
  // time = Math.random(),
  value = 1 + 2,
}


Openai prompts include context from previous string of messages

If in a conversation, the reaction is on a message that has the same author in a consecutive block of other messages, then include all the previous (up to a reasonable length) so the bot can have more context to respond with.

[ ] building context from previous messages should only go back so far, and force stop if reach a message that has been responded to by the bot already


Add support for switch system versions 17.0.1, 18.0.0, 18.0.1

Thank you very much. A few things before I am merging:

Your patch has spaces for indentation in nintendo/switch/common.py. Please use tabs instead.
When I looked at the account sysmodule, it looked like Nintendo forgot to update the key generation in the DAuth client. Have you verified that it uses key generation 18 on system version 18.0.x? This is important because DAuth is the server where Nintendo implements device bans.
The sun and atumn tests are failing. The tests currently set the system version to 17.0.0. Could you either roll back your edits to the expected user agent, or update the tests to use 18.0.1 instead? Unless something has changed significantly, we do not necessarily need to test the latest system version in my opinion, so I would recommend the former.

Do you want to fix these things?

Fixed

The SMM2 API operates correctly under keygen 18 for 18.0.1 so I feel reasonably safe about that. yellows8 also notes that the keygen is 0x11 which, going from previous updates, is always 1 less than the keygen used in DAuth.

Reverted

I believe that the DAuth server accepts any key generation, regardless of the system version. While it may work, I would like to accurately copy the behavior of the client, so I would like to see this verified another way. The fact that the update bot detects key revision 17 doesn't really mean anything, because the key generation that is used by the DAuth client is indepedent from that, and hardcoded into the account sysmodule.
I might have time to check it with a MitM this weekend.

After testing you're right that it doesn't matter what keygen I use, the request succeeds. I will keep this fork's keygen on 17 until you can verify.

Hi, I checked with a mitm and it says key_generation 17.
POST /v7/device_auth_token HTTP/1.1
Host: dauth-lp1.ndas.srv.nintendo.net
Accept: */*
Content-Type: application/x-www-form-urlencoded
X-Nintendo-PowerState: FA
Content-Length: 211

challenge=[REDACTED]&client_id=[REDACTED]&ist=false&key_generation=17&system_version=CusHY#00120001#chuxR_O35JFyJq7dIlT8yP1A-j1yBcF-iU4iVDjHt9g=&mac=[REDACTED]

Thanks for checking.
@TheGreatRambler If you change the key generation to 17 I will accept the PR.

did this change in the 2024 Dragons update?

The server has always accepted different key generations as far as I know. I tested it some time ago when 14.1.2 was the latest system version. Back then, the following key generations were accepted for /v6 and /v7: https://github.com/nintendo-playground/dauth-server/blob/main/dauth/main.py#L49-L52

Done, thank you for confirming @Ixaruz


Segmentation fault when launching demo_narrator [was: Keys remapping seems not to work]

Hi all, thank you for this great piece of work.
I'm trying to make it run on a dual Ampére system, CUDA 11.6.
Just cloned the repo and followed the install instructions. No problems or errors during installation.
When I launch the demo_narrator.py script I get the following error, as if at first the key remapping procedure got wrong for some reason and then I get a Segmentation fault.
thank you in advance for your help
Alberto
python demo_narrator.py --cuda --video-path some.mp4  /usr/local/lib/python3.9/site-packages/torchvision/transforms/_functional_video.py:5: UserWarning: The _functional_video module is deprecated. Please use the functional module instead.   warnings.warn( /usr/local/lib/python3.9/site-packages/torchvision/transforms/_transforms_video.py:25: UserWarning: The _transforms_video module is deprecated. Please use the transforms module instead.   warnings.warn( downloading model to modelzoo/vclm_openai_timesformer_large_336px_gpt2_xl.pt_ego4d.jobid_246897.ep_0003.md5sum_443263.pth ######USING ATTENTION STYLE:  frozen-in-time 100%|███████████████████████████████████████| 891M/891M [01:48<00:00, 8.58MiB/s] => Loading CLIP (ViT-L/14@336px) weights _IncompatibleKeys(missing_keys=['temporal_embed', 'blocks.0.timeattn.qkv.weight', 'blocks.0.timeattn.qkv.bias', 'blocks.0.timeattn.proj.weight', 'blocks.0.timeattn.proj.bias', 'blocks.0.norm3.weight', 'blocks.0.norm3.bias', 'blocks.1.timeattn.qkv.weight', 'blocks.1.timeattn.qkv.bias', 'blocks.1.timeattn.proj.weight', 'blocks.1.timeattn.proj.bias', 'blocks.1.norm3.weight', 'blocks.1.norm3.bias', 'blocks.2.timeattn.qkv.weight', 'blocks.2.timeattn.qkv.bias', 'blocks.2.timeattn.proj.weight', 'blocks.2.timeattn.proj.bias', 'blocks.2.norm3.weight', 'blocks.2.norm3.bias', 'blocks.3.timeattn.qkv.weight', 'blocks.3.timeattn.qkv.bias', 'blocks.3.timeattn.proj.weight', 'blocks.3.timeattn.proj.bias', 'blocks.3.norm3.weight', 'blocks.3.norm3.bias', 'blocks.4.timeattn.qkv.weight', 'blocks.4.timeattn.qkv.bias', 'blocks.4.timeattn.proj.weight', 'blocks.4.timeattn.proj.bias', 'blocks.4.norm3.weight', 'blocks.4.norm3.bias', 'blocks.5.timeattn.qkv.weight', 'blocks.5.timeattn.qkv.bias', 'blocks.5.timeattn.proj.weight', 'blocks.5.timeattn.proj.bias', 'blocks.5.norm3.weight', 'blocks.5.norm3.bias', 'blocks.6.timeattn.qkv.weight', 'blocks.6.timeattn.qkv.bias', 'blocks.6.timeattn.proj.weight', 'blocks.6.timeattn.proj.bias', 'blocks.6.norm3.weight', 'blocks.6.norm3.bias', 'blocks.7.timeattn.qkv.weight', 'blocks.7.timeattn.qkv.bias', 'blocks.7.timeattn.proj.weight', 'blocks.7.timeattn.proj.bias', 'blocks.7.norm3.weight', 'blocks.7.norm3.bias', 'blocks.8.timeattn.qkv.weight', 'blocks.8.timeattn.qkv.bias', 'blocks.8.timeattn.proj.weight', 'blocks.8.timeattn.proj.bias', 'blocks.8.norm3.weight', 'blocks.8.norm3.bias', 'blocks.9.timeattn.qkv.weight', 'blocks.9.timeattn.qkv.bias', 'blocks.9.timeattn.proj.weight', 'blocks.9.timeattn.proj.bias', 'blocks.9.norm3.weight', 'blocks.9.norm3.bias', 'blocks.10.timeattn.qkv.weight', 'blocks.10.timeattn.qkv.bias', 'blocks.10.timeattn.proj.weight', 'blocks.10.timeattn.proj.bias', 'blocks.10.norm3.weight', 'blocks.10.norm3.bias', 'blocks.11.timeattn.qkv.weight', 'blocks.11.timeattn.qkv.bias', 'blocks.11.timeattn.proj.weight', 'blocks.11.timeattn.proj.bias', 'blocks.11.norm3.weight', 'blocks.11.norm3.bias', 'blocks.12.timeattn.qkv.weight', 'blocks.12.timeattn.qkv.bias', 'blocks.12.timeattn.proj.weight', 'blocks.12.timeattn.proj.bias', 'blocks.12.norm3.weight', 'blocks.12.norm3.bias', 'blocks.13.timeattn.qkv.weight', 'blocks.13.timeattn.qkv.bias', 'blocks.13.timeattn.proj.weight', 'blocks.13.timeattn.proj.bias', 'blocks.13.norm3.weight', 'blocks.13.norm3.bias', 'blocks.14.timeattn.qkv.weight', 'blocks.14.timeattn.qkv.bias', 'blocks.14.timeattn.proj.weight', 'blocks.14.timeattn.proj.bias', 'blocks.14.norm3.weight', 'blocks.14.norm3.bias', 'blocks.15.timeattn.qkv.weight', 'blocks.15.timeattn.qkv.bias', 'blocks.15.timeattn.proj.weight', 'blocks.15.timeattn.proj.bias', 'blocks.15.norm3.weight', 'blocks.15.norm3.bias', 'blocks.16.timeattn.qkv.weight', 'blocks.16.timeattn.qkv.bias', 'blocks.16.timeattn.proj.weight', 'blocks.16.timeattn.proj.bias', 'blocks.16.norm3.weight', 'blocks.16.norm3.bias', 'blocks.17.timeattn.qkv.weight', 'blocks.17.timeattn.qkv.bias', 'blocks.17.timeattn.proj.weight', 'blocks.17.timeattn.proj.bias', 'blocks.17.norm3.weight', 'blocks.17.norm3.bias', 'blocks.18.timeattn.qkv.weight', 'blocks.18.timeattn.qkv.bias', 'blocks.18.timeattn.proj.weight', 'blocks.18.timeattn.proj.bias', 'blocks.18.norm3.weight', 'blocks.18.norm3.bias', 'blocks.19.timeattn.qkv.weight', 'blocks.19.timeattn.qkv.bias', 'blocks.19.timeattn.proj.weight', 'blocks.19.timeattn.proj.bias', 'blocks.19.norm3.weight', 'blocks.19.norm3.bias', 'blocks.20.timeattn.qkv.weight', 'blocks.20.timeattn.qkv.bias', 'blocks.20.timeattn.proj.weight', 'blocks.20.timeattn.proj.bias', 'blocks.20.norm3.weight', 'blocks.20.norm3.bias', 'blocks.21.timeattn.qkv.weight', 'blocks.21.timeattn.qkv.bias', 'blocks.21.timeattn.proj.weight', 'blocks.21.timeattn.proj.bias', 'blocks.21.norm3.weight', 'blocks.21.norm3.bias', 'blocks.22.timeattn.qkv.weight', 'blocks.22.timeattn.qkv.bias', 'blocks.22.timeattn.proj.weight', 'blocks.22.timeattn.proj.bias', 'blocks.22.norm3.weight', 'blocks.22.norm3.bias', 'blocks.23.timeattn.qkv.weight', 'blocks.23.timeattn.qkv.bias', 'blocks.23.timeattn.proj.weight', 'blocks.23.timeattn.proj.bias', 'blocks.23.norm3.weight', 'blocks.23.norm3.bias', 'head.weight', 'head.bias'], unexpected_keys=[]) Downloading config.json: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 689/689 [00:00<00:00, 289kB/s] Downloading pytorch_model.bin: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████| 5.99G/5.99G [12:13<00:00, 8.77MB/s] Segmentation fault (core dumped)

Hi @amessina71 ,
The warning log with _IncompatibleKeys() is expected since we need to first load CLIP-pretrained weights for the spatial part of the TimeSformer (See Table 10 and Appendix F of our tech report) when constructing the model. Since we will load the entire weights later, you can safely ignore it.
The Segmentation fault is another error which I guess is because the video cannot be loaded by decord. Could you try the example video first and see if the demo generates something? I can add a more generic video loader and will let you know once it's done.

Hi, thank you for your reply.
I've tested the file under the asset folder named assets/3c0dffd0-e38e-4643-bc48-d513943dc20b_012_014.mp4
same error
many thanks for your support
A.

Then I don't think it's the issue from the video loading. Can you check your local environment by running e.g. https://github.com/pytorch/pytorch/blob/master/torch/utils/collect_env.py ?

Hi, thank you for following this up. Here is the output of the collect_env script. I suspect there might be some sort of incompatibillity between the GPU architecture and the torch version ... I will try to upgrade torch and update the thread.
thank you for your support
A.
`root@59beef1d9912:/app# python3 collect_env.py
Collecting environment information...
/usr/local/lib/python3.9/site-packages/torch/cuda/init.py:143: UserWarning:
NVIDIA A100-PCIE-40GB with CUDA capability sm_80 is not compatible with the current PyTorch installation.
The current PyTorch install supports CUDA capabilities sm_37 sm_50 sm_60 sm_70.
If you want to use the NVIDIA A100-PCIE-40GB GPU with PyTorch, please check the instructions at https://pytorch.org/get-started/locally/
warnings.warn(incompatible_device_warn.format(device_name, capability, " ".join(arch_list), device_name))
PyTorch version: 1.10.1+cu102
Is debug build: False
CUDA used to build PyTorch: 10.2
ROCM used to build PyTorch: N/A
OS: Ubuntu 20.04.4 LTS (x86_64)
GCC version: (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
Clang version: Could not collect
CMake version: Could not collect
Libc version: glibc-2.31
Python version: 3.9.10 (main, May 30 2022, 01:30:39)  [GCC 9.4.0] (64-bit runtime)
Python platform: Linux-5.15.0-56-generic-x86_64-with-glibc2.31
Is CUDA available: True
CUDA runtime version: Could not collect
CUDA_MODULE_LOADING set to:
GPU models and configuration:
GPU 0: NVIDIA A100-PCIE-40GB
GPU 1: NVIDIA A100-PCIE-40GB
Nvidia driver version: 510.108.03
cuDNN version: Could not collect
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True
Versions of relevant libraries:
[pip3] numpy==1.23.5
[pip3] pytorchvideo==0.1.5
[pip3] torch==1.10.1
[pip3] torchvision==0.11.2
[conda] Could not collect
root@59beef1d9912:/app#`

Hello. I've upgraded pytorch to 1.11.0+cu113 and now I do not see that mismatch any more in the environment. However i still get the segmentation fault (even with the test video). here follows the new environment set.
best regards
A.
`root@59beef1d9912:/app# python3 collect_env.py
Collecting environment information...
PyTorch version: 1.11.0+cu113
Is debug build: False
CUDA used to build PyTorch: 11.3
ROCM used to build PyTorch: N/A
OS: Ubuntu 20.04.4 LTS (x86_64)
GCC version: (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
Clang version: Could not collect
CMake version: Could not collect
Libc version: glibc-2.31
Python version: 3.9.10 (main, May 30 2022, 01:30:39)  [GCC 9.4.0] (64-bit runtime)
Python platform: Linux-5.15.0-56-generic-x86_64-with-glibc2.31
Is CUDA available: True
CUDA runtime version: Could not collect
CUDA_MODULE_LOADING set to:
GPU models and configuration:
GPU 0: NVIDIA A100-PCIE-40GB
GPU 1: NVIDIA A100-PCIE-40GB
Nvidia driver version: 510.108.03
cuDNN version: Could not collect
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True
Versions of relevant libraries:
[pip3] numpy==1.23.5
[pip3] pytorchvideo==0.1.5
[pip3] torch==1.11.0+cu113
[pip3] torchaudio==0.11.0+cu113
[pip3] torchvision==0.12.0+cu113
[conda] Could not collect`

Hi guys,
any news on this thread? It would be great if I could test the tool ...
Thank you in advance for your support

Hi @amessina71,
I was facing the same issue, it seems like inverting the import of decord and torch (torch first and then decord) solved it.
Hope it helps you as well :-)

Hi @amessina71,
I was facing the same issue, it seems like inverting the import of decord and torch (torch first and then decord) solved it.
Hope it helps you as well :-)

Yes it worked for me too! Thanks for the hint.
Alberto

Thank you @ezius07 for spotting this issue! I will add a patch shortly to fix this.
Best,
Yue


Where to get new binaries from?

Hi,
Puppeteer v1.12.2 requires Chromium 73.0.3679.0 (r624492). I'd like to know, is there a reliable place where I can get a binary that will just work on Lambda? serverless-chrome doesn't seem to have it

Closing the issue because I'm migrating to https://github.com/alixaxel/chrome-aws-lambda


Adjusting focus for iPhone 6 / 6 Plus

Hi there.
I've noticed that Card.IO has a tendency to take a photo too quickly on the iPhone 6 & 6 Plus. Not sure if this is due to the camera quality or the SDK detecting edges that don't belong to the card, but it's leading to photos that are unfocused.
I had a look at CardIOGuideLayer.mm, and wondered if upping the float values being used in the 'setVideoFrame:videoFrame' method (line 469) would help make the SDK wait before the user has their card fully focused in the frame. Anywhere else I should considering looking?
Thanks in advance.

As @dgoldman-ebay has commented elsewhere, card.io was designed to scan, not to take sharp images.
In general, determining absolutely whether an image is in focus is a very hard problem. We do a very crude approximation to this with our focus score calculation, which is probably what you want to look at if, you want to just try fiddling with some thresholds.
Other options include attempting to monitor focus scores over time, waiting for them to stabilize (with hysteresis), in the hopes that that indicates that the camera has finished focusing.
Or perhaps best of all, dig into the camera APIs. I seem to recall that in recent iOS versions, there's a newly-added ability to set the focal depth programatically. It might have to be set per-device, but this could entirely circumvent the entire issue.
Please do experiment with a wide range of lighting conditions and cards. We found that focus scores and related metrics tend to vary greatly...which is why the emphasis was placed on being able to scan blurry cards. :)

I seem to recall that in recent iOS versions, there's a newly-added ability to set the focal depth programatically.

We're already using the AVCaptureAutoFocusRangeRestrictionNear introduced in iOS 7, which helps somewhat.
iOS 8 added setFocusModeLockedWithLensPosition:completionHandler:. It does indeed look like one could call that to set an initial guess at focus. Doing so also sets the focus mode to AVCaptureFocusModeLocked, so upon completion one would then want to set the focus mode to AVCaptureFocusModeContinuousAutoFocus to resume auto-focusing thereafter.
It will take a bit of experimenting with the lensPosition value. As @josharian speculated, Apple helpfully tells us that A given lens position value does not correspond to an exact physical distance, nor does it represent a consistent focus distance from device to device.
I'm almost talking myself into coding this myself! But I really don't have the time these days.

See also https://github.com/card-io/card.io-iOS-source/issues/21. Maybe you two can work on this together?


Limiting Scale

Awesome article and demo, but I had a question about limiting scaling. How would you approach limiting the number of agents that would be alive at any time?
For example someone queues up 30 builds you could be spinning up 30 agents and really bog down a cluster quickly. How would you limit that to 15 at any one time etc.?
I was thinking about having an agent-less step make a rest call to some sort of “agent queuer” (basically do what you’re doing with the init agent but inside a pod). I wasn’t sure if it was the right approach, or even to go the route of some batch job scheduler.
Would be great to hear your thoughts, as were in the middle of this exact project and your article was a great find.
🙏🏼

@zleight1 do you really want to prevent s.o. from spinning up more than X agents? A)
Or is your issue about ensuring that the cluster won't be maxed out? B)
If B)
Enabling node auto scaling on the underlying agent cluster would be an approach.
If A)
That's kinda more tricky... Want to limit it globally? Per user? What if pipelines are run by ci/cd and not a human pressing a button?
What exactly is the reason you would want to limit your agent queue size (except for B)?

I guess my initial concern was that we have some heavy windows images and if we suddenly spun up a lot of them it might be an issue. We're in the process of migrating off of windows machines to linux anyway but some frameworks we use still require a pretty heavy agent image.
I'll look into node autoscaling a bit more. Thanks!

As already mentioned by @foliba, you can use a cluster auto scaler that would be spin up a new node if PODs are in pending(Scheduling state) but tbh it usually takes more than 2-3 minutes to bring up another node in your cluster. Maybe you could use Virtual Kubelet with some pod scheduling policies.
If you want hard to limit the number of agents(POD), you can use Pod Quota for Namespace.


Current configuration is confusing/redundant

As an outsider/user, I found the current package configuration hard to reason about due to the organic way configs were added, resulting in multiple configuration values controlling the same thing. Some examples:

it's not clear to me why launch_additional_services and additional_services are separate, and why launch_additional_services: False can't simply  be specified by an empty array
it was confusing to me that tx_spammer_params, goomy_blob_params, and explorer_version are separate top-level params (I would have expected them to be tied to the service, if and only if I set that service. When it's top-level, I assume it's always relevant)
with MEV, I'm not sure if this is a sidecar per client, or a completely different thing entirely that gets instantiated. from its position as a top-level config object, I would expect it to be completely independent from the participants
snooper_enabled is configurable in two places - both at the client-pair level, and at the global level. It's not clear to me how these interact: is the global level the master control? is the client pair level just an override to the global level? if it's just an override, does the fact that it defaults to false then override the global?

launch_additional_services can be deprecated indeed, and additional_services empty array should represent that no additional tooling is spun up.
explorer_version can be removed. *_params are service related parameters that you might want to change per enclave.
mev spins up a set of tooling, mev-relay, mev-dbs, housekeeper, as well as a block builder, which is currently a LH/Geth pair. When MEV is defined, these tools are always spun up. So if you define 4 participants by default + mev, then you will get 5 participants, last one always being a geth/lighthouse pair that behaves as a builder. It is completely independent from the participant list, other than the args that are run for the geth/lighthouse, as the arguments are concatenated with the builder arguments. Mev-boost is an another application that is run when mev is enabled, and this allows the CLs to be configured with their mev functionality enabled, and configures all blocks to be built by the mev builder instead of doing local block building.
snooper is a tool that sits between the CL and EL. I have implemented it as a client specific flag or a global flag, as you might want to enable the snooper for only a specific client or globally for all clients. It defaults to false, and by default there is no snooper. The only reason I did client specific snooper also, is because there might be a case where you run 50 nodes, and you don't want to run 50 snoopers but only want to run snoopers for the first x clients. But day to day, on a small testnet its very very useful to have the snooper image running for each pair, and hence we have the global flag.

@leeederek Would #315 be sufficient enough for us to close this issue?


chore: add broken parsing test

@cometkim
here is an attempt,
it seems to be also related to the import? 🤔
ref #94

Ok got this. Thank you very much :)


ScheduledTask: Adjust interval etc. after it is registered and unregister option

Description
It would be nice to have an option to adjust task interval after it was registered without needing to edit the database directly.
Furthermore, how do I easily remove them, if they are not available anymore.
It would also be nice to disable etc. the task.
And an option to add a cronjob string would also be nice to handle some special cases, e.g. execute a task after typical shopping hours.

Hello,
Within our company roadmap and work capacity, we try to address each bug or improvement request but admit that not each one will be resolved. To continue our culture of honesty and openness, we are closing this issue to focus on our roadmap on behalf of all Shopware users.
If you feel like this issue is still impacting you, please create a new issue and let us know.
Thank you again for your valuable feedback.


Explicitly declare the license type in the gemspec

The gemspec does not explicitly declare the license type. license is a recommended attribute in the gemspec: http://guides.rubygems.org/specification-reference/#license=
This PR sets the license attribute to MIT because that is the license used by this repository.
This will assist in using this gem with other software that tracks software licenses, for example, the papers gem. It will require a release to rubygems.org.

Closing this PR because this project is abandoned.


"Failed: unknown error: path is not absolute" even with an absolute path.

While testing protractor integrated in GlobaLeaks with saucelabes and implementing an end to end test for a file uploader i'm getting the following error:
Failed: unknown error: path is not absolute: /home/travis/build/globaleaks/GlobaLeaks/client/tests/glclient/test-globaleaks-process.js

the error seems sketchy 'cause as you can notice the path is an absolute path.
can anybody understand what is probably happening?
the test is runned without issues on Firefox while it is failing on Chrome;
this is the failing build: https://travis-ci.org/globaleaks/GlobaLeaks/jobs/62939365
the code i'm using is:
 element(by.xpath("//input[@type='file']")).sendKeys(__filename);

where __filename is the global variabe that would contain always an absolute path pointing to the current file.
@juliemr do you have any hint on this?

Not sure. The error is coming from Chromedriver - you can search for "path is not absolute" in the logs at https://saucelabs.com/jobs/c7411d5340c94320a29f61cd2f5d76e9
I think this is because your Chrome machine is on a windows computer, so Chromedriver is running on windows. This means that it's expecting a drive name to test if the path is absolute, so /home/travis/... doesn't qualify as an absolute path on windows.
There's been a lot of confusion about file uploading lately. Protractor has deferred to WebDriver's implementation here, but it's clear that we need to do a better job with helpers and docs. I'm going to consolidate under one bug.

See https://github.com/angular/protractor/issues/2153

thank you @juliemr
so probably this documentation also should be updated.
given what is stated there i was thinking that the path should not change depending on the filesystem and that automatically somewhere there would be some pice of code handling it :)
When running against a remote Selenium server, a webdriver.FileDetector may be used to transparently copy files to the remote machine before attempting to upload them in the browse

let me say that what you suggest about windoes is not correct; this behaviour happend also on linux/mac: https://saucelabs.com/u/globaleaks
as we (protractor user) would be interested simply in using this capability for testing it would be great to find an alternative way to load a file testing a file uploader button without requiring a file to be present on the filesystem. e.g. something like usin a Blob or a data:// uri. do you know if something like this is possible?

I really think it's due to windows. If you look at https://saucelabs.com/tests/b6b818a388b84c06ba4f907ab9a0a08d, which runs on Linux it is NOT failing with the 'path is not absolute' error.

gotcha! you are right, i didn't noticed it.
so to solve the issue we should find out a proper way to document in order to write a piece of code usable for all the OS without failures.

Yup. I'm closing this, let's follow up in #2153

same problem to me.
Then, how to solve it ?

I still have this problem. Is there a better fix/documentation for uploading files yet?

Still have the problem with selenium 3.0.1 and protractor 4.0.14. Any chance to have this feature working ?

Also hitting this as of late, but am running 4.0.14 as well (@jmcollin78). The chain of linked and referenced threads is not exactly straightforward on the case of linux->windows tests.
Is the best option here if we're running a windows selenium node to drop the file on that machine and refer to the path of the file with a windows path? I've been autogenerating them in the suite (unique new pem/cert), so that's a little less than ideal. Otherwise I guess setting up a linux hub/node is the only alternative?


keras-bert relies on features removed in keras-transformer 0.34.0

Describe the Bug
The get_model function in the keras_bert.bert module passes a use_adapter parameter to the keras_transformers.get_encoders function:
https://github.com/CyberZHG/keras-bert/blob/26bdfe3c36e77fa0524902f31263a920ccd62efb/keras_bert/bert.py#L124
However, the latest commit to keras-transformer, corresponding to the v0.34.0 release, removes this parameter from the API:
https://github.com/CyberZHG/keras-transformer/commit/60f1a0968caba6adb914a14b743f0ffbdc176a18
keras-bert specifies its keras-transformer dependency as >=0.30.0.  This means that new or upgraded installs will automatically use 0.34.0 despite the breaking change.
This means that calling get_model fails with the following error:
TypeError: get_encoders() got an unexpected keyword argument 'use_adapter'

The problem can be worked around by pinning the keras-transformer version at v0.33.0.
Version Info

[x] I'm using the latest version

Minimal Codes To Reproduce
The problem can be seen by running the load_and_predict.py demo.

Experiencing the same error when calling predict function - followed advise and changed keras-transformer==0.33.0, worked after this.

Thanks. I removed all the "adapter"-related things.

@CyberZHG thanks.  May be worth also releasing a v0.81.1 patch release which sets an upper bound on the keras-transformer dependency, but your call if that's really needed.

I'm assuming a v0.81.1 is not on the cards (fair call), so closing, as the issue has been fixed.

@joseph-wakeling-frequenz Added one: https://pypi.org/project/keras-bert/0.81.1/

pip install keras-bert==0.81.1 slove the problem


Paging on GET

I've noticed that a GET on for example /applications, only returns the first 10 items. Is there a way to specify how many items should be returned and if possible, "all" items?

Scratch that, just found another issue where it says that you should add ?limit=0 to your url.


failed autojoin when joining a complex condition

In the integration test "join with complex condition" (joins/joinWithComplexCondition.test) we fail to autojoin in QScript.
This behavior is exhibited after the merge of #1865.
               "select l.sha as child, l.author.login as c_auth, r.sha as parent, r.author.login as p_auth
                from `../slamengine_commits` as l join `../slamengine_commits_dup` as r
                on r.sha = l.parents[0].sha and l.author.login = r.author.login
                where l.author.login || \",\" || r.author.login = \"selloutsellout\""

Simplified examples:
select r.x, l.y from slamengine_commits as l join slamengine_commits_dup as r on r.x=l.a.b

and
select r.x, l.y from slamengine_commits as l join slamengine_commits_dup as r on r.x=l.a[0]

When the join condition projects more than once into l (e.g. l.a.b or l.a[0]) we fail to autojoin.
Digging in a bit, the problem happens before we even try to construct the actual ThetaJoin. We first construct a ThetaJoin that just represents r.x = l.a.b, which we expect to do. But the construction of this has yet another ThetaJoin as one of its branches, which is what's incorrect.

What QScript is failing to support is illustrated really nicely when you look at the LogicalPlan. Consider the join condition select * from zips join smallZips on zips.ack = smallZips.foo. Then in the LP we have
      ├─ Invoke(InnerJoin)
      │  ├─ Free('__tmp0)
      │  ├─ Free('__tmp1)
      │  ╰─ Invoke(Eq)
      │     ├─ ObjectProject('__tmp0{"x"})
      │     ╰─ ObjectProject('__tmp1{"foo"})

In this first case, we join the left and right branches of the Eq with '__tmp0 and '__tmp1, respectively, and all merges cleanly.
Now consider select * from zips join smallZips on zips.ack = smallZips.foo.bar whose pertinent LP subset looks like
      ├─ Invoke(InnerJoin)
      │  ├─ Free('__tmp0)
      │  ├─ Free('__tmp1)
      │  ╰─ Let('__check2)
      │     ├─ ObjectProject('__tmp1{"foo"})
      │     ╰─ Typecheck(Obj(Map[], Some(Top)))
      │        ├─ Free('__check2)
      │        ├─ Invoke(Eq)
      │        │  ├─ ObjectProject('__tmp0{"x"})
      │        │  ╰─ ObjectProject('__check2{"bar"})
      │        ╰─ Constant(NA)

In this second case, we still need to join the left and right branches of the condition with '__tmp0 and '__tmp1, but now, written in shorthand, the condition is really
Typecheck(
  Obj,
  tmp1.foo,
  Eq(tmp0.x, tmp1.foo.bar),
  Undefined)

We do not "look through" the Typecheck to look at the branches of the Eq and instead take the Typecheck as the whole join condition, which in QScript will contain an extra ThetaJoin (from the autojoin3 that attempts to join the 3 sides of the Typecheck).

Oh! We fixed[†] this on @drostron’s key join branch. It could perhaps be extracted?
[†]: I’m sure it needs some massaging to not break anything.

@sellout Oh! What's the status of that branch? Is it pushed? Did you come to same conclusion about the problem as I did above?
What about #1866 - did you folks look into that one at all? (Could be the same problem, I haven't looked at all yet.)

@sellout I'd be happy to extract it if possible. I'd like to be sure these QScript bugs are out of the way before I dive into performance work.

Yeah, it looks like that might be the same. The change in @drostron’s branch is a real fix to the problem. There is also a crappy fix that we used in the old Mongo planner that is called something like elideTypechecksFromJoinCondition, which just throws away the Typechecks that get in the way.

Cool. @drostron what's your branch? Is this bug fix a separate commit or mixed in with other stuff? If I could get that work, that would be awesome. I'd be happy to extract it myself. Or if you're close to PRing, then this ticket can wait until then.

(Note: test joinWithMultipleConditions.test and joinWithReversedCondition.test also have this same problem. When this is fixed, it should be verified that those tests also work.)

@alissapajer Please excuse the exploratory condition of the branch, but here's the relevant commit. Files of interest are quasar/package.scala, LogicalPlanR.scala, Optimizer.scala, and quasar/sql/helpers.scala.

Updated ult with branch and relevant commit.

@drostron thanks! I'll let you know what I end up doing so you can merge any work I do back into your branch hopefully easily.

Ok, so a bit of explanation … the most important bit is the Typecheck cases here. What got fixed in this code is that Typechecks used to trigger a condition being pulled into a post-Filter (because we never had ThetaJoins), we needed to keep the equality as a join condition for CB joins to work, so now Typechecks get applied to one branch or the other as a pre-filter, leaving only the actual equality condition in the join.
As an aside, the part of this code that moved non-equi conditions to post filters should be removed, since we don’t want to do that unless a connector tells us to convert ThetaJoins to EquiJoins, but it can’t be removed until old Mongo is gone.

This ticket requires (and is partially fixed by) #1892


Mvc samples not working

Just pulled dev branch and got latest DNX runtime bits (Unstable branch) and ran DNU restore for the samples. Running the MvcSample and Taghelper samples are giving compilation errors:
MvcSample - HttpContext missing
TagHelper - IServiceCollection missing
I figure some of the packages in the project.json files are wrong but I can't seem to get the right combination.

Looked at this issue. This occurs if the sample is restored and built without building the Mvc source. This looks like some design quirk of how dnx resolves dependencies for projects referenced through global.json.
There are two workarounds to this problem.

Run dnu restore on the entire Mvc source (the src folder)
Move the sample out of the Mvc folder so that it does not reference the project through global.json.

Please reopen the issue if none of these workarounds fix it.


Update README.md with the Browser Functional Tests badge

Description
After adding the build pipeline to run functional tests for browser bots, this PR adds the status badge to the README.ms
Specific Changes

Add the badge reporting the functional tests status.

Pull Request Test Coverage Report for Build 94020

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 85.882%

Totals

Change from base Build 93988:
0.0%

Covered Lines:
8164

Relevant Lines:
9196

💛  - Coveralls


keep_alive not response with header Connection:

with a  Http server set keep_alive to true, and use ab (-k to set keep-alive) to test
➜   git:(master) ✗ ab   -k -v 4 -c 1 -n 1 http://<IP_ADDRESS>:8080/bar
This is ApacheBench, Version 2.3 <$Revision: 1706008 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking <IP_ADDRESS> (be patient)...INFO: GET header ==
---
GET /bar HTTP/1.0
Connection: Keep-Alive
Host: <IP_ADDRESS>:8080
User-Agent: ApacheBench/2.3
Accept: */*

---
LOG: header received:
HTTP/1.1 406 Not Acceptable
Content-Length: 42
Date: Thu, 30 Nov 2017 04:56:01 GMT

{"error": "invalid digit found in string"}
WARNING: Response code not 2xx (406)
apr_pollset_poll: The timeout specified has expired (70007)

ab will hang, because it is expected to receive the Connection header and check it.
i add a connection header myself in the response to address the problem, but i think hyper should better add the header automatically， or it is supposed to be add by youself as expected?
some ref i found: draft-ietf-http-v11-spec

HTTP/1.1 connections are assumed to be kept alive unless otherwise stated with a Connection: close: https://tools.ietf.org/html/rfc7230#section-6.3.
Why do you think it's trying to read a Connection header? It's already read past the headers into the body, so more headers are definitely not going to be sent.

Ah, the issue is that ab is sending an HTTP/1.0 request but Hyper's responding with an HTTP/1.1 response. I think this is the same as https://github.com/hyperium/hyper/issues/1304.

thanks for you reply, it's the same as #1304  i even did'n notice that ab send HTTP/1.0 😢  .

Yep, this is #1304. Closing as duplicate.


integration_test screenshots do not work on firebase android test lab

Use case
I would like to use firebase test lab to test my flutter app on Android devices, and I'd like to be able to collect screenshots as the tests run.
The integration_test package has detailed instructions on how to get a flutter app working with firebase android test lab, and that works well.
However, any screenshots taken are discarded.
Note that this already works properly on iOS: the screenshots are recorded in the XCode xctestresult files that are produced by firebase test lab.
It looks like this was partially implemented for integration_test on Android, but was not finished. The comment in FlutterDeviceScreenshot.java says the following:

// TODO(egarciad): InstrumentationRegistry requires the uiautomator dependency.
// However, Flutter adds test dependencies to release builds.
// As a result, disable screenshots with instrumentation until the issue is fixed.
// https://github.com/flutter/flutter/issues/56591

Issue 56591 looks hard to fix and has been deprioritized, but this means that firebase test lab + android + flutter work poorly together.
Proposal
I can see a few possible solutions.

Get someone to fix https://github.com/flutter/flutter/issues/56591. This bug has been neglected, but maybe it just needs to be prioritized?

Find a workaround that uses the Android Instrumentation Test APIs (the flutter iOS team has solved this, perhaps something similar could work for Android as well.)

Find a workaround that does not use Android instrumentation tests, but still writes files in some location that firebase test lab for android will save.

@speaking-in-code Can you explain how do you get the screenshots in Firebase when executing XCTests. I run my XCTests and they pass but can't find screenshots anywhere. I use the showcased way in Flutter integration_test for taking screenshots inside integration tests.


feature request: ignore absence of .h file

I'm currently writing a CUDA project which is supposed to be executed at a remote server because i don't have CUDA library locally.
I've read here in some issue that absence of header file is critical error and gcc just stops further parsing, but i wonder if there any chance of implementing a tricky feature that would allow not to check presence of manually marked libraries?

That isn't possible, sorry.  Syntastic doesn't know about C syntax, include files, and the like.  Syntastic doesn't even care about the contents of your files, all it does is delegate the work to external linters, and parse back the results.  So your options are to either convince gcc not to bail out abruptly when it can't find a header, create dummy header files (something along the lines of touch /path/to/foo.h), or use some other compiler.


the ability to copy as well as directly translate any text (through another application)

the ability to copy as well as directly translate any text (through another application)
so that absolutely anyone can use your app. Through a translator. I use https://www.f-droid.org/packages/com.example.deeplviewer/, by the way :)

This needs to be done for all locations in the app, please!

Fixed in 07a6c8dea11609e46c0e03a220c17d0fab57ea2c

@Wjxfi
It works for me. (I do not have DeepL translator installed so obviously there will not be the translate option there; only the copy option)
Have you installed the latest version? I used the version from Google Play store.

@Wjxfi Thanks for noting, I was able to reproduce both issues and have opened #14 and #15 to track them. They appear to be upstream problems with the UI framework, so they're waiting for a fix from Google.


Add Netlink Protocol Families to SockProtocol enum

Currently the SockProtocol enum is rather scarce. This commit adds the Netlink protocols
defined in netlink(7) to the SockProtocol enum allowing us to use the Nix socket library for
more in-depth Netlink work.
Because of the way libc sockets work, this is a bit more annoying than it has any right to be - the Socket Family and the Socket protocol are intertwined in that a given c_int protocol can represent different things depending on the family. This means that as we add values to this enum we're going to get collisions (Indeed, I've left out a few values that collided with the existing TCP/UDP Protocols). I'm not sure how we would want to handle this going forward - maybe different Protocol enums for different Familys, with Into<SockProtocol> methods?
I followed the existing pattern in this file when adding these, but perhaps as this enum gets bigger, we should use the libc_enum macro for cleanliness?

Addresses #1288

This seems simple enough.  And yes, libc_enum is certainly a better way to do this.  Could you add a CHANGELOG entry?

Done @asomers - I figure changing to libc_enum involves changing the enum members names (Making them conform with libc naming standards) so would be a breaking change. Better to leave it out of this PR I think and address in a major release at some point. Thanks!


What is the expected content of the dictionary file when using custom separator with LoadBigramDictionary?

When I tried to load a dictionary file (using '$' as the separator) that looks like:
different distributions$123
growth factor$456

I wasn't able to add any terms to bigrams since line.Split(separatorChars) split it into 2 parts. May I know how should we format the dictionary file content when loading it with LoadBigramDictionary and a custom separator?

There was a bug in my code. Please see the corrected version:
`
public bool LoadBigramDictionary(Stream corpusStream, int termIndex, int countIndex, char[] separatorChars = defaultSeparatorChars)
{
using (StreamReader sr = new StreamReader(corpusStream, System.Text.Encoding.UTF8, false))
{
String line;
int linePartsLenth = (separatorChars == defaultSeparatorChars) ? 3 : 2;
//process a single line at a time only for memory efficiency
while ((line = sr.ReadLine()) != null)
{
string[] lineParts = line.Split(separatorChars);
            if (lineParts.Length >= linePartsLenth)
            {
                //if default (whitespace) is defined as separator take 2 term parts, otherwise take only one
                string key = (separatorChars == defaultSeparatorChars) ? lineParts[termIndex] + " " + lineParts[termIndex + 1]: lineParts[termIndex];
                //Int64 count;
                if (Int64.TryParse(lineParts[countIndex], out Int64 count))
                {
                    bigrams[key] = count;
                    if (count < bigramCountMin) bigramCountMin = count;
                }
            }
        }
    }
    return true;
}

`

I see, so we change the number of line parts to check for depending on whether a custom separator was used. Thanks!


how to run a bert-based model

after install the pytorch-pretrained-bert 0.6.1, and loading vocabulary file https://s3.amazonaws.com/models.huggingface.co/bert/bert-base-uncased-vocab.txt , it shows:
https://s3.amazonaws.com/models.huggingface.co/bert/bert-base-uncased.tar.gz not found in cache, downloading to /tmp/tmpzqs03pcr
want to know whether I can install the tar.gz in advance? and how?

You can set a path or url to a pretrained model archive to the from_pretrained() method. See this link.

Thank you for your reply! But after I download from AWS S3, I couldn't find the file: pytorch_model.bin a PyTorch dump of a pre-trained instance of BertForPreTraining, OpenAIGPTModel, TransfoXLModel, GPT2LMHeadModel (saved with the usual torch.save())
emm, how to solve it?

Is it possible that your network problem caused you to fail to download successfully?

Thanks. I have solved the problem by using the
function: convert_tf_checkpoint_to_pytorch('../bert/bert_model.ckpt', '../bert/bert_config.json', '../bert/pytorch_model.bin')


Delete local branches command surfacing branches that do not exist causing hang

In my case these were all the steps (not a minimal repro):

Have a bunch of branches from the extensions
Execute the Delete local branches and remotes command
Select all and delete

...wait... it did not terminate after several minutes

Reload window
Repeat 1 - 4
Execute the command again but select 1 branch.

:bug: => notice that the command hangs and Git output channel says the branch does not exist (which is true)

I checked in a fix to prevent showing the branch you are currently on in the quick pick and to properly exit on error. I'm still not sure why the git config is out of sync with git, I'm wondering if it's an issue with git for windows itself. What version are you using?

git version 2.23.0.windows.1

Updates are available for:
	git: 2.23.0.windows.1 -> 2.24.0.windows.2


Comments on submissions

[x] Making comments
[x] Viewing comments
[x] Full diff (all context lines)

Now exists in v3.


Problem when installing Readarr on Homeassistant

Discussed in https://github.com/alexbelgium/hassio-addons/discussions/420

Originally posted by Trodfoot August  9, 2022
I thought since I am new at reporting errors I would first ask about it, rather than just put it in the issue area. Sorry if I am wrong.
So I am trying to install readarr as an addon to homeassistant and I go into configuration and change the location that put there /config/readarr  to /config/addons_config/readarr as that is where other addons are... When I go to the log to watch the container start up the config line that is passed to the program is being overwritten.  Here is part of the output:   [Info] AppFolderInfo: Data directory is being overridden to [/config/addons_config/radarr/readarr]    I didn't add the radarr I checked 3 times.
The next line is:  [Info] MigrationController: *** Migrating data source=/config/addons_config/radarr/readarr/readarr. So it got worse.  I have the full log if its wanted,  I didn't know how to link it as a download.  At least the programmer had a sense of humour because the next line read: [Fatal] ConsoleApp: EPIC FAIL!, I just thought no kidding.

Hi, Ahah, love programmer's humour :)
Actually it was a residual code issue in my addon, a line that was relevant at some point in the past but not anymore. I've pushed a new version that hopefully solves this. Thanks!

Adding this here for traceability

....420


[apps] migrate apps package to be within top level stream_alert package

to: @austinbyers
cc: @airbnb/streamalert-maintainers
size: medium
Background
The app_integration lambda function package is currently outside of the root stream_alert package. This was initially done with the thought that it wouldn't be tightly coupled to the streamalert code, but this has since become moot.
Changes

Migrating the root app_integrations directory to stream_alert/apps.
Updating packaging logic for new folder structure and lambda handler path.
Changing import logic for apps to make implementing a new app a bit simpler.
Removing most references to app_integration in favor of just app (including in the CLI).

Testing

Updating all unit tests imports for new path.
Noticed a slow down in tests after migration, and dug deeper to figure out it was related to the combination of testing the tests/unit/stream_alert_alert_processor and tests/unit/stream_alert_apps packages at the same time. I discovered the mock_kms and mock_s3 mocking was causing issues for some reason, so I moved these mockers into the setup/teardown.

Coverage increased (+0.01%) to 97.234% when pulling 774c1089d5f4da2ee452fd90d06b1b3fa4e7db43 on ryandeivert-migrate-apps-package into 90e07bddc03c67f8824d4d650ae0fa379efbfe40 on master.

@chunyong-lin PTAL


[Feature]: Shopify Plus Multiple Stores + Shopify Partners Multi access

What area(s) will this request affect?
Theme
What type of change do you want to see?
New feature
Overview
Shopify CLI 3.0 is a great tool for theme development however it is hard to manage compared to Shopify themekit when it comes to handling multiple stores.
Via themekit we are able to connect a folder to a specific store without needing to switch authentication.
Motivation
I am handling multiple stores at a time, and doing minimal changes while working on a big feature at another store.  You can say that in a day I need to switch to around 5-10 stores.
Then I have a client in Shopify Plus that atleast have 6 different stores in one account but still need relogging in everytime you switch.
It is very hard to switch as I need to relogin all the time just to connect with another store's CLI.
For example you are working on a big feature in store A, then store B just needs a very tiny change.
Switching to store B and switching back to A takes alot more effort than the actual change.  Unlike with themekit before where you can easily have 10 code editor opened then just switch very easily by literally just moving to the editor that is connected with the store and viola you are done.
Ideally I loved how the authenticator making our accounts more secured but with authenticator this makes it a lot harder so I was forced to remove it.
I have been using the Shopify CLI since it was released, but almost everyday I want to switch back to themekit because of this.  I hope you can find a way.

I can understand how that friction would be frustrating when switching between numerous stores!
We can look into seeing if we can make platform-level changes to make this easier, however with the number of moving parts related to this that may take a while before we can deliver something tangible.
In the meantime, would https://shopify.dev/docs/storefronts/themes/tools/cli/environments be helpful in removing some friction? You can pass this in using an -e flag.

You can set SHOPIFY_FLAG_ENVIRONMENT in your shell config and overriding that with the -e flag as needed.
Let me know how that works out for you!


chore: Adding JS Object Events

Description
Adding events for following:

JS_OBJECT_CREATED
JS_OBJECT_FUNCTION_RUN
JS_OBJECT_FUNCTION_ADDED

Fixes #14707
Type of change

Chore

How Has This Been Tested?
Yes
Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

/ok-to-test sha=86a49c5


Add allowed_instructions to SwarmConfig

This commit updates SwarmConfig to use the input to filter what
kinds/classes of instructions can be generated. This should
theoretically help explore the instruction space a bit more by having
generated modules where entire classes of instructions are disabled or
are the only ones enabled.

Note that some kinds of instructions won't ever really be generated without another kind enabled at the same time (e.g. can't do memory loads/stores without also having numeric instructions to generate addresses).
It is probably fine to just let the fuzzer explore the config combos till it finds interesting combinations of allowed kinds, but if for whatever reason we find that it can't do that in practice, something we can try in the future is having dependencies between instruction kinds.


SKIP/NEXT buttons missing on Survey step

If you have a survey question that opens the keyboard, then you click 'next' to go to the next question, if there is enough content that it ends under the keyboard without scrolling, then the buttons do not appear. For example if i add an extra option to the last question in the asthma survey, it will cause this. It does not happen if I add several options that cause scrolling, or if the user closes the keyboard first.

I've done some debugging and what I think is happening is in FixedSubmitBarLayout:
private void onScrollChanged(ScrollView scrollView, View submitBarGuide, View submitBar)
    {
        int scrollY = scrollView.getScrollY();
        int guidePosition = submitBarGuide.getTop() - scrollY;
        int guideHeight = submitBarGuide.getHeight();
        int yLimit = scrollView.getHeight() - guideHeight;

        if(guidePosition <= yLimit)
        {
            ViewCompat.setTranslationY(submitBar, 0);
        }
        else
        {
            int translationY = guidePosition - yLimit;
            ViewCompat.setTranslationY(submitBar, translationY);
        }
    }

It's making this calculation while the keyboard is open causing the submitbar to be translated by translationY=182 which I assume is off the screen once the keyboard is closed.

possible duplicate of #272 and #302

possible duplicate of #272 and #302


docs: Update Flutter version in Bare Flame game tutorial

Description

Update the output of flutter doctor and the contents of pubspec.yaml to reflect 2023.
Checklist

[ ] I have followed the Contributor Guide when preparing my PR.
[ ] I have updated/added tests for ALL new/updated/fixed functionality.
[ ] I have updated/added relevant documentation in docs and added dartdoc comments with ///.
[ ] I have updated/added relevant examples in examples or docs.

Breaking Change?

[ ] Yes, this PR is a breaking change.
[x] No, this PR is not a breaking change.

Related Issues

@spydon How would you like me to deal with the spell checker failure? I can modify the flutter doctor output to not mention problematic IDE?

@spydon How would you like me to deal with the spell checker failure? I can modify the flutter doctor output to not mention problematic IDE?

You can add it to the dart_dictionary

Haha what a tricky one, I think you have to add just intelli for it to work? :thinking:

Haha what a tricky one, I think you have to add just intelli for it to work? 🤔 Or do fix in the verify script

I'm giving intelli a try. Colour me amused...


Proposal: Instream Parameters enhancement

I have dropped a working enhancement into Actions.  It allows parameters to be passed to a function.  I found it very useful to act as conditional logic and to write an HTML generator that connected the generated HTML to the javascript supporting code.
I was not sure how if the pull request was performed the correct way. The code modification is about a dozen lines to Mustache.js plus the section added to README.md.
It may also be an implementation of issue #677

Hi @srp7474!
Cool to see you've come up with some really handy modifications that could be really useful for others as well, thanks for sharing 👍
I'll be honest and say I'm hesitant merging them primarily because of one reason; mustache.js is supposed to be a pure JavaScript implementation of the mustache spec. That's both good and bad, it works perfectly for many but lacks a lot of trivial features for others.
In practise that means syntax wise there isn't much room creativity for things not part of the mustache spec. I believe implementations in other languages, such the PHP equivalent, has introduced a concept in its core that allows anyone to extend the mustache syntax without touching the core library, called "pragma"s I believe. Sadly we haven't come to introducing that in mustache.js yet, but for me personally that's the sensible way to introduce unofficial syntax or features.
Would love ideas on how to communicate this properly in our README.md, which could have helped set your (and future contributors) expectations earlier.

Thanks Phillip for your input. What you said makes sense in the overall scheme of things.


Handle paging with go routines for gitlab plugin

Description
Right now, we only pull one page of data but we need to pull all pages of data as efficiently as possible

I'll try to add a go-routines PR

Done


A single select option cannot be disabled

When creating a select field, I'm trying to disable an option this way:
f.input_field :foo, label: false, as: :select, collection: Foo.all, disabled: 'bar'
It is disabling the option with the 'bar' value, but it is also disabling the entire select.

We have a test to asset that this behavior works https://github.com/plataformatec/simple_form/blob/81b9d7d3439225c7613e570afb44596acfa97a76/test/inputs/collection_select_input_test.rb#L234-L240. Could you provide a way to reproduce the behavior you are describing?

Sure. Just use any page in a Rails project to put a form:
<%= simple_form_for :model do |f| %>
  <%= f.input_field :attr_id, as: :select, collection: AttrModel.all, disabled: 1 %>
<% end %>

This will result in a disabled dropdown, with the option with ID=1 also disabled.
There is a way to make it working:
Use input instead of input_field, and add label: false: <%= f.input :attr_id, label: false, as: :select, collection: AttrModel.all, disabled: 1 %>
Should not the input_field behave the same way?


@riodeuno @marks0351 props should be passed here as a dependency as well. I will add it. However,  it will defeat the purpose of useMemo.

          @riodeuno @marks0351 props should be passed here as a dependency as well. I will add it. However,  it will defeat the purpose of useMemo.

The question is that very few props in limited widgetTypes affect the calculations here. (See ButtonGroupWidget and RateWidget). Does it make sense to isolate such props into a separate interface, which can then be passed as a dependancy here.
Originally posted by @prsidhu in https://github.com/appsmithorg/appsmith/pull/28206#discussion_r1364690546

https://github.com/appsmithorg/appsmith/pull/28206#discussion_r1365386159


Fix pid error in linux sysvinit

1. What does this change do, exactly?
Fixes two issues with the dist/init/linux-sysvinit/caddy init script, specifically it fixes an issue where the log isn't created and secondly it fixes a spurious error in the log file because the daemon user isn't responsible for writing the pid file.
2. Please link to the relevant issues.
None as far as I am aware.
3. Which documentation changes (if any) need to be made because of this PR?
None.
4. Checklist

[N/A] I have written tests and verified that they fail without my change
[Yes] I have squashed any insignificant commits
[N/A] This change has comments for package types, values, functions, and non-obvious lines of code
[Yes] I am willing to help maintain this change if there are issues with it later

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Looks good.

How does this look @djvdorp?

I think the change is sane and looks good @timothywlewis!
Thank you for your contribution! That's a good improvement here.


C90 Compliance

There was an issue in the original library for C90
compliance here: https://github.com/antirez/sds/issues/74
For a utility library like sds it would be nice to be
compliant even with older C standards and it looks like
there are not that many changes needed.
What do you think? @jcorporation
If you like the idea, I can submit a PR.

I am not very interested for C90 compatibility, but I will merge a PR it it has no disadvantages.

sds.c:640:52: warning: ISO C90 does not support ‘long long’ [-Wlong-long]

How would you workaround this?

How would you workaround this?

Most issues can be solved with conditional compilation such as:
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
    long long num;
#else
    long num;
#endif

This will have no runtime disadvantage, but the code will be bloated somewhat.
The only issue where it's not clear what to
do is that C90 does not support flexible array members.
We could use a pointer to the array:
struct __attribute__ ((__packed__)) sdshdr5 {
    unsigned char flags; /* 3 lsb of type, and 5 msb of string length */
    #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
        char buf[];
    #else
        char *buf;
    #endif

};

But then we have to manually allocate and deallocate the memory.

Sorry for the very late response.

But then we have to manually allocate and deallocate the memory.

I do not like this.


Strike Select - disabling the option prevents preset values from selecting the option

If an option is set to disabled setting the value of the select does not select the option.

this will be added in our next release


[libffi:x64-windows] build failure

Host Environment

OS: Windows 10
Compiler: revision

To Reproduce
Steps to reproduce the behavior:
Run 'vcpkg install libffi:x64-windows'
Failure logs
Computing installation plan...
The following packages will be built and installed:
libffi[core]:x64-windows
Detecting compiler hash for triplet x64-windows...
Starting package 1/1: libffi:x64-windows
Building package libffi[core]:x64-windows...
Could not locate cached archive: C:\Users\homedry\AppData\Local\vcpkg\archives\f1\f198d59d4c6889d9c1f38d8202911295ee0e140f.zip
-- Using cached C:/vcpkg/downloads/libffi-libffi-v3.3.tar.gz
-- Cleaning sources at C:/vcpkg/buildtrees/libffi/src/v3.3-8557367958.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source C:/vcpkg/downloads/libffi-libffi-v3.3.tar.gz
-- Applying patch win64-disable-stackframe-check.patch
-- Applying patch win32-disable-stackframe-check.patch
-- Using source at C:/vcpkg/buildtrees/libffi/src/v3.3-8557367958.clean
-- Configuring x64-windows
-- Building x64-windows-dbg
-- Building x64-windows-rel
-- Fixing pkgconfig
-- Acquiring MSYS Packages...
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:72 (message):
Command failed: C:/vcpkg/downloads/tools/msys2/msys64/usr/bin/bash.exe --noprofile --norc -c "pacman -S --noconfirm --needed pkg-config"
Working Directory: C:/vcpkg/downloads/tools/msys2
Error code: 1
See logs for more information:
C:\vcpkg\buildtrees\libffi\msys-pacman-x64-windows-err.log
Call Stack (most recent call first):
scripts/cmake/vcpkg_acquire_msys.cmake:153 (vcpkg_execute_required_process)
scripts/cmake/vcpkg_fixup_pkgconfig.cmake:281 (vcpkg_acquire_msys)
ports/libffi/portfile.cmake:50 (vcpkg_fixup_pkgconfig)
scripts/ports.cmake:79 (include)
Error: Building package libffi:x64-windows failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with .\vcpkg update, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
Package: libffi:x64-windows
Vcpkg version: 2020.06.15-nohash
Additionally, attach any relevant sections from the log files above.
Additional context
I got to know this issue when I tried to install wt first.

Looks like pkg-config.exe is missing in your msys2 installation.
Try deleting or renaming the [vcpkg-root]\downloads\tools\msys2 directory/folder and try again

@homedry, could you try the step that StarGate-One provided?

This issue has been fixed, if you try above steps, it should pass.


Document that DJANGO_SETTINGS_MODULE must be set.

DJANGO_SETTINGS_MODULE must be set before importing Cling. See #28.

I don't believe this should be necessary, so I'm going to close this. Feel free to convince me otherwise.


iox-#2209 Refactor ssize_t to iox_ssize_t for Windows compatibility

This change updates the ssize_t type to iox_ssize_t in Windows-specific files to resolve a compatibility issue. It ensures consistent type usage and includes the necessary headers for type definitions.
Notes for Reviewer

Pre-Review Checklist for the PR Author

[x] Code follows the coding style of CONTRIBUTING.md
[x] Tests follow the best practice for testing
[x] Changelog updated in the unreleased section including API breaking changes
[x] Branch follows the naming format (iox-123-this-is-a-branch)
[x] Commits messages are according to this guideline

[x] Commit messages have the issue ID (iox-#123 commit text)
[x] Commit author matches Eclipse Contributor Agreement (and ECA is signed)

[x] Update the PR title

Follow the same conventions as for commit messages
Link to the relevant issue

[x] Relevant issues are linked
[x] Add sensible notes for the reviewer
[x] All checks have passed (except task-list-completed)
[x] Assign PR to reviewer

Checklist for the PR Reviewer

[x] Consider a second reviewer for complex new features or larger refactorings
[x] Commits are properly organized and messages are according to the guideline
[x] Code according to our coding style and naming conventions
[x] Unit tests have been written for new behavior
[x] Public API changes are documented via doxygen
[x] Copyright owner are updated in the changed files
[x] All touched (C/C++) source code files from iceoryx_hoofs have been added to ./clang-tidy-diff-scans.txt
[x] PR title describes the changes

Post-review Checklist for the PR Author

[x] All open points are addressed and tracked via issues

References

Closes #2209

@elBoberido  I don't have windows to check the build :(

Can you please add this to the end of the bugfix section of iceoryx-unreleased.md
ssize_t: redefinition; different basic types [#2209](https://github.com/eclipse-iceoryx/iceoryx/issues/2209)

@elBoberido fixed

It also seems that you need to run clang-format on the changed files.

@elBoberido  fixed

@elBoberido done :)

With the latest changes this should also be fixed.

@elBoberido if you return it then it doesn't work on msvc

With the latest changes this should also be fixed.

@elBoberido if you return it then it doesn't work on msvc

I just tried it locally with msvc and also mingw and it worked. I think it was just an intermediate problem. Can you revert that change to see if the CI has an other opinion :)

I just tried it locally with msvc and also mingw and it worked. I think it was just an intermediate problem. Can you revert that change to see if the CI has an other opinion :)

@elBoberido canceled the changes

With the latest changes this should also be fixed.

@elBoberido if you return it then it doesn't work on msvc

I just tried it locally with msvc and also mingw and it worked. I think it was just an intermediate problem. Can you revert that change to see if the CI has an other opinion :)

@elBoberido Error in Build & Test / build-test-windows-msvc

With the latest changes this should also be fixed.

@elBoberido if you return it then it doesn't work on msvc

I just tried it locally with msvc and also mingw and it worked. I think it was just an intermediate problem. Can you revert that change to see if the CI has an other opinion :)

@elBoberido Error in Build & Test / build-test-windows-msvc
D:\a\iceoryx\iceoryx\iceoryx_platform\win\include\iceoryx_platform\mqueue.hpp(55,8): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [D:\a\iceoryx\iceoryx\build\hoofs\iceoryx_hoofs.vcxproj]

Oh, sorry. I was not precise enough. With revert the changes I actually meant to replace mqd_t with iox_ssize_t. Can you please do that for the two functions. With the current code it would be to replace  ssize_t with iox_ssize_t.
Can you then also please squash the last three commits.

Oh, sorry. I was not precise enough. With revert the changes I actually meant to replace mqd_t with iox_ssize_t. Can you please do that for the two functions. With the current code it would be to replace ssize_t with iox_ssize_t.

@elBoberido fixed

Can you then also please squash the last three commits.

@elBoberido done

Thanks :)


Court user notifications

[ ] #248
[ ] #1079

Hey @jaybuidl , Can I work on this?

Hey @jaybuidl, I didn't find any backend for the email and notification service should I create a backend for this service?

Hey @jaybuidl , Pls take a quick look at my node backend. link


Added a defer to an Unlock that immediately followed a Lock

Signed-off-by: haircommander<EMAIL_ADDRESS>Fixes: #907

I don't have any memory of timing issues here, so I'm inclined to believe
it's just me making silly mistakes. LGTM. Someone not on a cell phone can
trigger the merge :-)
On Tue, Jun 5, 2018, 15:08 Tom Sweeney<EMAIL_ADDRESS>wrote:

@TomSweeneyRedHat commented on this pull request.
This change LGTM, but I've a vague memory of @mheon
https://github.com/mheon removing the defer here due to some unexpected
timing issue. I'd like his look see first.
If by chance the code should stay as is, then we need to add a comment
talking about why the defer is not here.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/projectatomic/libpod/pull/909#pullrequestreview-126153730,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHYHCNhyDg0zQNU8fU4Tb9WjCHzhUwhjks5t5vNCgaJpZM4UbefY
.

LGTM. Merging since @mheon gave the go ahead.

:champagne: toast to @haircommander for the eagle eye.

@umohnani8 Should not manually merge, use rh-atomic-bot in the future.

@rhatdan yeah I figured I made a mistake when I did that. Sorry, will use that in future.