Logitech G502 support

What are you experiencing an issue with?

[ ] Aurora
[ ] Aurora supported game, (Fill in the game)
[ ] Aurora Wrapper
[ ] Aurora Profile
[x] Aurora supported device, Logitech G502
[ ] Aurora Scripts
[ ] Aurora Updater
[ ] Aurora Lighting issue
[ ] Other, (Fill in another issue here)

What kind of an issue is it?

[ ] Crash
[ ] Performance problems
[ ] Visual bug
[ ] Localization issue
[ ] Enhancement suggestion
[ ] Device issue
[x] Other, It is not supported

What is the version of Aurora you are experiencing this issue with?

My version is... 6.0b
I would like to see some love for this other great logitech mouse.
http://gaming.logitech.com/en-us/product/g502-proteus-spectrum-rgb-gaming-mouse

You can use any mouse setting to get mouse lighting. It just won't be 100% perfect in terms of effects. But at least it will work.

I use the g502 and have selected G900 in the Preferred mouse. Works a charm

I also own a g502, and selected G900. Works for now.

Used to work for me too, doesn't work anymore.

@TheNorwegianBeck Are you assigning lighting to the lights on the mouse? The mouse won't light up on its own unless you're using a profile that includes it or a game that lights the mouse.

@simon-wh Went trough all of the profiles, all of them even the desktop profile. Does not use the mouse's light, have it set to g900, im using a g502

@TheNorwegianBeck Create a Solid Colour Layer and when you're assigning keys click on the lighting areas on the mouse. In the preview it should be lit up as well as your physical mouse.

@simon-wh Assigned to two keys + the mouse logo, still doesnt light up, even the one in the editor doesnt light up.

@TheNorwegianBeck Could you take a screenshot of it? Including at least the Layer and Preview.

Here

@TheNorwegianBeck You didn't include the layer you created. What layer are you using?

Also one where they are all assigned normally, still doesnt work.

@TheNorwegianBeck Could you try and see if you experience the same issue on the latest development version?

@simon-wh Still doesnt work sadly. It worked a couple of weeks ago, but suddenly it has decided not to.

@TheNorwegianBeck I don't have a Logitech mouse and I'm still able to get it to display in the preview. It's strange that you're not able to get at least that.

@simon-wh Where does the program store profiles? I deleted the old one, but when i started the new one it remembered the green layer. Maybe i can try to delete the profiles?

Found it, seemed to fix the problem by deleting the folder for aurora in roaming.

@TheNorwegianBeck You can click on the Profiles Manager above the Layer Manager and either reset the profile you're using or open the Profile Folder.

@simon-wh Deleting everything from aurora in the roaming folder fixed it.

is there any progress on getting support for the G502?

See #710


Alpine ARM64 - Search and file quick pick is broken

Testing #133893

The binary is indeed available in the server folder but the libc library it is linked with does not exist on the image.
> file rg
rg: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for GNU/Linux 3.7.0, BuildID[sha1]=9aeeefc40f268f2df9b99c2549fddbd3f9fe0171, stripped

> pwd
/vscode/vscode-server-insiders/bin/alpine-arm64/214ac689ca9874a8a4be386f73d5cb60e15af25e-insider/node_modules/vscode-ripgrep/bin

> /vscode/vscode-server-insiders/bin/alpine-arm64/214ac689ca9874a8a4be386f73d5cb60e15af25e-insider/node_modules/vscode-ripgrep/bin/rg
/bin/ash: /vscode/vscode-server-insiders/bin/alpine-arm64/214ac689ca9874a8a4be386f73d5cb60e15af25e-insider/node_modules/vscode-ripgrep/bin/rg: not found

> ldd /vscode/vscode-server-insiders/bin/alpine-arm64/214ac689ca9874a8a4be386f73d5cb60e15af25e-insider/node_modules/vscode-ripgrep/bin/rg

/lib/ld-linux-aarch64.so.1 (0xffff9741d000)
        libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0xffff96fd9000)
        libpthread.so.0 => /lib/ld-linux-aarch64.so.1 (0xffff9741d000)
        libdl.so.2 => /lib/ld-linux-aarch64.so.1 (0xffff9741d000)
        libc.so.6 => /lib/ld-linux-aarch64.so.1 (0xffff9741d000)
Error loading shared library ld-linux-aarch64.so.1: No such file or directory (needed by ./node_modules/vscode-ripgrep/bin/rg)

> ldd /vscode/vscode-server-insiders/bin/alpine-arm64/214ac689ca9874a8a4be386f73d5cb60e15af25e-insider/node

/lib/ld-musl-aarch64.so.1 (0xffff9b3e3000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xffff973b2000)
        libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0xffff9738d000)
        libc.musl-aarch64.so.1 => /lib/ld-musl-aarch64.so.1 (0xffff9b3e3000)

Ripgrep should also build for aarch64-unknown-linux-musl rust target in https://github.com/microsoft/ripgrep-prebuilt/blob/main/build/main.yml to support alpine images.

I can add that, thanks

Ripgrep couldn't build under that target.
https://github.com/BurntSushi/ripgrep/blob/df83b8b44426b3f2179abe632eb183e8c8270524/crates/core/main.rs#L29 My understanding is… when building with musl, it uses jemalloc, jemalloc uses background_threads_runtime_support, and that doesn’t support our target.
If we can figure out how to un set that flag on jemalloc that might work around it but i don’t know what consequences that would have https://github.com/gnzlbg/jemallocator/blob/master/jemalloc-sys/README.md#cargo-features

@roblourens from https://github.com/gnzlbg/jemallocator/issues/124 it is not sure whether the bug is in jemalloc config or cargo, but the immediate working solution is to build the crate with cross https://github.com/BurntSushi/ripgrep/commit/5ce2d7351dba9c113318f4e43c041be7c25eaee4. I will see if that works.

May I know if there is some workaround for this bug for users? If not, I do not think its good to ship Alpine ARM 64 builds with broken experience.

It will require users to install libc6-compat package that will include the required libraries for the executable built using glibc.
apk add libc6-compat

Not with your PR, right @deepak1556? Thanks for the PR btw

Yup https://github.com/microsoft/vscode/issues/133993#issuecomment-931193148 is not needed with the musl binary produced from the PR.

I didn't put up a PR to adjust https://github.com/microsoft/vscode-ripgrep/blob/main/lib/postinstall.js to download aarch64-unknown-linux-musl for alpine. Can you take care of it ? Thanks!


Adds assetId option to retentionlabel ensure commands, Closes #4387

This PR adds the assetId option to retentionlabel ensure commands.
Also reworked the 2 commands so they don't use executeCommandWithOutput anymore
Closes #4387
This PR is a new pull request from previous closed PR #4524

Created new PR @martinlingstuyl 👋

Thanks @nicodecleyre, I'll look at it asap!

Here you go, thank you for the review :call_me_hand:

Merged manually, thanks you! 👏


Installation script doesn't install the zerotier client

After install AYS and run the blueprint I found this log
2017-06-04 13:38:42 - (network)[INFO][<IP_ADDRESS>:37822]: POST http://localhost:5000/ays/repository/orchestrator-server/blueprint/bootstrap.bp  200 41               │·······················
[Sun04 13:38] - Job.py              :56  :j.core.jobcontroller.job.c34f3b2c1ff31ef7c8e52c56c2c8c4d6 - ERROR    - Traceback (most recent call last):                │·······················
  File "/usr/lib/python3.5/concurrent/futures/thread.py", line 55, in run                                                                                │·······················
    result = self.fn(*self.args, **self.kwargs)                                                                                │·······················
  File "/tmp/actions/bootstrap.g8os/87723ee841990fc4a47dd2a0526aae4a.py", line 144, in bootstrap                                                                   │·······················
    from zerotier import client                                                                                │·······················
ImportError: No module named 'zerotier'

Reproduce steps
Install an environment using the installation script and run the discovering blueprint
https://github.com/zero-os/0-orchestrator/blob/master/scripts/installgrid.sh

Sv
f74e7be69b8594dba2a6b4d7c15933f25c3919b0


Front end : CSS Layouts

I would like to contribute about CSS layouts along with its example in the form of documentation.
Please assign this to me. I am a GWOC contributor.

I want to work on this issue


Player rotation

Add rotation capability to player
Corrected rotation behavior of tiles, center, and path

LGTM!


bob doesn't write files

Hi !
I'm trying to use bob on Raspberry Pi OS (Debian, arm64) and it seems bob can't write files.
Here's the output when I try to reproduce the command from the README gif :
$ bob install 0.8.1
Downloaded version v0.8.1 to /home/steuv/.local/share/bob/v0.8.1.appimage
  [00:00:08] [¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦] 14.65MiB/14.65MiB (1.80MiB/s, 0s)
Jan 20 11:14:07.395  INFO v0.8.1 has been successfully installed in /home/steuv/.local/share/bob
$ bob use 0.8.1
Downloaded version v0.8.1 to /home/steuv/.local/share/bob/v0.8.1.appimage
  [00:00:08] [¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦] 14.65MiB/14.65MiB (1.74MiB/s, 0s)
Jan 20 11:14:47.559  INFO You can now use v0.8.1!
$ bob ls
+-------------------------+
¦  Version  ¦  Status     ¦
+-----------+-------------¦
+-------------------------+
$ tree /home/steuv/.local/share/bob/
/home/steuv/.local/share/bob/
+-- nvim-bin
¦   +-- nvim
+-- used

1 directory, 2 files

I've checked the permission on bob directory for current user but it's ok:
$ ls /home/steuv/.local/share/ -al
   rwx------   5   steuv   steuv      4 KiB   Thu Jan 18 13:49:15 2024  ?  ./
   rwxr-xr-x   5   steuv   steuv      4 KiB   Tue Jan  9 21:06:55 2024  ?  ../
   rwxr-xr-x   3   steuv   steuv      4 KiB   Sat Jan 20 11:14:47 2024  ?  bob/
   ...

I've installed bob from cartes.io (cargo install bob-nvim) with no error.
I don't know where to start my troubleshout.
Any help will be appreciated !

Something here is indeed weird lol, seems like it manages to write but not download and write files.
Try building neovim from source by passing bob install <commit-hash>

Hey thanks for taking to look upon my issue !
I've tried to build from source with the latest version (bob install 8744ee8783a8597f9fce4a573ae05aca2f412120).
The build failed, but at leat bob write in his directory.
Not sure if its help, the error line were:
CMake Error at /usr/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:165 (message):
  Could NOT find Gettext (missing: GETTEXT_MSGMERGE_EXECUTABLE
  GETTEXT_MSGFMT_EXECUTABLE)
Call Stack (most recent call first):
  /usr/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:458 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-3.18/Modules/FindGettext.cmake:81 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  src/nvim/po/CMakeLists.txt:1 (find_package)

-- Configuring incomplete, errors occurred!
See also "/home/steuv/.local/share/bob/neovim-git/build/CMakeFiles/CMakeOutput.log".
make: *** [Makefile:94: build/.ran-cmake] Error 1
Jan 20 21:26:24.766 ERROR Error: 2

CMakeOutput.log

That is very weird, can you try this command see what happens?
curl -LJO https://github.com/neovim/neovim/releases/download/v0.9.5/nvim-linux64.tar.gz

The curl works fine
$ curl -LJO https://github.com/neovim/neovim/releases/download/v0.9.5/nvim-linux64.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 10.5M  100 10.5M    0     0   667k      0  0:00:16  0:00:16 --:--:--  618k

$ ls -l
(...)
   rw-r--r--    1   steuv   steuv     10 MiB   Tue Jan 23 18:07:55 2024  ?  nvim-linux64.tar.gz

I've tried in bob's directory and it works too.
$ cd .local/share/bob

$ curl -LJO https://github.com/neovim/neovim/releases/download/v0.9.5/nvim-linux64.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 10.5M  100 10.5M    0     0  1017k      0  0:00:10  0:00:10 --:--:-- 1112k

$ ls -l
(...)
   rw-r--r--    1   steuv   steuv     10 MiB   Tue Jan 23 18:08:49 2024  ?  nvim-linux64.tar.gz

The curl works fine
$ curl -LJO https://github.com/neovim/neovim/releases/download/v0.9.5/nvim-linux64.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 10.5M  100 10.5M    0     0   667k      0  0:00:16  0:00:16 --:--:--  618k

$ ls -l
(...)
   rw-r--r--    1   steuv   steuv     10 MiB   Tue Jan 23 18:07:55 2024  ?  nvim-linux64.tar.gz

I've tried in bob's directory and it works too.
$ cd .local/share/bob

$ curl -LJO https://github.com/neovim/neovim/releases/download/v0.9.5/nvim-linux64.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 10.5M  100 10.5M    0     0  1017k      0  0:00:10  0:00:10 --:--:-- 1112k

$ ls -l
(...)
   rw-r--r--    1   steuv   steuv     10 MiB   Tue Jan 23 18:08:49 2024  ?  nvim-linux64.tar.gz

I am honestly clueless, what happens if you run bob with sudo?

I've launched sudo ~/.cargo/bin/bob install latest, and it's exactly the same (download and then nothing).
If you don't want to investigat further, that's okay, I'm fine using commit hash for this project 😄
It might be a limitation specific to Rapsberry Pi OS, or a problem in my cargo compiler (works fine with other package like Alacritty).
But if you prefere to continue, I would be pleased to keep on trying, or came back later (I make regular snap shot of my rapsberry pi SD cards).
I'll close this issue on your cue.

Ye all good, I wish I had a way to recreate this issue though.

It's all good no need to close the issue

@Steuv1871 what if u try downloading the binary provided in the github release for linux arm and try it?

Another idea, what if u run it inside a docker container? Bob provided a dockerfile

I've been trying to build the image but it's too much for my pi zero, the build crash when the CPU is too hot.
I'll try tomorrow to build the image on my Pi 4, it should works as it's the same architecture.
I'll also try to do the install from the binary.

I've been trying to build the image but it's too much for my pi zero, the build crash when the CPU is too hot.
I'll try tomorrow to build the image on my Pi 4, it should works as it's the same architecture.
I'll also try to do the install from the binary.

All good!

Forgot to post the test with the binary, but it still the same result:
$ curl -LJO https://github.com/MordechaiHadad/bob/releases/download/v2.8.0/bob-linux-aarch64.zip
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 2314k  100 2314k    0     0   968k      0  0:00:02  0:00:02 --:--:-- 2240k

$ unzip bob-linux-aarch64.zip
Archive:  bob-linux-aarch64.zip
   creating: bob-linux-aarch64/
  inflating: bob-linux-aarch64/bob

$ cd bob-linux-aarch64

$ chmod +x bob

$ ./bob install latest
Feb 03 13:42:43.676  INFO Fetching latest version
Downloaded version v0.9.5 to /home/steuv/.local/share/bob/v0.9.5.appimage
  [00:00:04] [¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦] 10.66MiB/10.66MiB (2.13MiB/s, 0s)
Feb 03 13:42:49.646  INFO v0.9.5 has been successfully installed in /home/steuv/.local/share/bob

$ ./bob list
+-------------------------+
¦  Version  ¦  Status     ¦
+-----------+-------------¦
¦  040f145  ¦  Installed  ¦
¦  8744ee8  ¦  Used       ¦
+-------------------------+

Still having some issue to create the docker image (but I learn a lot on docker so it's cool 😄 ), will update when I'm finished.

Ok, I manage to create the Docker image and run bob, but still the same result, no install appen.
And the odd thing is that I did my test on a fresh new Raspberry Pi Os install on an other hardware (Raspberry Pi Zeor 2 > Raspberry Pi 4). It's even a different Debian version (11 Bulleye > 12 Bookworm).
I tried to run an install from binary and an install from cargo crates, and still the same issue.
I'll try on a VM with Raspberry Pi Os and standard Debian to continue the test.
Log from Docker test:
$ git clone https://github.com/MordechaiHadad/bob.git
Cloning into 'bob'...
remote: Enumerating objects: 2680, done.
remote: Counting objects: 100% (2680/2680), done.
remote: Compressing objects: 100% (879/879), done.
remote: Total 2680 (delta 1762), reused 2577 (delta 1742), pack-reused 0
Receiving objects: 100% (2680/2680), 1.65 MiB | 13.27 MiB/s, done.
Resolving deltas: 100% (1762/1762), done.

$ cd bob/

$ sudo docker image build . -t bob:latest
[+] Building 1.7s (13/13) FINISHED                                                                                docker:default
 => [internal] load build definition from Dockerfile                                                                                0.1s
 => => transferring dockerfile: 447B                                                                                0.0s
 => [internal] load metadata for docker.io/library/rust:latest                                                                                1.1s
 => [internal] load .dockerignore                                                                                0.0s
 => => transferring context: 61B                                                                                0.0s
 => [1/8] FROM docker.io/library/rust:latest@sha256:87f3b2f93b82995443a1a558c234212dafe79cfdc3af956539610560369ddcd0                                                                                0.0s
 => [internal] load build context                                                                                0.1s
 => => transferring context: 3.37kB                                                                                0.0s
 => CACHED [2/8] RUN useradd -m -s /bin/bash bobuser                                                                                0.0s
 => CACHED [3/8] WORKDIR /app                                                                                0.0s
 => CACHED [4/8] COPY . .                                                                                0.0s
 => CACHED [5/8] RUN cargo build                                                                                0.0s
 => CACHED [6/8] RUN mkdir -p ~/.config/bob && echo '{"version_sync_file_location": "/home/bobuser/.config/nvim/nvim.version"}' > ~/.config/bob/config.json                                              0.0s
 => CACHED [7/8] RUN mkdir -p ~/.config/nvim                                                                                0.0s
 => CACHED [8/8] RUN cp target/debug/bob /usr/local/bin/                                                                                0.0s
 => exporting to image                                                                                0.0s
 => => exporting layers                                                                                0.0s
 => => writing image sha256:20948b6fca72c92684d4a2585208340d3751b6f82685ad1e003dadca57e13e1d                                                                                0.0s
 => => naming to docker.io/library/bob:latest                                                                                0.0s

$ sudo docker image ls
REPOSITORY    TAG       IMAGE ID       CREATED          SIZE
bob           latest    20948b6fca72   26 minutes ago   2.97GB
hello-world   latest    ee301c921b8a   9 months ago     9.14kB

$ sudo docker container run -it bob:latest bob install latest
Feb 03 17:31:59.972  INFO Fetching latest version
Downloaded version v0.9.5 to /home/bobuser/.local/share/bob/v0.9.5.appimage
  [00:00:00] [¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦] 10.66MiB/10.66MiB (15.63MiB/s, 0s)
Feb 03 17:32:01.899  INFO v0.9.5 has been successfully installed in /home/bobuser/.local/share/bob

$ sudo docker container run -it bob:latest bob list
Feb 03 17:32:28.110 ERROR Error: There are no versions installed

I think I've located the issue, and found a way for you to reproduce it 😄
I've tried on tow local VM, one with Debian and one woth "Raspberry Pi Os Desktop" (Debian Bulleseye), and it works with both of them, but it's an x86_64 architecture as it run on my PC, so I used the x86_64 linux package.
So I've tried on AWS, using an ARM architecture, and I reproduce the problem !
I think the issue might be with the aarch64 package.
Here's the config I used on AWS (it fits in the free tier):

hmmm i see, I will try soon create a branch with debug log, download it and then show me what it outputs.

Could you curl download this: https://github.com/neovim/neovim/releases/download/v0.9.5/nvim.appimage
and run those commands on it:
./nvim.appimage --appimage-extract
./squashfs-root/usr/bin/nvim

It's not working, I got an error message from the app image :
$./nvim.appimage --appimage-extract
./nvim.appimage: 1: Not: not found

But it's logical, the app image must be built on Intel architecture and not arm (they only tell 'x64' on the release page, but as there is no specific appimage for arm architecture, it must be an Intel arch).
So if you use an appimage extraction, that explain why there is nothing after download, the extract return an error.

This issue seems to be prevalent in raspbian os lite

This issue seems to be prevalent in raspbian os lite

Yes, neovim doesn't provide ARM binaries.

I had a similar issue where bob install and bob use worked fine but I couldn't run the resulting binary and bob ls didn't return anything.  Reinstalling via cargo install fixed things for me.

Just as an FYI the above comment from @dmyyy didn't work for me on Docker inside a MacOS M1 system. Here's my dockerfile where I compile bob from source:
FROM python:3.12-slim-bookworm

WORKDIR /
RUN mkdir workspace
WORKDIR /workspace

RUN apt-get update && \
    apt-get install -y \
    curl \
    wget \
    openssl \
    git \
    build-essential

ARG TARGETPLATFORM
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y && \
    export PATH="$HOME/.cargo/bin:$PATH" && \
    cargo install --git https://github.com/MordechaiHadad/bob.git && \
    bob use 0.10.2 # Suceeds without issue

But inside the docker container, I don't get anything for:
root@812251b829e3:/workspace# bob list
┌───────────┬─────────────┐
│  Version  │  Status     │
├───────────┼─────────────┤
└───────────┴─────────────┘

I guess the conclusion is that Linux based ARM is just not supported, and my only recourse at this time is to try to build it from scratch?

I just wanted to note for posterity that the upstream issue regarding the lack of linux aarch64 AppImage is here https://github.com/neovim/neovim/issues/15143
The only suggestions I have are either

Drop linux-aarch64 support for now so this isn't surprising
Provide an error message.  Currently bob downloads the "normal" AppImage and reports success for me, but ~/.local/share/bob is empty.

Nov 20 11:11:09.318  INFO v0.10.2 has been successfully installed in /home/mike/.local/share/bob
lobster$ ls ~/.local/share/bob
lobster$


Spanish translation

Hello
I am not seeing new birds and animals to be able to translate them
Regards

Hey, if you are using an extension to block ads, the heatmap.js will be blocked too.
http://prntscr.com/q643cb


Update development.md

Updated the TOC for the page deleted in the previous PR

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

mixed-reality-docs/development.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


How do I add an Android app

Hi @Fightingyoung, We have a very clear documentation and code examples for MediaPipe solutions with respective Android platform .


EVP_PKEY_derive() no longer accepts buffers larger than expected output

Commit #6674 changed the behavior of EVP_PKEY_derive() to require the output buffer be the exact size of the output data, throwing KDF_R_WRONG_OUTPUT_BUFFER_SIZE if there is a mismatch.  This is a regression against OpenSSL 1.1 and can cause existing software to fail.
The documentation (https://www.openssl.org/docs/man3.0/man3/EVP_PKEY_derive.html) still states:

If key is not NULL then before the call the keylen parameter should contain the length of the key buffer, if the call is successful the shared secret is written to key and the amount of data written to keylen.

However the code now says:
    if (prk_len != (size_t)EVP_MD_size(evp_md)) {
        KDFerr(KDF_F_HKDF_EXTRACT, KDF_R_WRONG_OUTPUT_BUFFER_SIZE);
        return 0;
    }

This does seem to be a bug. For clarity this looks like HKDF only and the check in question looks a little different now to what it looked like when it was first introduced. The check is now here:
https://github.com/openssl/openssl/blob/5f4b3db624a83b812f23412e698ffd9c4284f87a/providers/implementations/kdfs/hkdf.c#L441-L448
Simply changing != to <= would seem sufficient, although we should also have a test for this.

Simply changing != to <= would seem sufficient, although we should also have a test for this.

Unfortunately, I do not believe this is sufficient.  The new signature for HKDF_derive() has prk_len as an in-variable only, and it is not (and cannot be) updated here to the actual output length.

@mattcaswell was unfortunately looking in the wrong place.  The KDF implementation "HKDF" is called with EVP_KDF_derive(), not EVP_PKEY_derive(), and the implementation is behaving correctly according to documentation:

EVP_KDF_derive() processes any parameters in Params and then derives
keylen bytes of key material and places it in the key buffer.  If the
algorithm produces a fixed amount of output then an error will occur
unless the keylen parameter is equal to that output size, as returned
by EVP_KDF_CTX_get_kdf_size()

EVP_PKEY_derive() calls a KEX implementation, so the spot to look would be this:
https://github.com/openssl/openssl/blob/926c698c6f0a197e0322d4617db0ecd0d40f6e06/providers/implementations/exchange/kdf_exch.c#L91-L105
Notably, you do find a EVP_KDF_derive() call here...  but it seems that the code doesn't do enough to adapt the data to fit the requirements when calling EPV_KDF_derive(), so it ends up calling it with an outlen that's too large.

@jeredfloyd, would you mind testing the modification from #18533?

@levitte Thanks!  I'll try this patch against the RHEL 9 package and report back; if it works I will also submit it internally as a proposed backport.

@jeredfloyd, hold on...  that patch isn't quite right

I've added a test in a separate PR, #18536

@jeredfloyd, hold on... that patch isn't quite right

I think I got it right now


Enable server-side SSL for REX-Ray to secure communication

Currently REX-Ray communicates to a remote REX-Ray server via the clear-text http protocol. We should enable server-side SSL and use https protocol by default.

This exists but isn't enabled by default because shipping with default HTTPS using certificates included with the product is no more secure than plain-text.

Documentation for libStorage client and server TLS.

Great - this can track the inclusion into REX-Ray as part of deployment. We shouldn't have to ship with certs, as we could potentially generate them during implementation as an option.
https://golang.org/src/crypto/tls/generate_cert.go

Hi @cduchesne,
Yeah, I know how to generate a certificate :)
This isn't a minor issue though, IMO, in terms of work effort. If we start towards the business of generating certificates then what we should offer is the ability for a libStorage server's API to generate a cert pair that can be used as a client certificate for a libStorage client node. The pair would be signed by the libStorage server cert so that client-cert requirement is easily enabled.
Generating a server cert isn't enough IMO because the value is requiring the client-cert, and of course that has to be signed by the same CA (intermediate or otherwise) or by the server cert itself to work. This wouldn't happen automatically during deployment of the libStorage server alone, hence my above comment.

This is why there are 2 separate issues. Server-side SSL is important to encrypt communication and client-side SSL is important to authenticate clients. This feature is less important than the client-side certificate implementation, though it will check the box that states communication traffic passed is not in clear-text.

It's the same issue -- generating a certificate  chain about which both sides have knowledge. You cannot encrypt either way unless the remote side accepts the originating cert as valid. Not unless you disable verification, and then again, what is the point.
Also, the way client cert verification works is the server determines that the presented client cert is signed by the same CA as the server very (or by the server cert). This is why an intermediate CA is often used.
I've been down this road many times. I understand the issue and the requirements. You're making assumptions or guesses that are not congruent with the reality of the problem.
--
-a

On Oct 9, 2016, at 1:45 PM, Chris Duchesne<EMAIL_ADDRESS>wrote:
This is why there are 2 separate issues. Server-side SSL is important to encrypt communication and client-side SSL is important to authenticate clients. This feature is less important than the client-side certificate implementation, though it will check the box that states communication traffic passed is not in clear-text.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

This has become a larger issue due to #684. It may no longer be possible to handle it automatically via a client option if the clients are ephemeral or lack interaction. It may only be possible to enable TLS on the server by default and via documentation require that clients set environment variables with encoded CA and client certs to successfully communicate with the server.

I am assigning this to @vladimirvivien as it relates to #584.

@akutz @cduchesne reading this issue I am not sure what the ask is for this.  Andrew mentions (and provides the link) of where this is already implemented.  I know we briefly talked about making configuration easier.  What are some usability features we want to ease out of this issue (if any)?

@akutz @cduchesne the one ask I can deduce is where/when to generate default certs.  Do we want the user to gen certs or have the installation process do it.  Is that the essence of this issue, are there other asks ?  If so, let's outline them here.

@vladimirvivien Please feel free to design and implement it as you see fit.

The following is a rough plan of what is to be implemented for this issue.  The goal is to allow RR to support TLS configurations that are aligned with what's supported in libstorage.
Configure TLS from CLI
Specify TLS mode as insecured:
$> rexray volume --tls insecured ls

Specify cert fingerprint:
$> rexray volume --tls "sha256:15:92:77:BE:6C:90...08:99" ls

Specify a trusted CA certs file:
$> rexray volume --tls-trusted-cert ca.crt ls

Specify client key/cert pair for authorization:
$> rexray volume --tls-client-cert client.crt --tls-client-key client.key ls

** Configure TLS from ENV variables **
The code will read TLS configurations from ENV variables as shown in the following examples:
$> LIBSTORAGE_CLIENT_TLS=insecure rexray volume ls
$> LIBSTORAGE_CLIENT_TLS="sha256:15:92:77:BE:6C:90...08:99" rexray volume ls
$> LIBSTORAGE_CLIENT_TLS_TRUSTEDCERTFILES=ca.crt rexray volume ls
$> LIBSTORAGE_CLIENT_TLS_CERTFILE=client.crt LIBSTORAGE_CLIENT_TLS_KEYFILE=client.key rexray volume ls

So this would be my expectation for "default to TLS".
unless libstorage server TLS is explicitly disabled (which is a change from today, where it is disabled by default), when libstorage server is started up, it will look for a TLS cert. If it does not have one configured, it will generate a self-signed one based on the host name (this is the "snake oil" cert).
This means that by default, libStorage server will come up with TLS enabled. You should replace the TLS cert with a better one. You can disable it. But the default is that the server comes up with TLS enabled.
What say others?

@codenrhoden - i agree with your definition and would like to see libstorage operate in that way

Hi @codenrhoden @cduchesne
Generating the certs automatically can be done.  But here are the issues with auto-gen

Client doesn't validate server certs (they are auto created)
Can do client authentication via cert
The transport is encrypted, but insecure since there is no trusted CA provided

As such doing auto-generate will provided encryption but is still insecure.
Thoughts

"Default-to-TLS" from my definition is for encryption and not client auth. This can be done from the server-side only, combined with providing the generated certificate authority cert to each of the rexray clients, or by optionally enabling client.tls.insecure=true.
Although we also have support for client-side TLS for authentication, this is not part of what most think about when they think of TLS and should not be part of the auto-generating functionality.

I personally reject any proposal where the client has to operate in insecure mode. This is not security -- it's security theater and subject to MitM attacks. Unless the RR CLI is updated to prompt users to accept the remote server's certificate and remembers this for future connections then it's a terrible idea and should not be implemented. Also, the interactive nature of remembering the remote's certificate (unless it's signed by a known CA or the CA is configured on the client) means it won't work for non-interactive scenarios like REX-Ray's Docker volume endpoint modules.

I agree with all your points, @vladimirvivien. And I know @akutz has strong opinions on it as well.
I thought pushing for this minimal form of encryption by default (using self-signed certs as the starting point) was what was being asked for. It is very true this is not high secure in any way.
Andrew made some points earlier in this issue about the need for client-side certs. I think that has been mitigated somewhat by the new token support. So you can have encrypted transport, but use the JWT tokens for auth if you like.
If we do autogenerate, @vladimirvivien, you had asked when/where? My suggestion would be:
when: at server start up (not package installation)
where: libstorageHome + "tls" or similar.
meaing, /var/lib/libStorage/tls. When the server starts up, the default config is to look for certs there. If they don't exist, they get generated.

If users have internet access, we could just use letsencrypt for the CA. :)

@codenrhoden - that would only work if users were doing dns-based ssl validation and not also supporting ip-based; it would also be complex from a generation standpoint of making that even work ;-)

If we were able to assure publicly routed connections we could do a lot of neat things.

@akutz i agree with your rejection and was only calling out an already-available option that is there for someone to consume if they wanted to not authenticate the validity of the server's tls cert

IPSec. IPSec for everyone.

I definitely meant it as a joke.
Let me ask this question: Is there real value in preventing someone from capturing plain-text packets with WireShark? Is that security theater? People who want to prevent MITM attacks have to deploy a full CA chain, I get that.
We don't want to give people a false sense of security just because the transport is encrypted. But does that mean there is no value in having encrypted transport?

I'm saying if you're already limiting it to a private network and someone is snooping on that then how much harder is it to use Fiddler or Ethereal with a custom cert to listen to traffic?

@cduchesne @codenrhoden @akutz - We have to have a minimal set of assumptions about the person using RR.  One of them is that that person has the ability to create (self-signed or have) certificates and public key pairs.  So keep that in mind

Token just handles authentication.
Using cert hash fingerprint basically just saves the user of not generating client keypairs.
Auto-generating keypairs only gives us non-trusted encrypted transport (which means it's it's not buying you much in terms of security)

So, let's us come to an agreement here prior to EOD what we want to do here.

@akutz you would still need to become the proxy endpoint that the rexray client thinks is the rexray server to do any sort of mitm, as only the rexray server has the ssl key to decrypt said traffic

Yes, and it's a private network and I'm a disgruntled employee and place a host file somewhere or update DNS. It's not hard.

@akutz i am not disagreeing with that possibility, but there is much worse that could be done by a disgruntled employee just as easily if you want to go down that path ;-)

@vladimirvivien I think the RR CLI should prompt the user, like SSH, the first time it encounters an unknown cert presented by the server and ask them if they want to proceed. If so then the cert is saved and remembered as a valid endpoint.

Chris, for sure. I just don't wish to add to the list.

@vladimirvivien I don't think we should be mixing encryption and auth in the same discussion. The only auth that matters for this piece is that the server is who it says it is (authorizing the server's ssl cert as valid)

@cduchesne not mixing auth and secured transport at all.  I was pointing out that Tokens only handles auth.

so, can we auto-generated a cert on the server side (if one wasn't provided), then ask that clients accept that cert on first contact, and persist that info to /var/lib/libstorage/tls ?  Yes, if someone is only using Docker, this presents an extra step (running a command to save the cert before the Docker volume plugin will work), but is that the compromise here?

@akutz i had forgotten about the implementation of client.tls supporting a an ssl fingerprint - perhaps we move this ssl fingerprint to a file in /var/lib/libstorage/tls that saves authorized fingerprints similar to ~/.ssh/known-hosts does

Chris, I hadn't forgotten that and I thought that's what I've been suggesting :)

And it would not be in etc but in $HOME/.libstorage/known_hosts as a user specific file.

@akutz my bad - i was implying that you reminded me and i agree with your suggestion

I know.   :)"

FWIW, it would be technically set to insecure and there would be an additional validation that validated the thumbprint of the remote's peer cert. This is very similar to how I was going to use fingerprints on the server side per service prior to me deciding on tokens.

FTFY
"I know I'm a dick."

so, can we auto-generated a cert on the server side (if one wasn't provided), then ask that clients accept that cert on first contact, and persist that info to $HOME/.libstorage/tls ? Yes, if someone is only using Docker, this presents an extra step (running a command to save the cert before the Docker volume plugin will work), but is that the compromise here?

So is this an accurate statement of what we want to do?

I am summarizing:

support auto-gen certs like so

# start server
$> rexray --tls-auto

# client  connects
$> rexray-client --tls-auto -h https://somehost

client prompts for user to accept certs when unknown server is encountered

Attempting connect to unknown server, accept cert [y]? _

Or, if keypairs and CA available, client can fully TLS

$> rexray-client --tls-cert-file <path/to/cert> --tls-key-file <path/to/keyfile> --tls-ca <path/to/ca>

@cduchesne @akutz @codenrhoden anything else ?

I don't agree with the --tls-auto part. That should be the default, so should not be necessary.

Ok my next question, do we regenerate the TLS with every invocation of rexray-client or rexray-controller or save for later use ?

@vladimirvivien TLS certs created only once, on server. Fingerprint only asked about and saved to file when it isn't in file already, therefore only happens once.

I would hope for re-use. I wouldn't want all clients to have to re-accept the cert every time the service is restarted.

@cduchesne where is fingerprint coming from ? I thought both sides are auto-creating certs ?

@vladimirvivien client-side TLS certs are for auth. The client generates the fingerprint based off of the public certificate the server sends to it upon connection.

@cduchesne ok.  So let me re-re-resummarize

When rexray server starts it creates a keypair
when rexray-client is invoked, it prompts to accept the server certs
rexray-client then generates a fingerprint and stores that
Client then updates its config with client.tls to specify the fingerprint with sha256 prefix
anything else ?

@vladimirvivien yes however i believe the fingerprints should be stored in a different file and not the main config so it's easy to update remotely as well as store multiple fingerprints

@cduchesne Yes.  The fingerprint will be in its own file

ok

I think that's pretty much it, @vladimirvivien. I would rewrite it like so:

rexray server starts, generates new keypair if needed
rexray-client connects to server, receipts server public cert, and calculates fingerprint
rexray-client checks if fingerprint present in libstorage.client.tls
rexray-client prompts user to accept fingerprint, if not already found
if user accepts, fingerprint persisted to $HOME/.libstorage/tls/server_certs (or something)

When rexray-client starts up, the contents of that tls/server_certs file should be merged with libstorage.client.tls

@codenrhoden that sounds good.

This is closed by #829


agent-basic-js, cluster: bump tendermint image to 0.17.1

This change is

Reviewed 3 of 3 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

agent-basic-js/files/stratumn.json, line 23 at r1 (raw file):

    "monitoring:post-init:linux": "./arch/linux/fix-monitoring-files-ownership.sh",
{{- if eq $store "tmstore" }}
    "tm:init": "docker run -it --rm -v \"$(pwd)/tendermint:/tendermint\" tendermint/tendermint:0.docker rm17.1 init",

ouch docker rm

Comments from Reviewable

Reviewed 3 of 3 files at r1.
Review status: all files reviewed at latest revision, 1 unresolved discussion.

Review status: all files reviewed at latest revision, 1 unresolved discussion.

Comments from Reviewable


How to select all rows?

When I have a lot of rows, and I have pagination, y can only check the rows in the active view.
How can I select all rows? it's possible?

Set:
<table md-table multiple="true">
View more demo here: https://codepen.io/anon/pen/OZVMJg?editors=1010

What I need is to be able to select all the elements of all the pages, not just the first one.

Not support now. You have to do it by yourseft.

@dBer a simple example:
vm.selectAllRows = function () {
// pre selection of all rows
vm.dataGrid.dataSet.forEach(function (item) {
// set value in mdTableNgModel;
vm.selectedRow.push(item);
});
//
// Do not do this: angular.copy (vm.dataGrid.dataSet, vm.selectedRow);
// Also do not do this: vm.selectedRow = vm.dataGrid.dataSet;
// I had referral issues between the instances of the dataset object when I assigned the value to the NgModelAttribute of mdTableElement because when I unchecked the row mdRowCheckbox
// the item was automatically removed from the table.

};

@dBer  simple example:
vm.selectAllRows = function () {
// pre selection of all rows
vm.dataGrid.dataSet.forEach(function (item) {
// set value in mdTableNgModel;
vm.selectedRow.push(item);
});
};
// Do not do this: angular.copy (vm.dataGrid.dataSet, vm.selectedRow);
// Also do not do this: vm.selectedRow = vm.dataGrid.dataSet;
// I had referral issues between the instances of the dataset object when I assigned the value to the NgModelAttribute of mdTableElement because when I unchecked the row mdRowCheckbox
// the item was automatically removed from the table.

Sorry, you can explain your idea?
I'm editing the file md-data-table.js but I can`t select all rows, I can only select the raws that there are in the first page of table.
Thanks

@diegoberges
The variable assigned to the ngModel attribute contains all selected rows from the table, so the idea is basically to copy all items from the dataSource to ngModel, this will tell the table that such rows are selected.

Thanks!


New evaluator date() omits time/offset [change of behavior from old evaluator]

Breaking this off from #135, as I think it's a separate issue (or set of related issues).
Originally posted by @pbowen-oc in https://github.com/enketo/openrosa-xpath-evaluator/issues/135#issuecomment-940552954

The date() function has a similar issue (old evaluator includes time and time zone in the result, the new evaluator includes only date)
https://github.com/OpenClinica/enketo-express-oc/issues/509

It's not clear to me what the expected behavior is, according to the spec, which says date(* value):

Converts to a string in the ….date format

That said, looking into this I've noted a few things:

Currently, openrosa-xpath-evaluator provides both date and date-time functions (the latter of which is not in the ODK XForms spec). Without knowing any more than that, I would have assumed the intention is for date-time to produce the previous evaluator's behavior as described in OpenClinica/enketo-express-oc#509.

Despite no date-time in the ODK spec, there are other date/date-time distinctions and I would assume the current date behavior is correct according to the spec.

This evaluator's date-time function is actually just an alias to date, it has identical behavior. This is definitely unexpected.

I tried a few things with the form posted in OpenClinica/enketo-express-oc#509 to see if I could produce the old evaluator's behavior with:

The in-spec function format-date-time, but there doesn't appear to be an formatting identifier for offset
Altering the binding type to dateTime, but this also does not output offset

The intent was to understand current behavior, I know that the goal is to not break old forms.

Also using that form, I was surprised[^1] to see that fractional changes to the decimal input don't appear to affect date/date-time functions. Naively, I'd expect a dateTime output to calculate the full decimal value in general. Even knowing that date/date-time always truncate the time, I would still expect large fractional values to push the value past the time zone offset into another day. This may be a bug, but I'm not entirely sure.

[^1]: Surprised by the behavior, but I'm familiar enough with the code paths it made sense pretty quickly.

Just a partial comment on

https://github.com/getodk/javarosa/blob/9982fd247fdd6b3d1d939053fd4c60de2915b57c/src/main/java/org/javarosa/xpath/expr/XPathFuncExpr.java#L211

That's a good find. The implementation in the old evaluator dates back to a period before we had a spec. I ported JavaRosa functions and it I see it is still there too: https://github.com/getodk/javarosa/blob/9982fd247fdd6b3d1d939053fd4c60de2915b57c/src/main/java/org/javarosa/xpath/expr/XPathFuncExpr.java#L211. So it should probably either be included in the spec (and fixed if necessary) or removed.

It's not clear to me what the expected behavior is, according to the spec, which says date(* value):

Converts to a string in the ….date format

Time to fill in those dots, I think. :) I'll try to help with that.

| This evaluator's date-time function is actually just an alias to date, it has identical behavior. This is definitely unexpected.
I believe that is because all dates were dateTimes in the old evaluator.


How do I modify the navigation menu?

hey dldx, thanks for the port. great job!.
anyway i dont know if i should be asking this in here or at the original jekyll repo.
so here's some questions::

i moved the about menu into the main menu, removed the learn more, and put the link on the avatar & bio item. but it shrunk, because of anchor. can you tell me how to expand it to normal size?
can i make the post menu extends without clicking it? hovering it without clicking it on desktop is pretty much easier for me i think.
and last one, the email, twitter, fb, etc. button. how to make it only the icon, so it can fit 3 icon in a row.

can you help me with this? im not very good at css. if you can't, maybe you can give me some direction to it.
thx, regards.

Hey @vazh!
I implemented what you asked for in the issue-#2 branch: https://github.com/dldx/hpstr-hugo-theme/tree/issue-%232
Hope it works for you! The only issue is that if you make the menu hover only, it won't work on mobile devices so I kept the click mode.
Let me know if you need anything else.
Cheers,
Durand

@dldx
holy shit, that was super awesome. im checking it right now. its super flawless (y)
the menu hover is fine. the menu is what matter the most.
anyway, thanks a lot.
srsly though, that was fuckin awesome.
best regards, vazh.

@dldx sorry to make another question.
how to make the icon bigger, not really visible right now. :)
sorry >_<

Like so: https://github.com/dldx/hpstr-hugo-theme/commit/4e3f2f78313ae372252e74c9dcc4b78c6222997d
If you want to experiment with it, get sass, run it using sass --watch main.scss:main.css and then change static/css/sass/_dl-menu.scss:125.

@dldx okay, thank you very much. much appreciated. 👍


setStringParam fails on parseJSONString

I used a pre compiled library our client sent us and tried versioned compiled form the 2.2.0 and 2.2.2 branch. And always ended up having the same issue.
When i call [ATTracker dispatch] i get the error.
__NSCFConstantString parseJSONString]: unrecognized selector sent to instance
it fails in ATTracker.m in the setStringParam function on the line
   if([value parseJSONString] == nil) {
with value in this case being
@"screen"
at that time. Wich originated form a hardcoded string in the setEvent Function in ATScreen. So i guess it is not due to me having some misconfiguration on the code level.
As this error occurs on some basic NS class i guess it is some Library / Linking issue. When the parseJSONString throws instead of returning a nil value.

Hi,
Looks like you forgot to add the "-ObjC" flag in the "Other linker flags" in the build settings as specified in our documentation (http://developers.atinternet-solutions.com/apple-en/getting-started-apple-en/integration-of-the-objective-c-library-apple-en/)
Please let us know if this solves your problem
Regards

That broke the rest of the project. But i could fix, now it  seems to work ( At the App crashes with another error message now ).


Fix MemoryPageStore error on commit() and clear cache on close()

What changes are proposed in this pull request?
This change mainly adds two fixes to the MemoryPageStore:

Add a noop implementation to commit() so it does nothing instead of throwing UnsupportedOperationException
Clears the cache on close explicitly

alluxio-bot, merge this please


Terminal Command Prompt Missing

VSCode Version:
OS Version:

Steps to Reproduce:
1.Start VS Code thats all
2.

Does this issue occur when all extensions are disabled?: No
Command prompt is not showing up. I cant type in the terminal, can't use it.

Same issue here... I'm using PowerShell.
Should mention, this has been the case for a number of versions.

This is a bug in Windows 10 1809, unfortunately we have no way to work around the issue so you will need to wait until you get the next version of Windows 10 (1903).
/duplicate https://github.com/Microsoft/vscode/issues/57803


How to remove console.log during minify

Is there a way to specify that console.log should be removed.

Thanks.. here's wayback's capture of that dead link: http://web.archive.org/web/20141115053409/http://jstarrdewar.com/blog/2013/02/28/use-uglify-to-automatically-strip-debug-messages-from-your-javascript/
in short:
    if (typeof DEBUG === 'undefined') DEBUG = true; // will be removed

    function doSomethingCool() {
        DEBUG && console.log("something cool just happened"); // will be removed
    }

then:
uglifyjs --compress --define DEBUG=false main.js -o main.min2.js

I think it's a way better to implement it as an option in plugin itself. Like in webpack drop_console.

Yes, there's now an option for this! Please use the option { compress: { drop_console: true } }.
Dead Code Elimation is still good for lots of other things, but this is not one of them.


Update eventing nightly (#3053)

bumping knative.dev/eventing 193f2df...034bec9:

034bec9 [main] Upgrade to latest dependencies (# 6888)
4c2a3aa Bump Go to 1.20 in GH workflows (# 6882)
825a2b5 Create Cert-Manager resources (# 6849)

Signed-off-by: Knative Automation<EMAIL_ADDRESS>

/retest

OCF Webhook is merging this PR