Fails to build on Alpine Linux with "don't know how to configure OpenSSL for x86_64-alpine-linux-musl"

I tried to install chia on Alpine Linux (3.14.2-x86_64) but it ultimately fails for me installing clvm_rs:
farmer $ git clone https://github.com/Chia-Network/chia-blockchain.git -b latest
Cloning into 'chia-blockchain'...
remote: Enumerating objects: 52845, done.
remote: Counting objects: 100% (3188/3188), done.
remote: Compressing objects: 100% (1437/1437), done.
remote: Total 52845 (delta 2251), reused 2479 (delta 1735), pack-reused 49657
Receiving objects: 100% (52845/52845), 23.69 MiB | 20.96 MiB/s, done.
Resolving deltas: 100% (40594/40594), done.

[~/chia-blockchain]
farmer $ sh install.sh
apt-get: not found
Submodule 'mozilla-ca' (https://github.com/Chia-Network/mozilla-ca.git) registered for path 'mozilla-ca'
Cloning into '/home/farmer/chia-blockchain/mozilla-ca'...
Submodule path 'mozilla-ca': checked out 'b1b808ab930004fc6b4afc4b248dee0a136f3f00'
pacman: not found
yum: not found
yum: not found
Python version is 3.9
Requirement already satisfied: pip in ./venv/lib/python3.9/site-packages (21.1.1)
Collecting pip
  Using cached pip-21.2.4-py3-none-any.whl (1.6 MB)
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 21.1.1
    Uninstalling pip-21.1.1:
      Successfully uninstalled pip-21.1.1
Successfully installed pip-21.2.4
Collecting wheel
  Using cached wheel-0.37.0-py2.py3-none-any.whl (35 kB)
Installing collected packages: wheel
Successfully installed wheel-0.37.0
Looking in indexes: https://pypi.org/simple, https://pypi.chia.net/simple/
Collecting miniupnpc==2.2.2
  Using cached miniupnpc-2.2.2-cp39-cp39-linux_x86_64.whl
Installing collected packages: miniupnpc
Successfully installed miniupnpc-2.2.2
Looking in indexes: https://pypi.org/simple, https://pypi.chia.net/simple/
Obtaining file:///home/farmer/chia-blockchain
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Collecting keyrings.cryptfile==1.3.4
  Using cached keyrings.cryptfile-1.3.4.tar.gz (17 kB)
Collecting keyring==23.0.1
  Using cached keyring-23.0.1-py3-none-any.whl (33 kB)
Collecting bitstring==3.1.9
  Using cached bitstring-3.1.9-py3-none-any.whl (38 kB)
Collecting colorlog==5.0.1
  Using cached colorlog-5.0.1-py2.py3-none-any.whl (10 kB)
Collecting sortedcontainers==2.3.0
  Using cached sortedcontainers-2.3.0-py2.py3-none-any.whl (29 kB)
Collecting clvm-tools==0.4.3
  Using cached clvm_tools-0.4.3-py3-none-any.whl (36 kB)
Collecting cryptography==3.4.7
  Using cached cryptography-3.4.7.tar.gz (546 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Collecting aiohttp==3.7.4
  Using cached aiohttp-3.7.4.tar.gz (1.1 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Collecting blspy==1.0.6
  Using cached blspy-1.0.6.tar.gz (284 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Collecting click==7.1.2
  Using cached click-7.1.2-py2.py3-none-any.whl (82 kB)
Collecting setproctitle==1.2.2
  Using cached setproctitle-1.2.2.tar.gz (23 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Collecting watchdog==2.1.3
  Using cached watchdog-2.1.3.tar.gz (109 kB)
Collecting chiabip158==1.0
  Using cached chiabip158-1.0.tar.gz (117 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Collecting aiosqlite==0.17.0
  Using cached aiosqlite-0.17.0-py3-none-any.whl (15 kB)
Collecting fasteners==0.16.3
  Using cached fasteners-0.16.3-py2.py3-none-any.whl (28 kB)
Collecting PyYAML==5.4.1
  Using cached PyYAML-5.4.1.tar.gz (175 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Collecting chiapos==1.0.4
  Using cached chiapos-1.0.4.tar.gz (1.3 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Collecting websockets==8.1.0
  Using cached websockets-8.1.tar.gz (58 kB)
Collecting dnspython==2.1.0
  Using cached dnspython-2.1.0-py3-none-any.whl (241 kB)
Collecting clvm==0.9.7
  Using cached clvm-0.9.7-py3-none-any.whl (19 kB)
Collecting colorama==0.4.4
  Using cached colorama-0.4.4-py2.py3-none-any.whl (16 kB)
ERROR: Could not find a version that satisfies the requirement clvm-rs==0.1.11 (from chia-blockchain) (from versions: 0.1.0, 0.1.1, 0.1.2, 0.1.4, 0.1.6, 0.1.7, 0.1.8, 0.1.9, 0.1.10)
ERROR: No matching distribution found for clvm-rs==0.1.11

So I tried to manually install clvm_rs into the venv:
(venv) [~]
farmer $ git clone https://github.com/Chia-Network/clvm_rs.git -b 0.1.11
Cloning into 'clvm_rs'...
remote: Enumerating objects: 3087, done.
remote: Counting objects: 100% (1173/1173), done.
remote: Compressing objects: 100% (504/504), done.
remote: Total 3087 (delta 805), reused 925 (delta 652), pack-reused 1914
Receiving objects: 100% (3087/3087), 4.31 MiB | 8.30 MiB/s, done.
Resolving deltas: 100% (2101/2101), done.
Note: switching to 'e6985832959aa91ef16496090ee77232e30f39de'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

(venv) [~/clvm_rs]
farmer $ maturin develop --release

🔗 Found pyo3 bindings
🐍 Found CPython 3.9 at python
📡 Using build options bindings from pyproject.toml
   Compiling autocfg v1.0.1
   Compiling proc-macro2 v1.0.28
   Compiling unicode-xid v0.2.2
   Compiling libc v0.2.99
   Compiling proc-macro-hack v0.5.19
   Compiling pyo3-build-config v0.14.2
   Compiling syn v1.0.74
   Compiling radium v0.6.2
   Compiling cc v1.0.69
   Compiling cfg-if v1.0.0
   Compiling once_cell v1.8.0
   Compiling tap v1.0.1
   Compiling typenum v1.13.0
   Compiling version_check v0.9.3
   Compiling pkg-config v0.3.19
   Compiling funty v1.2.0
   Compiling subtle v2.4.1
   Compiling rand_core v0.6.3
   Compiling smallvec v1.6.1
   Compiling scopeguard v1.1.0
   Compiling unindent v0.1.7
   Compiling byteorder v1.4.3
   Compiling openssl v0.10.35
   Compiling foreign-types-shared v0.1.1
   Compiling opaque-debug v0.3.0
   Compiling bitflags v1.3.1
   Compiling cpufeatures v0.1.5
   Compiling hex v0.4.3
   Compiling lazy_static v1.4.0
   Compiling num-traits v0.2.14
   Compiling num-integer v0.1.44
   Compiling num-bigint v0.4.0
   Compiling instant v0.1.10
   Compiling wyz v0.4.0
   Compiling openssl-src v111.15.0+1.1.1k
   Compiling generic-array v0.14.4
   Compiling lock_api v0.4.4
   Compiling foreign-types v0.3.2
   Compiling openssl-sys v0.9.65
   Compiling quote v1.0.9
   Compiling bitvec v0.22.3
   Compiling parking_lot_core v0.8.3
   Compiling paste-impl v0.1.18
error: failed to run custom build command for `openssl-sys v0.9.65`

Caused by:
  process didn't exit successfully: `/home/farmer/clvm_rs/target/release/build/openssl-sys-19a12d6e2bc14fbe/build-script-main` (exit code: 101)
  --- stdout
  cargo:rustc-cfg=const_fn
  cargo:rerun-if-env-changed=X86_64_ALPINE_LINUX_MUSL_OPENSSL_NO_VENDOR
  X86_64_ALPINE_LINUX_MUSL_OPENSSL_NO_VENDOR unset
  cargo:rerun-if-env-changed=OPENSSL_NO_VENDOR
  OPENSSL_NO_VENDOR unset

  --- stderr
  thread 'main' panicked at 'don't know how to configure OpenSSL for x86_64-alpine-linux-musl', /home/farmer/.cargo/registry/src/github.com-1ecc6299db9ec823/openssl-src-111.15.0+1.1.1k/src/lib.rs:275:18
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
error: build failed
💥 maturin failed
  Caused by: Failed to build a native library through cargo
  Caused by: Failed to build a native library through cargo
  Caused by: Cargo build finished with "exit code: 101": `cargo rustc --message-format json --manifest-path Cargo.toml --release --lib --`
(venv) 19:03:02 [~/clvm_rs]
farmer $

Any suggestions?
Cheers,
Bjoern

Nobody?

Thanks!
I will give it a try!

 Though I made a slight error - forgive me, I've been up all night migrating my chia harvesters from  2x Raspberry Pis to a Lenovo Thinkcentre micro PC running FreeBSD + bhyve + Alpine VM :)
I did the following (roughly following Debian and OpenBSD instructions in the chia git wiki) :

doas apk add rustup maturin perl openssl-dev
rustup-init (install rust and cargo)
git clone chia-blockchain
cd chia-blockchain; sh ./install.sh (it will fail when trying to build clvm_rs because pip can't find 0.1.15 wheel or something)
python3 -m venv venv; . ./venv/bin/activate (still in chia-blockchain directory)
cd ../ ; git clone clvm_rs
cd clvm_rs; git checkout 0.1.15; maturin  develop --release (this should build fine now that Perl is installed)
pip install .
cd ../chia-blockchain; sh ./install.sh (again)

build should complete.
Let me know if you're still stuck - I've managed to get chia to work on my Alpine X86_64 VM.

Indeed, I was now able to at least build clvm_rs and install it, but chia still fails to find it:
ERROR: Could not find a version that satisfies the requirement clvm-rs==0.1.15 (from chia-blockchain) (from versions: 0.1.0, 0.1.1, 0.1.2, 0.1.4, 0.1.6, 0.1.7, 0.1.8, 0.1.9, 0.1.10, 0.1.14, 0.1.20)
ERROR: No matching distribution found for clvm-rs==0.1.15

My procedure below - it didn't make any difference in which directories I build it etc:
(only showing the output where relevant)
bo@alpinflax $ doas apk add rustup maturin perl openssl-dev python3 python3-dev libffi-dev git build-base
bo@alpinflax $ python3 -m venv venv
bo@alpinflax $ . ./venv/bin/activate
(venv)
bo@alpinflax $ python3 -m pip install --upgrade pip
(venv)
bo@alpinflax $ rustup-init
(venv)
bo@alpinflax $ source ${HOME}/.cargo/env
(venv)
bo@alpinflax $ git clone https://github.com/Chia-Network/clvm_rs.git
(venv)
bo@alpinflax $ cd clvm_rs
(venv)
bo@alpinflax $ git checkout 0.1.15
(venv)
bo@alpinflax $ maturin develop --release
(venv)
bo@alpinflax $ python3 -m pip install .
(venv)
bo@alpinflax $ python3 -m pip list
Package    Version
---------- -------
clvm_rs    0.1.15
pip        22.0.3
setuptools 57.4.0
(venv)
bo@alpinflax $ git clone https://github.com/Chia-Network/chia-blockchain.git
(venv)
bo@alpinflax $
cd chia-blockchain
(venv)
bo@alpinflax $ git checkout 1.2.11
(venv)
bo@alpinflax $ chmod +x install.sh
(venv)
bo@alpinflax $ ./install.sh
./install.sh: line 7: type: apt-get: not found
Submodule 'mozilla-ca' (https://github.com/Chia-Network/mozilla-ca.git) registered for path 'mozilla-ca'
Cloning into '/home/bolausson/chia-blockchain/mozilla-ca'...
Submodule path 'mozilla-ca': checked out 'b1b808ab930004fc6b4afc4b248dee0a136f3f00'
./install.sh: line 60: type: pacman: not found
./install.sh: line 64: type: yum: not found
./install.sh: line 68: type: yum: not found
Python version is 3.9
Requirement already satisfied: pip in ./venv/lib/python3.9/site-packages (21.2.3)
Collecting pip
  Using cached pip-22.0.3-py3-none-any.whl (2.1 MB)
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 21.2.3
    Uninstalling pip-21.2.3:
      Successfully uninstalled pip-21.2.3
Successfully installed pip-22.0.3
Collecting wheel
  Using cached wheel-0.37.1-py2.py3-none-any.whl (35 kB)
Installing collected packages: wheel
Successfully installed wheel-0.37.1
Looking in indexes: https://pypi.org/simple, https://pypi.chia.net/simple/
warning: missing-index-doctype

× The package index page being used does not have a proper HTML doctype declaration.
╰─> Problematic URL: https://pypi.chia.net/simple/miniupnpc/

note: This is an issue with the page at the URL mentioned above.
hint: You might need to reach out to the owner of that package index, to get this fixed. See https://github.com/pypa/pip/issues/10825 for context.
Collecting miniupnpc==2.2.2
  Using cached miniupnpc-2.2.2-cp39-cp39-linux_x86_64.whl
Installing collected packages: miniupnpc
Successfully installed miniupnpc-2.2.2
Looking in indexes: https://pypi.org/simple, https://pypi.chia.net/simple/
Obtaining file:///home/bolausson/chia-blockchain
  Installing build dependencies ... done
  Checking if build backend supports build_editable ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting keyrings.cryptfile==1.3.4
  Using cached keyrings.cryptfile-1.3.4.tar.gz (17 kB)
  Preparing metadata (setup.py) ... done
warning: missing-index-doctype

× The package index page being used does not have a proper HTML doctype declaration.
╰─> Problematic URL: https://pypi.chia.net/simple/chiabip158/

note: This is an issue with the page at the URL mentioned above.
hint: You might need to reach out to the owner of that package index, to get this fixed. See https://github.com/pypa/pip/issues/10825 for context.
Collecting chiabip158==1.0
  Using cached chiabip158-1.0.tar.gz (117 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting watchdog==2.1.6
  Using cached watchdog-2.1.6.tar.gz (107 kB)
  Preparing metadata (setup.py) ... done
Collecting clvm==0.9.7
  Using cached clvm-0.9.7-py3-none-any.whl (19 kB)
Collecting keyring==23.0.1
  Using cached keyring-23.0.1-py3-none-any.whl (33 kB)
Collecting PyYAML==5.4.1
  Using cached PyYAML-5.4.1.tar.gz (175 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
warning: missing-index-doctype

× The package index page being used does not have a proper HTML doctype declaration.
╰─> Problematic URL: https://pypi.chia.net/simple/chiavdf/

note: This is an issue with the page at the URL mentioned above.
hint: You might need to reach out to the owner of that package index, to get this fixed. See https://github.com/pypa/pip/issues/10825 for context.
Collecting chiavdf==1.0.3
  Using cached chiavdf-1.0.3.tar.gz (635 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting dnspythonchia==2.2.0
  Using cached dnspythonchia-2.2.0-py3-none-any.whl (260 kB)
Collecting fasteners==0.16.3
  Using cached fasteners-0.16.3-py2.py3-none-any.whl (28 kB)
warning: missing-index-doctype

× The package index page being used does not have a proper HTML doctype declaration.
╰─> Problematic URL: https://pypi.chia.net/simple/setproctitle/

note: This is an issue with the page at the URL mentioned above.
hint: You might need to reach out to the owner of that package index, to get this fixed. See https://github.com/pypa/pip/issues/10825 for context.
Collecting setproctitle==1.2.2
  Using cached setproctitle-1.2.2.tar.gz (23 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
warning: missing-index-doctype

× The package index page being used does not have a proper HTML doctype declaration.
╰─> Problematic URL: https://pypi.chia.net/simple/clvm-rs/

note: This is an issue with the page at the URL mentioned above.
hint: You might need to reach out to the owner of that package index, to get this fixed. See https://github.com/pypa/pip/issues/10825 for context.
ERROR: Could not find a version that satisfies the requirement clvm-rs==0.1.15 (from chia-blockchain) (from versions: 0.1.0, 0.1.1, 0.1.2, 0.1.4, 0.1.6, 0.1.7, 0.1.8, 0.1.9, 0.1.10, 0.1.14, 0.1.20)
ERROR: No matching distribution found for clvm-rs==0.1.15
(venv)
bo@alpinflax $

The order is important. You must clone chia-blockchain and set up the python venv in its directory first before running pip . install in the clvm_rs directory after building it.
If that doesn't work, try installing bash and running the build via bash shell rather than ash.
8 Feb 2022 12:27:55 Bjoern Olausson @.***>:

Indeed, I was now able to at least build clvm_rs and install it, but chia still fails to find it:
*ERROR: Could not find a version that satisfies the requirement clvm-rs==0.1.15 (from chia-blockchain) (from versions: 0.1.0, 0.1.1, 0.1.2, 0.1.4, 0.1.6, 0.1.7, 0.1.8, 0.1.9, 0.1.10, 0.1.14, 0.1.20)

ERROR: No matching distribution found for clvm-rs==0.1.15

My procedure below - it didn't make any difference in which directories I build it etc:
(only showing the output where relevant)
@.*** $ doas apk add rustup maturin perl openssl-dev python3 python3-dev libffi-dev git build-base

@.*** $ python3 -m venv venv

@.*** $ . ./venv/bin/activate

(venv)

@.*** $ python3 -m pip install --upgrade pip

(venv)

@.*** $ rustup-init

(venv)

@.*** $ source ${HOME}/.cargo/env

(venv)

@.*** $ git clone https://github.com/Chia-Network/clvm_rs.git

(venv)

@.*** $ cd clvm_rs

(venv)

@.*** $ git checkout 0.1.15

(venv)

@.*** $ maturin develop --release

(venv)

@.*** $ python3 -m pip install .

(venv)

@.*** $ python3 -m pip list

Package    Version

clvm_rs    0.1.15

pip        22.0.3

setuptools 57.4.0

(venv)

@.*** $ git clone https://github.com/Chia-Network/chia-blockchain.git

(venv)

@.*** $

cd chia-blockchain

(venv)

@.*** $ git checkout 1.2.11

(venv)

@.*** $ chmod +x install.sh

(venv)

@.*** $ ./install.sh

./install.sh: line 7: type: apt-get: not found

Submodule 'mozilla-ca' (https://github.com/Chia-Network/mozilla-ca.git) registered for path 'mozilla-ca'

Cloning into '/home/bolausson/chia-blockchain/mozilla-ca'...

Submodule path 'mozilla-ca': checked out 'b1b808ab930004fc6b4afc4b248dee0a136f3f00'

./install.sh: line 60: type: pacman: not found

./install.sh: line 64: type: yum: not found

./install.sh: line 68: type: yum: not found

Python version is 3.9

Requirement already satisfied: pip in ./venv/lib/python3.9/site-packages (21.2.3)

Collecting pip

Using cached pip-22.0.3-py3-none-any.whl (2.1 MB)

Installing collected packages: pip

Attempting uninstall: pip

Found existing installation: pip 21.2.3

Uninstalling pip-21.2.3:

  Successfully uninstalled pip-21.2.3

Successfully installed pip-22.0.3

Collecting wheel

Using cached wheel-0.37.1-py2.py3-none-any.whl (35 kB)

Installing collected packages: wheel

Successfully installed wheel-0.37.1

Looking in indexes: https://pypi.org/simple, https://pypi.chia.net/simple/

warning: missing-index-doctype

× The package index page being used does not have a proper HTML doctype declaration.

╰─> Problematic URL: https://pypi.chia.net/simple/miniupnpc/

note: This is an issue with the page at the URL mentioned above.

hint: You might need to reach out to the owner of that package index, to get this fixed. See https://github.com/pypa/pip/issues/10825 for context.

Collecting miniupnpc==2.2.2

Using cached miniupnpc-2.2.2-cp39-cp39-linux_x86_64.whl

Installing collected packages: miniupnpc

Successfully installed miniupnpc-2.2.2

Looking in indexes: https://pypi.org/simple, https://pypi.chia.net/simple/

Obtaining file:///home/bolausson/chia-blockchain

Installing build dependencies ... done

Checking if build backend supports build_editable ... done

Getting requirements to build wheel ... done

Preparing metadata (pyproject.toml) ... done

Collecting keyrings.cryptfile==1.3.4

Using cached keyrings.cryptfile-1.3.4.tar.gz (17 kB)

Preparing metadata (setup.py) ... done

warning: missing-index-doctype

× The package index page being used does not have a proper HTML doctype declaration.

╰─> Problematic URL: https://pypi.chia.net/simple/chiabip158/

note: This is an issue with the page at the URL mentioned above.

hint: You might need to reach out to the owner of that package index, to get this fixed. See https://github.com/pypa/pip/issues/10825 for context.

Collecting chiabip158==1.0

Using cached chiabip158-1.0.tar.gz (117 kB)

Installing build dependencies ... done

Getting requirements to build wheel ... done

Preparing metadata (pyproject.toml) ... done

Collecting watchdog==2.1.6

Using cached watchdog-2.1.6.tar.gz (107 kB)

Preparing metadata (setup.py) ... done

Collecting clvm==0.9.7

Using cached clvm-0.9.7-py3-none-any.whl (19 kB)

Collecting keyring==23.0.1

Using cached keyring-23.0.1-py3-none-any.whl (33 kB)

Collecting PyYAML==5.4.1

Using cached PyYAML-5.4.1.tar.gz (175 kB)

Installing build dependencies ... done

Getting requirements to build wheel ... done

Preparing metadata (pyproject.toml) ... done

warning: missing-index-doctype

× The package index page being used does not have a proper HTML doctype declaration.

╰─> Problematic URL: https://pypi.chia.net/simple/chiavdf/

note: This is an issue with the page at the URL mentioned above.

hint: You might need to reach out to the owner of that package index, to get this fixed. See https://github.com/pypa/pip/issues/10825 for context.

Collecting chiavdf==1.0.3

Using cached chiavdf-1.0.3.tar.gz (635 kB)

Installing build dependencies ... done

Getting requirements to build wheel ... done

Preparing metadata (pyproject.toml) ... done

Collecting dnspythonchia==2.2.0

Using cached dnspythonchia-2.2.0-py3-none-any.whl (260 kB)

Collecting fasteners==0.16.3

Using cached fasteners-0.16.3-py2.py3-none-any.whl (28 kB)

warning: missing-index-doctype

× The package index page being used does not have a proper HTML doctype declaration.

╰─> Problematic URL: https://pypi.chia.net/simple/setproctitle/

note: This is an issue with the page at the URL mentioned above.

hint: You might need to reach out to the owner of that package index, to get this fixed. See https://github.com/pypa/pip/issues/10825 for context.

Collecting setproctitle==1.2.2

Using cached setproctitle-1.2.2.tar.gz (23 kB)

Installing build dependencies ... done

Getting requirements to build wheel ... done

Preparing metadata (pyproject.toml) ... done

warning: missing-index-doctype

× The package index page being used does not have a proper HTML doctype declaration.

╰─> Problematic URL: https://pypi.chia.net/simple/clvm-rs/

note: This is an issue with the page at the URL mentioned above.

hint: You might need to reach out to the owner of that package index, to get this fixed. See https://github.com/pypa/pip/issues/10825 for context.

ERROR: Could not find a version that satisfies the requirement clvm-rs==0.1.15 (from chia-blockchain) (from versions: 0.1.0, 0.1.1, 0.1.2, 0.1.4, 0.1.6, 0.1.7, 0.1.8, 0.1.9, 0.1.10, 0.1.14, 0.1.20)

ERROR: No matching distribution found for clvm-rs==0.1.15

(venv)

@.*** $

—
Reply to this email directly, view it on GitHub[https://github.com/Chia-Network/clvm_rs/issues/120#issuecomment-1032555334], or unsubscribe[https://github.com/notifications/unsubscribe-auth/AAHQB2X2GZBN7NMNTIAE2MLU2ED4PANCNFSM5EJMX6DQ].
You are receiving this because you commented. [data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEIAAABCCAYAAADjVADoAAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAAAnSURBVHic7cEBDQAAAMKg909tDwcUAAAAAAAAAAAAAAAAAAAAAPBjRFIAASHKmKkAAAAASUVORK5CYII=###24x24:true###][Tracking image][https://github.com/notifications/beacon/AAHQB2VZTNSUQ6XZ72PQMZ3U2ED4PA5CNFSM5EJMX6D2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOHWFYWRQ.gif]

To compile chia 1.3.0 released ~18 hours ago, I didn't need to compile clvm_rs separately like before however, I did have to change a few things:

cd chia-blockchain
git pull
doas apk add asio-dev
Edit setup.py changing the respective clvm_rs line from "clvm_rs==0.1.19", to "clvm_rs==0.1.20",
sh ./install.sh as normal (you might need to run bash first, then activate the python environment before building)


Jetpack  TexField not working  with  onImeActionPerformed()

Hi I am  trying to  make a custom search bar using  TexField, but  when  I used the onImeActionPerformed() function inside  of TextField, I got  an  error

What may be the possible reason for that error?
Thanks

This is the error I got when  I ran the code.

https://github.com/android/compose-samples/issues/404

onImeActionPerformed was removed from TextField. The error gives you instructions on what to use.


Send kinect data to another computer ?

Instead of sending the data on the excel file can you send it to another computer using TCP/IP network?

Yes, it’s technically feasible. I had done a similar one using WebSockets.


prevent typing in input filed

Hello Sir,
Your plugin is working well for me. Thanks to that.
But when I try to type a text in the input field of an angular-mydatepicker directive it is enabled to typing there. Plz, help me out how to prevent typing text in angular-mydatepicker.
Thank You

You can set input box disabled or readonly.
<input angular-mydatepicker disabled />
or
<input angular-mydatepicker readonly />

Sir really appreciate your help. Thank you.
On Sun, Nov 10, 2019 at 5:19 PM Keke<EMAIL_ADDRESS>wrote:

You can set input box disabled or readonly.

or

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/kekeh/angular-mydatepicker/issues/17?email_source=notifications&email_token=AM7IX3PPQ3O6K2UHMYWL733QS7YLHA5CNFSM4I3NFGP2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDU3MGQ#issuecomment-552187418,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AM7IX3LNGGKINIDOVBYOFKTQS7YLHANCNFSM4I3NFGPQ
.

If you are using version 0.2.1 you can also use div as a host element. Then the date field is not editable.
See example code from here: https://github.com/kekeh/angular-mydatepicker/tree/master/example/app/date-picker-div-host-element
Check also the divHostElement option from the README.

Hi, if I set input box disabled, the value of the angualr-mydatepicker is doesn't show.
My input box is like this:
<input class="input-box" angular-mydatepicker
                                    (dateChanged)="onDateChange($event,row,allColumns[i])" name="mydate"
                                    [locale]="locale" (click)="dp.toggleCalendar()" [(ngModel)]="row[0].DateContent"
                                    [ngModelOptions]="{standalone: true}" #dp="angular-mydatepicker"
                                    autocomplete="off" [disabled]="!allColumns[i].colDef.Editable" />

Hi @9marta5
You can try to do it this way:
public disabled: boolean = true;

<input name="mydate" [attr.disabled]="disabled ? '' : null" />

In above if the value of the disabled member is true then there will be disabled attribute in the input box, otherwise not.
I have done it that way here https://github.com/kekeh/angular-mydatepicker/blob/master/example/app/date-picker-ngmodel/date-picker-ngmodel.html#L282 in my test application and it works.

Hi @kekeh thank you so much. It works!

Hi @9marta5
You can try to do it this way:
public disabled: boolean = true;

<input name="mydate" [attr.disabled]="disabled ? '' : null" />

In above if the value of the disabled member is true then there will be disabled attribute in the input box, otherwise not.
I have done it that way here in my test application and it works.
Here is instructions on how to run the test application.

Thanks for the trick !


Commit new file

I added recent T20 world cup match between India and Pakistan

Hi @igorsteinmacher ,
could you please review the changes and approve the request.


EPMLABSBRN-88 - added basic admin pages, set up build and project str…

EPMLABSBRN-88 - added basic admin pages

great work, thanks!


⚠ Bofrost.fr has degraded performance

In 5f1935d, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1403 ms

Resolved: Bofrost.fr performance has improved in 9529bd4 after 1 hour, 37 minutes.


[tzdata] Initial commit of plan / tests

This adds tzdata which is required to be available for glibc to source during it's build.
Does this make tzdata a baseplan?

Still working on this, please don't merge

Ready for review 👍


Query string in Root URI

How do i specify query string in root URI. EX: RootURL/api/employee/get?gender=male. I want to use query string in HttpRepl as i mentioned.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 16842b60-b268-a322-8078-c0b27c57fa7d
Version Independent ID: d63c12f3-220e-9067-ead5-90e644c06591
Content: Test web APIs with the HTTP REPL
Content Source: aspnetcore/web-api/http-repl.md
Product: aspnet-core
Technology: aspnetcore-webapi
GitHub Login: @scottaddie
Microsoft Alias: scaddie

Query string parameters aren't currently supported. See https://github.com/dotnet/HttpRepl/issues/258 to track this work.


[DO_NOT_MERGE] DEVTOOLING-902: Fixed bugs in pagination logic across a few packages

Opening this in a new PR because the branch was named after the wrong ticket in the last one

Hi Charlie , think its good to be merged ?!

@HemanthDogiparthi12 It didn't actually fix the error described in the ticket. We're still looking into it


xADUser: This resource is missing comment-based help

This resource is missing comment-based help for the functions.

@johlju I'll take these comment based ones and make one PR for all, #330, #335, #339, #340


Android live edit don't update newly added signals

Godot version:
Godot 3.1.1. stable official
Issue description:
Android live edit don't update newly added signals.
Steps to reproduce:
If I add new button and assign new signal on it (pressed()) and add code for pressed action, button on android device don't react on press (like the signal is not connected). If I deploy again to device, everything works.
Another question - Is it possible to restart game on android without deploying.
Thank you.

I do not believe the code can automatically update through live edit, just node-editing, but I may be wrong.
However, I can +1 you that this does not work ( adding signal and adding code with live edit )
Also, are you using GLES3 or GLES2?

I'm using GLES3 (tried with GLES2 also).

Can anyone still reproduce this bug in Godot 3.2.3 rc3 or any later release?

Closing due to lack of update. Please comment if you can still reproduce this issue in the latest stable version of Godot.


how to analyse my GPU memory usage details

I really want to know the GPU's occupancy in atari --Pong game. My gpu is 1080Ti, and I want to konw the detail useage of its memory. Can anyone give me some guidance?

I personally use tools like wandb to get a detailed view of my GPU, CPU, memory, network and disk information throughout the run.
A good rule of thumb is that TensorFlow will use around 90-100% of the GPUs memory for weights, you can check that using a quick nvidia-smi command in the command line.
the most detailed way for debugging memory leaks would be the tensorflow profiler. it allows you to visualize in a variety of different ways the memory usage and a lot of other components.

This is my recorded data on GPU memory usage during training. the number of Batch_size does not vary linearly with GPU consumption. Can anyone help me analyse the reason for this?

I personally use tools like wandb to get a detailed view of my GPU, CPU, memory, network and disk information throughout the run.
A good rule of thumb is that TensorFlow will use around 90-100% of the GPUs memory and most of it for weights, you can check that using a quick nvidia-smi command in the command line.
the most detailed way for debugging memory leaks would be the tensorflow profiler. it allows you to visualize in a variety of different ways the memory usage and a lot of other components.

Thank you ! I need to go through the tools you have presented.


Houdini

Song Name
Houdini
Artist Name
Eminem
Source
Youtube
Youtube Link
Youtube.com/watch?v=22tVWwmTie8
Direct File Link
No response
Song ID
1
Start Offset [ms]
No response
Extra
No response

reject


add GDG Ahmedabad DevFest Action

@nish17 Thanks for your contribution to have an action for DevFest Ahmedabad 2018.


Is there any Live streaming the API responses in bot example available in c#?

🚨 The issue tracker is not for questions 🚨
If you have a question, please ask it on https://stackoverflow.com/questions/tagged/botframework
[question]
I am searching for sample code examples that supports the live-streaming response from the OPEN AI API responses in c# SDK bot.
Can someone point out a code example for that?
Thank you.

@Basavarajsk1992 - Unfortunately, there are no samples available at this time that demonstrate using OpenAI. I will go ahead and mark this as a feature request for future consideration.
That being said, there are some samples available on the Teams AI repo that you can reference that may potentially serve you, in the meantime. These Teams samples, while not structured entirely the same as samples displayed here, still utilize BotFramework code. However, since it doesn't appear you are building a Teams bot, I can't ensure that they will meet your needs. Stripping the Teams AI samples of the Teams related code may break the live streaming functionality in the process.

@stevkan , Thanks for your response.
I will be awaiting for the reference to the streaming response support in the C#(SDK) Bot framework.

There is this example which doesn't use team-ai https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-streaming/csharp


v1.7 backports 2021-02-20

#15042 -- policy: Clear references to old EndpointPolicies (@jrajahalme)

Once this PR is merged, you can update the PR labels via:
$ for pr in 15042; do contrib/backporting/set-labels.py $pr done 1.7; done

test-backport-1.7

The upstream tests were already failing https://github.com/cilium/cilium/pull/14868#issuecomment-777743793


refreshTokens failing because Content-Type defined twice in API request

When using refreshTokens I get the following response back from Hue after debugging:
HttpError: HTTP error status: 400; {"fault":{"faultstring":"Duplicate Header \"content-type\"","detail":{"errorcode":"protocol.http.DuplicateHeader"}}}

These are the headers that are sent:
{
  baseURL: 'https://api.meethue.com',
  headers: {
    Accept: 'application/json',
    'content-type': 'application/x-www-form-urlencoded',
    'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
  },
  responseType: 'json'
}

This is in the config variable below:

At some point 2 content-type headers are inserted, I'm assuming if it only uses one the API call will start working.
Anyone else getting this issue?

Which version are you using to get this error? There were some changes to the underlying http library on the latest 5.x line so I need to know this to dial in on the fix.

Hey @peter-murray, I'm using version ^5.0.0-beta.2, thanks for the great library!

I think this should now be resolved in version 5.0.0-beta.3 which has just been published.

Hey @peter-murray, no longer getting the content-type error, but it seems like no data is coming back.
The error message is:
Error: Unexpected status code from refreshing tokens: 401
Here is how I'm calling refreshTokens:
const refreshToken = await api.remote.refreshTokens(HUE_REFRESH_TOKEN);
And here are the two config objects:
config {
  baseURL: 'https://api.meethue.com',
  headers: { Accept: 'application/json' },
  responseType: 'json'
}

requestConfig {
  url: '/oauth2/refresh',
  method: 'POST',
  data: 'refresh_token=LnITOPqV7ANhRtwdmTgqiBzi5uGCXVup', // example only
  params: { grant_type: 'refresh_token' },
  validateStatus: [Function: validateStatus]
}`

And the whole response:
res {
  status: 401,
  headers: [Object: null prototype] {
    date: [ 'Thu, 22 Jul 2021 23:07:21 GMT' ],
    'content-type': [ 'application/json' ],
    'content-length': [ '0' ],
    connection: [ 'close' ],
    'www-authenticate': [
      'Digest<EMAIL_ADDRESS>nonce="fb6dc533da596d158336b58c018f284d"'
    ]
  },
  data: ''
}

Ultimately resulting in Error: Unexpected status code from refreshing tokens: 401 as per the top of this message.
Config seems fine to me, but get a 401 no matter what.
Here is the entire code snippet just in case I'm missing something:
const remoteBootstrap = v3.api.createRemote(HUE_CLIENT_ID, HUE_CLIENT_SECRET);

remoteBootstrap
  .connectWithTokens(HUE_ACCESS_TOKEN, HUE_REFRESH_TOKEN, HUE_USERNAME)
  .then(async (api) => {
      const refreshToken = await api.remote.refreshTokens(HUE_REFRESH_TOKEN);
      console.log(refreshToken);
    });

Thank you for the details, it helped me diagnose this issue.
There were some endpoint changes for the OAuth2 from Hue that I was not aware of, but even then I had missed a refactoring of the swapping out of the HTTP library. the 401 error was associated with the digest challenge not being properly handled. Once that was cleared and the end points updated to the new documented /v2/oAuth variants, I have been able to refresh tokens locally in testing.
I have released version 5.0.0-beta.4 to the npm registry, can you please try that?

@peter-murray works now, thanks for the detailed answer.
I'm getting this as a response now (tokens changed for security) -
{
  accessToken: { value: 'HAubNWr5McxMlR4idiceXyD8vE6', expiresAt: NaN },
  refreshToken: { value: 'EPnsGkvd6fpiq5AHJocXdDrvuZlJxjxd', expiresAt: NaN }
}

It's coming back with NaN for expiresAt, but the tokens are successfully changing and old tokens are denied.
Thanks again for committing your time to this issue and the library in general, it is much appreciated.

Thank you for the feedback, there is a change to the returned payload that I have now captured and fixed, but will hold back on releasing util next week as I have other code changes in flight that I need to complete first.

Thanks @peter-murray, sounds great!


Should we run the default selector on external selector failure?

https://github.com/zooniverse/Panoptes/blob/79df16a8151372cee852bca63f292e3ea778a495/lib/subjects/strategy_selection.rb#L38
Here we catch connection errors to the external selector services and run the default selector instead.
Now we've added some status reporting into the selector i think this should just return an empty array and allow the selector to handle situation and report the failure mode correctly too. https://github.com/zooniverse/Panoptes/blob/79df16a8151372cee852bca63f292e3ea778a495/lib/subjects/selector.rb#L37
With a situation such as a user that has finished all available data, this change could save 1 extra selection path for an event, e.g.:
1. request to get new subjects
2. external selector connection error
3. run internal selector and returns [] (no available data)
4. run internal fallback selection in selector again return []

vs
1. request to get new subjects
2. external selector connection error and returns []
4. run internal fallback selection in selector again return []

Should we add explicit statuses on top of the returned array coming from selectors? If the external selector worked fine but the user has seen all data, it could signal that so that we can skip the internal selector in that case. When the external selector is actually erroring it would still make sense to try the internal selector?

Should we add explicit statuses on top of the returned array coming from selectors?

I'd be up for that.

If the external selector worked fine but the user has seen all data, it could signal that so that we can skip the internal selector in that case.

That's a good idea, the only issue i see is if the selector is out of sync and returns no data but we still signal correct behaviour and don't run the internal selector (which would return unseen, unretired data). This is def and edge case though, normal behaviour would have consistent state between the two systems. That said I've had some reports (from @yshish) about seens mixed into their selected queue.

When the external selector is actually erroring it would still make sense to try the internal selector.

I think so, in case of say server error / network failure we'd still want to run our internal selector, though not here, instead say via https://github.com/zooniverse/Panoptes/blob/80dd550ce478496b643590b8b7848a0e5d1d5f4f/lib/subjects/selector.rb#L39


Prettify the SVG snapshots (and a couple cleanups)

I’m running into some strange issues working on badge-maker in #5696, where the images look good but the snapshots have changed in unexpected ways. I’m finding them a little tricky to debug.
This saves the prettified snapshots instead, which I think will make them easier to compare and debug. They may have to be updated when we upgrade prettier.
I also inlined a few things in the test file.

Messages

:book:
:sparkles: Thanks for your contribution to Shields, @paulmelnikow!

  Generated by :no_entry_sign: dangerJS against d8b0a6ab2ff957995b90bc355e3d0f95a5760225


Fixes #1207

I encountered a ModuleNotFoundError: No module named 'nest_asyncio' error after installing the deepeval library. It seems that nest_asyncio, which is required by the library, is not automatically installed as a dependency.
see #1207

@kritinv @penguine-ip would you mind taking a look? it's a tiny change.

@kbarendrecht hey thanks for the bump I missed it - one quick question what's the ./idea folder in gitignore?

Hi @penguine-ip, that's the configuration folder for Jetbrains IDE's. it creates it on opening a folder automaticly. I didn't want to force my settings onto anyone. It's recommened to exclude the entire thing or parts of it.
@see https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore#L4

@kbarendrecht oh no not at all was just curious about the extra directory, thanks for the PR


Improve leads management

[ ] welcome email to new users
[ ] test and clean lead status sync with mailing app
[ ] add loading indicator on lead status update
[x] simplify lead statuses and create a new screen to explain them to the users
[ ] code to an interface
[ ] schedule executions and monitor them
[ ] Guider davantage les administrateurs dans le suivi des clients lorsque la fin du cycle approche
(afficher des messages de rappel)

see page 3


New year's code cleanup

So here's a massive set of changes to the inner workings of timbles. There's a bit of back and forth in some of the commits so I may squash some together, refactor other bits and stuff, but the outcome should remain largely the same.
What this mainly does:

Remove duplicate code (like enablePagination() including goToPage(1) and smaller scale)
Remove early exits due to improper caller use (error hiding is bad; you shouldn't .timbles() on improper selectors, and if you do, you deserve an error)
Remove code / properties that doesn't do or change anything
Remove unnecessary jQuerifying of this and binding scopes to remove the need for aliasing;
Creation of HTML elements by attribute manipulation rather than string concats
Make better use of method chaining to express actions

Very much open for feedback
Happy New Year :fireworks:

Did a bunch of rebasing to remove some clutter and make the history a bit nicer. Most commits now do a single thing and do it fairly completely, though some squashing might still be required.

Hey @jennschiffer, I realize this PR is particularly large and touches basically all the code, but it would be awesome if you could find some time to review it and give it your :+1:.
All tests still pass, and as far as I've played around locally, all untested behavior (actual page switching and the like) is still the same as before. And now that I've mentioned it, I'll have a good think about adding tests for that, because we should have that automated really :smile:

yes yes - i typically get time on fridays for "open source" time so I'll be taking a look at all this tomorrow! sorry for the wait!

this all looks great! :+1:


Exporter README, receiver README updates

This flushes out the exporter README and makes a few corresponding fixes to the receiver README.

@moh-osman3 FYI I observed one local test flake on TestReceiverEOF which seems reproducible locally. Since the tests pass here, I'm going with it.


[pattgen dv] update the covergroup

more coverage in pattgen_cov_if file
different binding with RTL files

Signed-off-by: alex sapozhnikov<EMAIL_ADDRESS>

there is a compile error in CI.
* `Error-[SE] Syntax error` has 1 failures:
    * Test default has 1 failures.
        * default\
          Line 622, in log /azp/agent/_work/1/s/scratch/HEAD/pattgen-sim-vcs/default/build.log

                Error-[SE] Syntax error
                  Following verilog source has syntax error :
                  "../src/lowrisc_dv_pattgen_cov_0.1/pattgen_cov_if.sv", 36: token is
                  'LENGTH_MAX'
                    parameter nit LENGTH_MAX = 6'h3F;

@alexsapozhnikov please fix the CI failure, which is due to some compile error. and also don't remove those file. Revert the changes instead.

Hi Weicai,
Previously you left the following comment: “can we move this cfg and seq update to another PR?”
I removed these files. Now I see the comment  “and also don't remove those file. Revert the changes instead.”
What files do you refer to?
I am trying to fix the CI failure, however When I click on the box with a pointer (View more details on Azure Pipelineshttps://dev.azure.com/lowrisc/89a2fa8f-d665-4071-8bd2-ee51783a818d/_build/results?buildId=52671), I get the message “your account is not authorized to view this page”. I am requesting the access to my account at the moment.
Alex.
From: weicaiyang @.>
Sent: Thursday, September 23, 2021 10:12 PM
To: lowRISC/opentitan @.>
Cc: Alex Sapozhnikov @.>; Mention @.>
Subject: Re: [lowRISC/opentitan] [pattgen dv] update the covergroup (#8233)
CAUTION: This email originated from outside of Western Digital. Do not click on links or open attachments unless you recognize the sender and know that the content is safe.
@alexsapozhnikovhttps://github.com/alexsapozhnikov please fix the CI failure, which is due to some compile error. and also don't remove those file. Revert the changes instead.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/lowRISC/opentitan/pull/8233#issuecomment-926351813, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AD4ZUVDUDGVIMM3R7NG7H53UDQCDFANCNFSM5EGDT7DA.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


Retrieve List Of Apps From Package Manager/Installed Apps

Instead of hard coding app choices in the user would choose from all apps installed on their system.

Already implemented.

Okay I'll close the issue then


Add tests

Add more tests

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (18c32a1) 24.34% compared to head (867216f) 53.62%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff             @@
##             main       #3       +/-   ##
===========================================
+ Coverage   24.34%   53.62%   +29.27%
===========================================
  Files           6        6
  Lines         345      345
===========================================
+ Hits           84      185      +101
+ Misses        257      156      -101
  Partials        4        4

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Increment version for monitor releases

Increment package version after release of azure-monitor-query

API change check
API changes are not detected in this pull request.


Update propertyname

Added behavior for invalid or unsupported propertyname values.

Docs Build status updates of commit 1518fae:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/t-sql/functions/serverproperty-transact-sql.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Thanks @BobPusateri! We really appreciate the addition. I can verify this. Approving after making a minor change.
#sign-off

Docs Build status updates of commit ef736cd:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/t-sql/functions/serverproperty-transact-sql.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Yahoo changed its URL and now requires crumb parameter

Are you already working on a fix for this:
http://stackoverflow.com/questions/44015838/cant-download-data-from-yahoo-finance-using-quantmod-in-r
This repo has implemented something to work around it:
https://github.com/joshuaulrich/quantmod/commits/157_yahoo_502

@mayerwin , thanks for your notification! It may take some time to study and implement the changes, it will be committed once i have completed.

Thanks for the fast commit, it works for a first request, however the second fails with throwing an exception: "Value cannot be null.\r\nParameter name: Crumb is empty!"
   at YahooFinanceApi.Yahoo.<GetResponseStreamAsync>d__13.MoveNext()

Oops, it seems yahoo returns empty crumb if there's already a session with the client rather than creating a new session.
Maybe a cache of the cookie/ HTTP client is needed for the case, but it may create problem when using multiple thread. Anyways, thanks for the test. I need more time to dig deep to the problem.

Hi @mayerwin , I have added cache for the web client to prevent empty crumb when doing second or later requests, locking mechanism is also added to ensure thread-safety.
Please help to test if the committed code is working for 2nd times onwards and in multithread environment, thanks for your help!

Hi, thanks, can you update the package on nuget?

Updated

ok, so I am not getting 502 errors anymore, however I tried multi-threading and got some exceptions:
System.AggregateException: One or more errors occurred. ---> System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
   at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
   at System.Collections.Generic.Dictionary`2.ValueCollection.Enumerator.MoveNext()
   at Flurl.Http.FlurlClient.WriteRequestCookies(HttpRequestMessage request) in C:\projects\flurl\src\Flurl.Http.Shared\FlurlClient.cs:line 220
   at Flurl.Http.FlurlClient.<SendAsync>d__28.MoveNext() in C:\projects\flurl\src\Flurl.Http.Shared\FlurlClient.cs:line 199
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Flurl.Http.HttpResponseMessageExtensions.<ReceiveStream>d__4.MoveNext() in C:\projects\flurl\src\Flurl.Http.Shared\HttpResponseMessageExtensions.cs:line 77
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
   at YahooFinanceApi.Yahoo.<GetResponseStreamAsync>d__16.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
   at YahooFinanceApi.Yahoo.<GetHistoricalAsync>d__14.MoveNext()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at System.Threading.Tasks.Task.Wait()

Here is the test code used:
        Enumerable.Range(0, 100)
                              .AsParallel()
                              .WithDegreeOfParallelism(16)
                              .ForAll(i => {
                                  try {
                                      Yahoo.GetHistoricalAsync(ticker, minDtm, maxDtm, YahooFinanceApi.Period.Daily).Wait();
                                  }
                                  catch (Exception ex) {
                                      Logger.Trace($"Failed: " + ex);
                                  }
                                  Logger.Trace($"Done: " + i);
                              });

Thanks for the test! I need some time to figure out the multithread issue. For the time being, please use the api in single-thread environment, thanks!

It seems the cached client changes some of its internal state when calling the web url, lock is used for each web call for temporary fix, may improve the implementation when time is available.

I am getting the following error since yesterday: "Request to https://finance.yahoo.com/d/quotes.csv?s=MCD&f=ohgl1v failed with status code 301 (Redirect)."
It is redirected to: 301: Permanent redirect to http://download.finance.yahoo.com/d/quotes.csv?s=MCD&f=ohgl1v (and works in the browser)
Can you update the domain (the fix seems simple)?

The redirect exception only happens when the project is targeting the old .NET framework, I'm not sure if it is a problem from the package Flurl or httpclient. Anyways, the fix is commited & nuget package is updated, please update your version accordingly, thanks

Done, it works again, thanks.


feat: erc20 auth calls

Summary by CodeRabbit
Release Notes

New Features

Introduced MessageContext parameter in multiple contract functions for enhanced context during withdrawals and executions.
Updated event signatures to include sender's address and message data for better tracking of call executions.

Bug Fixes

Improved security and flexibility in handling authenticated and arbitrary calls.

Tests

Enhanced test suites to reflect updated method signatures and added new test functions to validate changes.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 84.23%. Comparing base (db2f95f) to head (4c3be31).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #401   +/-   ##
=======================================
  Coverage   84.23%   84.23%
=======================================
  Files           8        8
  Lines         387      387
  Branches      121      122    +1
=======================================
  Hits          326      326
  Misses         61       61

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Support for option selectionMode

Description
Please add support for option selectionMode
https://docs.handsontable.com/2.0.0/Options.html#selectionMode
"selectionMode: single" was previously "multiSelect: true", changed in v 0.36.0

Created PR https://github.com/handsontable/angular-handsontable/pull/77

Done!

Thanks :)

Hi @stephenheard, could you look into #77. I sent you a few remarks to do, before we will be able to merge your changes.

Will do - it is on my To Do list.  Thanks!
Sent from my iPhone

On Apr 24, 2018, at 3:01 AM, Piotr Laszczkowski<EMAIL_ADDRESS>wrote:
Hi @stephenheard, could you look into #77. I sent you a few remarks to do, before we will be able to merge your changes.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Hi @stephenheard,
Thank you for your PR, @Input() selectionMode is now available in a component. (check<EMAIL_ADDRESS>


Fix xfce4-panel and deja-dup

xfce4-panel requires xfconf as a runtime dependency in order to actually load configs.
deja-dup requires dconf as a runtime dependency in order to actually save configs.

Regarding Dejà dup, see https://github.com/NixOS/nixpkgs/pull/30271

Ah. Should I remove the deja-dup part of this PR thing in favor of that?

I think every Xfce application would need this. I am not actually sure why adding dconf to systemPackages works – does not it require ca.desrt.dconf service? Assuming it is the same for xfconf.
cc @yegortimoshenko


build.properties file line ending is platform sensitive

If you have a build properties file checked with MS-DOS line ending style with , so that vi +b project/build.properties produces
sbt.version=0.13.5^M

and you are on a Linux or MacOS platform, you get the following:
➜  intellij-scala git:(master) ✗ sbt
:ownloading sbt launcher for 0.13.5
/sbt-launch.jartypesafe.artifactoryonline.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/0.13.5
/sbt-launch.jarwsargent/.sbt/launchers/0.13.5
/sbt-launch.jar. Obtain the jar manually and place it at /Users/wsargent/.sbt/launchers/0.13.5

because it thinks that the ^M is part of the build version string.

Interesting. Thanks for the report.

FWIW it works for me, and one reason that could be is that I use the github.com/paulp/sbt-extras script:
 $ sbt
Downloading sbt launcher for 0.13.5:
  From  http://typesafe.artifactoryonline.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/0.13.5/sbt-launch.jar
    To  /Users/dnw/.sbt/launchers/0.13.5/sbt-launch.jar
[info] Loading global plugins from /Users/dnw/.dotfiles/.sbt/0.13/plugins
[info] Loading project definition from /Users/dnw/Desktop/t-2015-04-09.2034/project
[info] Set current project to t (in build file:/Users/dnw/Desktop/t-2015-04-09.2034/)

Please note: https://github.com/paulp/sbt-extras/pull/94/files#diff-eadc1bacb17aea28d29fefc19868b5e1

@dwijnand try with https://github.com/JetBrains/intellij-scala/

Pretty sure this is the problem as removing the line ending resulted in sbt starting normally.  My guess is that there's special git metadata on project/build.properties.

Same:
 $ git remote -v
origin	git://github.com/JetBrains/intellij-scala.git (fetch)
origin	git://github.com/JetBrains/intellij-scala.git (push)
 $ sbt
Downloading sbt launcher for 0.13.5:
  From  http://typesafe.artifactoryonline.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/0.13.5/sbt-launch.jar
    To  /Users/dnw/.sbt/launchers/0.13.5/sbt-launch.jar
[info] Loading global plugins from /Users/dnw/.dotfiles/.sbt/0.13/plugins
[info] Loading project definition from /Users/dnw/dev/intellij-scala/project
[info] Set current project to ScalaCommunity (in build file:/Users/dnw/dev/intellij-scala/)

@dwijnand
mkdir -p testproj/project
cd testproj
vi +b project/build.properties

sbt.version=0.13.5

Hit A to go to append to end of file.  Hit Ctrl-V and then Ctrl-M to enter a CR-LF.  Hit Escape, then :ZZ to exit and save the file.  You should see it.

Still works.
Are you sure you're running the rebel cut of sbt? https://github.com/paulp/sbt-extras
I've no great one-liner to ask you to run, the first that comes to mind is:
head which sbt
which for me returns this which indicates I'm using sbt-extras:
#!/usr/bin/env bash
#
# A more capable sbt runner, coincidentally also called sbt.
# Author: Paul Phillips<EMAIL_ADDRESS>
# todo - make this dynamic
declare -r sbt_release_version="0.13.8"
declare -r sbt_unreleased_version="0.13.8"
declare -r buildProps="project/build.properties"

as opposed to the non-sbt-extras homebrew install (head /usr/local/bin/sbt) which returns:
#!/bin/sh
if [ -f "$HOME/.sbtconfig" ]; then
  echo "Use of ~/.sbtconfig is deprecated, please migrate global settings to /usr/local/etc/sbtopts" >&2
  . "$HOME/.sbtconfig"
fi
exec "/usr/local/Cellar/sbt/0.13.7/libexec/sbt" "$@"

As a sidenote, thanks for the vim trick to inserting ^M/CR/0x0d, I used unix2dos earlier.

I can't let Vim receive any praise without pointing out how much more awesome emacs is at this :stuck_out_tongue: M-x set-buffer-file-coding-system

@wsargent What sbt launching file are you using?  This looks like an sbt-extras specific issue.  Please re-open the issue there.

@wsargent IF you're not using sbt-extras directly, I can guarantee the downloading bit isn't from this project.   Please let us know where you got your sbt script and open a bug there.  The scripts we support are downloadable from scala-sbt.org and located here:  https://github.com/sbt/sbt-launcher-package   IF you determine it is one of the scripts we promote, then we please re-open directly against that project.

@jsuereth It's a paul phillips script https://gist.github.com/wsargent/044b734580d15d09ecb2

So this is a dupe of paulp/sbt-extras#93

Thanks @wsargent for the gist of the script, that helped a lot.
You're using a older version of sbt-extras, as you can see by:
https://gist.github.com/wsargent/044b734580d15d09ecb2#file-sbt-L33
which predates the original pull request I mentioned earlier that specifically fixed this problem:
https://github.com/paulp/sbt-extras/pull/94/files#diff-eadc1bacb17aea28d29fefc19868b5e1
Alternatively you could consider the officially Typesafe supported script as mentioned above.

The official Typesafe one is rubbish! Paulp's script is far superior.


chore: move base metrics

Review Checklist

Summary*

[ ] fix: Bug fix for Add the items tackled here as checklists
[x] feat: Completed task
[ ] chore: Incomplete task

[ ] test: Sub-task 1

Structure*

[ ] The Pull Request has a proper title that conforms to our MR title standards
[ ] The Pull Request has one commit, and if there are more than one, they should be squashed
[ ] The commit should have a proper title and a short description
[ ] The commit must be signed off
[ ] Unused imports are not present
[ ] Dead code is not present
[ ] Ensure dry running library to confirm changes

Tests

[ ] Proper and high quality unit, integration and acceptance(if applicable) tests have been written
[ ] The coverage threshold should not be lowered

Sign off*

[ ] All comments have been resolved by the reviewers
[ ] Approved by Czar {replace_with_czar_name}
[ ] Signed off by second reviewer {replace_with_name}
[ ] Ensure all checks are done before merging :warning:
[ ] All PRs needs to be signed before merging :warning:

N/B:

Add a checklist if more than one item is done.
Add screenshots and/or images where necessary
Indicate any breakages caused in the UI :exclamation:
Where necessary, indicate which issue the Pull Request solves (Closes #)
Any new files are updated in the folder structure in the README

Codecov Report

Merging #4 (ad0f4da) into main (1073c55) will increase coverage by 9.31%.
The diff coverage is 87.50%.

:exclamation: Current head ad0f4da differs from pull request most recent head b9edb73. Consider uploading reports for the commit b9edb73 to get more accurate results

@@            Coverage Diff             @@
##             main       #4      +/-   ##
==========================================
+ Coverage   51.23%   60.55%   +9.31%
==========================================
  Files           2        3       +1
  Lines         162      218      +56
==========================================
+ Hits           83      132      +49
- Misses         63       67       +4
- Partials       16       19       +3

Impacted Files
Coverage Δ

metrics.go
87.50% <87.50%> (ø)

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 1073c55...b9edb73. Read the comment docs.


Use cmake for building on unix

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender

The purpose of this PR is to create a yamlConfig.cmake so that find_package(yaml) can be used on Unix platforms.

Hi @conda-forge/yaml - this is ready for review :).
/cc @wolfv - we need this in RoboStack to unvendor libyaml.

It might be worth testing that pkg-config and other autotool-related files get installed where expected. This isn't always the case with CMake builds in my experience

Indeed no pkg-config files are created in the cmake build.
@traversaro - you are the cmake guru, what is the easiest way to let cmake create pkg-config files? I remember you did this elsewhere, but cannot remember where.

@traversaro - you are the cmake guru, what is the easiest way to let cmake create pkg-config files? I remember you did this elsewhere, but cannot remember where.

An example of generating .pc files from CMake is given in DART:

https://github.com/dartsim/dart/blob/v6.12.1/CMakeLists.txt#L424
https://github.com/dartsim/dart/blob/v6.12.1/cmake/dart.pc.in

For other things to check for autotools/cmake equivalence a useful resource is https://conda-forge.org/docs/maintainer/knowledge_base.html#moving-from-an-autotools-build-to-a-cmake-build .

Thanks @traversaro - I'll check that out next week

Hiya @traversaro - I added the pkg-config generation in https://github.com/conda-forge/yaml-feedstock/pull/20/commits/45164f98297212c9b79babef895f511991b3d365
However the SONAME does not match the one generated by the autotools build (the exported symbols are the same though). What is the easiest way to set the SONAME in the cmake build?

However the SONAME does not match the one generated by the autotools build (the exported symbols are the same though). What is the easiest way to set the SONAME in the cmake build?

You can set via the SOVERSION target property:
set_target_properties(<targetname> PROPERTIES SOVERSION 1)

@traversaro - do you mind having a look at what I've done? I ended up using patchelf as I couldn't figure out how to set the SONAME in the library itself (i.e. not the filename but the SONAME within the library).

@traversaro - do you mind having a look at what I've done? I ended up using patchelf as I couldn't figure out how to set the SONAME in the library itself (i.e. not the filename but the SONAME within the library).

I realized only later that you were referring to the complete SONAME and not just to SOVERSION, sorry for the noise. However, your solution seems fine!

Hi @conda-forge/yaml - now it is really ready for review.

So some issues were recently encountered with this change ( https://github.com/conda-forge/yaml-feedstock/issues/21 ). PR ( https://github.com/conda-forge/yaml-feedstock/pull/22 ) tries to address them, but falls short. At the moment leaning towards reverting unless someone is able to finish the work.
cc @beckermr

Argh. Maybe the best thing to do at the moment is to revert this one, mark the artifacts as broken, and work on #22.

Yeah Matt took care of marking artifacts broken ( https://github.com/conda-forge/yaml-feedstock/issues/21#issuecomment-994730694 ) ( https://github.com/conda-forge/admin-requests/pull/361 )
Reversion seems like a good idea just to make sure we don't accidentally make a new build that has this issue
Though yeah would be good to fix the CMake issue. The other things above just giving space for people to work :)
Big picture would be nice to figure out how to make these kinds of changes less error prone ( https://github.com/conda-forge/yaml-feedstock/pull/22#issuecomment-995061040 )


ROX-17499: Make EKS orchestrator reset thread safe

Description
Per title.
Checklist

[ ] Investigated and inspected CI test results

Testing Performed

/test eks-qa-e2e-tests

/test eks-qa-e2e-tests

/test eks-qa-e2e-tests

1 green :crossed_fingers:
/test eks-qa-e2e-tests

the test failure is a flake unrelated to this change.

could we still get a green test please? :)

https://prow.ci.openshift.org/view/gs/origin-ci-test/pr-logs/pull/stackrox_stackrox/6608/pull-ci-stackrox-stackrox-master-eks-qa-e2e-tests/1673472826633359360 :)


Shortcuts are not working in the menu

New shortcuts to open Pomodoro, Notepad or else in the menu don't seem to work for me.
For example, when I press Alt+P, Pomodoro modal does not open.

Follow back : they work but not all the time. I don't know how to reproduce but when I refresh, I can open Pomodoro, Notepad. I can never open Share Sounds modal.
If I open/close them a few times, the shortcuts start not working. It sends be to the bottom of the page, then it goes up a little, etc. No modals open until I refresh. :thinking:
Do you have that too ?

May I add that using "Alt" for shortcuts is, in my opinion, not a good idea. Alt + N for example does something in Firefox.
From what I see on other websites, such as Gitlab, "Shift" is a good replacement. So Shift+P could be used for Pomodoro, Shift+N for Notepad. 😊

I agree; I changed them to shift instead.

Found where the bug comes from I think. As I wanted to work on accessibility, I enabled my screen reader. Though I disabled it yesterday, it enabled again at startup and it seems that it is doing the bugs.
The only bug now is :

Shift+Alt+P opens Pomodoro instead of Presets because Shift+P is Pomodoro so I guess it detects Shift+P and does not go further.

Follow back : they work but not all the time. I don't know how to reproduce but when I refresh, I can open Pomodoro, Notepad. I can never open Share Sounds modal.

I could reproduce a similar problem in Firefox using Alt + S for the Share modal; it would open the History menu of Firefox, and after closing it, no shortcut would work. Using Shift instead has fixed that problem for me.

Yep so everything is fine except for the Shift+Alt+P which opens Pomodoro instead of Presets modal !

Unfortunately, I couldn't reproduce this issue. Is it consistent across devices and browsers?

For screen readers, I guess we'll see that later, it is not like it is usable at the moment for people using screen readers anyway ! I am looking forward to help with this part of accessibility when I have taken my training course in June about it.

I've just improved aria labels for screen readers (some buttons are left, which I'll fix very soon), so the screen reader experience shouldn't be as bad anymore. But, as you mentioned, some keyboard behaviors become unpredictable. For example, when you focus on the favorite button and press Enter, instead of toggling the favorite state, it starts the sound itself.

In the mean time, I wanted to say thanks for this app. It is a great app which I've been enjoying for a while now. I am thinking about buying you a coffee someday in the coming months too !

Thank you so much, I appreciate your kind words. Your contributions have been of great help to me and this project; improving accessibility has been on my checklist for a long time, and your contributions not only helped with accessibility but also pushed me to do more research and take it more seriously.

@remvze

Unfortunately, I couldn't reproduce this issue. Is it consistent across devices and browsers?
Just tried it on Firefox, it works. But it definitely does not work on LibreWolf. Shift+Maj+P opens Pomodoro. I guess it will stay this way as there must not be many users using LibreWolf.

I've just improved aria labels for screen readers (some buttons are left, which I'll fix very soon), so the screen reader experience shouldn't be as bad anymore. But, as you mentioned, some keyboard behaviors become unpredictable. For example, when you focus on the favorite button and press Enter, instead of toggling the favorite state, it starts the sound itself.
I've seen that ! That is great !
Just to be sure, keyboard behaviors become unpredictable with screen readers enabled or even without them enabled ? Because, without screen reader enabled, pressing Enter while on Favorite button, works here (Firefox & LibreWolf).

Thank you so much, I appreciate your kind words. Your contributions have been of great help to me and this project; improving accessibility has been on my checklist for a long time, and your contributions not only helped with accessibility but also pushed me to do more research and take it more seriously.
This is the first project I'm contributing too. I have very little knowledge of front so I also try to learn along with it. Speaking of which, I'm going to open an issue on something because I don't know how to fix it. I've been looking for a few hours now and I just can't. I guess I should learn more React. x)

Just to be sure, keyboard behaviors become unpredictable with screen readers enabled or even without them enabled ?

With screen readers enabled.

@remvze Okay ! Then I can close this issue. It seems working overall, except on LibreWolf.


wrong data recieved via read

I want to connect with gps device via bluetooth on linux.
In console I did:
$ sudo rfcomm connect 0 10:C6:FC:FE:6D:D0 &
$ sudo cat /dev/rfcomm0
$GPGSA,A,3,08,27,11,69,14,18,77,32,,,,,2.5,1.6,1.9*35
$GPRMC,161659.5,A,5521.76350,N,03731.92747,E,000.57,058.2,040718,010.2,E,A*35
$GPGGA,161659.5,5521.76350,N,03731.92747,E,1,08,1.6,204.7,M,13.1,M,,*55
$GPVTG,058.2,T,048.0,M,000.57,N,0001.06,K,A*15

as you can see all data is is ascii, this is nmea protocol,
it is text based.
Then I modify example.rs:
extern crate bluetooth_serial_port;
extern crate mio;
use bluetooth_serial_port::{BtProtocol, BtSocket};
use std::io::Read;

fn main() {
    // scan for devices
    let devices = bluetooth_serial_port::scan_devices().unwrap();
    if devices.len() == 0 {
        panic!("No devices found");
    }

    let device = devices.iter().position(|x| x.name.contains("GLO")).unwrap();
    let device = &devices[device];
    println!("Connecting to `{}` ({})", device.name, device.addr.to_string());

    // create and connect the RFCOMM socket
    let mut socket = BtSocket::new(BtProtocol::RFCOMM).unwrap();
    socket.connect(device.addr).unwrap();

    loop {
        let mut buffer: [u8; 20] = [0; 20];
        let num_bytes_read = socket.read(&mut buffer[..]).unwrap();
        if num_bytes_read == 0 {
            println!("read nothing, retry");
        }
        let s = &buffer[0..num_bytes_read];
        println!("raw bytes: {:?}", s);
    }
}

and output is:
raw bytes: [192, 1, 22, 0, 3, 1, 0, 37, 1, 10, 1, 128, 0, 232, 3, 232, 3, 184, 207, 4]
raw bytes: [0, 19]
raw bytes: [192, 1, 22, 0, 3, 1, 0, 37, 1, 10, 1, 128, 0, 232, 3, 232, 3, 184, 207, 4]
raw bytes: [0, 19]
raw bytes: [192, 1, 22, 0, 3, 1, 0, 37, 1, 10, 1, 128, 0, 232, 3, 232, 3, 184, 207, 4]
raw bytes: [0, 19]
raw bytes: [192, 1, 22, 0, 3, 1, 0, 37, 1, 10, 1, 128, 0, 232, 3, 232, 3, 184, 207, 4]
raw bytes: [0, 19]
raw bytes: [192, 1, 22, 0, 3, 1, 0, 37, 1, 10, 1, 128, 0, 232, 3, 232, 3, 184, 207, 4]
raw bytes: [0, 19]
raw bytes: [192, 1, 22, 0, 3, 1, 0, 37, 1, 10, 1, 128, 0, 232, 3, 232, 3, 184, 207, 4]
raw bytes: [0, 19]
raw bytes: [192, 1, 22, 0, 3, 1, 0, 37, 1, 10, 1, 128, 0, 232, 3, 232, 3, 184, 207, 4]
raw bytes: [0, 19]
raw bytes: [192, 1, 22, 0, 3, 1, 0, 37, 1, 10, 1, 128, 0, 232, 3, 232, 3, 184, 207, 4]
raw bytes: [0, 19]
raw bytes: [192, 1, 22, 0, 3, 1, 0, 37, 1, 10, 1, 128, 0, 232, 3, 232, 3, 184, 207, 4]
raw bytes: [0, 19]

this looks completly wrong for me, byte with 0 value, bytes with value 1 and so on.

Thank you for your detailed bug report! Your code looks fine to me... Unfortunately I'm not working on bluetooth-serial-port anymore, and I don't see at first glance what the reason for this behavior could be. So I'm sorry to say that you're on your own for this problem. I will leave this issue open, so others can see it.

Looks like the problem in connection,
I replace socket.connect(device.addr).unwrap(); with
    let mut socket = BtSocket::new(BtProtocol::RFCOMM).unwrap();
    let fd = socket.0.stream.into_raw_fd();

    let mut sock_addr = sockaddr_rc {
        rc_family: 31,
        rc_channel: 1,
        rc_bdaddr: bdaddr_t {
            b: [0xD0, 0x6D, 0xFE, 0xFC, 0xC6, 0x10],
        },
    };
    let status = unsafe { libc::connect(fd, mem::transmute(&mut sock_addr), mem::size_of::<sockaddr_rc>() as u32) };
    if status != 0 {
        eprintln!("connect failed");
        return;
    }

and all starts work as expected

@kaegi
I find out the reason, device has 3 rfcomm channels: 1,3,5.
The code in sdp.rs uses the last one 5, and it is have these strange data,
if force code to use channel 1, I got gps/nmea data.
What is your option about API change in crate should I made to handle this situtaion,
here output from this test program:

rfcomm channel: 1
found service record 0x90001
rfcomm channel: 3
found service record 0x90003
rfcomm channel: 5
found service record 0x90005

Probably adding a connect_to_channel to BtSocket. As I'm not interested in maintaining this project, you can have crate and GitHub publishing rights (or fork your own version) if you want to maintain it.

As I'm not interested in maintaining this project, you can have crate and GitHub publishing rights (or fork your own version) if you want to maintain it

I come back to this work. Therefore, if you are not interested in this project can you give me publish rights for crates.io ?

Should be done now.

@kaegi  Great, thanks!


fix: sourceSets dir fallback

This PR introduces a fallback for the sourceSets directory.
This fallback is aimed at fixing an issue with the Tutor build.

Thanks for the pull request, @volodymyr-chekyrta! Please note that it may take us up to several weeks or months to complete a review and merge your PR.
Feel free to add as much of the following information to the ticket as you can:

supporting documentation
Open edX discussion forum threads
timeline information ("this must be merged by XX date", and why that is)
partner information ("this is a course on edx.org")
any other information that can help Product understand the context for the PR

All technical communication about the code itself will be done via the GitHub pull request interface. As a reminder, our process documentation is here.
Please let us know once your PR is ready for our review and all tests are green.

@volodymyr-chekyrta A better solution would be to introduce a new flag with the default value openedx and base the resources on that, instead of relying on the platformName. Thoughts?

@volodymyr-chekyrta A better solution would be to introduce a new flag with the default value openedx and base the resources on that, instead of relying on the platformName. Thoughts?

@HamzaIsrar12, I was thinking about this option too.
I've updated the approach to the feature flag ✅

I would prefer THEME_DIRECTORY because it covers fonts, drawables, views etc

Makes sense 👍
Updated ✅

@volodymyr-chekyrta 🎉 Your pull request was merged!  Please take a moment  to answer a two question survey so we can improve your experience in the future.


[EH] Docstring

/azp run azure - eventhub - ci

API change check
API changes are not detected in this pull request.


show thumbnail for video in preview

As a user, if I am uploading a video and I insert a thumbnail link into the thumbnail input, I want to see that thumbnail displayed in my video preview on the left.

021e98c65426382458f866eb50985e077f154fed


Max_ttl can be exceeded when configured at plugin level

Describe the bug
When configuring a max_ttl at the plugin level, the value can be overidden and thus exceeded by a specific request.
To Reproduce
Steps to reproduce the behavior:

Mount the plugin

vault secrets enable artifactory

Configure the plugin

vault write artifactory/config/admin url=<myUrl> access_token=<myAccessToken>

Configure the user_token

vault write artifactory/config/user_token default_description="Generated by Vault" max_ttl=7200 default_ttl=3600 include_reference_token=true refreshable=true

The max_ttl is 2 hours. The default_ttl is 1 hour.

Check the configuration

vault read artifactory/config/user_token

Key                        Value
---                        -----
access_token_sha256        ***
audience                   n/a
default_description        Generated by Vault
default_ttl                1h
force_revocable            <nil>
include_reference_token    true
max_ttl                    2h
refresh_token_sha256       ***
refreshable                true
scope                      applied-permissions/admin
token_id                   ***
use_expiring_tokens        false
username                   vault

Ask for a token by specifying a max_ttl and a default_ttl that exceed the max_ttl configured on the plugin

vault read artifactory/user_token/<myUser> max_ttl=15000 ttl=15000

Check the lease duration of the delivered token

vault read artifactory/user_token/<myUser> max_ttl=15000 ttl=15000

Key                Value
---                -----
lease_id           artifactory/user_token/<myUser>/***
lease_duration     4h10m

➡ The lease duration is exceeding the max_ttl configured at the plugin level.

Mount the plugin on another path with a max-lease-ttl and a default-lease-ttl

vault secrets enable -path=artifactory2 -max-lease-ttl=7200 -default-lease-ttl=3600 artifactory

Configure the artifactory2 plugin just like the artifactory plugin, and ask for a token that exceeds the max-lease-ttl

vault read artifactory2/user_token/<myUser> max_ttl=15000 ttl=15000
Key                Value
---                -----
lease_id           artifactory2/user_token/<myUser>/***
lease_duration     2h

The lease duration is limited to 2 hours no matter the max_ttl parameter.
Requirements for and issue

Artifactory 7.71.18
Vault 1.16.2
Vault Plugin 1.6.0

Expected behavior
Reading the documentation: https://github.com/jfrog/vault-plugin-secrets-artifactory?tab=readme-ov-file#user-token-path, I was expecting the max_ttl to be limited to the max_ttl configured at plugin level (2 hours in this scenario), no matter if the user is giving a max_ttl parameter.
When setting the max-lease-ttl at the secret mount level, the max_ttl cannot be exceed as expected.
Is this an expected behaviour? If yes, is setting the max-lease-ttl when mounting the secret engine the proper way to definitely limit the max_ttl?

@loicgreffier Thanks for the report. I've added this to our plan.

@loicgreffier When max-lease-ttl is not explicitly set, the plugin uses max lease TTL configured in your Vault server by default. IIRC that's 768 hours: https://developer.hashicorp.com/vault/docs/configuration#max_lease_ttl

Is this an expected behaviour? If yes, is setting the max-lease-ttl when mounting the secret engine the proper way to definitely limit the max_ttl?

@loicgreffier Without diving into the code, I'd say yes. Using max-least-ttl arg or change your Vault global configuration are the ways to limit the token's max_ttl.

@alexhung Thanks for the feedback. I guess the issue can be closed as this is the expected behaviour


Revise how we retrieve the aura signing key from the local store on offchain workers.

Describe the bug
https://github.com/threefoldtech/tfchain/blob/8dfb941263450b62c2b4eb5e3d51bc9f18ba9966/substrate-node/pallets/pallet-smart-contract/src/billing.rs#L66-L69
I believe that this method sometimes returns silently even though the worker runs on a validator that is supposed to author the next block.
I found that there have been instances where a validator has multiple aura keys in the key store (keys were rotated), which caused this issue since we use any_account(). To mitigate this, I requested that ops ensure that the nodes’ local keystore has only the relevant keys. Since then, things have improved.
However, we can also revise this part of the code and research if there is a better way to select the appropriate key and also make sure is_next_block_author() is reliable enough. This issue would also serve as a reference to a known issue in the current implementation.

I see it happens on two validators on devnet that has one Aura key type in the keystore, so it seems is_next_block_author() is misbehaving.
I'll try to figure out what is wrong here to fix or possibly rewriting it.

We went with solution 1 and set a new session key for affected validators on devnet to meet the assumption that aura key is the same as the controller key to detect the next author.
The billing triggered successfully for the affected contracts as expected.

Update:
All networks have been set up. This should be enough at this stage to make billing runs fine.
Now, let’s delve into some thoughts I have regarding this:
The offchain API not support checking if the offchain worker running on the next block author. Dylan’s code serves as a workaround, but it’s essential to be cautious regarding key setup:

Validator Key Rotation: Avoid rotating validator keys (the author account must match the validator account).
Avoid Duplicate Signing Keys: Ensure that there are no duplicated signing keys in the local store.

Furthermore, even if we ensure that only the offchain worker running on the next block author submits these transactions, (I think) there’s still a possibility that they will not be included in the transaction set chosen by the validator for that block, especially in busy/congested network conditions where there are many pending transactions in the TXs pool.
The central question is: What benefits do we gain by ensuring that this validator becomes the next block author? Currently, this remains unclear and to determine the right approach, I need clear requirements. Can you share your motivation behind this check @DylanVerstraete ?
Consider the following scenarios:

Are we concerned about transaction fees? If transaction fees are a concern, the offchain worker could submit unsigned transactions.
Once-per-Block Constraint? If we want to limit this operation to once per block, we can shift the validator check to the runtime (where it is supported). This way, it accepts calls from the block author and rejects others. This needs a signed transaction so you are basically send transactions from all the validators, accepts one and reject the rest.
Are we concened about both transaction fees and once-per-block constraint? if you are concerned about wasting transactions fees on these rejected calls on the previous scenario we can use unsigned transaction with signed payload, where all validators submit the transactions without paying any fees then only the one with the payload that can be verified with the current author key is executed.
Broad Availability: If we need this call to be available beyond validators (for any callee), we can create two separate calls:

One that accepts unsigned transactions from validators (no fees).
Another that accepts signed transactions from any callee (fees apply).

As soon as I get a clearer respond of why we initially decided to implement this check, I can revisit the issue to verify whether this check truly meets the requirements at this time, if it’s still valid, and if it can be further improved.

What benefits do we gain by checking that this validator becomes the next block author? Currently, this remains unclear to me and to determine the right approach, I need clear requirements. Can you share your motivation behind this check @DylanVerstraete ?

Main motivation was that a validator submitting the extrinsics would be returned the fees. Otherwise this could lead to the validator account being drained.
I don't believe this extrinsic can be made unsigned, there were some issues with that approach.

One that accepts unsigned transactions from validators (no fees).

=> there is no way this extrinsic cannot be abused by anyone else other than validators, since the transaction is unsigned you cannot know who is calling it
To me, this was only a temporary implementation anyway. If billing triggers could be implemented in Zos nodes I think that would be better, so validators (read network) would only need to check validity of that transaction. (Has some drawbacks since ip4 would not be billed periodically if a node is down)

If all validators send transactions and all fees go every time to one of them (block author) how the validators’ accounts can be drained?
You can sign and submit a payload to the unsigned transaction and verify it on runtime to know if it was signed with a key belonging to a validator.

If all validators send transactions and all fees go every time to one of them (block author) how the validators’ accounts can be drained?

Distribution of contracts to be billed are uneven

You can sign and submit a payload to the unsigned transaction and verify it on runtime to know if it was signed with a key belonging to a validator.

You can

Thank you, Dylan. It's much clearer now!

Update:
After researching this, I found that relying on the next block author check in this case is unreliable and can cause more harm than good.
Let me explain why.
First, the check is happening from the off-chain worker which is a process that starts on the validators every time it imports a new block and can run as long as it needs without affecting block production time because it is decoupled from the the executive module that is responsible for authoring the block, they just runs in parallel.
This means it is possible and valid the off-chain worker runtime can span over multiple blocks and the check will be only true for a subset of the contracts that should be billed by this validator. We could hit this issue if the number of contracts on any billing shard exceeded the time the validator takes crafting his block. so billing contracts can be a hit-or-miss process.
Second, the motivation behind this check as Dylan mentioned was to avoid having validators pay TX fees. but submitting the TX when the validator is the next block author won't guarantee that the same validator will pick it from the TX pool.
in a congested network condition, where there are a lot of TXs submitted to the validators' TXs pool, the transaction submitted by the of-chain worker runs on one validator can end in another validator's block leading to paying the TXs fee to that validator.

Update:
The is_next_block_author function was removed, and the verification now happens at runtime. If the caller is a validator, the transaction fee is waived. This change allows any validator with off-chain workers enabled to send transactions, making the billing process more resilient. It no longer requires all validators to have off-chain workers enabled.
To prevent duplicate transactions, billed contracts are tracked in SeenContracts storage. This storage is cleared in on_finalize to prevent unnecessary use of storage space.
Summary:

Removed is_next_block_author: Verification moved to runtime.
Fee Waiver for Validators: If the caller is a validator, the fee is waived.
Resilient Billing: Allows any validator with off-chain workers to send transactions.
Preventing Duplicate Transactions: Tracked in SeenContracts, cleared in on_finalize.

These changes ensure a more robust and efficient billing process.

Update:
I conducted some tests on the new approach, and what works well now is that all validators who call billContractForBlock are exempt from transaction fees, regardless of whether the transaction ended up in a block produced by the sender or not.
Also, as long as at least one validator is running an off-chain worker, billing should work fine.
Kinda a blocker:
The new duplicate protection mechanism is not perfect. Under the new approach, if multiple transactions try to bill the same contract within the same block, only one of these transactions will succeed. The others will fail because of the new SeenContract check at the beginning of the runtime dispatch. This approach can help save node resources by stopping unnecessary work early. However, I think it is not ideal to fill blocks with failed transactions, especially when there are a lot of off-chain workers enabled.
I am currently looking into implementing a validation process before the execution phase, specifically at the stage of transaction pool checks. This validation occurs early on, when the transaction is examined for factors such as a valid origin. If the transaction fails this validation, it will not be included in the transaction pool or shared with other nodes.
Researching this would prolong the time required for this fix, but if successful, it would better meet our requirements.

Update:
I observed weird behavior while testing, when offchain worker transaction fails with low priority error every 600 blocks / era. So contacts that suppose to bullied at index 599 are always skipped.
Still investigating this.

Update:
I experimented with an alternative approach that introduces a SignedExtension to the pallet-smart-contract module that ensures unique transaction processing for the bill_contract_for_block function by setting a provides tag equal to the contract_id.
This allows me to achieve the de-duplication early at the TX pool level, instead of implementing it on the runtime dispatchable.
Key Changes

New SignedExtension Implementation:

A custom SignedExtension named ContractIdProvides is introduced.
This extension checks if the transaction involves the bill_contract_for_block function.
If it does, the provides tag is set to the contract_id of the transaction, ensuring it is processed only once per block.

Modification to Transaction Validation:

The transaction validation now uses the provides tag based on the contract_id, preventing duplicate transactions with the same contract_id from being included in the same block.

Purpose: The primary reason for setting a provides tag is to prevent the same transaction (or a set of transactions with the same contract_id) from being included multiple times in a single block.
How It Works: The provides tag is used by Substrate's transaction pool to determine the uniqueness of a transaction. By setting provides to the contract_id, the transaction pool ensures that only one transaction with a particular contract_id is included in any given block. If another transaction with the same provides tag is submitted, it will be rejected as a duplicate.

Runtime Integration:

The ContractIdProvides extension is integrated into the runtime's transaction validation pipeline.

Benefits

Redundancy, As long as at least one validator is running an off-chain worker, billing should work fine.
No longer depend on inferring the next author from the client side, which can be unreliable sometimes.
Ensuring Transaction Uniqueness: Preventing Duplicate Inclusions in the Same Block, still benefiting from the redundancy.
Optimizes Network Efficiency:  By preventing duplicate transactions from entering the pool, network resources are used more efficiently. This reduces unnecessary processing and ensures that the block space is used optimally, only including relevant transactions.
Validators are still exempt from transaction fees, but with a stronger guarantee, fixing a known issue that sometimes validators can incur a fee for submitting this call.


Use instances of traits instead of trait classes

See ipython/traitlets#51

I'm not convinced this is a real error.  I don't see a traceback, just a timeout.  Can someone kick this (or show me how to kick it, since I have permissions to this repo now)?

Even if the failure is real, it's likely not due to this PR. Will check locally.

@jasongrout you should be able to kick it yourself.  All you have to do is authenticate using your GitHub with Travis.  Then a restart icon will appear in the top right that you can click.

The last PR that was merged was passing the tests - https://github.com/ipython/ipywidgets/pull/93 .  Something must have changed elsewhere in the IPython/Jupyter world that's causing this to break..

I'm testing Travis by reverting my changes, so that this PR is the same as master.

My guess is it will fail, see my PR that changes the README #97

Yep, it did.

I deleted my revert, so now this PR is back to the original commit.  I tested it manually with the intrange slider.  I'm fine with merging this (but as a matter of policy, I shouldn't merge it :).

Looks to me like the widget JS isn't getting loaded.

Ah yes, I think it's because https://github.com/jupyter/notebook/pull/120 hasn't been merged.  Although.. it's concerning that #93 passed.


fix: bundle size action needs prepare to add dist

We get Error: Cannot find module '/github/workspace/index.js' on https://github.com/achingbrain/uint8arrays/pull/22/checks?check_run_id=3328357620 bundle size action. This is because we need to build first and get the dist folder.
Per https://github.com/web3-storage/add-to-web3#contibuting it seems like we should be adding the dist folder to the repo.
An alternative is to do npm install and npm run build in the docker container. @achingbrain let me know your thoughts

I'm a little confused - /actions/bundle-size/dist/index.js is already in the repo?  See the file history.
It looks like this PR has just rebuilt that file with some sort of different dep tree or perhaps node version?  That is to say, it's just updated /actions/bundle-size/dist/index.js and not added it.

This does not make sense, I could now debug with act tool and the problem is not in aegir, but in unit8arrays


(fixes issue #112) Add docs for strings review and sign-offs

I think this should be good for review.
Feel free to add more point in the review sections, if you can think of any.

Can we fork this into two PRs?

Sure. Let me keep this one for sign-offs, and split review in a different PR.

Moved review.md in #118

Maybe it makes sense to reorder this doc so that the actual review comes pretty early, and then the path towards the review page is explained?

This is mostly for internal use (and curious folks). I'm afraid that putting that information without explaining first how diff view works, how to reach it, etc. might become really hard. Not sure if a reminder at the beginning would be enough.
I'm going to merge this, happy to iterate over the doc in the future. We'll likely come up with more checks too.


Fix typo in repo description

Colors which where previously only available in UIColor/NSColor are now available in Color as well.

was probably intended to be

Colors which were previously only available in UIColor/NSColor are now available in Color as well.

Good catch, thanks, will change it asap.

Fixed, Thanks 🩵


figure out schema for storing data

A UML diagram of the data storage that describe how the data and how it relates to other data.