could not communicate with the database. check the API docker service.

Rationale
on an Ubuntu 20.04 LTS system, i installed docker, docker-compose as per the instructions on the README and ran the build command. this was the output of build:
Creating network "panic_panic_net" with the default driver
Creating volume "panic_db-data" with default driver
Pulling rs1 (mongo:)...
latest: Pulling from library/mongo
eaead16dc43b: Pull complete
8a00eb9f68a0: Pull complete
f683956749c5: Pull complete
b33b2f05ea20: Pull complete
3a342bea915a: Pull complete
fa956ab1c2f0: Pull complete
138a8542a624: Pull complete
0a5a5d2ec822: Pull complete
37200fef7cf6: Pull complete
Digest: sha256:8bed0be3e86595283d67836e8d4f3f08916184ea6f2aac7440bda496083ab0c8
Status: Downloaded newer image for mongo:latest
Pulling redis (redis:)...
latest: Pulling from library/redis
a603fa5e3b41: Pull complete
77631c3ef092: Pull complete
ed3847cf62b8: Pull complete
261a8b530567: Pull complete
7d9005a8af6d: Pull complete
828da1afb5be: Pull complete
Digest: sha256:1e3207c292225b6dd21cb74d59255748a50e8f739dd983040df38fa913927cf1
Status: Downloaded newer image for redis:latest
Pulling rabbitmq (rabbitmq:3-management)...
3-management: Pulling from library/rabbitmq
eaead16dc43b: Already exists
d5e775568c00: Pull complete
de99a1ffedd3: Pull complete
32e52a38037e: Pull complete
01a79ee9a1ab: Pull complete
e704e07f62a6: Pull complete
796a69cd2d92: Pull complete
673d47469271: Pull complete
cc0a988f4614: Pull complete
15c6341064ed: Pull complete
Digest: sha256:a5480b7bc86a156ee3dfcd1919b2d769bbccf44ab4f9adf3f4e07b3434facddc
Status: Downloaded newer image for rabbitmq:3-management
Building substrate-api
Step 1/8 : FROM node:16
16: Pulling from library/node
2730d739afad: Pull complete
a122751b3533: Pull complete
0a277c3efe7c: Pull complete
25c35b81c503: Pull complete
cb8cde86ddb2: Pull complete
200d9ce64e0b: Pull complete
d73c02353705: Pull complete
d6973298711a: Pull complete
f0dfa5d235bc: Pull complete
Digest: sha256:68fc9f749931453d5c8545521b021dd97267e0692471ce15bdec0814ed1f8fc3
Status: Downloaded newer image for node:16
 ---> 9bf69dd73b08
Step 2/8 : WORKDIR /opt/panic
 ---> Running in 27486957ecdd
Removing intermediate container 27486957ecdd
 ---> 45b706ac87c1
Step 3/8 : WORKDIR ./substrate-api
 ---> Running in 95769c3e253e
Removing intermediate container 95769c3e253e
 ---> 23c64ec6b816
Step 4/8 : COPY ./substrate-api ./
 ---> 004fcc35c13c
Step 5/8 : RUN npm install
 ---> Running in 5dc4cdd5f1ae

added 650 packages, and audited 651 packages in 8s

47 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
npm notice
npm notice New major version of npm available! 8.19.2 -> 9.1.2
npm notice Changelog: <https://github.com/npm/cli/releases/tag/v9.1.2>
npm notice Run `npm install -g<EMAIL_ADDRESS>to update!
npm notice
Removing intermediate container 5dc4cdd5f1ae
 ---> b53a4ac27651
Step 6/8 : RUN npm run build
 ---> Running in c146899e9f67

><EMAIL_ADDRESS>build
> tsc

Removing intermediate container c146899e9f67
 ---> 2de104039424
Step 7/8 : EXPOSE 8080
 ---> Running in f971bd97d01d
Removing intermediate container f971bd97d01d
 ---> cafbaee88277
Step 8/8 : CMD bash run_server.sh
 ---> Running in 144f3a09127f
Removing intermediate container 144f3a09127f
 ---> 45c047d02980

Successfully built 45c047d02980
Successfully tagged simplyvc/panic_substrate_api:1.3.0
Building api
Step 1/10 : FROM node:14
14: Pulling from library/node
2730d739afad: Already exists
a122751b3533: Already exists
0a277c3efe7c: Already exists
25c35b81c503: Already exists
cb8cde86ddb2: Already exists
200d9ce64e0b: Already exists
3ba3f65e8a34: Pull complete
6b8b45e7dff2: Pull complete
c30787d15cd3: Pull complete
Digest: sha256:d82d512aec5de4fac53b92b2aa148948c2e72264d650de9e1570283d4f503dbe
Status: Downloaded newer image for node:14
 ---> 7a8bb5c30f83
Step 2/10 : WORKDIR /opt/panic
 ---> Running in 911715d9211b
Removing intermediate container 911715d9211b
 ---> ca0df631bb78
Step 3/10 : COPY ./entities ./entities
 ---> 6f84c9b94cdf
Step 4/10 : WORKDIR ./api
 ---> Running in 344faf8e7813
Removing intermediate container 344faf8e7813
 ---> ef9f25f4c6a1
Step 5/10 : COPY ./api ./
 ---> 708f13eb1380
Step 6/10 : RUN npm ci
 ---> Running in 0d89c527976f

><EMAIL_ADDRESS>postinstall /opt/panic/api/node_modules/web3-bzz
> echo "WARNING: the web3-bzz api will be deprecated in the next version"

WARNING: the web3-bzz api will be deprecated in the next version

><EMAIL_ADDRESS>install /opt/panic/api/node_modules/secp256k1
> node-gyp-build || exit 0

><EMAIL_ADDRESS>install /opt/panic/api/node_modules/keccak
> node-gyp-build || exit 0

><EMAIL_ADDRESS>install /opt/panic/api/node_modules/bufferutil
> node-gyp-build

><EMAIL_ADDRESS>install /opt/panic/api/node_modules/utf-8-validate
> node-gyp-build

><EMAIL_ADDRESS>postinstall /opt/panic/api/node_modules/es5-ext
>  node -e "try{require('./_postinstall')}catch(e){}" || exit 0

><EMAIL_ADDRESS>postinstall /opt/panic/api/node_modules/web3-shh
> echo "WARNING: the web3-shh api will be deprecated in the next version"

WARNING: the web3-shh api will be deprecated in the next version

><EMAIL_ADDRESS>postinstall /opt/panic/api/node_modules/web3
> echo "WARNING: the web3-shh and web3-bzz api will be deprecated in the next version"

WARNING: the web3-shh and web3-bzz api will be deprecated in the next version
added 863 packages in 9.985s
Removing intermediate container 0d89c527976f
 ---> cb92c03f9544
Step 7/10 : RUN npm run build
 ---> Running in 96ddd293f17c

><EMAIL_ADDRESS>build /opt/panic/api
> tsc

Removing intermediate container 96ddd293f17c
 ---> e4cd341aad39
Step 8/10 : ADD https://github.com/ufoscout/docker-compose-wait/releases/download/2.2.1/wait /wait

 ---> c99e95408c6f
Step 9/10 : RUN chmod +x /wait
 ---> Running in 55f1e347d051
Removing intermediate container 55f1e347d051
 ---> 06a8c6a8d54a
Step 10/10 : CMD /wait && bash run_server.sh
 ---> Running in e5e1993fc033
Removing intermediate container e5e1993fc033
 ---> bc4a1b23d00b

Successfully built bc4a1b23d00b
Successfully tagged simplyvc/panic_api:1.3.0
Building ui
Step 1/21 : FROM node:14
 ---> 7a8bb5c30f83
Step 2/21 : ARG API_PORT
 ---> Running in 0c7b12598084
Removing intermediate container 0c7b12598084
 ---> b86f606b33c0
Step 3/21 : ARG UI_DASHBOARD_PORT
 ---> Running in bf7948c75ae0
Removing intermediate container bf7948c75ae0
 ---> 09905ce47e2c
Step 4/21 : ENV API_PORT=$API_PORT
 ---> Running in e526b10d2ffe
Removing intermediate container e526b10d2ffe
 ---> ebf9f9e750ed
Step 5/21 : ENV UI_DASHBOARD_PORT=$UI_DASHBOARD_PORT
 ---> Running in f637ea6c0bec
Removing intermediate container f637ea6c0bec
 ---> 244d57567bf7
Step 6/21 : ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
 ---> Running in f417833b6971
Removing intermediate container f417833b6971
 ---> 635ce62b512f
Step 7/21 : WORKDIR /opt/panic
 ---> Running in a09e6b343d3f
Removing intermediate container a09e6b343d3f
 ---> 64b971d021e9
Step 8/21 : WORKDIR ./entities
 ---> Running in c7a4eaa9bc3d
Removing intermediate container c7a4eaa9bc3d
 ---> cd64246d86f4
Step 9/21 : COPY ./entities ./
 ---> e6a4ef489ce9
Step 10/21 : WORKDIR ../api/src/util
 ---> Running in 5e9a0bb04f47
Removing intermediate container 5e9a0bb04f47
 ---> f6b27a205895
Step 11/21 : COPY ./api/src/util ./
 ---> 34f073412144
Step 12/21 : WORKDIR ../../../ui
 ---> Running in 2b487ce7edb4
Removing intermediate container 2b487ce7edb4
 ---> 94a4962d587d
Step 13/21 : COPY ./ui ./
 ---> f19c7e947fe2
Step 14/21 : RUN rm -rf www
 ---> Running in 5606a7723aca
Removing intermediate container 5606a7723aca
 ---> 134ec2f9bfe3
Step 15/21 : RUN npm ci
 ---> Running in ce0970a1ab9d

><EMAIL_ADDRESS>install /opt/panic/ui/node_modules/puppeteer
> node install.js

**INFO** Skipping browser download. "PUPPETEER_SKIP_CHROMIUM_DOWNLOAD" environment variable was found.
added 635 packages in 8.731s
Removing intermediate container ce0970a1ab9d
 ---> 9cb0ca10ff37
Step 16/21 : RUN npm install -g serve
 ---> Running in 4378019a15f2
/usr/local/bin/serve -> /usr/local/lib/node_modules/serve/build/main.js
+<EMAIL_ADDRESS>added 91 packages from 43 contributors in 8.257s
Removing intermediate container 4378019a15f2
 ---> f4fbd01df976
Step 17/21 : RUN npm run build
 ---> Running in 9ea6b7141500

><EMAIL_ADDRESS>build /opt/panic/ui
> stencil build

[22:19.5]  @stencil/core
[22:19.7]  v2.17.0 🚂
[22:22.9]  build, app, prod mode, started ...
[22:22.9]  transpile started ...
[22:29.6]  transpile finished in 6.70 s
[22:29.6]  copy started ...
[22:29.6]  generate lazy started ...
[22:30.1]  copy finished (1341 files) in 494 ms
[22:42.2]  generate lazy finished in 12.65 s
[22:42.3]  build finished in 19.39 s

Removing intermediate container 9ea6b7141500
 ---> cd66954e1d4e
Step 18/21 : EXPOSE 3333
 ---> Running in 60673ca57a9f
Removing intermediate container 60673ca57a9f
 ---> 4a6417a581b5
Step 19/21 : ADD https://github.com/ufoscout/docker-compose-wait/releases/download/2.2.1/wait /wait

 ---> 8b9fe20f6cb3
Step 20/21 : RUN chmod +x /wait
 ---> Running in 92e4782cd5e0
Removing intermediate container 92e4782cd5e0
 ---> f2c4e219f8bd
Step 21/21 : CMD /wait && serve -s www -l 3333 --ssl-cert ../certificates/cert.pem --ssl-key ../certificates/key.pem
 ---> Running in 4205bf6cb890
Removing intermediate container 4205bf6cb890
 ---> 692c4d389993

Successfully built 692c4d389993
Successfully tagged simplyvc/panic_ui:1.3.0
Building alerter
Step 1/9 : FROM python:3.9.5
3.9.5: Pulling from library/python
0bc3020d05f1: Pull complete
a110e5871660: Pull complete
83d3c0fa203a: Pull complete
a8fd09c11b02: Pull complete
14feb89c4a52: Pull complete
70752631d778: Pull complete
b4cfcef19326: Pull complete
b51fbcb03c35: Pull complete
b6ea5759bfca: Pull complete
Digest: sha256:2ff7f45e91d65fc36bee74e48692a5b1877c973a040ed2468aef4223edf9ccac
Status: Downloaded newer image for python:3.9.5
 ---> 9b0d330dfd02
Step 2/9 : WORKDIR /opt/panic
 ---> Running in a07c9b545d14
Removing intermediate container a07c9b545d14
 ---> dbdde93e3745
Step 3/9 : COPY ./ ./
 ---> 993e84bccd38
Step 4/9 : WORKDIR ./alerter
 ---> Running in f7b12fcf5e88
Removing intermediate container f7b12fcf5e88
 ---> 892b5d5ecf97
Step 5/9 : RUN pip3 install pipenv
 ---> Running in 7a0b3b9f5fae
Collecting pipenv
  Downloading pipenv-2022.11.11-py2.py3-none-any.whl (2.9 MB)
Collecting virtualenv-clone>=0.2.5
  Downloading virtualenv_clone-0.5.7-py3-none-any.whl (6.6 kB)
Requirement already satisfied: setuptools>=36.2.1 in /usr/local/lib/python3.9/site-packages (from pipenv) (57.0.0)
Collecting virtualenv
  Downloading virtualenv-20.16.7-py3-none-any.whl (8.8 MB)
Collecting certifi
  Downloading certifi-2022.9.24-py3-none-any.whl (161 kB)
Collecting distlib<1,>=0.3.6
  Downloading distlib-0.3.6-py2.py3-none-any.whl (468 kB)
Collecting filelock<4,>=3.4.1
  Downloading filelock-3.8.0-py3-none-any.whl (10 kB)
Collecting platformdirs<3,>=2.4
  Downloading platformdirs-2.5.4-py3-none-any.whl (14 kB)
Installing collected packages: platformdirs, filelock, distlib, virtualenv-clone, virtualenv, certifi, pipenv
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warn
Successfully installed certifi-2022.9.24 distlib-0.3.6 filelock-3.8.0 pipenv-2022.11.11 platformdirs-2.5.4 virtualenv-20.16.7 virtualenv-clone-0.5.7
WARNING: You are using pip version 21.1.3; however, version 22.3.1 is available.
You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command.
Removing intermediate container 7a0b3b9f5fae
 ---> 7c6e2982ea65
Step 6/9 : RUN pipenv install --deploy --ignore-pipfile
 ---> Running in 6b188bee5773
Creating a virtualenv for this project...
Pipfile: /opt/panic/alerter/Pipfile
Using /usr/local/bin/python3.9 (3.9.5) to create virtualenv...
⠧ Creating virtual environment...created virtual environment CPython3.9.5.final.0-64 in 502ms
  creator Venv(dest=/root/.local/share/virtualenvs/alerter-GNVLrDHs, clear=False, no_vcs_ignore=False, global=False, describe=CPython3Posix)
  seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/root/.local/share/virtualenv)
    added seed packages: pip==22.3.1, setuptools==65.5.1, wheel==0.38.4
  activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator

✔ Successfully created virtual environment!
Virtualenv location: /root/.local/share/virtualenvs/alerter-GNVLrDHs
Installing dependencies from Pipfile.lock (e8409c)...
Removing intermediate container 6b188bee5773
 ---> 00df9f8c94f4
Step 7/9 : ADD https://github.com/ufoscout/docker-compose-wait/releases/download/2.2.1/wait /wait

 ---> a8714486d610
Step 8/9 : RUN chmod +x /wait
 ---> Running in 462e3f48c7e5
Removing intermediate container 462e3f48c7e5
 ---> a9f7706510bd
Step 9/9 : CMD /wait && pipenv run python run_alerter.py
 ---> Running in 27a51dc7e0a6
Removing intermediate container 27a51dc7e0a6
 ---> 59f5ccd3bc86

Successfully built 59f5ccd3bc86
Successfully tagged simplyvc/panic_alerter:1.3.0
Building health-checker
Step 1/9 : FROM python:3.9.5
 ---> 9b0d330dfd02
Step 2/9 : WORKDIR /opt/panic
 ---> Using cache
 ---> dbdde93e3745
Step 3/9 : COPY ./ ./
 ---> Using cache
 ---> 993e84bccd38
Step 4/9 : WORKDIR ./alerter
 ---> Using cache
 ---> 892b5d5ecf97
Step 5/9 : RUN pip3 install pipenv
 ---> Using cache
 ---> 7c6e2982ea65
Step 6/9 : RUN pipenv install --deploy --ignore-pipfile
 ---> Using cache
 ---> 00df9f8c94f4
Step 7/9 : ADD https://github.com/ufoscout/docker-compose-wait/releases/download/2.2.1/wait /wait

 ---> Using cache
 ---> a8714486d610
Step 8/9 : RUN chmod +x /wait
 ---> Using cache
 ---> a9f7706510bd
Step 9/9 : CMD /wait && pipenv run python run_health_checker.py
 ---> Running in 6ad0c211c865
Removing intermediate container 6ad0c211c865
 ---> f4fe7770c426

Successfully built f4fe7770c426
Successfully tagged simplyvc/alerter_health_checker:1.3.0
Building migration
Step 1/9 : FROM python:3.9.5
 ---> 9b0d330dfd02
Step 2/9 : WORKDIR /opt/panic
 ---> Using cache
 ---> dbdde93e3745
Step 3/9 : COPY ./ ./
 ---> Using cache
 ---> 993e84bccd38
Step 4/9 : WORKDIR ./scripts
 ---> Running in 0af5d978b96d
Removing intermediate container 0af5d978b96d
 ---> 6262e8d4c736
Step 5/9 : RUN pip3 install pipenv
 ---> Running in<PHONE_NUMBER>b5
Collecting pipenv
  Downloading pipenv-2022.11.11-py2.py3-none-any.whl (2.9 MB)
Collecting certifi
  Downloading certifi-2022.9.24-py3-none-any.whl (161 kB)
Collecting virtualenv
  Downloading virtualenv-20.16.7-py3-none-any.whl (8.8 MB)
Requirement already satisfied: setuptools>=36.2.1 in /usr/local/lib/python3.9/site-packages (from pipenv) (57.0.0)
Collecting virtualenv-clone>=0.2.5
  Downloading virtualenv_clone-0.5.7-py3-none-any.whl (6.6 kB)
Collecting filelock<4,>=3.4.1
  Downloading filelock-3.8.0-py3-none-any.whl (10 kB)
Collecting platformdirs<3,>=2.4
  Downloading platformdirs-2.5.4-py3-none-any.whl (14 kB)
Collecting distlib<1,>=0.3.6
  Downloading distlib-0.3.6-py2.py3-none-any.whl (468 kB)
Installing collected packages: platformdirs, filelock, distlib, virtualenv-clone, virtualenv, certifi, pipenv
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warn
Successfully installed certifi-2022.9.24 distlib-0.3.6 filelock-3.8.0 pipenv-2022.11.11 platformdirs-2.5.4 virtualenv-20.16.7 virtualenv-clone-0.5.7
WARNING: You are using pip version 21.1.3; however, version 22.3.1 is available.
You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command.
Removing intermediate container<PHONE_NUMBER>b5
 ---> 2453080d66ae
Step 6/9 : RUN pipenv install --deploy --ignore-pipfile
 ---> Running in 43b961794811
Creating a virtualenv for this project...
Pipfile: /opt/panic/scripts/Pipfile
Using /usr/local/bin/python3.9 (3.9.5) to create virtualenv...
⠧ Creating virtual environment...created virtual environment CPython3.9.5.final.0-64 in 491ms
  creator Venv(dest=/root/.local/share/virtualenvs/scripts-0yfonRAY, clear=False, no_vcs_ignore=False, global=False, describe=CPython3Posix)
  seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/root/.local/share/virtualenv)
    added seed packages: pip==22.3.1, setuptools==65.5.1, wheel==0.38.4
  activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator

✔ Successfully created virtual environment!
Virtualenv location: /root/.local/share/virtualenvs/scripts-0yfonRAY
Installing dependencies from Pipfile.lock (3b6926)...
Removing intermediate container 43b961794811
 ---> 2fdf118a8ee8
Step 7/9 : ADD https://github.com/ufoscout/docker-compose-wait/releases/download/2.2.1/wait /wait

 ---> 8bb62f1e91c2
Step 8/9 : RUN chmod +x /wait
 ---> Running in 1a021d96918c
Removing intermediate container 1a021d96918c
 ---> 29922c04502c
Step 9/9 : CMD /wait && tail -f /dev/null
 ---> Running in 1f841a23dc24
Removing intermediate container 1f841a23dc24
 ---> 4acabba744a0

Successfully built 4acabba744a0
Successfully tagged simplyvc/panic_migration:1.3.0
Creating redis                 ... done
Creating rs1                   ... done
Creating rs3                   ... done
Creating rabbitmq              ... done
Creating panic_substrate-api_1 ... done
Creating rs2                   ... done
Creating panic_api_1           ... done
Creating mongo-startup         ... done
Creating panic_ui_1             ... done
Creating panic_alerter_1       ... done
Creating migration              ... done
Creating panic_health-checker_1 ... done

when i navigate to the https://{UI_ACCESS_IP}:3333 url in firefox, i get could not communicate with the database. check the API docker service. error at the bottom of the page.
i have imported the cert for api url (https://{UI_ACCESS_IP}:9000) in firefox as well.
these are the alerter logs:
Attaching to panic_alerter_1
alerter_1         | Checking availability of <IP_ADDRESS>:27017
alerter_1         | Host <IP_ADDRESS>:27017 is now available
alerter_1         | Checking availability of  <IP_ADDRESS>:6379
alerter_1         | Host  <IP_ADDRESS>:6379 is now available
alerter_1         | Checking availability of  <IP_ADDRESS>:5672
alerter_1         | Host  <IP_ADDRESS>:5672 not yet available
alerter_1         | Host  <IP_ADDRESS>:5672 not yet available
alerter_1         | Host  <IP_ADDRESS>:5672 not yet available
alerter_1         | Host  <IP_ADDRESS>:5672 not yet available
alerter_1         | Host  <IP_ADDRESS>:5672 is now available
alerter_1         | Connecting with RabbitMQ to create and bind configuration queues.
alerter_1         | Creating config exchange.
alerter_1         | Creating queue 'alert_router_configs_queue'
alerter_1         | Binding queue 'alert_router_configs_queue' to 'config' exchange with routing key channels.*.
alerter_1         | Creating queue 'system_alerters_manager_configs_queue'
alerter_1         | Binding queue 'system_alerters_manager_configs_queue' to 'config' exchange with routing key chains.*.*.alerts_config.
alerter_1         | Binding queue 'system_alerters_manager_configs_queue' to 'config' exchange with routing key general.alerts_config.
alerter_1         | Creating queue 'system_alerter_input_configs_queue'
alerter_1         | Binding queue 'system_alerter_input_configs_queue' to 'config' exchange with routing key chains.*.*.alerts_config.
alerter_1         | Binding queue 'system_alerter_input_configs_queue' to 'config' exchange with routing key general.alerts_config.
alerter_1         | Creating queue 'chainlink_alerters_manager_configs_queue'
alerter_1         | Binding queue 'chainlink_alerters_manager_configs_queue' to 'config' exchange with routing key chains.chainlink.*.alerts_config.
alerter_1         | Creating queue 'cl_node_alerter_input_configs_queue'
alerter_1         | Binding queue 'cl_node_alerter_input_configs_queue' to 'config' exchange with routing key chains.chainlink.*.alerts_config.
alerter_1         | Creating queue 'cl_contract_alerter_input_configs_queue'
alerter_1         | Binding queue 'cl_contract_alerter_input_configs_queue' to 'config' exchange with routing key chains.chainlink.*.alerts_config.
alerter_1         | Creating queue 'evm_node_alerter_manager_configs_queue'
alerter_1         | Binding queue 'evm_node_alerter_manager_configs_queue' to 'config' exchange with routing key chains.chainlink.*.alerts_config.
alerter_1         | Creating queue 'evm_node_alerter_input_configs_queue'
alerter_1         | Binding queue 'evm_node_alerter_input_configs_queue' to 'config' exchange with routing key chains.chainlink.*.alerts_config.
alerter_1         | Creating queue 'cosmos_alerters_manager_configs_queue'
alerter_1         | Binding queue 'cosmos_alerters_manager_configs_queue' to 'config' exchange with routing key chains.cosmos.*.alerts_config.
alerter_1         | Creating queue 'cosmos_node_alerter_input_configs_queue'
alerter_1         | Binding queue 'cosmos_node_alerter_input_configs_queue' to 'config' exchange with routing key chains.cosmos.*.alerts_config.
alerter_1         | Creating queue 'cosmos_network_alerter_input_configs_queue'
alerter_1         | Binding queue 'cosmos_network_alerter_input_configs_queue' to 'config' exchange with routing key chains.cosmos.*.alerts_config.
alerter_1         | Creating queue 'substrate_alerters_manager_configs_queue'
alerter_1         | Binding queue 'substrate_alerters_manager_configs_queue' to 'config' exchange with routing key chains.substrate.*.alerts_config.
alerter_1         | Creating queue 'substrate_node_alerter_input_configs_queue'
alerter_1         | Binding queue 'substrate_node_alerter_input_configs_queue' to 'config' exchange with routing key chains.substrate.*.alerts_config.
alerter_1         | Creating queue 'substrate_network_alerter_input_configs_queue'
alerter_1         | Binding queue 'substrate_network_alerter_input_configs_queue' to 'config' exchange with routing key chains.substrate.*.alerts_config.
alerter_1         | Creating queue 'channels_manager_configs_queue'
alerter_1         | Binding queue 'channels_manager_configs_queue' to 'config' exchange with routing key channels.*.
alerter_1         | Creating queue 'github_monitors_manager_configs_queue'
alerter_1         | Binding queue 'github_monitors_manager_configs_queue' to 'config' exchange with routing key chains.*.*.github_repos_config.
alerter_1         | Binding queue 'github_monitors_manager_configs_queue' to 'config' exchange with routing key general.github_repos_config.
alerter_1         | Creating queue 'dockerhub_monitors_manager_configs_queue'
alerter_1         | Binding queue 'dockerhub_monitors_manager_configs_queue' to 'config' exchange with routing key chains.*.*.dockerhub_repos_config.
alerter_1         | Binding queue 'dockerhub_monitors_manager_configs_queue' to 'config' exchange with routing key general.dockerhub_repos_config.
alerter_1         | Creating queue 'system_monitors_manager_configs_queue'
alerter_1         | Binding queue 'system_monitors_manager_configs_queue' to 'config' exchange with routing key chains.*.*.systems_config.
alerter_1         | Binding queue 'system_monitors_manager_configs_queue' to 'config' exchange with routing key chains.*.*.nodes_config.
alerter_1         | Binding queue 'system_monitors_manager_configs_queue' to 'config' exchange with routing key general.systems_config.
alerter_1         | Creating queue 'node_monitors_manager_configs_queue'
alerter_1         | Binding queue 'node_monitors_manager_configs_queue' to 'config' exchange with routing key chains.*.*.nodes_config.
alerter_1         | Binding queue 'node_monitors_manager_configs_queue' to 'config' exchange with routing key chains.*.*.evm_nodes_config.
alerter_1         | Creating queue 'contract_monitors_manager_configs_queue'
alerter_1         | Binding queue 'contract_monitors_manager_configs_queue' to 'config' exchange with routing key chains.*.*.nodes_config.
alerter_1         | Creating queue 'network_monitors_manager_configs_queue'
alerter_1         | Binding queue 'network_monitors_manager_configs_queue' to 'config' exchange with routing key chains.*.*.nodes_config.
alerter_1         | Configuration queues initialisation procedure has completed successfully. Disconnecting with RabbitMQ.
alerter_1         | Connecting with RabbitMQ to create and bind monitorable queues.
alerter_1         | Creating monitorable exchange.
alerter_1         | Creating queue 'monitorable_store_input_queue'
alerter_1         | Binding queue 'monitorable_store_input_queue' to 'monitorable' exchange with routing key *.*.
alerter_1         | Monitorable queues initialisation procedure has completed successfully. Disconnecting with RabbitMQ.
alerter_1         | Configs Manager started.
alerter_1         | Alert Router started.
alerter_1         | Data Store Manager started.
alerter_1         | Channels Manager started.
alerter_1         | Data Transformers Manager started.
alerter_1         | Attempting to start the System Store.
alerter_1         | Attempting to start the GitHub Store.
alerter_1         | Attempting to start the DockerHub Store.
alerter_1         | Attempting to start the System Data Transformer.
alerter_1         | Attempting to start the Alert Store.
alerter_1         | Successfully initialised GitHub Store
alerter_1         | GitHub Store started.
alerter_1         | Creating a new process for the alerts handler of console channel CONSOLE
alerter_1         | Attempting to start the Cosmos Node Store.
alerter_1         | Attempting to start the GitHub Data Transformer.
alerter_1         | Successfully initialised DockerHub Store
alerter_1         | DockerHub Store started.
alerter_1         | Creating a new process for the alerts handler of log channel LOG
alerter_1         | Attempting to start the Monitorable Store.
alerter_1         | Attempting to start the DockerHub Data Transformer.
alerter_1         | Successfully initialised System Store
alerter_1         | System Store started.
alerter_1         | Successfully initialised System Data Transformer
alerter_1         | System Data Transformer started.
alerter_1         | Attempting to start the Chainlink Node Store.
alerter_1         | Successfully initialised Console Alerts Handler (CONSOLE)
alerter_1         | Attempting to start the Chainlink Node Data Transformer.
alerter_1         | Console Alerts Handler (CONSOLE) started.
alerter_1         | Attempting to start the EVM Node Store.
alerter_1         | Successfully initialised GitHub Data Transformer
alerter_1         | Successfully initialised Log Alerts Handler (LOG)
alerter_1         | GitHub Data Transformer started.
alerter_1         | Attempting to start the EVM Node Data Transformer.
alerter_1         | Log Alerts Handler (LOG) started.
alerter_1         | Successfully initialised DockerHub Data Transformer
alerter_1         | DockerHub Data Transformer started.
alerter_1         | Attempting to start the Chainlink Contract Store.
alerter_1         | Attempting to start the Chainlink Contracts Data Transformer.
alerter_1         | Attempting to start the Cosmos Network Store.
alerter_1         | Attempting to start the Cosmos Node Data Transformer.
alerter_1         | Successfully initialised Cosmos Node Store
alerter_1         | Cosmos Node Store started.
alerter_1         | Successfully initialised Alert Store
alerter_1         | Alert Store started.
alerter_1         | Successfully initialised Monitorable Store
alerter_1         | Monitorable Store started.
alerter_1         | Attempting to start the Cosmos Network Data Transformer.
alerter_1         | Successfully initialised Chainlink Node Data Transformer
alerter_1         | Successfully initialised EVM Node Data Transformer
alerter_1         | Chainlink Node Data Transformer started.
alerter_1         | EVM Node Data Transformer started.
alerter_1         | Attempting to start the Substrate Node Store.
alerter_1         | Successfully initialised Chainlink Contracts Data Transformer
alerter_1         | Chainlink Contracts Data Transformer started.
alerter_1         | Successfully initialised Cosmos Node Data Transformer
alerter_1         | Cosmos Node Data Transformer started.
alerter_1         | Attempting to start the Substrate Network Store.
alerter_1         | Attempting to start the Substrate Node Data Transformer.
alerter_1         | Successfully initialised Chainlink Node Store
alerter_1         | Chainlink Node Store started.
alerter_1         | Attempting to start the Substrate Network Data Transformer.
alerter_1         | Successfully initialised Cosmos Network Data Transformer
alerter_1         | Cosmos Network Data Transformer started.
alerter_1         | Successfully initialised EVM Node Store
alerter_1         | EVM Node Store started.
alerter_1         | Successfully initialised Chainlink Contract Store
alerter_1         | Chainlink Contract Store started.
alerter_1         | Successfully initialised Substrate Node Data Transformer
alerter_1         | Substrate Node Data Transformer started.
alerter_1         | Successfully initialised Substrate Network Data Transformer
alerter_1         | Substrate Network Data Transformer started.
alerter_1         | Successfully initialised Cosmos Network Store
alerter_1         | Cosmos Network Store started.
alerter_1         | Successfully initialised Substrate Network Store
alerter_1         | Successfully initialised Substrate Node Store
alerter_1         | Substrate Node Store started.
alerter_1         | Substrate Network Store started.
alerter_1         | System Alerters Manager started.
alerter_1         | GitHub Alerter Manager started.
alerter_1         | Chainlink Alerters Manager started.
alerter_1         | EVM Node Alerter Manager started.
alerter_1         | Cosmos Alerters Manager started.
alerter_1         | Substrate Alerters Manager started.
alerter_1         | DockerHub Alerter Manager started.
alerter_1         | System Monitors Manager started.
alerter_1         | GitHub Monitors Manager started.
alerter_1         | DockerHub Monitors Manager started.
alerter_1         | Node Monitors Manager started.
alerter_1         | Contract Monitors Manager started.
alerter_1         | Network Monitors Manager started.
alerter_1         | Attempting to start the GitHub Alerter.
alerter_1         | Attempting to start the System Alerter.
alerter_1         | PANIC INTERNAL - Component: System Alerter has been reset for all chains.
alerter_1         | Attempting to start the Chainlink Node Alerter.
alerter_1         | Attempting to start the Cosmos Node Alerter.
alerter_1         | Attempting to start the EVM Node Alerter.
alerter_1         | Attempting to start the Substrate Node Alerter.
alerter_1         | Attempting to start the DockerHub Alerter.
alerter_1         | Successfully initialised GitHub Alerter
alerter_1         | GitHub Alerter started.
alerter_1         | Successfully initialised System Alerter
alerter_1         | System Alerter started.
alerter_1         | PANIC INTERNAL - Component: GitHub Alerter has been reset for all chains.
alerter_1         | Successfully initialised Chainlink Node Alerter
alerter_1         | Chainlink Node Alerter started.
alerter_1         | Successfully initialised Cosmos Node Alerter
alerter_1         | Cosmos Node Alerter started.
alerter_1         | Attempting to start the Chainlink Contract Alerter.
alerter_1         | Successfully initialised Substrate Node Alerter
alerter_1         | Substrate Node Alerter started.
alerter_1         | Successfully initialised DockerHub Alerter
alerter_1         | DockerHub Alerter started.
alerter_1         | Attempting to start the Cosmos Network Alerter.
alerter_1         | Successfully initialised EVM Node Alerter
alerter_1         | EVM Node Alerter started.
alerter_1         | PANIC INTERNAL - Component: Chainlink Node Alerter has been reset for all chains.
alerter_1         | Attempting to start the Substrate Network Alerter.
alerter_1         | Successfully initialised Chainlink Contract Alerter
alerter_1         | Chainlink Contract Alerter started.
alerter_1         | Successfully initialised Cosmos Network Alerter
alerter_1         | Cosmos Network Alerter started.
alerter_1         | PANIC INTERNAL - Component: EVM Node Alerter has been reset for all chains.
alerter_1         | Successfully initialised Substrate Network Alerter
alerter_1         | Substrate Network Alerter started.
alerter_1         | PANIC INTERNAL - Component: Cosmos Node Alerter has been reset for all chains.
alerter_1         | PANIC INTERNAL - Component: DockerHub Alerter has been reset for all chains.
alerter_1         | PANIC INTERNAL - Component: Substrate Node Alerter has been reset for all chains.
alerter_1         | PANIC INTERNAL - Component: Chainlink Contract Alerter has been reset for all chains.
alerter_1         | PANIC INTERNAL - Component: Cosmos Network Alerter has been reset for all chains.
alerter_1         | PANIC INTERNAL - Component: Substrate Network Alerter has been reset for all chains.

these are health-checker logs:
Attaching to panic_health-checker_1
health-checker_1  | Checking availability of <IP_ADDRESS>:5672
health-checker_1  | Host <IP_ADDRESS>:5672 not yet available
health-checker_1  | Host <IP_ADDRESS>:5672 not yet available
health-checker_1  | Host <IP_ADDRESS>:5672 not yet available
health-checker_1  | Host <IP_ADDRESS>:5672 not yet available
health-checker_1  | Host <IP_ADDRESS>:5672 is now available
health-checker_1  | Health Checker Manager started.
health-checker_1  | Attempting to start the Heartbeat Handler.
health-checker_1  | Attempting to start the Ping Publisher.
health-checker_1  | Successfully initialised Heartbeat Handler
health-checker_1  | Heartbeat Handler started.
health-checker_1  | Successfully initialised Ping Publisher
health-checker_1  | Ping Publisher started.

any idea how this API docker service can be started or check whether it is already running?

@itsciccio


BUG: MNE-C

mne_process_raw does not seem to be very strict about what is a data channel.
Data labeled as FIFFV_RESP_CH or FIFF_EVENT_CHANNEL should not be included in filtering.
This is what mne_process_raw seems to do however.
cc @mshamalainen

I'm closing this since hopefully the emphasis is on raw.filter now


DSL for programmatic test plan generation

Description
See https://lists.apache.org/thread/52o722d7npsjj99m4k2zdz44mstl02lg
TODO

[ ] Should there be an intermediate test plan representation or should the current ListedHashTree and other classes represent the tree? I incline we should create a separate set of classes to avoid leaking unwanted methods to the end-user. For instance, methods like #sample(), #interrupt() do not seem to make sense during test plan generation.
[ ] Should DSL functions return objects or should they be no-result functions?
[ ] How should $ be escaped? (see https://youtrack.jetbrains.com/issue/KT-2425, https://lists.apache.org/thread/717sm4k8kx6ojmkq0j1w0fhkv41bkm8d)
[ ] Should the DSL incline to name-less elements or name-full elements? JMeter GUI requires names for all elements, including if and pauses, however, regular programming languages and DSLs do not require names for things like if, for, etc. Of course, the transaction controller should have a name, but is the name required for httpSampler?
[ ] Should there be .children() or something like that API to access all the children elements of the currently built node?

Motivation and Context
(in alphabetical order)
https://aliesbelik.github.io/awesome-jmeter/#dsl
https://github.com/abstracta/jmeter-java-dsl
https://github.com/anasoid/jmeter-as-code
https://github.com/smicyk/groovy-jmeter
https://github.com/anasoid/jmeter-as-code/issues/133
https://github.com/Kotlin/kotlinx.html/wiki/Micro-templating-and-DSL-customizing
Screenshots (if appropriate):

Initially - thanks for the idea, this is really what the community needs.
My opinion on current issues:

I am inclined more to the idea that an intermediate presentation is needed than not.
Can you give details on this?  I don't see any clear advantage in using no-result functions.
This is an interesting point.  In my opinion there is no need to escape this character.  It should also be used as part of the string, and replace will happen in the jmeter engine.  In other cases, the variables must be taken from the context in the vars.get style.
name-less with a description is better, it is faster and takes up less space.
Yes, using .children () is more convenient for implementing custom builders.

I've added documentation, and a few more samples

I've added Copy Code action so users could copy a code draft:

Genenerates the following:
org.apache.jmeter.threads.ThreadGroup::class {
    props {
        it[guiClass] = "org.apache.jmeter.threads.gui.ThreadGroupGui"
        it[testClass] = "org.apache.jmeter.threads.ThreadGroup"
        it[name] = "Thread Group"
        it[mainController] = org.apache.jmeter.control.LoopController().apply {
            props {
                it[name] = "Loop Controller"
                it[guiClass] = "org.apache.jmeter.control.gui.LoopControlPanel"
                it[testClass] = "org.apache.jmeter.control.LoopController"
                it[comments] = ""
            }
            setProperty("LoopController.continue_forever", false)
            setProperty("LoopController.loops", "1")
        }
        it[numThreads] = "1"
        it[rampTime] = "1"
        it[duration] = ""
        it[delay] = ""
        it[comments] = ""
    }
    setProperty("ThreadGroup.on_sample_error", "continue")

    org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy::class {
        props {
            it[followRedirects] = true
            it[useKeepalive] = true
            it[name] = "HTTP Request"
            it[guiClass] = "org.apache.jmeter.protocol.http.control.gui.HttpTestSampleGui"
            it[testClass] = "org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy"
            it[comments] = ""
        }
        setProperty("HTTPsampler.Arguments", org.apache.jmeter.config.Arguments().apply {
            props {
                it[name] = "User Defined Variables"
                it[guiClass] = "org.apache.jmeter.protocol.http.gui.HTTPArgumentsPanel"
                it[testClass] = "org.apache.jmeter.config.Arguments"
                it[comments] = ""
            }
            setProperty("Arguments.arguments", listOf(
                org.apache.jmeter.protocol.http.util.HTTPArgument().apply {
                    setProperty("HTTPArgument.always_encode", false)
                    setProperty("Argument.value", "world")
                    setProperty("Argument.metadata", "=")
                    setProperty("HTTPArgument.use_equals", true)
                    setProperty("Argument.name", "hello")
                },
                org.apache.jmeter.protocol.http.util.HTTPArgument().apply {
                    setProperty("HTTPArgument.always_encode", true)
                    setProperty("Argument.value", "asdfa")
                    setProperty("Argument.metadata", "=")
                    setProperty("HTTPArgument.use_equals", true)
                    setProperty("Argument.name", "test")
                },
            ))
        })
        setProperty("HTTPSampler.domain", "")
        setProperty("HTTPSampler.port", "")
        setProperty("HTTPSampler.protocol", "")
        setProperty("HTTPSampler.contentEncoding", "")
        setProperty("HTTPSampler.path", "")
        setProperty("HTTPSampler.method", "GET")
        setProperty("HTTPSampler.auto_redirects", false)
        setProperty("HTTPSampler.embedded_url_re", "")
        setProperty("HTTPSampler.connect_timeout", "")
        setProperty("HTTPSampler.response_timeout", "")

        org.apache.jmeter.extractor.RegexExtractor::class {
            props {
                it[guiClass] = "org.apache.jmeter.extractor.gui.RegexExtractorGui"
                it[testClass] = "org.apache.jmeter.extractor.RegexExtractor"
                it[name] = "Regular Expression Extractor"
                it[comments] = ""
            }
            setProperty("RegexExtractor.useHeaders", "false")
            setProperty("RegexExtractor.refname", "asdf")
            setProperty("RegexExtractor.regex", "asdf")
            setProperty("RegexExtractor.template", "asdf")
            setProperty("RegexExtractor.default", "")
            setProperty("RegexExtractor.match_number", "")
        }
    }

    org.apache.jmeter.control.LoopController::class {
        props {
            it[guiClass] = "org.apache.jmeter.control.gui.LoopControlPanel"
            it[testClass] = "org.apache.jmeter.control.LoopController"
            it[name] = "Loop Controller"
            it[comments] = ""
        }
        setProperty("LoopController.continue_forever", true)
        setProperty("LoopController.loops", "1")
    }
}


tabby-terminal: init at 1.0.215

Added Tabby, an electron-based terminal emulator that proclaims itself "A terminal for a more modern age".
Homepage: https://tabby.dev
Fixes #233509
Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[x] sandbox = true

[ ] Tested, as applicable:

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

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[x] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

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

Fixes #233509

@pluiedev, I fixed most of the changes you suggested.

Please join all the commits but the first. The first is ready.

After 3 hours of patching the dependencies, I finally got it to run with electron 32 :partying_face: :confetti_ball:. @pluiedev, mind reviewing it again?

nixpkgs-reviewd workflow started
Status and logs: https://github.com/nixosbrasil/nixpkgs-reviewd/actions/runs/12504723531
Extra args: ``

nixpkgs-reviewd workflow finished
Status and logs: https://github.com/nixosbrasil/nixpkgs-reviewd/actions/runs/12504723531
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 368048

x86_64-linux

:fast_forward: 2 packages marked as broken and skipped:

chatgpt-retrieval-plugin
chatgpt-retrieval-plugin.dist

:fast_forward: 1 package blacklisted:

nixos-install-tools

:x: 11 packages failed to build:

litestar
litestar.dist
python312Packages.polyfactory
python312Packages.polyfactory.dist
python312Packages.weaviate-client
python312Packages.weaviate-client.dist
python313Packages.polyfactory
python313Packages.polyfactory.dist
python313Packages.weaviate-client
python313Packages.weaviate-client.dist
tabby-terminal

Looks like tabby just released a new version. It doesn't build because the patch files need to be changed. I have started a PR upstream to use electron 32. Until then, lets just stick to 1.0.215.

nixpkgs-reviewd workflow finished
Status and logs: https://github.com/nixosbrasil/nixpkgs-reviewd/actions/runs/12504723531
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 368048
x86_64-linux
⏩ 2 packages marked as broken and skipped:
⏩ 1 package blacklisted:
❌ 11 packages failed to build:

Looks like Python 3.13 is breaking a lot of packages.

I agree with @pluiedev; patching this many dependencies didn't sit right with me either. I already opened a PR on the upstream repo. If it doesn't get resolved within ~2 weeks, then we could use this as a temporary solution.

I agree with @pluiedev; patching this many dependencies didn't sit right with me either. I already opened a PR on the upstream repo. If it doesn't get resolved within ~2 weeks, then we could use this as a temporary solution.

That's the way.
Maintaining packages that need patch updating at each bump and can't be patched with substituteInPlace and friends are a big pain in the butt to maintain later.
Electron packages in general are also more hacky to package than normal.

Ideally, tho, all packages should be updateable by only using the update script system but as life is not a strawberry we can't count on this every time.

@lucasew, I got the changes merged into upstream. Should we wait for a new release (possibly could take months) or just build from that commit and version it 1.0.216+1e44d8c?

As it's an application and no other PR depends on it i'd prefer to wait for a release.
You can write it in a way that now it points to latest version with this patch merged but setup the update script to update on releases instead of commits (nix-update-script or gitUpdater) so it can be properly bot-updated on the next release and see if someone takes a look and merges or play it safe and wait for the release then bump the PR.
It depends on your sisyphus tolerance.

The maintainer of the project said that it will take a relatively long time to push an update as v1.0.216 brought a lot of problems with SSH, and that he needs to fix them before pushing a new release. Therefore, I think I'll go with option #1 :slightly_smiling_face:


(WIP) Add Beam spec tests

Opening this for early feedback. I spent a little while trying to get this to run, but did not finish it. I hope that some member of the Nemo community can easily point to my error.
In this draft:

compiler/frontend/beam/spectestsbundle is an über jar with everything needed to run the tests
compiler/frontend/beam/spectests is the maven surefire config to run the tests

I still get ClassNotFound: CoderRegistry in every test case, so the deps & bundling & distribution of the code is clearly still not right.
Previously, I tried doing this inline in compiler/frontend/beam/pom.xml. I got the same error and thought it might be something to do with how the jars are used to execute the tests, so (like most distributed big data systems) I built more logic to create an über jar. The simpler version is here: https://github.com/kennknowles/incubator-nemo/tree/first-try-spectests

@kennknowles I think referring to our nemo-examples-beam package pom.xml could help creating the right deps & bundling & distribution. To my knowledge, it is capable of running various Beam programs with the specified modules. To provide a bit more information, com.github.fommil.netlib library was used to implement the ALS example, so this would be irrelevant but try adding the following lines to your pom.xml. I hope this helps!
        <dependency>
          <groupId>org.apache.beam</groupId>
          <artifactId>beam-sdks-java-extensions-sql</artifactId>
          <version>${beam.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-mapreduce-client-core</artifactId>
            <version>${hadoop.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-common</artifactId>
            <version>${hadoop.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-api</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

Oh, and I forgot to mention, but making an über jar is the right direction.


[BUG] Fix multi-tenancy

Describe the bug
Currently the Groups BB receives a "Client ID" through a a header with every request and uses this to manage multi-tenancy. This does not match with the app_id and org_id multi-tenancy model introduced by the Core BB and is not enforceable or consistent.
Expected behavior
We should use the app_id and org_id claims from a user's token to handle multi-tenancy and associate all related data with the specified app/org and ensure that users only get access to data for that app/org. The client ID and all related data should be removed. We will need to apply a migration to associate all existing groups and related data with the Illinois app/org. The IDs for the app/org can be found in the existing GROUPS_APP_ID and GROUPS_ORG_ID env vars.
Note: We may want to consider allowing groups to span across apps in the same org, but they must remain isolated by org at all times as previously discussed here: https://github.com/rokwire/content-building-block/pull/63#discussion_r879769265. For now I think we should start by keeping groups associated with both an app and org, but we should make the app_id nullable and handle it appropriately so we can add this functionality in the future.

This will depend on #346.


ES Portal Accelerator - Creates privatelink.datafactory.azure.com (wrong)

Hi,
During ES portal accelerator deployment (adventureworks) we decided to have private link domains provisioned.
Now we have discovered that privatelink.datafactory.azure.com was created, it's supposed to be privatelink.datafactory.azure.net according to documentation.

Documentation states:

Azure Data Factory (Microsoft.DataFactory/factories) / dataFactory
privatelink.datafactory.azure.net
datafactory.azure.net

Verified in Azure by checking domain used for creating a Private Endpoint for ADF:

We did the deployment at 15/3 in case it's already fixed, could not find any open nor closed issues on this.

Thanks for raising this @omgitsjocke 👍
We will review all the Private DNS Zones are correct as per the docs https://docs.microsoft.com/en-us/azure/private-link/private-endpoint-dns#azure-services-dns-zone-configuration and get this updated ASAP 👍
Thanks
Jack


[WIP] Add new rados/striper package

Add a new rados/striper package that wraps Ceph's libradosstriper. The libradosstriper library builds on top of the librados library to support striping large "objects" over multiple RADOS objects.
Fixes: #1011
Checklist

[x] Added tests for features and functional changes
[x] Public functions and types are documented
[x] Standard formatting is applied to Go code
[x] Is this a new API? Added a new file that begins with //go:build ceph_preview
[x] Ran make api-update to record new APIs

New or infrequent contributors may want to review the go-ceph Developer's Guide including the section on how we track API Status and the API Stability Plan.
The go-ceph project uses mergify. View the mergify command guide for information on how to interact with mergify. Add a comment with @Mergifyio rebase to rebase your PR when github indicates that the PR is out of date with the base branch.

Looks like rados_striper_stat2 isn't that old. I guess that's why I made this PR a draft first ;-)

Isn't it more like a bundle? What happens if you make the striped object smaller? Does the number of underlying objects change?

Maybe they're using the terms poorly, but AFAIK it just writes segments of the "virtual object" across many objects in rados. Any other questions, I think you'd have to ask the ceph team :-)


Feature/UX: Remove 'ArrowUp' and 'ArrowDown' keys from hotkeys (for dialogs)

Fixed by d85239a commit


Implement NineSliceBuilder tests

Resolves #885
Implements the tests as suggested. Also added a export button to the sample for convenience.

Codecov Report

Merging #886 into dev will increase coverage by 0.69%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##                dev     #886      +/-   ##
============================================
+ Coverage     59.70%   60.40%   +0.69%
- Complexity     2398     2438      +40
============================================
  Files           258      259       +1
  Lines         11729    11787      +58
  Branches       1066     1075       +9
============================================
+ Hits           7003     7120     +117
+ Misses         4404     4324      -80
- Partials        322      343      +21

Impacted Files
Coverage Δ
Complexity Δ

.../src/main/kotlin/com/almasb/fxgl/app/LoopRunner.kt
93.10% <0.00%> (-2.14%)
11.00% <0.00%> (ø%)

...rc/main/kotlin/com/almasb/fxgl/entity/GameWorld.kt
90.78% <0.00%> (-1.98%)
85.00% <0.00%> (ø%)

...c/main/kotlin/com/almasb/fxgl/dsl/EntityBuilder.kt
71.91% <0.00%> (-1.66%)
27.00% <0.00%> (ø%)

fxgl/src/main/kotlin/com/almasb/fxgl/app/Engine.kt
82.08% <0.00%> (-1.25%)
24.00% <0.00%> (ø%)

...y/src/main/java/com/almasb/fxgl/entity/Entity.java
99.29% <0.00%> (-0.71%)
126.00% <0.00%> (+1.00%)
:arrow_down:

fxgl/src/main/kotlin/com/almasb/fxgl/dsl/FXGL.kt
11.00% <0.00%> (-0.06%)
1.00% <0.00%> (ø%)

...n/com/almasb/fxgl/dev/profiling/ProfilerService.kt
0.00% <0.00%> (ø)
0.00% <0.00%> (ø%)

.../com/almasb/fxgl/entity/level/tiled/TiledObject.kt
100.00% <0.00%> (ø)
12.00% <0.00%> (+1.00%)

...in/com/almasb/fxgl/dev/profiling/ProfilerWindow.kt
0.00% <0.00%> (ø)
0.00% <0.00%> (?%)

...m/almasb/fxgl/entity/level/tiled/TMXLevelLoader.kt
81.01% <0.00%> (+0.82%)
44.00% <0.00%> (+3.00%)

... and 7 more

Continue to review full report at Codecov.

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


Set clock speed

Hi,
I have a question, is it possible to set the clock speed, if I want to speed up the clock, e.g. x2, or slow down to 0.25?
BTW, great library, you got a coffee from me.

Hey @sobocinski! I really appreciate the coffee, thanks a bunch. 🔥
Hmm so if I'm understanding what you're looking to do, you'd like to modulate how quickly the timer fires?
My first thought is to create multiplier state outside the hook and multiply the inverse of that by the delay before passing it in. So 1x = 1/1 * delay, 2x = 1/2 * delay, 0.5x = 1/0.5 * delay, etc. That should do it.
Here's an example:
const defaultDelay = 1000;
const [speed, setSpeed] = React.useState(1);
const callback = React.useCallback(() => console.log('Boom'), []);
// Calculate delay using speed
const delay = React.useMemo(() => speed > 0 ? defaultDelay * (1 / speed) : 1, [defaultDelay, speed]);
// The callback will be called every 1000 milliseconds.
const timer = useTimer({ delay, callback);

In this example, speed would be the multiplier, and we could set this to anything greater than 0 to make the timer fire faster, with 1 being "normal" speed determined by defaultDelay.
Thoughts?

@sobocinski Loved this idea so much I've already added official support.
Check out the speed multiplier in the demo!
To use this, pass a speedMultiplier option with the amount to multiply by. So 0.25 for 25% slower, or 2 for 2x faster.
To get speed multiplier support:
npm i react-use-precision-timer@latest

@justinmahar that's not quite what I meant 😉 but this parameter speedMultiplier also can be useful for someone.
I wanted to be able, to set the speed of the "main" time/clock. I'm presenting time by getting timer.getElapsedRunningTime()
A concrete example, I have a timeline graph that has play, pause and the ability to set the speed, e.g. to play in slow motion.
If it is possible to add a parameter, for example timerSpeed: 2, and it would realistically take a second and timer.getElapsedRunningTime() would return 2s. It would be wonderful.
Theoretically, I could do this, by multiply timer.getElapsedRunningTime() * speed , but when I will add the possibility to manipulate this speed in real time, I would probably quickly have different results.

Ah, I see. So you want to scale the times reported by the timer? Not sure how I'd add this to the library. I could add a scale option I suppose. I'd say for now, declare a scale or speed state and multiply the timer's output.


Fix water volume

Pull Request instructions:

Please follow the update protocol
Answer the questions below in detail. Your responses will be emailed to experimenters.
If the experimenters must do anything new, provide detailed step by step instructions on the wiki
Use markdown syntax in order for your comments to be rendered reliably in the email: "1." instead of "1)", use four spaces for indents.
If you use the keyword "skip email" in the title, it will skip the email updates
Merges from "develop" into "production_testing" should use the keyword "production merge" in the title for reliable indexing of updates
Merges from "production_testing" into "main" should use the keyword "update main"

Describe changes:
Skip LeftValue, RightValue, GiveWaterL, GiveWaterR if WaterCalibrationResults is not empty as they will be set by the corresponding volume when loading the json file.
What issues or discussions does this update address?
The water volume is changed with the valve open time based on the water calibration. We only keep 3 decimal places for valve open time, so the water volume may show small differences when we set it based on the valve open time. Such small differences do not matter for tracking water consumption, but it's good to make it consistent to avoid confusion. Changing of water valve open time will change the water volume. Here, I skipped loading water valve open time. In this way, the water volume will keep consistent across sessions.
Resolves #341
Describe the expected change in behavior from the perspective of the experimenter
No
Describe the outcome of testing this update on a rig in 447
Small changes. Only tested on my own computer.

The water volume is changed with the valve open time based on the water calibration. We only keep 3 decimal places for valve open time, so the water volume may show small differences when we set it based on the valve open time. Such small differences do not matter for tracking water consumption, but it's good to make it consistent to avoid confusion.

Thats not really the issue being fixed by this PR. The issue being fixed here is that the _Open() function loads the water calibration data from the old session, which may differ from the current session. Can you fix the description?
Does this mean that old data might have been collected using out-dated water calibration information?
Is there an equivalent issue for the laser calibration?
Can you please test this in 447?

I tested in 447. It works as expected.


Use Cache-Control in the HTTP headers (or use http-equiv in the HTML) to make screen short-lived on staging

For example (seconds, so 10 minutes)
Cache-Control: max-age=600
This way users won't typically need to remember to hard-refresh in order to get the updated version of the app

So after some testing, this actually doesn't appear to be an issue.  After merging a PR into our staging branch dev and then loading the staging site (which I've loaded many times in this browser and has at least some cached images, etc), the version of the site that loaded included the PR code.
This video shows this.  Skip ahead to 3:10 to see this (no audio on this video)


[BUG] OpenSearch Security Tools Scripts do not have executable permission when unpacked from tarball

Describe the bug
By default, the contents of /opensearch-2.1.0/plugins/opensearch-security/tools/ do not have executable permissions after unpacking the archive.
To Reproduce
Steps to reproduce the behavior:

Download OpenSearch tarball (wget https://artifacts.opensearch.org/releases/bundle/opensearch/2.1.0/opensearch-2.1.0-linux-x64.tar.gz
Unpack the archive tar -xvf opensearch-2.1.0-linux-x64.tar.gz
Change directories cd opensearch-2.1.0/plugins/opensearch-security/tools
Check permissions (ll, ls -l, etc.)
The scripts only have rw-r--r-- / 644 permissions.

Expected behavior
The scripts in this folder should have rwxr--r-- / 744 permissions when unpacked from the tar archive.
Plugins
N/A - affects fresh/greenfield install
Screenshots
$ ll
total 44
-rw-r--r-- 1 ec2-user ec2-user   772 Jun 30 21:49 audit_config_migrater.bat
-rw-r--r-- 1 ec2-user ec2-user  1388 Jun 30 21:49 audit_config_migrater.sh
-rw-r--r-- 1 ec2-user ec2-user   777 Jun 30 21:49 hash.bat
-rw-r--r-- 1 ec2-user ec2-user  1376 Jun 30 21:49 hash.sh
-rw-r--r-- 1 ec2-user ec2-user 19776 Jun 30 21:49 install_demo_configuration.sh
-rw-r--r-- 1 ec2-user ec2-user   849 Jun 30 21:49 securityadmin.bat
-rw-r--r-- 1 ec2-user ec2-user  1417 Jun 30 21:49 securityadmin.sh

Host/Environment (please complete the following information):

OS: Amazon Linux 2
Version 5.10.130-118.517.amzn2.x86_64

Additional context
As a workaround, users must add executable permissions.  i.e., chmod u+x *sh or chmod 744 *sh

[Triage] We can follow this
Starting with Git 2.9, we can stage a file AND set the flag in one command: git add --chmod=+x path/to/file
@bbarani @peterzhuamazon

I remember we used to have no permission, and we add a manual chmod to docker to solve this.
https://github.com/opensearch-project/opensearch-build/blob/main/docker/release/dockerfiles/opensearch.al2.dockerfile#L42
I think we can add a chmod from the code here:
https://github.com/opensearch-project/opensearch-build/blob/main/src/assemble_workflow/dist.py#L74-L79
Still these are kinda hacky solution.
It would be better if the scripts are 755 from the get go from Security repo.
Hi @cliu123 any insights on why these scripts are not 755 by default?
Thanks.

These look executable in the repo, e.g. https://github.com/opensearch-project/security/blob/main/tools/hash.sh so something else loses the flag.

@gaiksaya @peterzhuamazon @prudhvigodithi Can you provide your inputs here?

Per @dblock point this is more like an issue with the zip generation on security side it seems.

One more possibility might be the permissions are changed while building/assembling the distribution. We might need to go through the python code to check that as well.

One more possibility might be the permissions are changed while building/assembling the distribution. We might need to go through the python code to check that as well.

Yes we need to check all the steps and see why the permissions are changed in the process.

So this is what I found, with git clone and ./build that creates the zip (opensearch-security-<IP_ADDRESS>-SNAPSHOT.zip) the permissions are still with executable, unzipping also I do see the executable permission, but with ./assemble  and the final produced tar file the permissions are lost.
Its after this
Executing "/tmp/tmppngypsfe/opensearch-2.2.0/bin/opensearch-plugin install --batch file:/tmp/tmppngypsfe/opensearch-security-<IP_ADDRESS>-SNAPSHOT.zip" in /tmp/tmppngypsfe/opensearch-2.2.0

So this is what I found, with git clone and ./build that creates the zip (opensearch-security-<IP_ADDRESS>-SNAPSHOT.zip) the permissions are still with executable, unzipping also I do see the executable permission, but with ./assemble and the final produced tar file the permissions are lost.
Its after this
Executing "/tmp/tmppngypsfe/opensearch-2.2.0/bin/opensearch-plugin install --batch file:/tmp/tmppngypsfe/opensearch-security-<IP_ADDRESS>-SNAPSHOT.zip" in /tmp/tmppngypsfe/opensearch-2.2.0

Hi @dblock @prudhvigodithi I remember now why I add the code to tweak docker only.
The plugin install command will force 644 permission after installation.
https://github.com/opensearch-project/OpenSearch/blob/ba6dc5d28bb16e49e067b379545c5f20c74945d2/distribution/tools/plugin-cli/src/main/java/org/opensearch/plugins/InstallPluginCommand.java#L211-L212

This is https://github.com/opensearch-project/OpenSearch/issues/1220 and is a bug. Someone should pick it up.
This issue should be closed as a dup of that I think.

Closing this issue in favor of https://github.com/opensearch-project/OpenSearch/issues/1220. Please feel free to re-open this issue if needed.


Setup a backwards compatible perma link

We changed the way permalinks are formatted. In order to keep some perma to the perma links we should setup a special url route that can take the old permalinks and forwards them to the new permalinks.

Turns out the URL fragment is never sent to the backend, therefore this is probably impossible without some frontend forwarding.


Allow BoxSynchronous upload and download with a null ProgressListener and a null Handler.

Utilizing BoxSynchronous should not require a ProgressListener or a Handler when calling upload or download.

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

 All committers have signed the CLA.


Add docs

coverage: 96.682%. remained the same
when pulling 9d51331f6061301b91aa7e4a22281552aa912c06 on add-docs
into e80925ae322cc4ac7da17bef8cd791e203027648 on master.


crate version mismatch between cargo.toml and cargo.lock

Problem
When i am running cargo build --release in one of my projects. Cargo is downloading and compiling latest versions of crates mentioned in cargo.toml instead of the version i specified. so some of the latest crates which are getting downloaded have a msrv of 1.65 but i am using 1.64 because of which i am not able to compile my code and generate a binary. i haven't changes anything in my code recently. i am unable to find the cause behind this behaviour. Any help would be much appreciated!!.
Steps
No response
Possible Solution(s)
No response
Notes
No response
Version
cargo 1.64.0 (387270bc7 2022-09-16)
release: 1.64.0
commit-hash: 387270bc7f446d17869c7f208207c73231d6a252
commit-date: 2022-09-16
host: aarch64-apple-darwin
libgit2: 1.4.2 (sys:0.14.2 vendored)
libcurl: 7.87.0 (sys:0.4.55+curl-7.83.1 system ssl:(SecureTransport) LibreSSL/3.3.6)
os: Mac OS 13.3.1 [64-bit]

cargo uses maximal compatible versions by default, rather than minimal compatible versions.
#8539 is for supporting minimal versions.
#9930 is for making the resolver MSRV-aware (hopefully by default)
I believe those capture the concerns mentioned in this issue, so I'm closing in favor of those.  If there is something I missed, let us know!

what can i do to strictly generate the binary with exact versions of dependencies i specified in cargo.toml?

Tracking Cargo.lock in your version control system is probably the best way I know at this moment.

@weihanglo. yes i am not checking in  cargo.lock file. i think that's what caused the issue.


Color picker is grabbing adjusted values due color profiles, not raw

ℹ Computer information

PowerToys version: 0.24
PowerToy Utility:Colorpicker
Running PowerToys as Admin:
Windows build number: [run "winver"]

📝 Provide detailed reproduction steps (if any)

A color picked with colorpicker as extension of Chrome Browser is the same as defined in the source of the program, in this case Joomla website, but with Powertoys it is off. Example #b39964 becomes in Powertoys #b29967
…
…

✔ Expected result
What is the expected result of the above steps? See 1.
❌ Actual result
What is the actual result of the above steps? See 1.
📷 Screenshots
Are there any useful screenshots? WinKey+Shift+S and then just paste them directly into the form

Can you send a screenshot of the picture itself which you tried on?

[image: image.png]
On Sun, 25 Oct 2020 at 11:08, Aaron Junker<EMAIL_ADDRESS>wrote:

Can you send a screenshot of the picture itself which you tried on?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/PowerToys/issues/7527#issuecomment-716122325,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADZUAX5XNUK5NEBKWYYGLZDSMP2JTANCNFSM4S6GYVUQ
.

--
met viendelijke groet
Leo en Rineke van der Hoek

@hoekbrwr Sorry, that image is not visible for us because it is not uploaded. Can you open this issue in the browser and then upload the picture? Or can you give us the link for the website?

where to upload the pic, with browser ???????????
On Sun, 25 Oct 2020 at 14:48, Jay<EMAIL_ADDRESS>wrote:

@hoekbrwr https://github.com/hoekbrwr Sorry, that image is not visible
for us because it is not uploaded. Can you open this issue in the browser
and then upload the picture? Or can you give us the link for the website?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/PowerToys/issues/7527#issuecomment-716151313,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADZUAX77TNLGBVSRACT5AWLSMQUB5ANCNFSM4S6GYVUQ
.

--
met viendelijke groet
Leo en Rineke van der Hoek

where to upload the pic, with browser ???????????
On Sun, 25 Oct 2020 at 14:48, Jay<EMAIL_ADDRESS>wrote:

@hoekbrwr https://github.com/hoekbrwr Sorry, that image is not visible
for us because it is not uploaded. Can you open this issue in the browser
and then upload the picture? Or can you give us the link for the website?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/PowerToys/issues/7527#issuecomment-716151313,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADZUAX77TNLGBVSRACT5AWLSMQUB5ANCNFSM4S6GYVUQ
.

--
met viendelijke groet
Leo en Rineke van der Hoek

In the Browser you can drop the picture in the text field

Click on the link after "Reply to this email directly, view it on GitHub"

I just tested to see if I can get the same result. I found the website and the logo, but I cannot get these values (178,153,100) so I don't know what the cause is.

Something is going wrong with your color picker!
I choose #b39964 in my Joomla editor and I get it back with the Colorpicker of Chrome Browser with the same value! Your value is not the right one.
The extension is Colorzilla V2!
I did some math and found a difference of 65533 which is very close to 2^16, which could be a coincidence. Another light blue was given the same value for both pickers! When I check the picture now in the mail conversation it gives me another lower value as in the original website. However, when I take Colorzilla it gives the same value as your picker #B29967. I am confused......

The problem could be the nightmode of Windows which make things darker.
@hoekbrwr Have you activated something like that?

@Aaron-Junker Night mode does not affect the actual color/value of the pixels!

No connection between monitor and software, hahaha!!!

No connection between monitor and software, hahaha!!!

That doesn't answer my question.
The nightmode doesn't come from the Monitor. It's gerated by windows

it could be a mathematical bug regarding to rounding values

The Night light is off! I looked in settings.

@Aaron-Junker You really need to check what you are saying! You're actually giving wrong information here! Try picking the color of a white are when you have the Night light on.

@Aaron-Junker You really need to check what you are saying! You're actually giving wrong information here! Try picking the color of a white are when you have the Night light on.

I'm sorry. It was only a idea. Not a information. I think i wrote it wrong.
@htcfreek Your idea could be right. We need to do more tests on that. I will add the help wnated label

it could be a mathematical bug regarding to rounding values

I do not share your idea. Numbers don't get rounded. As I said, I just cannot reproduce this. I am thinking it is something specific to hoekbrwr's system or browser.

It is as it is! Put it in the freezer and think about it. Wait if there are coming more complaints!

May be contact the makers of Colorzilla to look into this?

If you load the uploaded screenshot to a third app such as Paint.NET, it shows the same value as ColorPicker, so it doesn't seem like a bug in ColorPicker

it could be due to setting a color profile in the browser; just an idea

@Aaron-Junker
I removed the Help Wanted label, since it is used to ask for help implementing something we want to add to PowerToys.
This issue doesn't seem a Color Picker bug and therefore there is nothing to fix/implement. As @fitojb suggested it might be a browser issue.

I saw this behavior in Affinity Photo's color picker when I installed a color profile from my monitor manufacturer. A color profile is also installed when using a monitor color calibration device, like the Datacolor Spyder.
If the issue is triggered by a color profile, it would be worth trying 3rd party pickers outside of the web browser to see if any worked around the issue.
@hoekbrwr Do you have a color profile selected in Windows "Color Management"?

In issue #9852 the cause for a similar effect was the software "f.lux", which changes the color on screen.

@crutkas From this issue and 9852, I think it would be smart to put a disclaimer in our docs, and maybe even the GUI?

I am now aware of Color management that interferes with the colors on different screens in a different way. Nowadays I take it as it comes. Better for my health.

Why not programmatically disable the color profile when the color is being sampled?

Luckily whoever codes this will make that decision after looking into the APIs. I think applying a color profile in reverse may be a lot more error prone than switching the color profile off/on.

Also, there may be values that get clipped by the color profile and cannot be recovered by "counter adjust". It's more logic than toggling the profile off/on in a try-finally block. Just saying.

There must be somebody at Microsoft who knows how to deal with this. Because the Night Light does not interfere with the pixel color values.

It doesn't really has anything to do with Microsoft.
It is a pitfall of using a color picker, but not a bug. Other color-pickers have it as well.
The problem is, that software programs themselves are doing the color-management in a Windows environment. So it are the programs who are already adjusting their values before drawing them on the screen. So 'Windows' doesn't have any clue what the original color was, it only sees the adjusted color because that is what the program is asking to draw. The only piece of software that knows the original color, is the program itself.
Case in point: Apply  a color profile to your screen (preferable one who really changes the look, even if it's completely wrong).
Now (re)start Edge (chromium, or another chromium browser). Create some static html with a body background-color of #74c7e8 (for my example, but pick another color to test yourself if you want).
In that html, create a simple empty div with  a fixed width + height of 100px for example, and give it the same background-color of #74c7e8.
Now load that page in Edge, and use the powertoys color picker to sample the color of the empty page. The color you get, enter that in the devtools inspector in the background-color for the little 100x100 div.
You should see it div now. Even though you entered the background color you sampled! (so it should be the same background color as the rest of the page).
In my case, entering a color of #74c7e8 will sample a color of #83c7e9. But that is depending on the display profile that's active.
So basic case in point: Create a static html page with a background-color of #74c7e8, I will sample it as #83c7e9.
But once again, this is because the browser is already transforming the colors, so there is no way an external color picker can know the original value. Turning a profile off quickly isn't going to work, because Edge is still displaying the transformed color.
Now, either remove the display-profile and restart Edge, or go to edge://flags and set #force-color-profile to 'sRGB' and restart Edge. Now, there is no color transform happening and the colorpicker will read the exact same values as are applied in the html.
The color-picker that exists inside of Edge (in the devtools when editing a color there), that one works! Because that is inside Edge, so it knows the original color that it intended to draw (and not just the transformed color).
This also explains perfectly why Night Light and /or f.lux or other programs like that don't affect the read out, that is a tranform layer that sits between the OS and the graphics output, so the colorpicker has a chance to read the values before the transform is applied. But if a program itself is already modfying colors (like applying color-management in programs like Affinity, Photoshop, Irfanview, 'Photos' app, Edge / Chrome, etc...) there is no way to intercept the original values.
In the Mac OSX world color-management is more handled by the OS itself, not the programs. So programs always 'draw in sRGB', macOS transforms it into the display-profile and outputs that to the screen. This has advantages (every program is color-managed) and color-pickers CAN read out the original values (although some do not, which causes confusion and errors for non-technical people) but it also has disadvantages (programs can only draw in the limited sRGB space. Although I do think that programs have the option to tell MacOS 'I will do it myself, dont messs with my colors' but I'm not sure).
In the Windows world, you just need to remember that if you have a display-profile active (and some machines have them preapplied without people knowing it) that you should not trust any color picker besides the one built inside the program you're reading colors from.
This limits the usefulness of - otherwise awesome utilties - like this powertoy, to the point where I almsot think there should be some kinda of PSA to not use this if you have a display-profile applied.

@jorismak thank you for such a detailed explanation!
Indeed, it's impossible for us to reverse an arbitrary color transformation done by a browser/other software.
I've checked the color from the screenshot above with MS Paint and got the same results as ColorPicker PowerToy:

because it's the color that's displayed. My monitor uses default sRGB profile.
Software like Flux and custom Monitor Color Profiles could mess up with the picked values, but we'd need to introduce special cases/handling for that, which seems to be unrelated to this issue.
Therefore, I think we can close it.


Multiple object references in one node

With the new iterative QuadTree it is possible, that objects can be referenced from different QTNodeElements because there is no check against that.

One possible solution is to check every element if its already referencing that object during the traversal of the linked list, when appending the new QTNodeElement to the end.


Taproot mvt minimum viable taproot

Please do not merge until I get these tests passing. Opening this PR now though so we have a place to discuss the code as I will probably get stuck soon.

Ok, bare minimum tests pass. Can now send to and spend from taproot addresses. Key path only for now.

After shamelessly translating https://github.com/ACINQ/bitcoin-kmp/pull/40/commits/490bc0b4ac8f3850c09cb3d45a3d576b4960cb44#diff-435ce1291e658c59f775198e6107e93ae7803597ffeceede7066b51543e22cf3 over to Scala, we can now create and spend from tapscript transactions (keypath as well as script path).

Putting some notes here for us for when we get around to better documenting the taproot features of scoin as they currently exist in this pull request:
There are two schnorr signing methods Crypto.signSchnorr(...) and Crypto.signSchnorrWithTweak:
  def signSchnorr(
      data: ByteVector32,
      privateKey: PrivateKey,
      auxrand32: Option[ByteVector32] = None
  ): ByteVector64

  def signSchnorrWithTweak(
      data: ByteVector32,
      privateKey: PrivateKey,
      merkleRoot: Option[ByteVector32],
      auxrand32: Option[ByteVector32] = None
  ): ByteVector64

signSchnorrWithTweak is used when spending with the "taproot" path -- before signing, the private key is "tweaked" by the provided merkleRoot. As such, in order to sign, the signer must still know the merkle root of the tapscript tree.
signSchnorr is used in all the other circumstances (at least so far in this codebase).

I was having a hard time figuring out why a bunch of the tests were failing in scoinNative but passing in scoinJS and scoinJVM. Probably something to do with the wiring of how the c-library libsecp256k1 is used by the fiatjaf/sn-secp256k1 project, which in turn is used here by scoin.
Not all the wiring is messed up, because some calls seem to work fine (PublicKey#toUncompressedBin for example, and probably many others. But point addition was not seeming to give me the correct results. I think things were maybe getting tweaked twice or something. Oh well.
So, in order to make progress, I ended up just naively implementing the ecc operations we need using BigInt.
commit 8478e77 adds a platform-independent and very untested implementation of the ecc math operations (point addition, point doubling, and multiplying a point by a scalar) ... reckless? yes, but it did pass all the existing tests at least.
Right now it is only used in the scoinNative project.
When we get the other wiring figured out we can just delete it if it is not useful.


Rename tags to appendTags for Push command

Renames tags to appendTags for Push command to conform to the naming
style of the rest of the CLI apps.

Note regarding tests:
Unfortunately it looks like unit tests for CLI commands are a pain to implement.
There's no official documentation for writing unit tests using Swift Argument Parser library and the only post I could find (https://forums.swift.org/t/unit-testing-argument-parsing/47933/3) didn't work for me.
On top of that, in order to be able to test whether the final strings that are going to be pushed contain the appended tags, we would either need to implement a mock server (like the Java CLI does) which cannot be easily done (possibly with swizzling) or by writing the whole command log to a file and then reading from it.

When using the CLI, how should it be called, append-tags or --appendTags? The former is what we need.

Camel-case properties are automatically transformed using the - character as a word separator so appendTags becomes --append-tags.


UnexpectedResponseError

I started playing with basic examples and failed to run it
Exception has occurred: UnexpectedResponseError
An unexpected error occurred. Error message: 'NoneType' object is not subscriptable.
This is what the server returned: {"wss_url":"wss://chatgpt-async-webps-prod-eastus-23.webpubsub.azure.com/client/hubs/conversations?access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJodHRwczovL2NoYXRncHQtYXN5bmMtd2VicHMtcHJvZC1lYXN0dXMtMjMud2VicHVic3ViLmF6dXJlLmNvbS9jbGllbnQvaHVicy9jb252ZXJzYXRpb25zIiwiaWF0IjoxNzA3MDE1MDU4LCJleHAiOjE3MDcwMTg2NTgsInN1YiI6InVzZXItajE2a2RQSDFhS3ZQTWlnRjNzWGJlcTZpIn0.3_Gnx9QoHBqwY6v44jcuUiiPczggQrLIyt2om001GQI","expires_at":"2024-02-04T03:50:58.264613+00:00","conversation_id":"cb1ff950-ce37-47e6-a877-fc43f1a79514","response_id":"84ff9bef7c174d1e-BOS"}.
  File "D:\reverse-engineered-chatgpt-3.0.1\reverse-engineered-chatgpt-3.0.1\examples\async_basic_example.py", line 28, in main
    async for message_chunk in conversation.chat(prompt):
  File "D:\reverse-engineered-chatgpt-3.0.1\reverse-engineered-chatgpt-3.0.1\examples\async_basic_example.py", line 34, in <module>
    asyncio.run(main())
re_gpt.errors.UnexpectedResponseError: An unexpected error occurred. Error message: 'NoneType' object is not subscriptable.
This is what the server returned: {"wss_url":"wss://chatgpt-async-webps-prod-eastus-23.webpubsub.azure.com/client/hubs/conversations?access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJodHRwczovL2NoYXRncHQtYXN5bmMtd2VicHMtcHJvZC1lYXN0dXMtMjMud2VicHVic3ViLmF6dXJlLmNvbS9jbGllbnQvaHVicy9jb252ZXJzYXRpb25zIiwiaWF0IjoxNzA3MDE1MDU4LCJleHAiOjE3MDcwMTg2NTgsInN1YiI6InVzZXItajE2a2RQSDFhS3ZQTWlnRjNzWGJlcTZpIn0.3_Gnx9QoHBqwY6v44jcuUiiPczggQrLIyt2om001GQI","expires_at":"2024-02-04T03:50:58.264613+00:00","conversation_id":"cb1ff950-ce37-47e6-a877-fc43f1a79514","response_id":"84ff9bef7c174d1e-BOS"}.

same

This issue is that chatgpt has changed how they handle messages. they are using wss instead. someone can please update this library so it can handle wss web scokets. my python skills are limited i would have done it.

Same promlem

This issue is that chatgpt has changed how they handle messages. they are using wss instead. someone can please update this library so it can handle wss web scokets. my python skills are limited i would have done it.

As you said, ChatGPT changed their backend infrastructure, now they are using websockets. But it seems like this change has only been made in some regions because for some people the re_gpt is still working (including me). And after monitoring ChatGPT's network traffic in my browser, no ebsocket connection was made, it's using the method it was using before. Thus, I can't debug this until the new changes have been applied in my region too.

https://github.com/Zai-Kun/reverse-engineered-chatgpt/issues/27#issuecomment-1983161935

Not really

Your token is visible FYI

Not really

still not working

not working for me eather

FYI
After I saw the latest PR merged I tried pulling the source code and installing using setup install but still:
Traceback (most recent call last):
  File "C:\Users\Admin\PycharmProjects\playground\main.py", line 27, in <module>
    asyncio.run(main())
  File "C:\Users\Admin\AppData\Local\Programs\Python\Python312\Lib\asyncio\runners.py", line 194, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "C:\Users\Admin\AppData\Local\Programs\Python\Python312\Lib\asyncio\runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Admin\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 664, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "C:\Users\Admin\PycharmProjects\playground\main.py", line 22, in main
    async for message in conversation.chat(prompt):
  File "C:\Users\Admin\PycharmProjects\playground\.venv\Lib\site-packages\re_gpt-3.0.2-py3.12.egg\re_gpt\async_chatgpt.py", line 142, in chat
    raise UnexpectedResponseError(error, server_response)
re_gpt.errors.UnexpectedResponseError: An unexpected error occurred. Error message: 'NoneType' object is not subscriptable.
This is what the server returned: {"detail":"There was a problem with your chat request. Please use a different browser or try again later."}.

FYI
After I saw the latest PR merged ( #33 ), I tried pulling the source code and installing using setup install but still:
Traceback (most recent call last):
  File "C:\Users\Admin\PycharmProjects\playground\main.py", line 27, in <module>
    asyncio.run(main())
  File "C:\Users\Admin\AppData\Local\Programs\Python\Python312\Lib\asyncio\runners.py", line 194, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "C:\Users\Admin\AppData\Local\Programs\Python\Python312\Lib\asyncio\runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Admin\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 664, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "C:\Users\Admin\PycharmProjects\playground\main.py", line 22, in main
    async for message in conversation.chat(prompt):
  File "C:\Users\Admin\PycharmProjects\playground\.venv\Lib\site-packages\re_gpt-3.0.2-py3.12.egg\re_gpt\async_chatgpt.py", line 142, in chat
    raise UnexpectedResponseError(error, server_response)
re_gpt.errors.UnexpectedResponseError: An unexpected error occurred. Error message: 'NoneType' object is not subscriptable.
This is what the server returned: {"detail":"There was a problem with your chat request. Please use a different browser or try again later."}.

PR alreay pushed, wait approved, you can use it at https://github.com/Barrierml/reverse-engineered-chatgpt

still same problem

still same problem

Can you provide a return value for this API use your chatgpt account? https://chat.openai.com/backend-api/sentinel/chat-requirements

detail" : "Method Not Allowed"

still same problem

Can you provide a return value for this API use your chatgpt account? https://chat.openai.com/backend-api/sentinel/chat-requirements

using get or post?

still same problem

Can you provide a return value for this API use your chatgpt account? https://chat.openai.com/backend-api/sentinel/chat-requirements

using get or post?

get

I found the request in network tab when loading ChatGPT:
{
"persona": "chatgpt-freeaccount",
"arkose": {
"required": false,
"dx": null
},
"turnstile": {
"required": false
},
"token": "TRUNCATED"
}


URL handling failure when API is specified within .zbx.conf

When specifying API configuration details within a .zbx.conf file, all zabbix-gnomes scripts result in one of the errors specified below.
When "api=" is specified with a protocol (http://zabbix.website.com) as per the documentation, this error is received:
Traceback (most recent call last):
File "./zhostfinder.py", line 114, in
zapi.login(username, password)
File "/usr/lib/python2.7/site-packages/pyzabbix/init.py", line 68, in login
self.auth = self.user.login(user=user, password=password)
File "/usr/lib/python2.7/site-packages/pyzabbix/init.py", line 156, in fn
args or kwargs
File "/usr/lib/python2.7/site-packages/pyzabbix/init.py", line 101, in do_request
timeout=self.timeout
File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 507, in post
return self.request('POST', url, data=data, json=json, **kwargs)
File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 464, in request
resp = self.send(prep, **send_kwargs)
File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 576, in send
r = adapter.send(request, **kwargs)
File "/usr/lib/python2.7/site-packages/requests/adapters.py", line 415, in send
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', gaierror(-2, 'Name or service not known'))
When "api=" is specified withOUT a protocol (zabbix.website.com), this error is received:
Traceback (most recent call last):
File "./zhostfinder.py", line 114, in
zapi.login(username, password)
File "/usr/lib/python2.7/site-packages/pyzabbix/init.py", line 68, in login
self.auth = self.user.login(user=user, password=password)
File "/usr/lib/python2.7/site-packages/pyzabbix/init.py", line 156, in fn
args or kwargs
File "/usr/lib/python2.7/site-packages/pyzabbix/init.py", line 101, in do_request
timeout=self.timeout
File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 507, in post
return self.request('POST', url, data=data, json=json, **kwargs)
File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 450, in request
prep = self.prepare_request(req)
File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 381, in prepare_request
hooks=merge_hooks(request.hooks, self.hooks),
File "/usr/lib/python2.7/site-packages/requests/models.py", line 304, in prepare
self.prepare_url(url, params)
File "/usr/lib/python2.7/site-packages/requests/models.py", line 361, in prepare_url
"Perhaps you meant http://{0}?".format(url))
requests.exceptions.MissingSchema: Invalid URL u'zabbix.website.com/api_jsonrpc.php': No schema supplied. Perhaps you meant http://zabbix.website.com/api_jsonrpc.php?
I am able to connect successfully by either passing all authentication variables as command line arguments. I can also connect by pulling username & password from $HOME/.zbx.conf and passing the API URL as a command line argument. This would seem to suggest that there is a formatting issue with the api variable when retrieved from ini-style configuration files, rather than an environment-specific issue on my part, however I could easily be wrong and I do not have a ton of time to troubleshoot ATM ( I will update if I am able w/ additional info).
For example:
# ./zhostfinder.py -uzabbixUser -pzabbixPassword ahttp://zabbix.website.com -m -S foo
Error: Could not find any hosts matching "foo"

# ./zhostfinder.py -c $HOME/.zbx.conf -ahttp://zabbix.website.com  -m -S foo
Error: Could not find any hosts matching "foo"

The instance I am using does not use SSL to connect, so my $HOME/.zbx.conf looks like this:
[Zabbix API]
username=johndoe
password=verysecretpassword
api=http://zabbix.mycompany.com
no_verify=true

Error occurs with and without trailing / on api url and with or without the inclusion of the irrelevant-for-me no_verify flag.
Error occurs in CentOS 7 with Python 2.7.5 with th following modules installed:
ansible==2.4.0
ansible-cmdb==1.20
ansible-shell==0.0.5
ansible-toolkit==1.3.2
asn1crypto==0.22.0
backports.ssl-match-hostname==<IP_ADDRESS>
bcrypt==3.1.3
cffi==1.10.0
chardet==2.2.1
cryptography==1.9
decorator==3.4.0
enum34==1.1.6
idna==2.5
iniparse==0.4
ipaddr==2.1.11
ipaddress==1.0.18
Jinja2==2.9.6
jsonxs==0.4
Mako==1.0.7
MarkupSafe==1.0
paramiko==2.2.1
passlib==1.7.1
pyasn1==0.2.3
pycparser==2.18
pycurl==7.19.0
pygobject==3.22.0
pygpgme==0.3
pyliblzma==0.5.3
PyNaCl==1.1.2
pyparsing==1.5.6
pyxattr==0.5.1
PyYAML==3.12
pyzabbix==0.7.4
requests==2.6.0
Runner==1.1
six==1.10.0
slip==0.4.0
slip.dbus==0.4.0
urlgrabber==3.10
urllib3==1.10.2
ushlex==0.99
yum-metadata-parser==1.1.4
zabbix-api==0.4
zabbix-cli==1.7.0

Hi Josh,
Thanks for your report! I've just installed a clean CentOS7, updated all the packages with yum and installed the latest pypi versions of pillow and pyzabbix.
Unfortunately, I'm not able to reproduce the errors you are experiencing. Both http:// and https:// work fine for me.
The error you are getting (requests.exceptions.ConnectionError: ('Connection aborted.', gaierror(-2, 'Name or service not known'))) seems to indicate an issue with hostname resolving, however you indicate this works fine when supplied as a commandline argument.
The only I can think of right now that might be troubling you could be hidden control chars in the '.zbx.conf' file which might change the name in a way that is not visible from human eyes.
Can you verify no hidden chars are present in the conf file?
Regards,
Raymond


Big Paket cache affecting update behavior

Description
We are using Paket to grab newly built packages from a local NuGet feed using NuGet.Server 2.11.3 in a Jenkins CI stack build. storage: none is used so that workspaces do not take a lot of space. This also needs regular Paket clear-cache to free up space. At one point where the cache has not been cleaned recently (was >10GB), Paket updates just failed to pull new packages from the real source silently and just used the latest cached versions.
Repro steps
This is hard to reproduce but I will take a crack at it. It will possibly need a lot of disk space to run.
Expected behavior
Paket should always consult sources for latest packages, use local cache only for not re-downloading nupkg files.
Actual behavior
Paket got stuck at working from only local cache.
Known workarounds
Clean Paket cache.

Paket should always consult sources for latest packages, use local cache only for not re-downloading nupkg files.

what does that mean?

More info: happened with version 5.142.0.
Our CI builds run a paket update on the paket.dependencies group with the internal dependencies, using a source pointing to a locally hosted NuGet server. At one point this stopped to work reliably: no new versions were updated to even when the NuGet feed exposed them correctly. I guess this could have something to do with the Paket cache growing to quite a big size.

mhm I think we need to somehow repro and locate what's going wrong

because for update we always look at the sources

Well if the drive is full nobody knows what happens. Couldn’t you change the build to clear cache when free drive space is lower than some value?


SAM-2582 - UI authorSettings.jsp and publishedSettings.jsp fixes for datepicker.

This will effectively hide the datepicker on load and solve the icon-as-triggers problem.

Hi @fgeraci  can you put the JIRA number in the git commit?  And in the pull request title?

Hey Sam,
Ooops. On the road. I sure will as soon as I can.
Have a nice weekend.
Fernando
On Jul 10, 2015 12:02 PM, "Sam Ottenhoff"<EMAIL_ADDRESS>wrote:

Hi @fgeraci https://github.com/fgeraci can you put the JIRA number in
the git commit? And in the pull request title?
—
Reply to this email directly or view it on GitHub
https://github.com/sakaiproject/sakai/pull/852#issuecomment-120444958.

Hi @fgeraci can you modify the commit to include the JIRA number?

Hi @fgeraci, during the last Sakai Core Team call, it was discussed that this pull request might no longer be relevant since the jira it was created for (SAM-2582) seems like a duplicate of (SAM-2607). Could you take a look at SAM-2607 and if you agree, close this PR or reimplement it for SAM-2607 which is OPEN.
SAM-2582 was addressing more than one problem, being one of them already resolved. That's the main reason why it was closed.
SAKAI CORE TEAM call: http://etherpad.ctools.org/p/rmmt-2015-09-29

Closing as there hasn't been any further discussion. If you feel this pull request is still needed please re-open it and explain what parts are still needed.