[BUG] Compilation error on v0.0.11

Hi, I tried to run (cargo install pylyzer) but it failed :(

$ cargo install pylyzer
    Updating crates.io index
  Downloaded pylyzer v0.0.11
  Downloaded 1 crate (690.1 KB) in 3.41s
  Installing pylyzer v0.0.11
  Downloaded either v1.8.1
  Downloaded fake-simd v0.1.2
  Downloaded bitflags v1.3.2
  Downloaded rand_core v0.4.2
  Downloaded itoa v1.0.6
  Downloaded idna v0.3.0
  Downloaded rand_os v0.1.3
  Downloaded unicode-normalization v0.1.22
  Downloaded digest v0.8.1
  Downloaded diff v0.1.13
  Downloaded generic-array v0.12.4
  Downloaded rand_hc v0.1.0
  Downloaded rand_chacha v0.1.1
  Downloaded byte-tools v0.3.1
  Downloaded block-padding v0.1.5
  Downloaded lazy_static v1.4.0
  Downloaded aho-corasick v0.7.20
  Downloaded serde_repr v0.1.11
  Downloaded num-bigint v0.2.6
  Downloaded block-buffer v0.7.3
  Downloaded regex-syntax v0.6.28
  Downloaded ryu v1.0.13
  Downloaded form_urlencoded v1.1.0
  Downloaded unicode-xid v0.1.0
  Downloaded tinyvec v1.6.0
  Downloaded rand_core v0.3.1
  Downloaded unicode-xid v0.2.4
  Downloaded unicode-bidi v0.3.11
  Downloaded unicode-ident v1.0.8
  Downloaded num-traits v0.2.15
  Downloaded syn v1.0.109
  Downloaded strsim v0.10.0
  Downloaded rand_isaac v0.1.1
  Downloaded url v2.3.1
  Downloaded unic-ucd-ident v0.9.0
  Downloaded tinyvec_macros v0.1.1
  Downloaded num-integer v0.1.45
  Downloaded unic-char-property v0.9.0
  Downloaded rand_xorshift v0.1.1
  Downloaded quote v1.0.24
  Downloaded unic-char-range v0.9.0
  Downloaded sha2 v0.8.2
  Downloaded proc-macro2 v1.0.52
  Downloaded rand_pcg v0.1.2
  Downloaded unicode_names2 v0.4.0
  Downloaded libc v0.2.140
  Downloaded rand_jitter v0.1.4
  Downloaded itertools v0.8.2
  Downloaded siphasher v0.2.3
  Downloaded serde v1.0.155
  Downloaded new_debug_unreachable v1.0.4
  Downloaded rand v0.6.5
  Downloaded phf_generator v0.7.24
  Downloaded dirs v1.0.5
  Downloaded log v0.4.17
  Downloaded serde_derive v1.0.155
  Downloaded lsp-types v0.93.2
  Downloaded atty v0.2.14
  Downloaded serde_json v1.0.94
  Downloaded precomputed-hash v0.1.1
  Downloaded percent-encoding v2.2.0
  Downloaded typenum v1.16.0
  Downloaded regex v1.7.1
  Downloaded memchr v2.5.0
  Downloaded autocfg v1.1.0
  Downloaded docopt v1.1.1
  Downloaded opaque-debug v0.2.3
  Downloaded byteorder v1.4.3
  Downloaded bit-set v0.5.3
  Downloaded autocfg v0.1.8
  Downloaded bit-vec v0.6.3
  Downloaded ascii-canvas v2.0.0
  Downloaded fixedbitset v0.1.9
  Downloaded phf_shared v0.7.24
  Downloaded ordermap v0.3.5
  Downloaded ena v0.13.1
  Downloaded unic-emoji-char v0.9.0
  Downloaded unic-ucd-version v0.9.0
  Downloaded string_cache v0.7.5
  Downloaded py2erg v0.0.11
  Downloaded unic-common v0.9.0
  Downloaded petgraph v0.4.13
  Downloaded lalrpop-util v0.17.2
  Downloaded string_cache_codegen v0.4.4
  Downloaded string_cache_shared v0.3.0
  Downloaded rustpython-parser v0.1.2
  Downloaded els v0.1.20-nightly.0
  Downloaded erg_common v0.6.8-nightly.0
  Downloaded term v0.5.2
  Downloaded erg_parser v0.6.8-nightly.0
  Downloaded erg_compiler v0.6.8-nightly.0
  Downloaded lalrpop v0.17.2
  Downloaded 92 crates (5.1 MB) in 2.97s
   Compiling autocfg v1.1.0
   Compiling libc v0.2.140
   Compiling proc-macro2 v1.0.52
   Compiling unicode-ident v1.0.8
   Compiling quote v1.0.24
   Compiling rand_core v0.4.2
   Compiling syn v1.0.109
   Compiling serde v1.0.155
   Compiling serde_derive v1.0.155
   Compiling typenum v1.16.0
   Compiling siphasher v0.2.3
   Compiling memchr v2.5.0
   Compiling log v0.4.17
   Compiling autocfg v0.1.8
   Compiling rand_core v0.3.1
   Compiling rand_jitter v0.1.4
   Compiling rand_isaac v0.1.1
   Compiling rand_pcg v0.1.2
   Compiling rand_chacha v0.1.1
   Compiling rand v0.6.5
   Compiling rand_hc v0.1.0
   Compiling rand_xorshift v0.1.1
   Compiling phf_shared v0.7.24
   Compiling erg_common v0.6.8-nightly.0
   Compiling byteorder v1.4.3
   Compiling string_cache_shared v0.3.0
   Compiling byte-tools v0.3.1
   Compiling block-padding v0.1.5
   Compiling lazy_static v1.4.0
   Compiling regex-syntax v0.6.28
   Compiling cfg-if v1.0.0
   Compiling num-traits v0.2.15
   Compiling opaque-debug v0.2.3
   Compiling precomputed-hash v0.1.1
   Compiling strsim v0.10.0
   Compiling fake-simd v0.1.2
   Compiling aho-corasick v0.7.20
   Compiling new_debug_unreachable v1.0.4
   Compiling either v1.8.1
   Compiling fixedbitset v0.1.9
   Compiling tinyvec_macros v0.1.1
   Compiling rand_os v0.1.3
   Compiling dirs v1.0.5
   Compiling ordermap v0.3.5
   Compiling bit-vec v0.6.3
   Compiling itertools v0.8.2
   Compiling generic-array v0.12.4
   Compiling term v0.5.2
   Compiling tinyvec v1.6.0
   Compiling bit-set v0.5.3
   Compiling block-buffer v0.7.3
   Compiling digest v0.8.1
   Compiling petgraph v0.4.13
   Compiling ascii-canvas v2.0.0
   Compiling sha2 v0.8.2
   Compiling atty v0.2.14
   Compiling ena v0.13.1
   Compiling num-integer v0.1.45
   Compiling unic-common v0.9.0
   Compiling unic-char-range v0.9.0
   Compiling phf_generator v0.7.24
   Compiling unicode-xid v0.1.0
   Compiling diff v0.1.13
   Compiling lalrpop-util v0.17.2
   Compiling unic-char-property v0.9.0
   Compiling string_cache_codegen v0.4.4
   Compiling unicode-normalization v0.1.22
   Compiling unic-ucd-version v0.9.0
   Compiling num-bigint v0.2.6
   Compiling unicode-xid v0.2.4
   Compiling regex v1.7.1
   Compiling serde_json v1.0.94
   Compiling unicode-bidi v0.3.11
   Compiling percent-encoding v2.2.0
   Compiling string_cache v0.7.5
   Compiling idna v0.3.0
   Compiling form_urlencoded v1.1.0
   Compiling itoa v1.0.6
   Compiling ryu v1.0.13
   Compiling erg_compiler v0.6.8-nightly.0
   Compiling unic-emoji-char v0.9.0
   Compiling unic-ucd-ident v0.9.0
   Compiling erg_parser v0.6.8-nightly.0
   Compiling bitflags v1.3.2
   Compiling unicode_names2 v0.4.0
   Compiling serde_repr v0.1.11
   Compiling docopt v1.1.1
   Compiling url v2.3.1
   Compiling lalrpop v0.17.2
   Compiling lsp-types v0.93.2
   Compiling rustpython-parser v0.1.2
   Compiling els v0.1.20-nightly.0
error: `char::methods::<impl char>::from_u32` is not yet stable as a const fn
   --> /home/hoppingturtles/.cargo/registry/src/github.com-1ecc6299db9ec823/els-0.1.20-nightly.0/completion.rs:96:38
    |
96  |       pub const STD_ITEM: char = match char::from_u32(
    |  ______________________________________^
97  | |         CompletionOrder::Normal as u32
98  | |             + CompletionOrder::Builtin as u32
99  | |             + CompletionOrder::OtherNamespace as u32,
100 | |     ) {
    | |_____^

error: could not compile `els` due to previous error
warning: build failed, waiting for other jobs to finish...
error: failed to compile `pylyzer v0.0.11`, intermediate artifacts can be found at `/tmp/cargo-installo7hGOi`

Also, I tried installing the VSCode extension, but I don't see the pylyzer language server in my settings, am I doing something wrong?

Edit: VSCode gave me this error:
[Error - 10:19:15 PM] pylyzer client: couldn't create connection to server.
Launching server using command pylyzer failed. Error: spawn pylyzer ENOENT

OS: Windows 11, but ran this on WSL2 (Ubuntu, kernel version: <IP_ADDRESS>-microsoft-standard-WSL2)

This is not a bug. Please update to rust 1.67 or higher.

And the VSCode extension works just by installing it. There is no need to change its settings.

This is not a bug. Please update to rust 1.67 or higher.

Thanks! I updated to 1.68 (from 1.66) and it worked.

And the VSCode extension works just by installing it. There is no need to change its settings.

I installed the latest version (0.1.3), and now it launches, but it fails shortly after:

[Info  - 5:14:33 PM] load_modules
[Info  - 5:14:33 PM] initializing ELS
[Info  - 5:14:36 PM] successfully bound
[Error - 5:14:36 PM] Request textDocument/codeAction failed.
  Message: Cannot call write after a stream was destroyed
  Code: -32099
[Info  - 5:14:36 PM] Connection to server got closed. Server will restart.
true
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', /home/hoppingturtles/.cargo/registry/src/github.com-1ecc6299db9ec823/erg_parser-0.6.8-nightly.0/desugar.rs:830:37
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
[Info  - 5:14:36 PM] load_modules
[Info  - 5:14:36 PM] initializing ELS
[Info  - 5:14:36 PM] successfully bound
[Error - 5:14:36 PM] Request textDocument/codeAction failed.
  Message: Cannot call write after a stream was destroyed
  Code: -32099
[Info  - 5:14:36 PM] Connection to server got closed. Server will restart.
true
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', /home/hoppingturtles/.cargo/registry/src/github.com-1ecc6299db9ec823/erg_parser-0.6.8-nightly.0/desugar.rs:830:37
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
[Info  - 5:14:37 PM] load_modules
[Info  - 5:14:37 PM] initializing ELS
[Info  - 5:14:37 PM] successfully bound
[Info  - 5:14:37 PM] textDocument/didOpen: file:///mnt/c/users/[omitted]/documents/pyprojects/python-telegram-bot/telegram/_bot.py
[Info  - 5:14:37 PM] checking file:///mnt/c/users/[omitted]/documents/pyprojects/python-telegram-bot/telegram/_bot.py
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', /home/hoppingturtles/.cargo/registry/src/github.com-1ecc6299db9ec823/erg_parser-0.6.8-nightly.0/desugar.rs:830:37
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
[Info  - 5:14:37 PM] Connection to server got closed. Server will restart.
true
[Info  - 5:14:37 PM] load_modules
[Info  - 5:14:37 PM] initializing ELS
[Info  - 5:14:37 PM] successfully bound
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', /home/hoppingturtles/.cargo/registry/src/github.com-1ecc6299db9ec823/erg_parser-0.6.8-nightly.0/desugar.rs:830:37
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
[Info  - 5:14:37 PM] textDocument/didOpen: file:///mnt/c/users/[omitted]/documents/pyprojects/python-telegram-bot/telegram/_bot.py
[Info  - 5:14:37 PM] Connection to server got closed. Server will restart.
true
[Info  - 5:14:38 PM] load_modules
[Info  - 5:14:38 PM] initializing ELS
[Info  - 5:14:38 PM] successfully bound
[Info  - 5:14:38 PM] textDocument/didOpen: file:///mnt/c/users/[omitted]/documents/pyprojects/python-telegram-bot/telegram/_bot.py
[Info  - 5:14:38 PM] checking file:///mnt/c/users/[omitted]/documents/pyprojects/python-telegram-bot/telegram/_bot.py
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', /home/hoppingturtles/.cargo/registry/src/github.com-1ecc6299db9ec823/erg_parser-0.6.8-nightly.0/desugar.rs:830:37
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
[Error - 5:14:38 PM] The pylyzer server crashed 5 times in the last 3 minutes. The server will not be restarted. See the output for more information.

I installed the latest version (0.1.3) and didn't change any settings, and now it launches, but it fails shortly after:

This was a bug. It should be fixed in the latest version.

This was a bug. It should be fixed in the latest version.

Hmm, the extension still isn't working (v0.1.3). I updated pylyzer from cargo to v0.0.12.

[Info  - 12:05:30 PM] load_modules
[Info  - 12:05:31 PM] initializing ELS
[Info  - 12:05:31 PM] successfully bound
[Info  - 12:05:31 PM] textDocument/didOpen: file:///mnt/c/users/[omitted]documents/pyprojects/python-telegram-bot/telegram/_bot.py
[Info  - 12:05:33 PM] checking file:///mnt/c/users/[omitted]/documents/pyprojects/python-telegram-bot/telegram/_bot.py
[Info  - 12:05:34 PM] Connection to server got closed. Server will restart.
true
thread 'main' panicked at 'internal error: entered unreachable code: {.default_backend = .default_backend}', /home/hoppingturtles/.cargo/registry/src/github.com-1ecc6299db9ec823/erg_compiler-0.6.8-nightly.1/context/register.rs:139:22
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
[Info  - 12:05:35 PM] initializing ELS
[Info  - 12:05:35 PM] successfully bound
[Info  - 12:05:35 PM] textDocument/didOpen: file:///mnt/c/users/[omitted]/documents/pyprojects/python-telegram-bot/telegram/_bot.py
[Info  - 12:05:35 PM] checking file:///mnt/c/users/[omitted]/documents/pyprojects/python-telegram-bot/telegram/_bot.py
thread 'main' panicked at 'internal error: entered unreachable code: {.default_backend = .default_backend}', /home/hoppingturtles/.cargo/registry/src/github.com-1ecc6299db9ec823/erg_compiler-0.6.8-nightly.1/context/register.rs:139:22
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
[Info  - 12:05:39 PM] Connection to server got closed. Server will restart.
true
[Info  - 12:05:39 PM] initializing ELS
[Info  - 12:05:39 PM] successfully bound
[Info  - 12:05:39 PM] textDocument/didOpen: file:///mnt/c/users/[omitted]/documents/pyprojects/python-telegram-bot/telegram/_bot.py
[Info  - 12:05:39 PM] checking file:///mnt/c/users/[omitted]/documents/pyprojects/python-telegram-bot/telegram/_bot.py
thread 'main' panicked at 'internal error: entered unreachable code: {.default_backend = .default_backend}', /home/hoppingturtles/.cargo/registry/src/github.com-1ecc6299db9ec823/erg_compiler-0.6.8-nightly.1/context/register.rs:139:22
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
[Info  - 12:05:42 PM] Connection to server got closed. Server will restart.
true
[Info  - 12:05:42 PM] load_modules
[Info  - 12:05:43 PM] initializing ELS
[Info  - 12:05:43 PM] successfully bound
[Info  - 12:05:43 PM] textDocument/didOpen: file:///mnt/c/users/[omitted]/documents/pyprojects/python-telegram-bot/telegram/_bot.py
[Info  - 12:05:43 PM] checking file:///mnt/c/users/[omitted]/documents/pyprojects/python-telegram-bot/telegram/_bot.py
thread 'main' panicked at 'internal error: entered unreachable code: {.default_backend = .default_backend}', /home/hoppingturtles/.cargo/registry/src/github.com-1ecc6299db9ec823/erg_compiler-0.6.8-nightly.1/context/register.rs:139:22
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
[Info  - 12:05:46 PM] Connection to server got closed. Server will restart.
true
[Info  - 12:05:46 PM] load_modules
[Info  - 12:05:46 PM] initializing ELS
[Info  - 12:05:46 PM] successfully bound
[Info  - 12:05:46 PM] textDocument/didOpen: file:///mnt/c/users/[omitted]/documents/pyprojects/python-telegram-bot/telegram/_bot.py
[Info  - 12:05:46 PM] checking file:///mnt/c/users/[omitted]/documents/pyprojects/python-telegram-bot/telegram/_bot.py
thread 'main' panicked at 'internal error: entered unreachable code: {.default_backend = .default_backend}', /home/hoppingturtles/.cargo/registry/src/github.com-1ecc6299db9ec823/erg_compiler-0.6.8-nightly.1/context/register.rs:139:22
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
[Error - 12:05:49 PM] The pylyzer server crashed 5 times in the last 3 minutes. The server will not be restarted. See the output for more information.

I get the same error when trying from the command line: pylyzer telegram/_bot.py. The file I'm referencing is available here, if that helps.

The relevant bugs have been fixed.

[Error - 6:15:41 PM] pylyzer client: couldn't create connection to server.
Launching server using command pylyzer failed. Error: spawn pylyzer ENOENT

Same on 0.1.7. I'm using rust and cargo 1.7.6. And vscode 1.86.2

Still a problem with latest release. Have rust installed.


Create zsek.txt

@AnonymousX86 Please provide us with an URL of a page or another proof showing that the school recognizes the domain which you are submitting as an official email domain for the students.

I'm not sure if it will do the job, but here's screenshot of my school Gmail. Of course all names are hidden.

@philipto is the screenshot sufficent evidence?

@AnonymousX86 I am sorry, this is not actually a best proof. If you can find a page or a document made by the school which says that students can use addresses from this domain it is much better. Thank you.

@AnonymousX86 I am sorry, this request remains unanswered for a while. I have to close it without merging. Please reopen and comment if you have an update regarding the aforementioned issue. Thank you for the understanding!


Allow LEO actions (warning/arrests/warrants) against non-registered civilians

Describe the feature
Will probably help to add some context to this request. For our use case we actually do a lot of player vs AI with random peds within the game alongside our normal roleplay.
When we write reports for these suspects they obviously don't have records within the CAD so is there a way we can enable these records to be populated against civilians that aren't registered in the CAD?
I understand it's probably too heavily linked to the civilians in the CAD system so my follow up ask would be:
Is there a way we can mass 'import' civilians that aren't assigned to user accounts for this use case? That way we could still register actions against a civilian record.
Additional Context
No response

This will require a bit more thought process, but definitely possible

Does he mean putting in a random Civilians name who are from out of state so to speak who are not in the CAD? Won't that just fill up the database with useless information though taking up space? Since most of those people will never use that name again. I mean I guess it depends on what you do in your server but.

Does he mean putting in a random Civilians name who are from out of state so to speak who are not in the CAD? Won't that just fill up the database with useless information though taking up space? Since most of those people will never use that name again. I mean I guess it depends on what you do in your server but.

It's a good question and a good point but the names would likely be re-occurring and not single use so the names will come up frequently. Which makes me think the follow up ask is probably a more appropriate option.
It certainly needs some finessing but it's a major feature for myself and my server as we can't utilise the CAD for these sort of actions when we're dealing with AI.

Is there a way we can mass 'import' civilians that aren't assigned to user accounts for this use case? That way we could still register actions against a civilian record.

What data would be imported? I'd guess name, gender and ethnicity?

What data would be imported? I'd guess name, gender and ethnicity?

Yeah doesn’t require much more than that - as long as it doesn’t need to be tied to a user account! Would be an extra bonus if the user could be edited by admins if required?

Would be an extra bonus if the user could be edited by admins if required?

I can make it work without a user account yeah, no problem with this.

What about something like this? @jxckUK
https://user-images.githubusercontent.com/53900565/150669366-b7297435-3bc8-44b1-a31c-2f808f285520.mov

Thanks for this @Dev-CasperTheGhost! - is there any way we can get a JSON import option like the ones you implemented for values?

Thanks for this @Dev-CasperTheGhost! - is there any way we can get a JSON import option like the ones you implemented for values?

Sure, will add that soon!

Done! Docs can be found here: https://cad-docs.netlify.app/other/importing-values#citizens


[BUG] longhornctl install preflight --operating-system=cos failed on COS_CONTAINERD

Describe the bug

> k logs longhorn-gke-cos-node-agent-6wnxs
ERROR: Operating system ("sles") is not Container Optimized OS (cos)

To Reproduce
longhornctl install preflight --operating-system=cos

Expected behavior
INFO[2024-10-17T09:28:01+08:00] Initializing preflight installer
INFO[2024-10-17T09:28:01+08:00] Cleaning up preflight installer
INFO[2024-10-17T09:28:01+08:00] Running preflight installer
INFO[2024-10-17T09:28:01+08:00] Installing dependencies on Container Optimized OS (cos)
INFO[2024-10-17T09:28:52+08:00] Installed dependencies on Container Optimized OS (cos)
INFO[2024-10-17T09:28:52+08:00] Cleaning up preflight installer
INFO[2024-10-17T09:28:52+08:00] Completed preflight installer. Use 'longhornctl check preflight' to check the result.

Support bundle for troubleshooting

N/A
Environment

Longhorn version:
Impacted volume (PV):
Installation method (e.g. Rancher Catalog App/Helm/Kubectl):
Kubernetes distro (e.g. RKE/K3s/EKS/OpenShift) and version:

Number of control plane nodes in the cluster:
Number of worker nodes in the cluster:

Node config

OS type and version:
Kernel version:
CPU per node:
Memory per node:
Disk type (e.g. SSD/NVMe/HDD):
Network bandwidth between the nodes (Gbps):

Underlying Infrastructure (e.g. on AWS/GCE, EKS/GKE, VMWare/KVM, Baremetal):
Number of Longhorn volumes in the cluster:

Additional context

Workaround and Mitigation

Verified pass on cli v1.8.0-dev-20241020(https://github.com/longhorn/cli/commit/3715dba1dfac31c0a4df0b542ba9ed6e65da9ca5)
Command ./longhornctl-linux-amd64 install preflight --operating-system=cos completed on gke node with out any problems


Latest Version 0.16.0 Has Broken Urlib/Boto3

The latest version of boto3 and therefore latest container built from this has the same issue listed here Consider adding urllib3==1.25.10 to the Dockerfile.

My workaround was to add urllib3==1.25.10 to a requirements.txt file and run: run-notebook create-container --requirements requirements.txt

@jimmycfa Are you sure that you're running v0.16.0? This should have been fixed in 07f4ce0. Testing locally, I'm able to use run-notebook build-container to build a container that I can then run (either directly in the container or from a notebook execution run), the following code:
import boto3
sess = boto3.Session()
sm = sess.client("sagemaker")
sm.list_processing_jobs(MaxResults=5)

works without problems.
Can you perform the following?

confirm that you're really running v0.16.0 by running run-notebook --version
rebuild the container without your workaround,
run a notebook execution with the above code

If this fails, can you post the output of the container build process and the error you're seeing when you run the notebook?
Thanks!

No worries. I had the same problem myself which is how I knew to fix it. Enjoy!


CAPI v1.5.0-beta.0 has been released and is ready for testing

CAPI v1.5.0-beta.0 has been released and is ready for testing.
Looking forward to your feedback before CAPI 1.5.0 release, the 25th July 2023!
For quick reference

CAPI v1.5.0-beta.0 release notes
Shortcut to CAPI git issues

Following are the planned dates for the upcoming releases

Release
Expected Date

v1.5.0-beta.x
Tuesday 5th July 2023

release-1.5 branch created (Begin [Code Freeze])
Tuesday 11th July 2023

v1.5.0-rc.0 released
Tuesday 11th July 2023

release-1.5 jobs created
Tuesday 11th July 2023

v1.5.0-rc.x released
Tuesday 18th July 2023

v1.5.0 released
Tuesday 25th July 2023

/remove-lifecycle stale

/remove-lifecycle stale


Add polling

On Windows using Docker inotify from the filesystem won't pick up changes. Can you add an option for polling changes?

I will try to look into that as soon as I can. Thanks for the suggestion.


[sbt 1.0] Build project files are recompiled every time

steps
$ git clone -b sbt1-build-recompiled-every-time https://github.com/sjrd/scala-js.git
$ cd scala-js
$ sbt
[...] Download the internet
[info] Compiling 1 Scala source to C:\Users\Sepi\Documents\Projets\scalajs-sbt1\project\project\target\scala-2.11\sbt-1.0.0-M4\classes...
[...] Download more internet
[info] Loading project definition from C:\Users\Sepi\Documents\Projets\scalajs-sbt1\project
[info] Compiling 153 Scala sources to C:\Users\Sepi\Documents\Projets\scalajs-sbt1\project\target\scala-2.11\sbt-1.0.0-M4\classes...
[...]
> exit

Then, re-launch sbt, and observe a whole new recompilation:
$ sbt
[info] Loading project definition from C:\Users\Sepi\Documents\Projets\scalajs-sbt1\project\project
[info] Compiling 1 Scala source to C:\Users\Sepi\Documents\Projets\scalajs-sbt1\project\project\target\scala-2.11\sbt-1.0.0-M4\classes...
[info] Loading project definition from C:\Users\Sepi\Documents\Projets\scalajs-sbt1\project
[info] Compiling 153 Scala sources to C:\Users\Sepi\Documents\Projets\scalajs-sbt1\project\target\scala-2.11\sbt-1.0.0-M4\classes...
[warn] there were 8 deprecation warnings; re-run with -deprecation for details
[warn] there were two unchecked warnings; re-run with -unchecked for details
[warn] there was one feature warning; re-run with -feature for details
[warn] three warnings found
[info] Set current project to Scala.js (in build file:/C:/Users/Sepi/Documents/Projets/scalajs-sbt1/)
>

problem
The build project files are recompiled every time I launch sbt. This is really bad because there are 153 files in this build project (and no, that is not nonsense).
expectation
I expect the build project not be recompiled if nothing changes, and only a few things recompiled if I change a few things.
notes
The bug applies to 1.0.0-M4. The behavior is correct in 0.13.9.
This might be related to the fact that there is a second-level build with a .scala file in it (i.e., a .scala file in project/project/): https://github.com/scala-js/scala-js/tree/sbt1-build-recompiled-every-time/project/project

I've created a refreshed version of Sébastien's port: https://github.com/dwijnand/scala-js/tree/sbt1
With a custom build of latest sbt, on latest zinc and latest lm, I note that the problem doesn't reproduce, which I'm going to assume is because it was fixed (at some point in the last 10 months, probably in zinc):
$ sbt
[info] Loading project definition from /d/scala-js-on-sbt1/project/project (out-3)
[info] Updating {file:/d/scala-js-on-sbt1/project/project/}scala-js-on-sbt1-build-build... (out-16)
[warn] Choosing local for org.scala-sbt#sbt;1.0.0-SNAPSHOT (out-16)
[warn] Choosing local for org.scala-sbt#main_2.12;1.0.0-SNAPSHOT (out-16)
[warn] Choosing local for org.scala-sbt#actions_2.12;1.0.0-SNAPSHOT (out-16)
[warn] Choosing local for org.scala-sbt#run_2.12;1.0.0-SNAPSHOT (out-16)
[warn] Choosing local for org.scala-sbt#zinc-classpath_2.12;1.0.0-X8-SNAPSHOT (out-16)
[warn] Choosing local for org.scala-sbt#compiler-interface;1.0.0-X8-SNAPSHOT (out-16)
[warn] Choosing local for org.scala-sbt#task-system_2.12;1.0.0-SNAPSHOT (out-16)
[warn] Choosing local for org.scala-sbt#tasks_2.12;1.0.0-SNAPSHOT (out-16)
[warn] Choosing local for org.scala-sbt#testing_2.12;1.0.0-SNAPSHOT (out-16)
[warn] Choosing local for org.scala-sbt#test-agent;1.0.0-SNAPSHOT (out-16)
[warn] Choosing local for org.scala-sbt#zinc-apiinfo_2.12;1.0.0-X8-SNAPSHOT (out-16)
[warn] Choosing local for org.scala-sbt#zinc-classfile_2.12;1.0.0-X8-SNAPSHOT (out-16)
[warn] Choosing local for org.scala-sbt#zinc_2.12;1.0.0-X8-SNAPSHOT (out-16)
[warn] Choosing local for org.scala-sbt#zinc-core_2.12;1.0.0-X8-SNAPSHOT (out-16)
[warn] Choosing local for org.scala-sbt#zinc-persist_2.12;1.0.0-X8-SNAPSHOT (out-16)
[warn] Choosing local for org.scala-sbt#zinc-compile-core_2.12;1.0.0-X8-SNAPSHOT (out-16)
[warn] Choosing local for org.scala-sbt#zinc-ivy-integration_2.12;1.0.0-X8-SNAPSHOT (out-16)
[warn] Choosing local for org.scala-sbt#main-settings_2.12;1.0.0-SNAPSHOT (out-16)
[warn] Choosing local for org.scala-sbt#command_2.12;1.0.0-SNAPSHOT (out-16)
[warn] Choosing local for org.scala-sbt#protocol_2.12;1.0.0-SNAPSHOT (out-16)
[warn] Choosing local for org.scala-sbt#zinc-compile_2.12;1.0.0-X8-SNAPSHOT (out-16)
[warn] Choosing local for org.scala-sbt#compiler-bridge_2.12;1.0.0-X8-SNAPSHOT (out-16)
[info] Done updating. (out-16)
[info] Compiling 1 Scala source to /d/scala-js-on-sbt1/project/project/target/scala-2.12/sbt-1.0.0-SNAPSHOT/classes ... (out-18)
[info] Done compiling. (out-18)
[info] Loading settings from build.sbt ... (out-3)
[info] Loading project definition from /d/scala-js-on-sbt1/project (out-3)
[info] Updating {file:/d/scala-js-on-sbt1/project/}scala-js-on-sbt1-build... (out-34)
[warn] Choosing local for org.scala-sbt#sbt;1.0.0-SNAPSHOT (out-34)
[warn] Choosing local for org.scala-sbt#main_2.12;1.0.0-SNAPSHOT (out-34)
[warn] Choosing local for org.scala-sbt#actions_2.12;1.0.0-SNAPSHOT (out-34)
[warn] Choosing local for org.scala-sbt#run_2.12;1.0.0-SNAPSHOT (out-34)
[warn] Choosing local for org.scala-sbt#zinc-classpath_2.12;1.0.0-X8-SNAPSHOT (out-34)
[warn] Choosing local for org.scala-sbt#compiler-interface;1.0.0-X8-SNAPSHOT (out-34)
[warn] Choosing local for org.scala-sbt#task-system_2.12;1.0.0-SNAPSHOT (out-34)
[warn] Choosing local for org.scala-sbt#tasks_2.12;1.0.0-SNAPSHOT (out-34)
[warn] Choosing local for org.scala-sbt#testing_2.12;1.0.0-SNAPSHOT (out-34)
[warn] Choosing local for org.scala-sbt#test-agent;1.0.0-SNAPSHOT (out-34)
[warn] Choosing local for org.scala-sbt#zinc-apiinfo_2.12;1.0.0-X8-SNAPSHOT (out-34)
[warn] Choosing local for org.scala-sbt#zinc-classfile_2.12;1.0.0-X8-SNAPSHOT (out-34)
[warn] Choosing local for org.scala-sbt#zinc_2.12;1.0.0-X8-SNAPSHOT (out-34)
[warn] Choosing local for org.scala-sbt#zinc-core_2.12;1.0.0-X8-SNAPSHOT (out-34)
[warn] Choosing local for org.scala-sbt#zinc-persist_2.12;1.0.0-X8-SNAPSHOT (out-34)
[warn] Choosing local for org.scala-sbt#zinc-compile-core_2.12;1.0.0-X8-SNAPSHOT (out-34)
[warn] Choosing local for org.scala-sbt#zinc-ivy-integration_2.12;1.0.0-X8-SNAPSHOT (out-34)
[warn] Choosing local for org.scala-sbt#main-settings_2.12;1.0.0-SNAPSHOT (out-34)
[warn] Choosing local for org.scala-sbt#command_2.12;1.0.0-SNAPSHOT (out-34)
[warn] Choosing local for org.scala-sbt#protocol_2.12;1.0.0-SNAPSHOT (out-34)
[warn] Choosing local for org.scala-sbt#zinc-compile_2.12;1.0.0-X8-SNAPSHOT (out-34)
[warn] Choosing local for org.scala-sbt#compiler-bridge_2.12;1.0.0-X8-SNAPSHOT (out-34)
[info] Done updating. (out-34)
[info] Compiling 155 Scala sources to /d/scala-js-on-sbt1/project/target/scala-2.12/sbt-1.0.0-SNAPSHOT/classes ... (out-36)
[warn] /d/scala-js-on-sbt1/project/Build.scala:1605:11: method withBypassLinkingErrors in class OptimizerOptions is deprecated (since 0.6.6): Bypassing linking errors will not be possible in the next major version. (out-25)
[warn]           withBypassLinkingErrors(true) (out-25)
[warn]           ^ (out-25)
[warn] /d/scala-js-on-sbt1/sbt-plugin/src/main/scala/org/scalajs/sbtplugin/cross/CrossProject.scala:348:28: type Context in package macros is deprecated (since 2.11.0): use blackbox.Context or whitebox.Context instead (out-25)
[warn]   def crossProject_impl(c: Context): c.Expr[Builder] = { (out-25)
[warn]                            ^ (out-25)
[warn] /d/scala-js-on-sbt1/sbt-plugin/src/main/scala/org/scalajs/sbtplugin/cross/MacroUtils.scala:18:26: type Context in package macros is deprecated (since 2.11.0): use blackbox.Context or whitebox.Context instead (out-25)
[warn]   def definingValName(c: Context, invalidEnclosingTree: String => String): String = { (out-25)
[warn]                          ^ (out-25)
[warn] /d/scala-js-on-sbt1/sbt-plugin/src/main/scala/org/scalajs/sbtplugin/cross/MacroUtils.scala:23:42: method decoded in class NameApi is deprecated (since 2.11.0): use `decodedName.toString` instead (out-25)
[warn]     def processName(n: Name): String = n.decoded.trim (out-25)
[warn]                                          ^ (out-25)
[warn] /d/scala-js-on-sbt1/sbt-plugin/src/main/scala/org/scalajs/sbtplugin/cross/MacroUtils.scala:37:70: method decoded in class NameApi is deprecated (since 2.11.0): use `decodedName.toString` instead (out-25)
[warn]         c.error(c.enclosingPosition, invalidEnclosingTree(methodName.decoded)) (out-25)
[warn]                                                                      ^ (out-25)
[warn] /d/scala-js-on-sbt1/sbt-plugin/src/main/scala/org/scalajs/sbtplugin/cross/MacroUtils.scala:44:25: type Context in package macros is deprecated (since 2.11.0): use blackbox.Context or whitebox.Context instead (out-25)
[warn]   def enclosingTrees(c: Context): Seq[c.Tree] = (out-25)
[warn]                         ^ (out-25)
[warn] /d/scala-js-on-sbt1/sbt-plugin/src/main/scala/org/scalajs/sbtplugin/impl/DependencyBuilders.scala:83:20: type Context in package macros is deprecated (since 2.11.0): use blackbox.Context or whitebox.Context instead (out-25)
[warn]   def auto_impl(c: Context { type PrefixType = ScalaJSGroupID })( (out-25)
[warn]                    ^ (out-25)
[warn] there were three feature warnings; re-run with -feature for details (out-25)
[warn] 8 warnings found (out-25)
[info] Done compiling. (out-36)
[info] Loading settings from build.sbt ... (out-3)
[info] Resolving key references (18103 settings) ... (out-3)
[info] Set current project to Scala.js (in build file:/d/scala-js-on-sbt1/) (out-3)
> exit

$ sbt
[info] Loading project definition from /d/scala-js-on-sbt1/project/project (out-3)
[info] Loading settings from build.sbt ... (out-3)
[info] Loading project definition from /d/scala-js-on-sbt1/project (out-3)
[info] Loading settings from build.sbt ... (out-3)
[info] Resolving key references (18103 settings) ... (out-3)
[info] Set current project to Scala.js (in build file:/d/scala-js-on-sbt1/) (out-3)

This has come back for me on this branch on JDK 9, either with a 0.13.16 launcher or a 1.0.2 launcher. The build.properties is fixed at 0.13.16 (and I cannot upgrade it to 1.x).
The symptoms are exactly the same, though the environment is significantly different. Should I open a new issue?

Yes please.

#3631


doc: Document #[diagnostic(transparent)]

cargo make readme doesn't work:
$ cargo make readme
error: no such command: `make`

        Did you mean `add`?

        View all installed commands with `cargo --list`

You need to install cargo-make first

@zkat Hi! I've updated readme. Do I need to do something else to get this merged?


Add upgrade pip and --no-cache-dir option

I encounted this error in pip install azure-cli.
...
Collecting cryptography (from azure-cli-botservice->azure-cli)
  Downloading https://files.pythonhosted.org/packages/f3/39/d3904df7c56f8654691c4ae1bdb270c1c9220d6da79bd3b1fbad91afd0e1/cryptography-2.4.2.tar.gz (468kB)
    100% |████████████████████████████████| 471kB 677kB/s
  Could not find a version that satisfies the requirement cffi!=1.11.3,>=1.7 (from versions: )
No matching distribution found for cffi!=1.11.3,>=1.7

This error was generated by pip version. So, I added upgrade pip command.
(I was confirming that cffi==1.11.5 is installed by dependencies. this code: pip install cffi)
Also, reduced the docker image by about 30MB using "--no-cache-dir"

nice catch. thanks


ETA for peer-to-peer replication support

I see the only tick missing is the peer-to-peer replication. Does this mean that it is not possible to use couchbase-lite-C to connect to a sync gateway and replicate a database locally? If so, is there a ETA for peer-to-peer replication? Thank you!

You can use Couchbase Lite-C to connect to Sync Gateway and to sync data.  However, direct peer-to-peer data sync between Couchbase Lite clients is not yet supposed. We do not have an ETA for that  at this time but its on our radar.

Closed as not an issue.


Custom Column Aggregation

I have a grid with transaction data, many of which may be in different currencies. I would like to enable aggregations to work in groups / pivots, but there's a problem. the aggFunc value only sends the data for this column. In order to tell the currency, I will need access to the rowNodes.
Anyway to do this cleanly (using angular1)?
Ideally a second callback would be added like aggFuncRaw which would pass in all of the rowModels for this aggregation.

Also since values are currency, is there anyway to apply a formatter function to the aggregate like there are for cellRenderer and filterCellRenderer? I would like to change precision and add currency to it.

Update on last comment: When I use groupRowAggNodes and return a string of the currency + value the grid hides the values.
Is it possible to allow non numeric types thru groupRowAggNodes

few questions above
the agg functions will work on any type, not just number. the examples online shows ``'xyz' on Bronze``` a string value
if you want to use more than one column in your agg func, consider having an object as the value, eg
data.value = {
  currency: 'EUR',
  amount: 33.22
}

then you get it all in your agg func. you will either need a cellRenderer (to render to object) or you can cheat and have toString on your object
data.value = {
  currency: 'EUR',
  amount: 33.22,
  toString: function {
    return this.amount.toString();
  }
}


Question about features

Hey!
Your tool looks very close already to what I am looking for.
Specifically, I would like to automate these three tasks:
(1) follow-when-retweeted
When someone retweets one of my retweets, I would like to automatically follow them, and put them in a list, for later manual inspection (whether to mute them or even unfollow again, always needs visual inspection). Of course, it makes sense to first check whether I am already following them anyways.
(2) unfollow-wait-and-follow-again
Intention: To send them a trigger to check me out (again).
Condition on accounts:

I am following them, but they do not follow me back yet.
They are not in a (manual) blacklist of accounts that I do want want to bother with this.

Steps:

Find all above accounts.
one by one: Unfollow. Wait a minute or a day. Follow them again.
after 3 days, check whether that was successful.

Perhaps the twitter API has a daily quota for stuff like that? Then have the script end in a way that the remaining batch can be done on the next day.
(3)  retweet my own tweets
Reason: I am awake while the main group of my followers is sleeping.
Intention: Give more people a chance to see a "best of" my recent tweets.
Steps:

I compile a list of (e.g. a dozen, or a hundred) of my own tweet URLs.
one by one: (possibly undo the retweet, then) retweet the tweet.
there should be e.g. an hour between those retweets, perhaps two retweets at at time.

Detail: I want retweets without additional comment, so no new tweet is created.
Questions:

Is any of those possible with your tool?
If not, how complicated would it be to add it? Where exactly would I start to look into your code?
Which other tool should I check out?
Did you have any hints for me, while reading the above?

Thanks a million! Keep up the good work!
Andreas

Found my own approach, using python tweepy. Thanks!
canClose.


When should I use call for pure Javascript functions?

Description
I'm struggling around with that question and I'm not able to find a place where it is clearly explained.
"When should I use call for pure Javascript functions?"
Lets say that I have some helpers functions and one of them is:
function isDog(animal) {
  return animal.toLowerCase() === 'dog'
}

And, inside on of my sagas I have the following approach:
export function* mySaga({ payload }) {
  const { animal } = payload

  if(isDog(animal)) {
    // Do something
  } else {
    // Do something else
  }
}

Is the above approach correct? Or should I user yield call to call the isDog function? Something like:
export function* mySaga({ payload }) {
  const { animal } = payload

  if(yield call(isDog, animal)) {
    // Do something
  } else {
    // Do something else
  }
}

If you guys could answer my questions giving me some more examples of pros and cons it would be really nice!!
Thank you in advance.

The first one. You could also yield isDog (... If your function is async, you must yield it. Use call` when you're calling another saga.

The first one. You could also yield isDog (... If your function is async, you must yield it. Use call` when you're calling another saga.

Closing as it looks like there was a resolution to this issue.  Thanks!


Add is_file

Traceback (most recent call last):
  File "/home/gram/Documents/dephell/dephell/cli.py", line 115, in main
    result = task()
  File "/home/gram/Documents/dephell/dephell/commands/deps_convert.py", line 88, in __call__
    'project': resolver.graph.metainfo,
  File "/home/gram/Documents/dephell/dephell/controllers/_graph.py", line 239, in metainfo
    return RootDependency.get_metainfo(*self._roots)
  File "/home/gram/Documents/dephell/dephell/models/root.py", line 147, in get_metainfo
    info = root.package.metainfo
  File "/home/gram/Documents/dephell_discover/dephell_discover/_cached_propery.py", line 18, in __get__
    value = obj.__dict__[self.func.__name__] = self.func(obj)
  File "/home/gram/Documents/dephell_discover/dephell_discover/_root.py", line 84, in metainfo
    return MetaInfo.parse(paths=paths)
  File "/home/gram/Documents/dephell_discover/dephell_discover/_metainfo.py", line 45, in parse
    if path.is_file():
  File "/usr/local/lib/python3.7/dist-packages/dephell_archive/_path.py", line 177, in __getattr__
    return getattr(self.member_path, name)
AttributeError: 'PurePosixPath' object has no attribute 'is_file'

Closed in #2


[PE-D] Description cannot contain by/ or at/

Labels: severity.Medium type.FunctionalityBug
original: vishandi/ped#6

Started with a fresh ManageEZPZ.jar, unable to replicate the bug stated in the issue.


Add "unstar all messages" feature

In this PR, I have added a feature to unstar all starred messages.

I have added a popover near "starred messages" section on top-left, which has option to unstar all messages.

Testing Plan:
Works after reloading page, tested on development environment. Works as expected.
GIFs or screenshots

All the code here looks pretty reasonable, but it's possible that folks will have 100+ starred messages, so we want to make it efficient to do this, so I think we want a backend function that takes a max id and unstars all of your messages up to that max id.

@ruchit2801 According the screenshot it seems that the messages doesn't clear from the tab after the request completes. We have to switch tabs. This might give impression to user that unstarring have not worked (although the starts have disappeared and some users might not feel this thing), but wouldn't it be better that we immediately clear those messages without needing to switch tab ?

@thedeveloperr I also thought it, but this behaviour is also present in current version of zulip. If you unstar any message, it'll not disappear suddenly, just star will be removed. So, @timabbott is it a bug that needs to be fixed, or its okay for some reason?

I don't think it will be a bug. If you unstar some message, and suddenly you realise that, that message was not supposed to be unstarred, you can do that if you have messages present there.

Fixes #11401

I played with this a bit, and the flow seems correct.  You should use the same button styles we use in other confirmation modals -- you seem to be using default buttons.  Might just be a missing use of the new-style CSS class.
The intent of the current behavior of just having the star disappear without disappearing the messages is to avoid jumping the view and to provide a way to undo changes.  That seems correct here as well.
Also, you should probably squash these commits, since there aren't really pieces that makes sense independently.
Check out our GitHub guide and commit guidelines for more details.

I sure will squash all commits soon.

@timabbott I think I'm completed with this feature. Please check it out. Squashed all commits. Updated UI (added that css class).

Per chat discussion, we are gonna go away from the max-id approach and just do bulk clearing.
We'll want to make sure this works with multiple windows open for Cordelia.
And once we decide we're gonna go with this feature (hopefully, we will!), we will want to communicate with the mobile team, so they know which event to look for in the mobile app (and unstar as needed).  We don't need mobile to have the full feature--we just want them to handle the event.

This should use the existing message_flags event and not require any mobile work.

I tested this a couple browsers open, and it seems to work fine.  (It goes through the existing live-update code, which gets an event with a list of message ids.)

@ruchit2801 can you clean up your commit message?  It seems to be distinctly lacking newline characters.

Is it alright now? @timabbott

I just changed the description. IDK why these checks are being failed!

How about
This will unstar all your starred messages.

This action cannot be undone.

Thanks Ruchit! For the text, how about
This will unstar all your starred messages.

This action cannot be undone.

@rishig LGTM, will update soon.

I think the checks are being failed because, the file manage-who-can-join-and-invite used to exist in earlier versions, but now it doesn't. This is raising that spider error. I'm not sure, whether I should remove that and update PR again.
cc : @timabbott  @showell

@ruchit2801 just do a git pull --rebase and push back to this PR -- that'll resolve the issue as it was fixed in master long ago.

@timabbott Ready to be merged :)

@ruchit2801 I fixed a few issues with this PR:

Edited the text of the modal to use complete sentences.  @rishig you probably want to do a textual pass on this (it should be easy to add the number of starred messages here, if we think that'd be helpful).
Reformatted the commit message to line-wrap properly and include the issue this closes in the commit message so that the issue is closed when the commits are merged.
Fixes rebase bugs with the new styling approach for the chevrons.  Next time, please test your code after rebasing, because sometimes your changes can interact badly with changes other folks made (in this case, 194619c667d7a2ae9a641506f694cb0fc3673464).

and merged this, thanks @ruchit2801!  Congrats on finishing a somewhat complex feature!  And please pay attention to these details in future PRs.

For the text, what did you think of the following?
This will unstar all your starred messages.

This action cannot be undone.

I think that's fine, but visually I didn't like what 2 paragraphs looked like in this modal, which is why I made it one paragraph.


Update Gemspec Runtime Dependency to allow omniauth v2 Release from Jan 2021

@NickMeves @jcmuller @tfrey7 @dianaliu @mtoneil @bouffy @tdphillipsjr @acaloiaro @hugomarcotte @evan-duncan @Adam262 @kbruccoleri @jooshbzm @Ataraxic
This is not a good look for @grnhse (Greenhouse).
This needs to be addressed.  It is a security issue.
Please also see #8
Please also note that this gem is dead as of now.  It is incompatible with the current major version of omniauth, and is potentially a security risk.  There are frequently CVEs filed against the  omniauth family of gems (e.g. CVE-2015-9284, CVE-2020-26254, CVE-2020-15240), which in turn forces upgrades.
As this gem is incompatible with latest version it forces use of older, CVE-vulnerable, versions of the omniauth suite.
Bundler could not find compatible versions for gem "omniauth":
  In Gemfile:
    omniauth (~> 2.0.0)

    omniauth-greenhouse was resolved to 1.3.1, which depends on
      omniauth (>= 1.3.1, < 2)

Putting the community at risk
Sites with multiple authentication sources are now stuck between a rock and a hard place.  They are not able to keep the "official" greenhouse integration, and also be secure, thanks to this line, which prevents the use of the latest, fixed, omniauth:
  spec.add_runtime_dependency 'omniauth', '>= 1.3.1', '< 2'

90% of these patches are to lock the version dependency, and that is a terrible precedent to set.

What is next?
I tried to help, but it has been a year now, so I am removing our Greenhouse integration.  I hope to see this situation improve.
FWIW, I am the primary maintainer of omniauth-identity, a sibling in this family.  In that regard, one option may be to transfer the maintenance of this gem over to the Omniauth organization.
This current state is unacceptable.  If you aren't going to maintain this gem, or transfer ownership, then please state as much in the readme, and archive the project.

Hi there,
Do you have any samples of CVEs on the omniauth gem specifically? I'm not seeing any on their GitHub repo, especially not any governing users to make the major version bump to v2 that released 3 months ago. Is this more of a compatibility issue & less security, so you don't have 1 gem holding you back from upgrading another one due to a dated dependency chain?
Regarding https://github.com/grnhse/omniauth-greenhouse/pull/8 - I think we need more context on what broke
If I understand correctly, this PR from 2015 (https://github.com/omniauth/omniauth-oauth2/pull/70/files) changed how the callback_url is constructed, and that caused an incompatibility with Greenhouse's OAuth2 implementation?
I'm not a omniauth user myself, so correct me if I'm wrong, but I'm assuming callback_url is what it is using as the redirect_uri param in the authorization endpoint call to begin the OAuth2 flow that needs to be allowlisted?
If any of this discussion touches on live security issues, let's move it to<EMAIL_ADDRESS>and out of this public forum.

Has the CVE you mentioned been published or merged yet? Looks like they removed it from the v2 release and haven't published: https://github.com/omniauth/omniauth/pull/809

Here is all the context you should need, copied from the description of #8

Fix for breaking change introduced in omniauth-oauth2 v1.4.0

https://github.com/omniauth/omniauth-oauth2/commit/26152673224aca5c3e918bcc83075dbb0659717f
https://github.com/omniauth/omniauth-oauth2/pull/70

I hope you can parse the links.

If I understand correctly, this PR from 2015 (https://github.com/omniauth/omniauth-oauth2/pull/70/files) changed how the callback_url is constructed, and that caused an incompatibility with Greenhouse's OAuth2 implementation?

That is correct.  PR #8 moves the definition of the removed method into this gem.  Very simple fix.

What is the redirect_url that the callback_url method is generating that isn't compatible with what you have allowlisted on the OAuth2 side (feel free to anonymize parts of the URL if needed)?
That as the aspect that is key to help understanding the implications of the fix across the customer base.
Thanks!

Is this more of a compatibility issue & less security, so you don't have 1 gem holding you back from upgrading another one due to a dated dependency chain?

Correct.  It is blocking my project from upgrading the following (some of which have CVEs):

Package
Update
Change

omniauth
major
~> 1.9.1 -> ~> 2.0.0

omniauth-facebook
major
~> 6.0.0 -> ~> 8.0.0

omniauth-github
major
~> 1.4.0 -> ~> 2.0.0

omniauth-google-oauth2
major
~> 0.8.0 -> ~> 1.0.0

Suggestion: You should have a Ruby spec app that integrates with your API via this gem, and validates it.

Dropping context for watchers:
Omniauth v2.0.0 Release: https://github.com/omniauth/omniauth/releases/tag/v2.0.0
Release content contains guidance around mitigations for https://nvd.nist.gov/vuln/detail/CVE-2015-9284 if you don't jump to v2

This is the comment from my PR #8.
It's worth noting that both this gem and omniauth-oauth2 are in violation of the OAuth 2.0 spec, but it can be fixed by my PR #8 .
It's also worth noting that I am the primary maintainer of the oauth2 Ruby gem, but I am actually still learning about OAuth 2.0, and trying to muddle through the spec.
Here is the comment I added to the PR, which probably should be revised.
    # Override callback URL for compatibility with omniauth-oauth2 >= 1.4,
     #   which by default passes the entire URL of the callback, including
     #   query parameters. Greenhouse fails validation because that doesn't match the
     #   registered callback as required in the Oauth 2.0 spec.
     # Refs:
     # https://tools.ietf.org/html/rfc6749#section-4.1.3
     # https://github.com/omniauth/omniauth-oauth2/commit/26152673224aca5c3e918bcc83075dbb0659717f
     # https://github.com/omniauth/omniauth-oauth2/pull/70

I recommend searching the spec for the term redirect_uri.  I based my inclusion of it on that and the changes I saw being made to many other omniauth family repos as a result of the breaking change in omniauth v1.4.0.

I recommend searching the spec for the term redirect_uri. I based my inclusion of it on that and the changes I saw being made to many other omniauth family repos as a result of the breaking change in omniauth v1.4.0.

I'm familiar with the specifics of the OAuth2 spec, I just need some help understanding how omniauth and omniauth-oauth2 implement callback_url (I haven't dug into their codebase).
Seeing the differences in callback URLs that both of those generate in actual samples (master vs your PR) would be greatly helpful to understanding why redirect_url isn't working.

Oops, I meant to write redirect_url, not redirect_uri.
Here is the definition from the PR:
def callback_url
  options[:redirect_uri] || (full_host + script_name + callback_path)
end

Here is the previous definition that was removed by omniauth-oauth2
def callback_url
  full_host + script_name + callback_path
end

All the change does is return options[:redirect_uri] if it was provided by the authorization request.  This is required by the OAuth 2.0 spec.  The difference is very simple, and I am unable to give you any examples, as I have removed Greenhouse from our codebase.
Unfortunately, I don't have any more time to devote to this.

This PR has been released.

Hi , I'm upgrading project and this gem is still a blocker when all other gems requires omniauth >= 2 except this one.
Did new release really fix the problem?

@ducthien1490 See https://github.com/grnhse/omniauth-greenhouse#important-note

@pboling : Thanks, we decided to remove this gem from source code


Unable to verify signature from event webhook

Issue Summary
I am trying to validate a webhook signed event. Unfortunately, it doesn't seem to work when SendGrid posts a sample JSON payload to my webhook listener.
Here is the request received on my webhook:
POST /webhooks/sendgrid HTTP/1.1
Host: c0aa5b77b698.ngrok.io
User-Agent: SendGrid Event API
Content-Length: 333
Content-Type: application/json;charset=utf-8
X-Twilio-Email-Event-Webhook-Signature: MEYCIQCxfnpzX3CftRSaaA4wHWHOKEyHbCf5jbwL/z/QQpncqQIhANu8Ug7FTuQhgGzhSVQvDSIS64rp+fXz2AloRnV5qcTL
X-Twilio-Email-Event-Webhook-Timestamp:<PHONE_NUMBER>
Accept-Encoding: gzip
X-Forwarded-Proto: https
X-Forwarded-For: <IP_ADDRESS>

[{"email":"arthur.sudre@stack-labs.com","event":"processed","send_at":0,"sg_event_id":"cHJvY2Vzc2VkLTE4NDg3OTEyLVhldDZiWjdXUlRHMmZZRGEtcDdhcnctMA","sg_message_id":"Xet6bZ7WRTG2fYDa-p7arw.filterdrecv-p3iad2-865cf6bb5-jhhw2-19-5F58E73D-D2.0","smtp-id":"<Xet6bZ7WRTG2fYDa-p7arw@ismtpd0007p1lon1.sendgrid.net>","timestamp":1599661886}]

My public key is: MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEc1xJU2qhLFMxcOLdKWQIA2OZdmUTlNRT5xFEipLDnGkO0uhW8aJiIQxJGglBRiKWxNqm3jjRbUpaAaDH9WHkng==
Code Snippet
Given these information, I wrote the unit test:
const { EventWebhook } = require('@sendgrid/eventwebhook');

function verify(publicKey, payload, signature, timestamp) {
  const ew = new EventWebhook();
  const key = ew.convertPublicKeyToECDSA(publicKey);
  return ew.verifySignature(key, payload, signature, timestamp);
}

describe('EventWebhook', () => {
  const PUBLIC_KEY = 'MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEc1xJU2qhLFMxcOLdKWQIA2OZdmUTlNRT5xFEipLDnGkO0uhW8aJiIQxJGglBRiKWxNqm3jjRbUpaAaDH9WHkng==';
  const SIGNATURE = 'MEYCIQCxfnpzX3CftRSaaA4wHWHOKEyHbCf5jbwL/z/QQpncqQIhANu8Ug7FTuQhgGzhSVQvDSIS64rp+fXz2AloRnV5qcTL';
  const TIMESTAMP = '1599663888';
  const PAYLOAD = JSON.stringify([
    {
      email<EMAIL_ADDRESS>      event: 'processed',
      send_at: 0,
      sg_event_id: 'cHJvY2Vzc2VkLTE4NDg3OTEyLVhldDZiWjdXUlRHMmZZRGEtcDdhcnctMA',
      sg_message_id: 'Xet6bZ7WRTG2fYDa-p7arw.filterdrecv-p3iad2-865cf6bb5-jhhw2-19-5F58E73D-D2.0',
      'smtp-id'<EMAIL_ADDRESS>      timestamp:<PHONE_NUMBER>,
    },
  ]);

  describe('#verifySignature()', () => {
    it('should verify a valid signature', () => {
      expect(verify(
        PUBLIC_KEY,
        PAYLOAD,
        SIGNATURE,
        TIMESTAMP,
      )).toEqual(true);
    });
  });
});

Exception/Log
The test fails. The verification is not valid.
Technical details:

"@sendgrid/eventwebhook": "^7.2.5",
node version: v12.9.0

Similar to https://github.com/sendgrid/sendgrid-csharp/issues/1018
tl;dr: Logging the request hides the trailing \r\n. Try:
      expect(verify(
        PUBLIC_KEY,
        PAYLOAD + '\r\n',
        SIGNATURE,
        TIMESTAMP,
      )).toEqual(true);

We're looking into updating the examples to help with this.

Fixed by https://github.com/sendgrid/sendgrid-nodejs/commit/e5c6fe4fddada920c198c776563438f4df7e6db9

I stuck into this problem and I found solution on this page
https://www.twilio.com/docs/runtime/quickstart/validate-webhook-requests-from-sendgrid
// Stringify the event and add newlines/carriage returns since they're expected by validator
  const rawEvent =
    JSON.stringify(sendGridPayload).split('},{').join('},\r\n{') + '\r\n';

i was using java library was stuck with signature validation. Below given 2 lines of code resolved payload issue.
String payload = new ObjectMapper().writeValueAsString(bodyPayloadObject) + "\r\n";
payload = payload.replace("},{", "},\r\n{");


ion-select popover interface does not fire ionCancel

When opening an ion-select with popover interface and dismissing it by clicking in the backdrop, the ion-select's ionCancel event is not dispatched.
cc @ciekawy

@manucorporat are you sure we want ionCancel on backdrop click? I can see now ionChange to be fired only on Cancel button being explicitly clicked on action-sheet overlay.

I have the same problem, it seems logical to fire ionCancel on backdrop click.


incomplete configuration causing some loss of whitespace in speech output

I understand if this a won't-fix but I thought I'd share it in any case.
I was flummoxed over the weekend trying to figure out why something like FU ( \\mathbf{t} ) was giving me upper Fupper Uleft parenthesisboldtright parenthesis (note the dropped whitespace).
Turns out my configuration was missing something:
  await sre.setupEngine({
    domain: 'mathspeak',
    style: 'default',
    locale: 'en',
    speech: 'deep',
    structure: true,
    mode: 'sync',
  });

namely, adding modality: 'speech' fixed the issue.
Since the domain only allows this modality, maybe modality could be set automatically. But again, I understand if this isn't worth the trouble.

Is it possible that you ran SRE with modality: 'braille' beforehand? Than the standard string separator would be ''.
At the moment there is no automation that maps from locales or domains to modalities.

Is it possible that you ran SRE with modality: 'braille' beforehand?

Effectively, yes.

Than the standard string separator would be ''.
At the moment there is no automation that maps from locales or domains to modalities.

Right. Maybe incomplete configurations could cause a warning. But that's a different issue.


chore: Update to sonar-java 6.9.0

Fix #89
This PR depends on #144 (that's why it looks huge), I will rebase on master once that's merged. Only b6b3383 and onward is actually new.
The transition to sonar-java 6.9.0 mostly went smoothly, but there were/are a few problems.
First, the interface of the JavaCheckVerifier/MultiFilesJavaCheckVerifier have been entirely deprecated, and so everything needed to be revamped. I've added an adapter, Verifier, that serves as the interface with the currently unstable API of the verifier functionality of sonar-java.
Second, some checks have slightly altered behavior. In particular, ArrayHashCodeAndToStringCheck doesn't flag the code in CodeFactory.java as non-compliant anymore: https://github.com/SpoonLabs/sorald/blob/ea7d6264d5ad02eb52189fed7cda65ebac516a6d/src/test/resources/CodeFactory.java#L19-L23
I'm not sure if this is a bug, I'll keep investigating.
Third, the miner test fails miserably. I haven't looked at that yet.

The miner test fails because of some very strange use of paths in the internals of sonar-java. Essentially, it assumes that the current working directory is the root of the project being analyzed, and then tries to resolve input files relative to it. I'm trying to work around it, but it may require us to patch sonar-java. It's not really designed to be used the way we're using it.

Actually, the relative paths thing doesn't appear to be the whole issue. Will need to keep debugging.

Now I've figured out the actual problem. We're essentially using the testing tooling for sonar-java, and a newly introduced feature is that the verifyIssues function looks for two things: lines with non-compliant code, and lines // Noncompliant comments. If it finds non-compliant code on a line that lacks such a comment, it will raise an assertion error.
Key code parts

Here it adds the parser that finds the comments

And here's where the comment extraction happens

Here is where the matching between expected issues and actual issues occurs

This entirely defeats our use case, as the code we want to analyze will obviously not have comments marking non-compliant code. I will keep digging a bit to see if there's any way around this behavior, but I don't think we have any other choice than to fork the project. It'd be a pretty low-maintenance fork, though.

I'm trying to work around it, but it may require us to patch sonar-java. It's not really designed to be used the way we're using it.

I agree with you, sonar-java is not designed to be used through the java API (it's designed to be used through the SonarSource products, i.e., SonarQube, SonarCloud, and SonarLint), which is why I believe they might not accept patches from us that change their API, but we can try!

a newly introduced feature is that the verifyIssues function looks for two things: lines with non-compliant code, and lines // Noncompliant comments. If it finds non-compliant code on a line that lacks such a comment, it will raise an assertion error.

Arghhhh.

I will keep digging a bit to see if there's any way around this behavior

Ok.
I think it would be nice to discuss this issue by voice (in person or remotely).

I think it would be nice to discuss this issue by voice (in person or remotely).

I agree. We may have time to touch upon it during the sync meeting today at 14. At the very least, we should have time to schedule such a discussion for some other time :)

a newly introduced feature is that the verifyIssues function looks for two things: lines with non-compliant code, and lines // Noncompliant comments. If it finds non-compliant code on a line that lacks such a comment, it will raise an assertion error.

Okay, so there is a very simple fix for this in the testing utilities. Simply change the method here that currently looks like this:
  private void checkIssues(Set<AnalyzerMessage> issues) {
    if (expectations.expectNoIssues()) {
      assertNoIssues(issues);
    } else if (expectations.expectIssueAtFileLevel() || expectations.expectIssueAtProjectLevel()) {
      assertComponentIssue(issues);
    } else {
      assertMultipleIssues(issues);
    }
    if (customIssueVerifier != null) {
      customIssueVerifier.accept(issues);
    }
  }

to this
  private void checkIssues(Set<AnalyzerMessage> issues) {
    if (customIssueVerifier != null) {
      customIssueVerifier.accept(issues);
    }
    if (expectations.expectNoIssues()) {
      assertNoIssues(issues);
    } else if (expectations.expectIssueAtFileLevel() || expectations.expectIssueAtProjectLevel()) {
      assertComponentIssue(issues);
    } else {
      assertMultipleIssues(issues);
    }
  }

In other words, invoke the customIssueVerifier.accept method before checking. I've not been able to get the tests for sonar-java to run because of signature errors on the jdt jarfiles, so I can't tell if it breaks anything.

I think a better solution here is to not use the testing methods (e.g. verifyIssues) in production, but rather build our own wrappers around the core components. The testing methods do a whole lot more than we want to do. Essentially, all we want sonar-java to do for us outside of our unit tests is to scan ASTs for issues, and then we take it from there.

I've been messing about with this all day. Essentially, doing this the "proper" way does not seem possible, because there is currently no way to include both sonarlint-core and sonar-java in the same project. The problem is that the former is signed, and the latter isn't, and they have some overlapping packages which causes security exceptions. I've been trying for hours and can't get around it, short of manually removing the signatures from the jarfiles.
There's another way, though, but that still involves using some amount of testing infrastructure. It's the easiest for now, though, so I'll go with that. With a proper facade around the sonarqube stuff, future refactoring should be simple.

Conflict.

Conflicts fixed, and also applied a trivial optimization in 163e4c2 that makes execution of checks that don't require symbolic execution several times faster.
Let's postpone a review of this until next week, I'll probably need the rest of this week to conjure up the rule prioritization scripts anyway :)

@fermadeiral I'm not sure I'd call this ready for merge, but I think it's time you look it over.

I've done it.

There's also one point of breakage: The previously noncompliant code in CodeFactory.java is now not detected as noncompliant. I've ignored it for now, I have not been able to solve it, nor figure out why it happens.

In the current stage of the things, this is minor in my opinion, I'm happy you just ignored it.

To be clear, though, the way sorald used sonar before was also a hack, so this is not a step backwards. Perhaps a bit sideways :)

Maybe we will always need to hack, because the SonarSource team didn't design its products to be used like we want. I see this PR as a step forwards because now we use a newer version of sonar java at least.
For now, I think this PR is pretty good. Ready to merge?

@fermadeiral Yes, ready to merge!

@slarse thank you for this great PR!


Frontend: Map-Context Form Unit Tests

These tests should include:

MapContext component
MapContextForm component
MapCOntextLayerForm component

as discussed in #278 there should be automated QA checks.
create a follow up issue if this one is done or do it in one step, cause this is the first issue which creates tests for the frontend.

all mapcontext components are reengineered.


Operations

Fix Travis build error + cache Bundler and Yarn

Changes Unknown when pulling 2503bfbfad7e0ae6444a552a3547961e35bd0a81 on operations into ** on master**.

Changes Unknown when pulling 2503bfbfad7e0ae6444a552a3547961e35bd0a81 on operations into ** on master**.


Make it possible to supply custom dispatcher implementations

For #169

Travis failed, but it's unrealated to this. Fix for another PR, #173

@d4rken Strange thing. I've tried to rebuild this branch on TravicCI few times and this test failed every time.

I don't see how my changes would impact this test though... ?
What are your thoughts on the changes anyways.

@d4rken I like the changes. I think that there is something wrong in with following logic:

Those changes are not part of this PR though?
I made no functional changes it's just refactoring to introduce a dispatcher interface.

@d4rken right, I compared to with 2.0 branch instead of master. So it makes it even more mystic.

@dotsbb It was a race conditions due to the timings used to wait for events to happen.
I've extracted the code that actually sends data into an extra class with an interface that defines it. Now it's possible to use a custom implementation just to send stuff, but still use the default dispatcher and caching mechanism.
So instead of creating a custom Dispatcher, devs can just create a custom PacketSender
Also added a few unit tests that are now possible and fixed the flaky test with it.
Now I'm not sure whether I overcomplicated it...

@dipendrapkrl thoughts?

Looks awesome. Thank you @d4rken


Workspace: Simplified profile dropdown

Closing in favor of https://github.com/opencollective/opencollective/issues/6810


OpenSSL accepts a cert whose basicConstraints.cA==False and keyUsage.keyCertSign is set

Description of problem:
OpenSSL accepts a cert whose basicConstraints.cA==False and keyUsage.keyCertSign is set. According to RFC 5280, basicConstraints.cA indicates whether the public key can be used to verify cert. Here, cA is set False, the keyUsage must not be set. GnuTLS v3.6.13 and mbedTLS v2.25.0 reject the cert.
Version of OpenSSL used:
1.1.1, 1.1.1f
OS
Ubuntu x64
Steps to Reproduce:

openssl verify -CAfile ca.pem seed-5s26-78s27-136s35-369s39-372s19-955c21.pem

Actual results:
openssl verify [-x509_strict] -CAfile ./certs_related/ca.pem ./certs/seed-5s26-78s27-136s35-369s39-372s19-955c21.pem
./certs/seed-5s26-78s27-136s35-369s39-372s19-955c21.pem: OK

Expected results:
Consistent verification results among OpenSSL and (RFC 5280 and other TLS implementations).
Attachment:
ca.zip
seed-5s26-78s27-136s35-369s39-372s19-955c21.zip

Different from 13963, GnuTLS reject the cert.

Different from 13963, GnuTLS reject the cert.

Marking as inactive, to be closed at the end of 3.4 dev barring further input


does csv output require the input to be ByteArrayConverter ?

we have a KSQL stream outputting avro to a topic.
we would like to add an additional s3 sink connector that uses the same topic, where the output is a csv file.
is this a supported use case for this connector ?
i am guessing not based on this documentation:
The value.converter property must be set to org.apache.kafka.connect.converters.ByteArrayConverter for this data format.
i know i can create a new stream that outputs delimited data, but just want to make sure i am not missing a feature of this connector.
many thanks,
scott

i was able to get this working by putting 2 ksql streams in front of the aiven s3 connector,
topic:avro -> stream:avro -> stream as select:delimited -> aiven-s3-sink -> s3:csv
i'll go ahead and close this ticket b/c it seems more like a feature request.
Feature Request:  natively support consuming an avro topic while using the csv output


File missing

The file https://github.com/Azure/azure-iot-sdk-python/blob/doc/get_started/python-run-sample.md referenced in the device/readme.md is missing

Hi @guidoffm
It seems you are referencing files that are in the develop branch. We are now working out of the master branch and the develop branch is out of date.
I am closing this issue. Please feel free to reopen if you still see something off in the docs
Thanks


Outdated documentation w/ Offline

https://github.com/Tonejs/Tone.js/blob/dev/Tone/core/context/Offline.ts
The callback doesn't accept Transport - actually it accepts OfflineContext. Docs could make it more clear how to access the Transport

NVM, the issue is because I'm on Tone 14.

Hey @bduffany ,
Thanks for mentioning this, I've been trying for a too long time how to accessing Tone.Transport(). Like you mentioned, it doesn't works like it's documented. But I still didn't figure out how to access the Tone.Transport() in a Tone.Offline() nor Tone.OfflineContext(). How did you do it? Thank you! Below my code!
Thank you so much!
Greetings,
Milian
return Tone.Offline((Transport) => {

        const out = new Tone.Volume(1).toDestination();

        const env = new Tone.AmplitudeEnvelope({
            attack: 0.001,
            decay: 0.0001,
            sustain: 0.1,
            release: 0.0001,
        })

        const noise = new Tone.Noise("pink").start();
        noise.chain(env,out);

        Transport.scheduleRepeat(function(time) {
            env.triggerAttack("8n");
            console.log("Hallo: " + time);
        }, "8n");

        Transport.start(0.2);

    }, 10,1).then(buffer => {
        console.log("----> finished loading <----");
        return buffer
    });

The Transport is inside an object within the callback, as seen in the docs as well:
Tone.Offline(({ transport }) => {
	const osc = new Tone.Oscillator().toDestination();
	transport.schedule(time => {
		osc.start(time).stop(time + 0.1);
	}, 1);
	// make sure to start the transport
	transport.start(0.2);
}, 4).then((buffer) => {
	// do something with the output buffer
	console.log(buffer);
});


repeated headers?

I'm implementing digest authentication on my RTSP client. On https://tools.ietf.org/html/rfc7616#page-18, it has this example:
HTTP/1.1 401 Unauthorized
   WWW-Authenticate: Digest
<EMAIL_ADDRESS>       qop="auth, auth-int",
       algorithm=SHA-256,
       nonce="7ypf/xlj9XXwfDPEoM4URrv/xwf94BcCAzFZH4GiTo0v",
       opaque="FQhe/qaU925kfnzjCev0ciny7QMkPqMAFRtzCUYo5tdS"
   WWW-Authenticate: Digest
<EMAIL_ADDRESS>       qop="auth, auth-int",
       algorithm=MD5,
       nonce="7ypf/xlj9XXwfDPEoM4URrv/xwf94BcCAzFZH4GiTo0v",
       opaque="FQhe/qaU925kfnzjCev0ciny7QMkPqMAFRtzCUYo5tdS"

even though this RFC is not from RTSP 1.0, but an improvement of the one RTSP 1.0 uses, I'm using it because the old one only implements MD5.
See that it permits repeated header names. However, on this implementation, repeated header names are not possible because it's a BTreeMap. I couldn't find anything in RTSP 1.0 that said no repeated headers are prohibited.
What you think about this?

See https://tools.ietf.org/html/rfc7826#section-5.2

Multiple header fields with the same field-name MAY be present in a
message if and only if the entire field-value for that header field
is defined as a comma-separated list.  It MUST be possible to combine
the multiple header fields into one "field-name: field-value" pair,
without changing the semantics of the message, by appending each
subsequent field-value to the first, each separated by a comma.  The
order in which header fields with the same field-name are received is
therefore significant to the interpretation of the combined field
value; thus, a proxy MUST NOT change the order of these field-values
when a message is forwarded.

And https://tools.ietf.org/html/rfc7826#section-18.58

The field-value
consists of at least one challenge that indicates the authentication
scheme(s) and parameters applicable to the Request-URI.  This header
MUST only be used in response messages related to client to server
requests.

And then of course https://tools.ietf.org/html/rfc7235.
In short: it's a comma separated list of one or more challenges and your example above is equivalent to
HTTP/1.1 401 Unauthorized
   WWW-Authenticate: Digest
<EMAIL_ADDRESS>       qop="auth, auth-int",
       algorithm=SHA-256,
       nonce="7ypf/xlj9XXwfDPEoM4URrv/xwf94BcCAzFZH4GiTo0v",
       opaque="FQhe/qaU925kfnzjCev0ciny7QMkPqMAFRtzCUYo5tdS",
       Digest
<EMAIL_ADDRESS>       qop="auth, auth-int",
       algorithm=MD5,
       nonce="7ypf/xlj9XXwfDPEoM4URrv/xwf94BcCAzFZH4GiTo0v",
       opaque="FQhe/qaU925kfnzjCev0ciny7QMkPqMAFRtzCUYo5tdS"

The parser is currently collecting multiple headers with the same name in this way.

Thank you. I was reading the old one (rfc2326) which does not have this requirement, as far as I could tell. I know 2.0 is not backwards compatible but my client is working on just the subset of yours that works on 1.0.


Update srdf, srdf4j, srdfjena to 0.1.105

Updates

es.weso:srdf
es.weso:srdf4j
es.weso:srdfjena

from 0.1.102 to 0.1.105.
GitHub Release Notes
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "es.weso" } ]

labels: library-update, early-semver-minor, semver-spec-patch, commit-count:1

Superseded by #473.


⚠ Bofrost.be has degraded performance

In f37f20f, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1803 ms

Resolved: Bofrost.be performance has improved in 6f9a5ec after 29 minutes.


Path to which

Hello!
Not all distributive have alias /bin/which .
As example in Centos 6 -
 LANG=C LC_ALL=C ls -l /bin/which /usr/bin/which
ls: cannot access /bin/which: No such file or directory
-rwxr-xr-x 1 root root 20768 Sep 23  2011 /usr/bin/which

As result ctop start failed with
./ctop_orig
Traceback (most recent call last):
  File "./ctop_orig", line 46, in <module>
    HAS_LXC = cmd_exists('lxc-start')
  File "./ctop_orig", line 44, in cmd_exists
    return subprocess.call(["/bin/which",  cmd], stdout=subprocess.PIPE, stderr=subprocess.PIPE) == 0
  File "/usr/lib64/python2.6/subprocess.py", line 478, in call
    p = Popen(*popenargs, **kwargs)
  File "/usr/lib64/python2.6/subprocess.py", line 642, in __init__
    errread, errwrite)
  File "/usr/lib64/python2.6/subprocess.py", line 1234, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

until the path to which will not be changed manually

Indeed, no path should be hard-coded. Will fix this ASAP. Thanks for the report.


[core] support update table comment

Purpose

support update table comment

Tests

API and Format

Documentation

#2600 has been fixed.


Ignite 3.1.6 (and previous versions) failure with detox option

What's going on?
Running ignite new MyApp and checking detox results in a chain of failures resulting in the CLI exiting the build.

Steps to reproduce

yarn global ignite@latest (3.1.6)
ignite new MyApp
Tick bowser
Tick detox

Description of Error:
Ignite downloads React Native 0.60.4 and then fails with detox.
Error
Command failed <MYPATH>/detoxTest/detoxTest/node_modules/detox/scripts/build_framework.ios.sh
It then begins building react-native-gesture-handler but times out.
ignite doctor results:
System
  platform           darwin

  arch               x64
  cpu                12 cores                                                              Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz
  directory          <PATH-TO-DIRECTORY>/latestIgniteTest

JavaScript
  node               10.16.0      .nvm/versions/node/v10.16.0/bin/node
  npm                6.9.0        .nvm/versions/node/v10.16.0/bin/npm
  yarn               1.17.3       /usr/local/bin/yarn

React Native
  react-native-cli   2.0.1

Ignite
  ignite-cli         3.1.6        /usr/local/bin/ignite

Android
  java               1.8.0_212    /usr/bin/java
  android home       -            /Users/<USERNAME>/Library/Android/sdk

iOS
  xcode              10.3

Closing. This was related to having a git conflict with the wix/applesimutils.
Resolved this by removing the wix tap and fresh installing.
Helpful link:
https://github.com/wix/AppleSimulatorUtils/issues/48


fix(share_plus): remove canLaunch check

Description
Reverting back to old construct as @stuartmorgan suggested https://github.com/fluttercommunity/plus_plugins/pull/1295#discussion_r1009240852
Also remove canLaunch check.
Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I titled the PR using Conventional Commits.
[x] I did not modify the CHANGELOG.md nor the pubspec.yaml files.
[x] All existing and new tests are passing.
[x] The analyzer (flutter analyze) does not report any problems on my PR.

Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (please indicate that with a ! in the title as explained in Conventional Commits).
[x] No, this is not a breaking change.

Why only Linux? Other implementations were using the same construction.

Why only Linux? Other implementations were using the same construction.

Ahh... missed it. Thought it was only used in Linux. Will change them as well.

@miquelbeltran thanks for helping out. This feels fine to me


Text wrap algorithm transparency

I am trying to programatically scroll to certain points of my list vie of text widgets.
I have successfully created this algorithm, however, it depends on each device's displayed max characters per line (at what point does the view port decide to wrap text). I use a mono spaced font to account for uniformity. However, different devices/software will wrap at different lengths. The pixels vs points vs dp dilemma makes it even harder to compute.
Thus, this algorithm will break if I cannot compute the characters per line upon app start up. There does not seem to be a formula dependent on the various media query of attributes.
My issue is - I would like either a) Flutter to provide a "did wrap" type of bool so I can run a quick test on each device and figure out at what point does Flutter decide to wrap text.
Or, b) provide transparency, and allow us to see the text wrapping algorithm if possible. I am new to mobile development and I would assume that this is not handled by flutter, but by ios and android themselves.

One of these might do what you want (I haven't tried any of them myself yet)
https://docs.flutter.io/flutter/painting/TextPainter-class.html
https://docs.flutter.io/flutter/dart-ui/Paragraph-class.html
https://docs.flutter.io/flutter/rendering/RenderParagraph-class.html
Comments from #19264 might help as well.

A comment from a more knowledgable member of the Flutter team https://github.com/flutter/flutter/issues/18431#issuecomment-396990020

@zoechi
Do you have any tips as how to run a test described above - without showing the widget in the view port?
If not, then this issue should be able to be resolved in a cleaner way.

https://docs.flutter.io/flutter/widgets/Offstage-class.html might allow that.

@goderbauer @mkliger11 closed the issue but I thought someone might be able to provide better advice than I did above and I reopened it.
If you think that's not the case I assume it's ok to just close.

I'll offer some code from my project that demonstrates using LayoutBuilder with inspecting rendered text lengths.
My requirement is to take a list of strings, and format them so they would fit on exactly one line. The list might be like one of the following:

[]
['single item']
['item 1', 'item 2', 'item 3', 'item 4', 'item 5']

With no items, it is rendered as a Text(''). Otherwise, It is rendered like:

single item
item 1, item 2, item 3, item 4, item 5

But, if the width available is too small, it is rendered like:

single it... (or however the Flutter Text ellipsis renders it)
item1, item 2, (+3) (to show two visible items and three more remaining)

Props to our designer Stephen for coming up with this scheme.
import 'dart:ui' show ParagraphBuilder, ParagraphConstraints;

import 'package:flutter/widgets.dart';

class SingleLineList extends StatelessWidget {
  final List<String> strings;
  final TextStyle style;

  SingleLineList(this.strings, {this.style});

  @override
  build(BuildContext context) {
    return LayoutBuilder(
      builder: (context, constraints) =>
        Container(
          child: Text(
            _listFormattedToWidth(
              context,
              constraints.maxWidth,
              strings
            ),
            overflow: TextOverflow.ellipsis,
            style: style
          )
        )
    );
  }

  TextStyle _effectiveTextStyle(BuildContext context) {
    final DefaultTextStyle defaultTextStyle = DefaultTextStyle.of(context);
    if (style == null) return defaultTextStyle.style;
    if (style.inherit) return defaultTextStyle.style.merge(style);
    return style;
  }

  String _listFormattedToWidth(
        BuildContext context,
        double maxWidth,
        List<String> strings
        ) {
    if (strings.isEmpty) return '';
    if (strings.length == 1) return strings.first;

    final effectiveTextStyle = _effectiveTextStyle(context);

    final paragraphStyle = effectiveTextStyle.getParagraphStyle(maxLines: 1);

    bool isTextTooLong(String text) {
      final paragraphBuilder = ParagraphBuilder(paragraphStyle)
          ..pushStyle(style.getTextStyle())
          ..addText(text);
      final paragraph = paragraphBuilder.build();
      paragraph.layout(ParagraphConstraints(width: maxWidth));
      return paragraph.didExceedMaxLines;
    }

    final length = strings.length;

    int position = 0;
    String previousText;
    while (position < length) {
      ++position;
      final numRemaining = length - position;
      final text =
          strings.sublist(0, position).join(', ') + ', (+$numRemaining)';
      if (isTextTooLong(text)) return previousText ?? text;
      previousText = text;
    }

    final fullText = strings.join(', ');
    if (isTextTooLong(fullText)) return previousText;
    return fullText;
  }
}


How to setup deep link in One signal react native

I tried using Deep link in react native project but it is not working. Is there any guide for the same which is 100% working?
Environment
"dependencies": {
"moment": "^2.24.0",
"native-base": "^2.12.1",
"react": "16.8.3",
"react-native": "0.59.9",
"react-native-gesture-handler": "^1.3.0",
"react-native-image-picker": "^0.28.1",
"react-native-onesignal": "^3.2.14",
"react-navigation": "^3.11.0"
},

Howdy,
Please see our docs regarding deep linking. Perhaps you could provide some more info regarding your problem?
Include things like:

code snippet
logs (use the setLogLevel OneSignal method)

Thanks

Closing due to inactivity


adds mapping through volunteers

Vaccination Volunteer Locations tile

Maps through array of volunteer objects (static mock data)
Learn more button
Removes redundant tiles + adds total products tile

Waiting to find out about grey panel functionality

weird, your formatter is using 4 spaces, I recommend using prettier. It has plugins for almost every Editor.

@Nestyko unsure why it's doing that again! Let me have a look sorry


[SPARK-50135][BUILD] Upgrade ZooKeeper to 3.9.3

What changes were proposed in this pull request?
The pr aims to upgrade ZooKeeper from 3.9.2 to 3.9.3.
Why are the changes needed?
The full release notes: https://zookeeper.apache.org/doc/r3.9.3/releasenotes.html
Does this PR introduce any user-facing change?
No.
How was this patch tested?
Pass GA.
Was this patch authored or co-authored using generative AI tooling?
No.

It looks good to me, @panbingkun . Is the PR ready?

It looks good to me, @panbingkun . Is the PR ready?

Yep,thanks. ❤

Surprisingly this caused the test failures in Spark Connect specifically for Mac ....
/python/run-tests --python-executables=python3 --testnames "pyspark.sql.tests.connect.test_connect_collection"

With this PR:
google.protobuf.runtime_version.VersionError: Detected incompatible Protobuf Gencode/Runtime versions when loading spark/connect/base.proto: gencode 5.28.3 runtime 5.28.2. Runtime version cannot be older than the linked gencode version. See Protobuf version guarantees at https://protobuf.dev/support/cross-version-runtime-guarantee.

Without this PR:
Running PySpark tests. Output is in /.../spark/python/unit-tests.log
Will test against the following Python executables: ['python3']
Will test the following Python tests: ['pyspark.sql.tests.connect.test_connect_collection']
python3 python_implementation is CPython
python3 version is: Python 3.11.9
Starting test(python3): pyspark.sql.tests.connect.test_connect_collection (temp output: /.../spark/python/target/c288c2b5-a11a-4d12-8169-3947c2db9cdc/python3__pyspark.sql.tests.connect.test_connect_collection__rwwdqgag.log)
Finished test(python3): pyspark.sql.tests.connect.test_connect_collection (16s)
Tests passed in 16 seconds

...
Let me revert this for now because the change is sort of trivial but seems like this affects all developers with Mac ..

thanks @HyukjinKwon for addressing this issue. Python developers had been blocked for 2 weeks.
IIRC, this is not the first time that some Python tests only fails with MacOS.
This kind of issue is hard to fix, I actually attempted to resolve it by reverting some suspicious PRs and comparing with versions of OSS GA, but failed to find the root cause.
Is it possible to add a lightweight MacOS GA job to guard basic PySpark functionality? @dongjoon-hyun @Yikun @LuciferYang

We have MacOS test at https://github.com/apache/spark/actions/workflows/build_maven_java21_macos15.yml but we're not running PySpark tests now. We could improve this furhter.

Surprisingly this caused the test failures in Spark Connect specifically for Mac ....
/python/run-tests --python-executables=python3 --testnames "pyspark.sql.tests.connect.test_connect_collection"

With this PR:
google.protobuf.runtime_version.VersionError: Detected incompatible Protobuf Gencode/Runtime versions when loading spark/connect/base.proto: gencode 5.28.3 runtime 5.28.2. Runtime version cannot be older than the linked gencode version. See Protobuf version guarantees at https://protobuf.dev/support/cross-version-runtime-guarantee.

Without this PR:
Running PySpark tests. Output is in /.../spark/python/unit-tests.log
Will test against the following Python executables: ['python3']
Will test the following Python tests: ['pyspark.sql.tests.connect.test_connect_collection']
python3 python_implementation is CPython
python3 version is: Python 3.11.9
Starting test(python3): pyspark.sql.tests.connect.test_connect_collection (temp output: /.../spark/python/target/c288c2b5-a11a-4d12-8169-3947c2db9cdc/python3__pyspark.sql.tests.connect.test_connect_collection__rwwdqgag.log)
Finished test(python3): pyspark.sql.tests.connect.test_connect_collection (16s)
Tests passed in 16 seconds

...
Let me revert this for now because the change is sort of trivial but seems like this affects all developers with Mac ..

Thank you for helping to fix it. Let me investigate it. Thanks!

Thank you for the head-up and recovery.

Are all current PySpark tests run in a container environment? Even if the os is specified as mac-os, are the existing images still based on Ubuntu? Or is this Python-Only on macOS joob supposed to run in a physical machine environment?

I think I have identified this issue and will submit a new PR this afternoon to solve it.

Are all current PySpark tests run in a container environment? Even if the os is specified as mac-os, are the existing images still based on Ubuntu? Or is this Python-Only on macOS joob supposed to run in a physical machine environment?

yes, the are always container job.
we should add a MacOS non-container job for this purpose, or make a MacOS image instead of Ubuntu image

When we use sbt to compile the Spark project, in directory assembly/target/scala-2.13/jars/, we will find netty related dependencies, some are version 4.1.110.Final, some are version 4.1.113.Final, as follow:

and ./python/run-tests --python-executables=python3 --testnames "pyspark.sql.tests.connect.test_connect_collection" will failed.

When we use maven to compile the Spark project, in directory assembly/target/scala-2.13/jars, we will find netty related dependencies,  all are version 4.1.110.Final, as follow:

(pyspark) ➜  jars git:(master) ✗ ls -1 netty-*4*
netty-all-4.1.110.Final.jar
netty-buffer-4.1.110.Final.jar
netty-codec-4.1.110.Final.jar
netty-codec-http-4.1.110.Final.jar
netty-codec-http2-4.1.110.Final.jar
netty-codec-socks-4.1.110.Final.jar
netty-common-4.1.110.Final.jar
netty-handler-4.1.110.Final.jar
netty-handler-proxy-4.1.110.Final.jar
netty-resolver-4.1.110.Final.jar
netty-tcnative-boringssl-static-2.0.66.Final-linux-aarch_64.jar
netty-tcnative-boringssl-static-2.0.66.Final-linux-x86_64.jar
netty-tcnative-boringssl-static-2.0.66.Final-osx-aarch_64.jar
netty-tcnative-boringssl-static-2.0.66.Final-osx-x86_64.jar
netty-tcnative-boringssl-static-2.0.66.Final-windows-x86_64.jar
netty-transport-4.1.110.Final.jar
netty-transport-classes-epoll-4.1.110.Final.jar
netty-transport-classes-kqueue-4.1.110.Final.jar
netty-transport-native-epoll-4.1.110.Final-linux-aarch_64.jar
netty-transport-native-epoll-4.1.110.Final-linux-riscv64.jar
netty-transport-native-epoll-4.1.110.Final-linux-x86_64.jar
netty-transport-native-kqueue-4.1.110.Final-osx-aarch_64.jar
netty-transport-native-kqueue-4.1.110.Final-osx-x86_64.jar
netty-transport-native-unix-common-4.1.110.Final.jar

And ./python/run-tests --python-executables=python3 --testnames "pyspark.sql.tests.connect.test_connect_collection" will succeed.
(pyspark) ➜  spark-community git:(master) ✗ ./python/run-tests --python-executables=python3 --testnames "pyspark.sql.tests.connect.test_connect_collection"
Running PySpark tests. Output is in /Users/panbingkun/Developer/spark/spark-community/python/unit-tests.log
Will test against the following Python executables: ['python3']
Will test the following Python tests: ['pyspark.sql.tests.connect.test_connect_collection']
python3 python_implementation is CPython
python3 version is: Python 3.9.19
Starting test(python3): pyspark.sql.tests.connect.test_connect_collection (temp output: /Users/panbingkun/Developer/spark/spark-community/python/target/f5aa47b5-2b52-4106-a997-30e54b1316e6/python3__pyspark.sql.tests.connect.test_connect_collection__5e2svetz.log)
Finished test(python3): pyspark.sql.tests.connect.test_connect_collection (15s)
Tests passed in 15 seconds

How was '4.1.113' introduced?

<exclusion>
       <groupId>org.jboss.netty</groupId>
       <artifactId>netty</artifactId>
     </exclusion>

Here, what is excluded is the dependency on netty 3.x. The groupId for netty 3.x and 4.x is different.

cc @HyukjinKwon @LuciferYang

We have MacOS test at https://github.com/apache/spark/actions/workflows/build_maven_java21_macos15.yml but we're not running PySpark tests now. We could improve this furhter.

Based on the above conclusions and analysis, I believe that any compilation based on Maven may not detect this issue in advance.

<exclusion>
       <groupId>org.jboss.netty</groupId>
       <artifactId>netty</artifactId>
     </exclusion>

Here, what is excluded is the dependency on netty 3.x. The groupId for netty 3.x and 4.x is different.

A new pr for it: https://github.com/apache/spark/pull/48771

we should change to exclude
<exclusion>
       <groupId>io.netty</groupId>
       <artifactId>*</artifactId>
     </exclusion>

from zookeeper instead of
<exclusion>
       <groupId>org.jboss.netty</groupId>
       <artifactId>netty</artifactId>
     </exclusion>

org.jboss.netty is the groupId of netty 3.x

It doesn't seem to work, I've tried it and I can confirm again.

we should change to exclude
<exclusion>
       <groupId>io.netty</groupId>
       <artifactId>*</artifactId>
     </exclusion>

from zookeeper instead of
<exclusion>
       <groupId>org.jboss.netty</groupId>
       <artifactId>netty</artifactId>
     </exclusion>

org.jboss.netty is the groupId of netty 3.x

Unfortunately, this issue still exists.

(pyspark) ➜  spark-community git:(master) ✗ cd assembly/target/scala-2.13/jars
(pyspark) ➜  jars git:(master) ✗ ls -1 netty-*
netty-all-4.1.110.Final.jar
netty-buffer-4.1.113.Final.jar
netty-codec-4.1.113.Final.jar
netty-codec-http-4.1.110.Final.jar
netty-codec-http2-4.1.110.Final.jar
netty-codec-socks-4.1.110.Final.jar
netty-common-4.1.113.Final.jar
netty-handler-4.1.113.Final.jar
netty-handler-proxy-4.1.110.Final.jar
netty-resolver-4.1.113.Final.jar
netty-tcnative-boringssl-static-2.0.66.Final-linux-aarch_64.jar
netty-tcnative-boringssl-static-2.0.66.Final-linux-x86_64.jar
netty-tcnative-boringssl-static-2.0.66.Final-osx-aarch_64.jar
netty-tcnative-boringssl-static-2.0.66.Final-osx-x86_64.jar
netty-tcnative-boringssl-static-2.0.66.Final-windows-x86_64.jar
netty-tcnative-boringssl-static-2.0.66.Final.jar
netty-tcnative-classes-2.0.66.Final.jar
netty-transport-4.1.113.Final.jar
netty-transport-classes-epoll-4.1.113.Final.jar
netty-transport-classes-kqueue-4.1.110.Final.jar
netty-transport-native-epoll-4.1.113.Final-linux-aarch_64.jar
netty-transport-native-epoll-4.1.113.Final-linux-riscv64.jar
netty-transport-native-epoll-4.1.113.Final-linux-x86_64.jar
netty-transport-native-kqueue-4.1.110.Final-osx-aarch_64.jar
netty-transport-native-kqueue-4.1.110.Final-osx-x86_64.jar
netty-transport-native-unix-common-4.1.113.Final.jar

we should change to exclude
<exclusion>
       <groupId>io.netty</groupId>
       <artifactId>*</artifactId>
     </exclusion>

from zookeeper instead of
<exclusion>
       <groupId>org.jboss.netty</groupId>
       <artifactId>netty</artifactId>
     </exclusion>

org.jboss.netty is the groupId of netty 3.x

Unfortunately, this issue still exists.

```shell
(pyspark) ➜  spark-community git:(master) ✗ cd assembly/target/scala-2.13/jars
(pyspark) ➜  jars git:(master) ✗ ls -1 netty-*
netty-all-4.1.110.Final.jar
netty-buffer-4.1.113.Final.jar
netty-codec-4.1.113.Final.jar
netty-codec-http-4.1.110.Final.jar
netty-codec-http2-4.1.110.Final.jar
netty-codec-socks-4.1.110.Final.jar
netty-common-4.1.113.Final.jar
netty-handler-4.1.113.Final.jar
netty-handler-proxy-4.1.110.Final.jar
netty-resolver-4.1.113.Final.jar
netty-tcnative-boringssl-static-2.0.66.Final-linux-aarch_64.jar
netty-tcnative-boringssl-static-2.0.66.Final-linux-x86_64.jar
netty-tcnative-boringssl-static-2.0.66.Final-osx-aarch_64.jar
netty-tcnative-boringssl-static-2.0.66.Final-osx-x86_64.jar
netty-tcnative-boringssl-static-2.0.66.Final-windows-x86_64.jar
netty-tcnative-boringssl-static-2.0.66.Final.jar
netty-tcnative-classes-2.0.66.Final.jar
netty-transport-4.1.113.Final.jar
netty-transport-classes-epoll-4.1.113.Final.jar
netty-transport-classes-kqueue-4.1.110.Final.jar
netty-transport-native-epoll-4.1.113.Final-linux-aarch_64.jar
netty-transport-native-epoll-4.1.113.Final-linux-riscv64.jar
netty-transport-native-epoll-4.1.113.Final-linux-x86_64.jar
netty-transport-native-kqueue-4.1.110.Final-osx-aarch_64.jar
netty-transport-native-kqueue-4.1.110.Final-osx-x86_64.jar
netty-transport-native-unix-common-4.1.113.Final.jar
```

Ok ~ I'll investigate if there's a simpler method later

The final solution is to upgrade netty to version 1.1.114 first, and then upgrade zookeeper.
I have verified locally that the netty... generated by compiling with sbt is version 1.1.114