Move kvrocks_controller into the apache organization

Hi contributors
We plan to move this project into the Apache organization as a sub-project of the kvrocks. Does this sound good to you? if yes, please leave a comment like +1 or LGTM. If not, please leave a comment, and we would also discuss about how to handle this.
cc @rfyiamcool @vearne @ColinChamber @krishnaduttPanchagnula @limingzju @joeylichang @Venjy @hbpen

+1
Sound good!

+1

lgtm

👍

+1

@git-hulk how can i move my contribute to the Apache group??

@MateSousa Simply reply +1 or LGTM. I will raise the proposal to move if all are good for this.

lgtm

+1
best

Thanks all, I will send the proposal recently, other guys who have any comments can feedback here.


Can't specify tags in urls on official docker images

Environment
rkt Version: 1.30.0
appc Version: 0.8.11
Go Version: go1.13.1
Go OS/Arch: linux/amd64
Features: -TPM +SDJOURNAL
--
Linux 5.2.0-2-amd64 x86_64
--
PRETTY_NAME="Debian GNU/Linux bullseye/sid"
NAME="Debian GNU/Linux"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
--
systemd 244 (244-3)
+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=hybrid

What did you do?
sudo rkt fetch --insecure-options=image docker://busybox:1.31.1
What did you expect to see?
A successful download.
What did you see instead?
$ sudo rkt fetch --insecure-options=image docker://busybox:1.31.1
fetch: parse docker://busybox:1.31.1: invalid port ":1.31.1" after host

From looking at the output of rkt image list I found a work-around:
$ sudo rkt fetch --insecure-options=image docker://library/busybox:1.31.1

But I think the simple no-slash version of the url (docker://busybox:1.31.1) should work based on the documentation (and I don't see library/ documented anywhere).

Yeah, I have seen this issue since several months.

So when we build rkt with the newer Go versions, a URL like docker://busybox:1.31.1 is not valid any more.
That is why we Flatcar Container Linux reverted that specific commit from Go 1.12, to make rkt fetch work again. That will be the same case also for CoreOS Container Linux.
It might be easier for users to simply run the command with a registry hostname included, for example, rkt fetch --insecure-options=image docker://docker.io/busybox:1.31.1. Then it should work.


issue-12426 upgrade k8s client due to cve

cve in k8s jar
Fixes #12426.
https://github.com/advisories/GHSA-m8wh-mqgf-rr8g
Needs upgrade from 10.0.1 to 11.0.1
Motivation
It is not good practice to rely on jars with publicly disclosed security issues - and if you do you should make public why you think your project is not affected
2 changes in the k8s java client cause compile problems for druid:
[2022-04-11 23:16:03] [build-stdout] [2022-04-11 23:16:03] [autobuild] [ERROR] /opt/src/extensions-core/kubernetes-extensions/src/main/java/org/apache/druid/k8s/discovery/DefaultK8sApiClient.java:[83,36] method listNamespacedPod in class io.kubernetes.client.openapi.apis.CoreV1Api cannot be applied to given types;
[2022-04-11 23:16:03] [build-stdout] [2022-04-11 23:16:03] [autobuild] [ERROR]   required: java.lang.String,java.lang.String,java.lang.Boolean,java.lang.String,java.lang.String,java.lang.String,java.lang.Integer,java.lang.String,java.lang.String,java.lang.Integer,java.lang.Boolean
[2022-04-11 23:16:03] [build-stdout] [2022-04-11 23:16:03] [autobuild] [ERROR]   found: java.lang.String,<nulltype>,<nulltype>,<nulltype>,<nulltype>,java.lang.String,int,<nulltype>,<nulltype>,<nulltype>
[2022-04-11 23:16:03] [build-stdout] [2022-04-11 23:16:03] [autobuild] [ERROR]   reason: actual and formal argument lists differ in length
[2022-04-11 23:16:03] [build-stdout] [2022-04-11 23:16:03] [autobuild] [ERROR] /opt/src/extensions-core/kubernetes-extensions/src/main/java/org/apache/druid/k8s/discovery/DefaultK8sApiClient.java:[116,24] method listNamespacedPodCall in class io.kubernetes.client.openapi.apis.CoreV1Api cannot be applied to given types;
[2022-04-11 23:16:03] [build-stdout] [2022-04-11 23:16:03] [autobuild] [ERROR]   required: java.lang.String,java.lang.String,java.lang.Boolean,java.lang.String,java.lang.String,java.lang.String,java.lang.Integer,java.lang.String,java.lang.String,java.lang.Integer,java.lang.Boolean,io.kubernetes.client.openapi.ApiCallback
[2022-04-11 23:16:03] [build-stdout] [2022-04-11 23:16:03] [autobuild] [ERROR]   found: java.lang.String,<nulltype>,boolean,<nulltype>,<nulltype>,java.lang.String,<nulltype>,java.lang.String,int,boolean,<nulltype>
[2022-04-11 23:16:03] [build-stdout] [2022-04-11 23:16:03] [autobuild] [ERROR]   reason: actual and formal argument lists differ in length

Fixed the bug ...
Renamed the class ...
Added a forbidden-apis entry ...

Key changed/added classes in this PR

MyFoo
OurBar
TheirBaz

This PR has:

[ ] been self-reviewed.

[ ] using the concurrency checklist (Remove this item if the PR doesn't have any relation to concurrency.)

[ ] added documentation for new or modified features or behaviors.
[ ] added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
[ ] added or updated version, license, or notice information in licenses.yaml
[ ] added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
[ ] added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.
[ ] added integration tests.
[ ] been tested in a test Druid cluster.

@pjfanning can we indicate in the PR description what version we are upgrading to, and point out that this is a major version bump. Did we look to make sure there aren't anything in the release notes we need to worry about?

@pjfanning can we indicate in the PR description what version we are upgrading to, and point out that this is a major version bump (including a link to the release notes would be nice). Did we look to make sure there aren't anything in the release notes we need to worry about?

I modified the description

@pjfanning Could you fix the license check?
Error: found 6 missing licenses. These licenses are reported, but missing in the registry
druid_module: kubernetes-extensions, groupId: io.kubernetes, artifactId: client-java-api, version: 11.0.1, license: Apache License version 2.0
druid_module: kubernetes-extensions, groupId: io.gsonfire, artifactId: gson-fire, version: 1.8.5, license: Apache License version 2.0
druid_module: kubernetes-extensions, groupId: io.kubernetes, artifactId: client-java-proto, version: 11.0.1, license: Apache License version 2.0
druid_module: kubernetes-extensions, groupId: org.bitbucket.b_c, artifactId: jose4j, version: 0.7.3, license: Apache License version 2.0
druid_module: kubernetes-extensions, groupId: io.kubernetes, artifactId: client-java, version: 11.0.1, license: Apache License version 2.0
druid_module: kubernetes-extensions, groupId: io.kubernetes, artifactId: client-java-extended, version: 11.0.1, license: Apache License version 2.0

@FrankChen021 I updated the licenses.yaml


Add more compression options (DictionarySize, SortFilesByType)

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

@stehlih looks good. 👍
Could you please rebase this PR to the current develop branch?

@all-contributors please add @stehlih for code.


thanks a lot！

Hey most of these components are very easy to find over electronics sites... is there one in specific that you don't know which is that you would like to buy? All of them were bought in Taobao (Aliexpress), some even came in kits with a bunch of random stuff in it...

Hey most of these components are very easy to find over electronics sites... is there one in specific that you don't know which is that you would like to buy? All of them were bought in Taobao (Aliexpress), some even came in kits with a bunch of random stuff in it...

Can you give me the link to your purchase? I'm afraid I made a mistake. I want to learn from you

I have purchase most of the things from this shop: https://zejie.tmall.com/shop/view_shop.htm but Im not sure if you can open it outside china.

I have purchase most of the things from this shop: https://zejie.tmall.com/shop/view_shop.htm but Im not sure if you can open it outside china.

thx a lot


Learning from ICN script

Codecov Report

Merging #7 (4f131c5) into main (96f46f8) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              main        #7   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            7         7
  Lines           25        25
=========================================
  Hits            25        25

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 96f46f8...4f131c5. Read the comment docs.

Codecov Report

Merging #7 (4f131c5) into main (96f46f8) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              main        #7   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            7         7
  Lines           25        25
=========================================
  Hits            25        25

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 96f46f8...4f131c5. Read the comment docs.


Duplicate file ic_launcher.png

..\app\build\intermediates\res\debug\drawable-hdpi-v4\ic_launcher.png: error: Duplicate file.
..\app\build\intermediates\res\debug\drawable-hdpi\ic_launcher.png: Original is here. The version qualifier may be implied.

Yeah I had the same issue, I had to clone the repo and removed it.

+1

+1


Duplicate id printing in log

In "unrouted_handler.go", line 399
c.log = c.log.With("id", id)
c.log.Info("UploadCreated", "id", id, "size", size, "url", url)

should be
c.log.Info("UploadCreated", "size", size, "url", url)

Since it causes multiple "id" field printing:
2024/06/19 23:32:25 INFO RequestIncoming method=POST path="" requestId=""
-> 2024/06/19 23:32:25 INFO UploadCreated method=POST path="" requestId="" id=2251bae50c7bccf568d7399fbe7bd7e2 id=2251bae50c7bccf568d7399fbe7bd7e2 size=0 url=http://localhost:8080/files/2251bae50c7bccf568d7399fbe7bd7e2
2024/06/19 23:32:25 INFO ResponseOutgoing method=POST path="" requestId="" id=2251bae50c7bccf568d7399fbe7bd7e2 status=201 body=""

Thank you for reporting this and the fix!


[PP] Keys with final dots

Sometimes the keys end with a final dot.
Example: "Fa majeur."@fr
http://data.doremus.org/expression/b1d12b34-46a1-3d26-a6ad-efef75b1db7a/key/fa_majeur.
This prevents the converter to match with the controlled vocabulary.

To be fixed at the conversion level? The dot is an error (I mean: there is no situation where a dot would be required or meaningful).

Yes, the converter will handle this case, doing a specific parsing that will remove the last dot(s). But this shows that converting literals by controlled vocabularies helps to detect inconsistent annotation practices


pull request for e2e test at 01/09/2017 07:56:12

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


Remove the tus chunk endpoints from the schema

Motivation and context

As explained in the comment in _tus_chunk_action, I don't think we need explicit documentation for these endpoints. Hiding them makes the documentation a bit cleaner, especially because these endpoints were indistinguishable from one another.
It also removes the corresponding SDK code, which is good, since clients should follow the URL returned by the creation endpoint, not invoke the chunk endpoints directly.
How has this been tested?

CI.
Checklist

[x] I submit my changes into the develop branch
[ ] I have added a description of my changes into the CHANGELOG file
[ ] I have updated the documentation accordingly
~~[ ] I have added tests to cover my changes
[ ] I have linked related issues (see GitHub docs)
[ ] I have increased versions of npm packages if it is necessary
(cvat-canvas,
cvat-core,
cvat-data and
cvat-ui)

License

[x] I submit my code changes under the same MIT License that covers the project.
Feel free to contact the maintainers if that's a concern.

/check

/check


File sources for the sound browser

Adds the ability to view which game/addon a sound file is mounted from under the sound Path in the sound browser.

oof
didnt realize renaming just deletes the existing branch and copies a new one

Can you please split the style changes to another PR. It makes reviewing 100x more difficult

Can you please split the style changes to another PR. It makes reviewing 100x more difficult

pull #2361


Flask deprecated parameter

When Flask 1.0 was released deprecated static_path parameter was removed, and, because dependencies in requirements.txt are not pinned, the web_viewer_server stop working.
This PR solve this situation using static_url_path instead. This was the workaround used in Flask to support the deprecated parameter. See commit where parameter is removed.

thanks!!


Update Poetry to v1.5.1

Hi there,
Would it be possible that you update Poetry to the latest released version 1.5.1?
https://github.com/oss-review-toolkit/ort/blob/eef6f55fe215a0707d2b6833108f15be46b3fded/Dockerfile#L141
Or are there any issues preventing you from this?
We are using Poetry 1.5.1 in our projects and getting an error during ort analyze:
Poetry failed to resolve dependencies for path 'poetry.lock': IOException: Running 'poetry export --without-hashes --format=requirements.txt' in '...' failed with exit code 1: The Poetry configuration is invalid: - [source.0] Additional properties are not allowed ('priority' was unexpected)

Thanks :)

In any case @mawl, the PYTHON_POETRY_VERSION is a Docker build argument, so you should be able to easily customize it to your needs when building the Docker image, like docker build --build-arg PYTHON_POETRY_VERSION=1.5.1 ....

@sschuberth: Thanks - I updated it like this and the error as described above gets fixed - but I have additional issues with poetry and the python-exporter:
Non-working example using pendulum as dependency:
12:21:39.302 [DefaultDispatcher-worker-1] DEBUG org.ossreviewtoolkit.utils.common.ProcessCapture -   File "/opt/python/versions/3.11.4/lib/python3.11/site-packages/python_inspector/resolution.py", line 784, in get_setup_requirements
12:21:39.302 [DefaultDispatcher-worker-1] DEBUG org.ossreviewtoolkit.utils.common.ProcessCapture -     raise Exception(f"No setup.py or setup.cfg found in pypi sdist {sdist_location}")
12:21:39.302 [DefaultDispatcher-worker-1] DEBUG org.ossreviewtoolkit.utils.common.ProcessCapture - Exception: No setup.py or setup.cfg found in pypi sdist .cache/python_inspector/extracted_sdists/pendulum-2.1.2/pendulum-2.1.2

It works with pymongo, which contains a setup.py file - but when both dependencies (pendulum, pymongo) are in one project, no dependencies gets found either.
[tool.poetry]
name = "poetry-demo"
version = "0.1.0"
description = ""
authors =<EMAIL_ADDRESS>readme = "README.md"
packages = [{include = "poetry_demo"}]

[[tool.poetry.source]]
name = "dvelop"
url = "https://git.our-company.de/api/v4/projects/xyz/packages/pypi/simple/"
priority = "explicit"

[[tool.poetry.source]]
name = "PyPI"
priority = "primary"

[tool.poetry.dependencies]
python = "^3.10.8"
pymongo = "^4.4.1"
pendulum = "^2.1.2"

[tool.poetry.group.dev.dependencies]
httpx = "^0.24.0"

[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

The other thing is that our project is build with python 3.11 - so I have updated all python related stuff with:
      --build-arg PYTHON_VERSION=3.11.4
      --build-arg PYENV_GIT_TAG=v2.3.23
      --build-arg PYTHON_POETRY_VERSION=1.5.1
      --build-arg PIPTOOL_VERSION=23.2.1

But no dependencies gets found.
10:36:44.422 [DefaultDispatcher-worker-1] DEBUG org.ossreviewtoolkit.utils.common.ProcessCapture - environment: Environment(python_version='310', operating_system='linux')

<= This  leads me to downgrade python from "3.11.4"  to "^3.10.8"` in the myproject.toml
Then it works.
So, maybe you can try to test it and get the poetry analysis more robust.

@mnonnenmacher: Issue mentioned above gets resolved by updating python-inspector to v0.9.8 - but only for projects using python 3.10.
As I still have got issues with projects using
[tool.poetry.dependencies]
python = "~3.11"

in their pyproject.toml, I have opened a new Issue #7476.

@heliocastro: Yes, it isn't poetry. The error
Exception: No setup.py or setup.cfg found in pypi sdist .cache/python_inspector/extracted_sdists/pendulum-2.1.2/pendulum-2.1.2 is resolved with python-inspector v0.9.8. I close this for now.


Document accepted data types for type-conversion functions

Type conversion functions don't accept all types of input data. We need to include which types each accept.
Relevant URLs

https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/type-conversions/ and all children docs.

I wrote #2268 which is partially duplicating this.  Sorry for the noise.


BUGFIX: Patch for https://github.com/opnsense/core/issues/4133

Proposed fix for Issue 4133 that detects the intended gateway address directly from the interface if it's not explicitly set via the environment.

It's probably a good idea to investigate if the desired address isn't set in any of the other env variables (maybe ifconfig_pool_remote_ip ?) Adding a lot of scripting here is quite prone to errors and vague issues, besides that we don't have a very good testbed to conclude this won't break existing setups.
https://openvpn.net/community-resources/reference-manual-for-openvpn-2-4/

ifconfig_pool_remote_ip
The remote virtual IP address for the TUN/TAP tunnel taken from an –ifconfig-push directive if specified, or otherwise from the ifconfig pool (controlled by the –ifconfig-pool config file directive). This option is set on the server prior to execution of the –client-connect and –client-disconnect scripts.

And please don't mix fixes and style updates. It makes review practically impossible.

It's probably a good idea to investigate if the desired address isn't set in any of the other env variables (maybe ifconfig_pool_remote_ip ?) Adding a lot of scripting here is quite prone to errors and vague issues, besides that we don't have a very good testbed to conclude this won't break existing setups.

I did try to see if one of the parameters sent via --up could fit the bill, or failing that if any of the environmental available at execution time for the script provided the correct value. Neither yielded any useful results.
For evidence:

These are the parameters sent to the script:

ovpnc6 1500 1558 <IP_ADDRESS> <IP_ADDRESS> init

This is the environment the script executes in (sorted, for easier reading):

PWD=/
X509_0_C=HK
X509_0_CN=Secure-Server
X509_0_L=HK
X509_0_O=Secure-Server
X509_0_OU=IT
X509_0_ST=Central
<EMAIL_ADDRESS>X509_0_name=changeme
X509_1_C=HK
X509_1_CN=Secure-ServerCA
X509_1_L=HK
X509_1_O=Secure-ServerCA
X509_1_OU=IT
X509_1_ST=Central
<EMAIL_ADDRESS>X509_1_name=Secure-ServerCA
common_name=Secure-Server
config=/var/etc/openvpn/client6.conf
daemon=1
daemon_log_redirect=0
daemon_pid=85651
daemon_start_time=1590586223
dev=ovpnc6
dev_type=tun
foreign_option_1=dhcp-option DNS <IP_ADDRESS>
foreign_option_2=dhcp-option DNS <IP_ADDRESS>
ifconfig_broadcast=<IP_ADDRESS>
ifconfig_local=<IP_ADDRESS>
ifconfig_netmask=<IP_ADDRESS>
link_mtu=1558
proto_1=udp4
remote_1=uswdc2-ovpn-udp.pointtoserver.com
remote_port_1=53
script_context=init
script_type=up
tls_digest_0=c4:21:55:de:da:b2:95:87:2f:16:66:a2:33:9b:fd:8d:95:31:a2:3a
tls_digest_1=1e:9e:f4:a4:a7:62:d9:20:78:ab:3f:aa:96:f1:88:02:f0:4b:e4:99
tls_digest_sha256_0=85:aa:36:26:78:4b:33:99:68:22:8a:dd:2a:0c:d8:a5:33:46:28:59:c0:2f:e3:07:cc:90:6a:85:1d:a6:1a:32
tls_digest_sha256_1=cf:db:d6:4f:77:bb:b7:c8:dc:80:41:19:b4:ee:3d:f3:71:a1:48:12:93:0c:ff:2c:73:68:81:bf:4f:e9:ac:4d
tls_id_0=C=HK, ST=Central, L=HK, O=Secure-Server, OU=IT, CN=Secure-Server, name=changeme<EMAIL_ADDRESS>tls_id_1=C=HK, ST=Central, L=HK, O=Secure-ServerCA, OU=IT, CN=Secure-ServerCA, name=Secure-ServerCA<EMAIL_ADDRESS>tls_serial_0=2
tls_serial_1=14472060699488478373
tls_serial_hex_0=02
tls_serial_hex_1=c8:d7:16:87:a8:e6:e4:a5
trusted_ip=<IP_ADDRESS>
trusted_port=53
tun_mtu=1500
untrusted_ip=<IP_ADDRESS>
untrusted_port=53
verb=4
xormask_1=
xormasklen_1=0
xormethod_1=0

Finally, the ifconfig output for the device:
# ifconfig ovpnc6
ovpnc6: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1500
	options=80000<LINKSTATE>
	inet6 fe80::2e0:67ff:fe0e:3504%ovpnc6 prefixlen 64 scopeid 0xe
	inet <IP_ADDRESS> --> <IP_ADDRESS> netmask 0xffffffc0
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
	groups: tun openvpn
	Opened by PID 85651

I wholeheartedly agree that parsing user-facing ifconfig output is the least ideal way to find the correct value, however: what alternative is there? Is there a way to get the exact value we're looking for from ifconfig in some machine-friendly syntax so we avoid mistakes?
As for breaking other setups, that did cross my mind. However: on tap modes (ethernet) there is no remote link address given to the interface, so the behavior of using the local IP as the gateway address remains.
I am, of course, open to any other solutions or suggestions.
Cheers!

https://github.com/opnsense/core/commit/0ad3ec432ff0d1ee45d9969424b7e5b19eb903e2 should probably fix the same issue


Error on run Docker

EXCEPTION: System.ComponentModel.Win32Exception (13): Permission denied\n   at Wkhtmltopdf.NetCore.GeneratePdf.GetByteArray[T](String View, T model)\n

I thought this exception is because your dotnet app don't have enough permission to get the wkhtmltopdf file.
See the example repository.
https://github.com/fpanaccia/Wkhtmltopdf.NetCore.Example/blob/master/Rotativa/Dockerfile#L15

Thank you it worked!


Improve visibility of the findInput placeholder in Chrome

this pull request is with reference to the issue #9237 and I have closed my previous pull request of #9265 . I have also made the changes requested by @Snuffleupagus

/botio-linux preview


Unable to connect to metrics listener in acceptance tests

Version
Zebra main, PR #1766, commit 79d45e7.
Platform
Windows CI
Description
The metrics_endpoint test sometimes fails because the test can't connect to the zebrad metrics listener.
We don't know why, because the acceptance test doesn't show the zebrad logs for this error.
Commands
zebrad start with the metrics_endpoint test config.
Logs
---- metrics_endpoint stdout ----
Error:
   0: error trying to connect: tcp connect error: No connection could be made because the target machine actively refused it. (os error 10061)
   1: tcp connect error: No connection could be made because the target machine actively refused it. (os error 10061)
   2: No connection could be made because the target machine actively refused it. (os error 10061)

Location:
   zebrad\tests\acceptance.rs:964

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
                                ⋮ 9 frames hidden ⋮
  10: acceptance::metrics_endpoint::{{closure}}<unknown>
      at D:\a\zebra\zebra\zebrad\tests\acceptance.rs:964
       962 │
       963 │     // Test metrics endpoint
       964 >     let res = client.get(url.try_into().expect("url is valid")).await?;
       965 │     assert!(res.status().is_success());
       966 │     let body = hyper::body::to_bytes(res).await?;
  11: core::future::from_generator::{{impl}}::poll<generator-0><unknown>
      at /rustc/cb75ad5db02783e8b0222fee363c5f63f7e2cf5b\library\core\src\future\mod.rs:80
  12: core::future::future::{{impl}}::poll<mut core::future::from_generator::GenFuture<generator-0>*><unknown>
      at /rustc/cb75ad5db02783e8b0222fee363c5f63f7e2cf5b\library\core\src\future\future.rs:119
                                ⋮ 14 frames hidden ⋮
  27: acceptance::metrics_endpoint<unknown>
      at D:\a\zebra\zebra\zebrad\tests\acceptance.rs:938
       936 │ }
       937 │
       938 > #[tokio::test]
       939 │ async fn metrics_endpoint() -> Result<()> {
       940 │     use hyper::Client;
                                ⋮ 3 frames hidden ⋮
  31: test::__rust_begin_short_backtrace<fn()><unknown>
      at /rustc/cb75ad5db02783e8b0222fee363c5f63f7e2cf5b\/library\test\src\lib.rs:516
  32: alloc::boxed::{{impl}}::call_once<unknown>
      at /rustc/cb75ad5db02783e8b0222fee363c5f63f7e2cf5b\library\alloc\src\boxed.rs:1328
                                ⋮ 20 frames hidden ⋮

Run with COLORBT_SHOW_HIDDEN=1 environment variable to disable frame filtering.
---- end of test output ----

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
                                ⋮ 12 frames hidden ⋮
  13: acceptance::metrics_endpoint::{{closure}}<unknown>
      at D:\a\zebra\zebra\zebrad\tests\acceptance.rs:938
       936 │ }
       937 │
       938 > #[tokio::test]
       939 │ async fn metrics_endpoint() -> Result<()> {
       940 │     use hyper::Client;
                                ⋮ 2 frames hidden ⋮
  16: test::__rust_begin_short_backtrace<fn()><unknown>
      at /rustc/cb75ad5db02783e8b0222fee363c5f63f7e2cf5b\/library\test\src\lib.rs:516
  17: alloc::boxed::{{impl}}::call_once<unknown>
      at /rustc/cb75ad5db02783e8b0222fee363c5f63f7e2cf5b\library\alloc\src\boxed.rs:1328
                                ⋮ 20 frames hidden ⋮

https://github.com/ZcashFoundation/zebra/pull/1766/checks?check_run_id=1919269780#step:8:1585

This seems to don't be in the current sprint but it can potentially make our next PRs to fail, having to restart, etc.
This is a known issue even if we don't have the exact cause. What if we do the following in this sprint until we have more time to debug this:

Create a conditional for windows inside the code of the 2 conflict tests.
Look for the "trying" strings added at https://github.com/ZcashFoundation/zebra/pull/1766 instead.
Add a comment explaining what is happening, why we are doing it and point it to this ticket.

Another option:

Disable the 2 tests completely from windows runs.

We have a lot of open CI failure tickets and bugs.
So need to triage failures based on how often they happen.
Do you know how often this failure is happening right now?
Do we know if it only happens on Windows?
Whenever I see a CI failure, I add a note to the pull request, and include the ticket number for that CI failure. (Or I open a new CI failure ticket and tag it.)
I don't see any PRs tagged with this bug. So maybe we don't need to do anything about it right now.
Last time I saw this failure, I opened this ticket, and added more diagnostics to the test in PR #1770. So we need to wait for it to happen again. Then we might know how to fix it, or we might decide to disable it.

Do you know how often this failure is happening right now?
Do we know if it only happens on Windows?

Ah, I see that #1811 failed on Windows CI due to this bug.
I'll go check the new logs and see if they help us decide what to do.

This is actually a known issue in Windows Hyper-V, introduced by update KB4074588:

After installing this update, applications may not be able to reserve or bind to ports that previously worked.

Check if the port you want to bind to or reserve is already reserved on the container host. For example, you can use  netsh as follows:
netsh interface ipv4 show excludedportrange protocol=tcp
If the port is not reserved, you may use it. If it is reserved, choose a different port.

We can't use that workaround, but we can adjust the port range to exclude typically reserved ports (less than 53500).
For details, see:

Hyper-V: gvr-unity-sdk/#1002, docker/for-win#3171
the MOM-Clear port
LDAP Kerberos byte swapping

As an added bonus, we'll be less likely to conflict with ephemeral ports on OSes that allocate them sequentially (macOS, Windows):
https://dataplane.org/ephemeralports.html

(As an alternative, we could switch most tests to use port 0, and then check the logs for the OS-assigned port. But that's a lot more work.)


noreply / no-reply consistency in email settings

Code of Conduct

[X] I have read and agree to the GitHub Docs project's Code of Conduct

What article on docs.github.com is affected?
Setting your commit email address
What part(s) of the article would you like to see updated?
Very minor and rather pedantic, but the noreply email address is referenced
as both:

noreply
no-reply

Example:

I would like to remove the - in all instances. The email address that will be
provided does not contain - and so I believe it is incorrect to display
no-reply. Grammatically, it may be more correct so perhaps the first instance
could reference it in some way, i.e.:

If you'd like to keep your personal email address private, you can use a
no-reply (noreply) email address from GitHub...

As the other docs I have viewed do not make this distinction I believe it is
probably unnecessary to implement the pseudo-quoted text. My view is that
noreply is more appropriate considering the usage and there is a very small
chance that a user could use the wrong format in their config and/or
communications.
Additional information
I have had a look at the relevant files and believe I would need to edit the
doc itself as well as the reusable user-setting.
I would be interested to know if there is a quick way to find if that reusable
is used anywhere else as I would be happy to check for any other instances
within the docs that also could be changed. A pointer to any resources or a
direct answer regarding this would be much appreciated but not expected.

Thanks so much for opening an issue @DaveyJH! I agree that since the provided email address includes noreply without the - that it makes the most sense not to include it in this article. You're welcome to open a PR 💖
For the reusable, I'd generally open my editor and do a search for {% data reusables.user-settings.set_your_email_address_in_git %}, that should bring up all the articles that also use this reusable. Thank you so much for thinking through a holistic, docs wide change!

Thanks @janiceilene. Reading the second paragraph of your comment gave me an overwhelming sense of stupidity! I had been looking through the files on GitHub rather than in my editor - thanks for reminding me not to do that too often! 😅
It appears the reusable only appears in the one file; there is another, larger reusable that contains noreply as expected.
I have made a second branch that contains a further holistic edit but it doesn't quite stay within the scope of this issue. Also...I forgot to press comment when I wrote the first two paragraphs. I was clearly having a great day 😆

I had been looking through the files on GitHub rather than in my editor - thanks for reminding me not to do that too often!

I've done this so, so many times 🙈
I've triaged your PR, but it may take us a while to review, as we've got lots of folks out for holidays over the next month 💛

I've done this so, so many times 🙈
I feel better knowing I am not alone in!

Should I raise a second issue for the continuation of the changes? (not specific to Setting your commit email address) - you may have guessed I am fairly new into the industry and trying to develop good practices from the start rather than correcting poor ones later down the line 🤪

@DaveyJH Welcome to open source and thanks for spending some of your learning time with us 💖
You're welcome to just open a second PR with more fixes, since it's a continuation of this same issue and not an entirely new topic/area of the docs.


Object is of type 'unknown'

This works, setting ex to type any I think also makes the error go away but sounds anti Typescript that way

@kbabcock1 Thanks and done


Repeated Error in logs - Connection reset by peer

   Hue Lights                      Starting plugin initialization.
   Hue Lights                      initializing  ...
   Hue Lights                      path To files:          =================
   Hue Lights                      detailed logging        /Library/Application Support/Perceptive Automation/Indigo 2022.2/Logs/com.nathansheldon.indigoplugin.HueLights/plugin.log
   Hue Lights                      testing logging levels, for info only:
   Hue Lights                      logger  enabled for     INFO           ==> TEST ONLY
   Hue Lights Warning              logger  enabled for     WARNING        ==> TEST ONLY
   Hue Lights Error                logger  enabled for     ERROR          ==> TEST ONLY
   Hue Lights Error                logger  enabled for     CRITICAL       ==> TEST ONLY
   Started plugin "Hue Lights 2022.14.47"
   Hue Lights                      debug areas:[]
   Hue

 Hue Lights Error
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 438, in _error_catcher
    yield
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 519, in read
    data = self._fp.read(amt) if not fp_closed else b""
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py", line 465, in read
    s = self.fp.read(amt)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/socket.py", line 705, in readinto
    return self._sock.recv_into(b)
ConnectionResetError: [Errno 54] Connection reset by peer

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/models.py", line 760, in generate
    for chunk in self.raw.stream(chunk_size, decode_content=True):
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 576, in stream
    data = self.read(amt=amt, decode_content=decode_content)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 512, in read
    with self._error_catcher():
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/contextlib.py", line 153, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 455, in _error_catcher
    raise ProtocolError("Connection broken: %r" % e, e)
urllib3.exceptions.ProtocolError: ("Connection broken: ConnectionResetError(54, 'Connection reset by peer')", ConnectionResetError(54, 'Connection reset by peer'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "plugin.py", line 827, in commandToHub_HTTP
    r = requests.get(command, timeout=kTimeout, headers={'Connection':'close'})
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/api.py", line 75, in get
    return request('get', url, params=params, **kwargs)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/api.py", line 61, in request
    return session.request(method=method, url=url, **kwargs)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/sessions.py", line 529, in request
    resp = self.send(prep, **send_kwargs)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/sessions.py", line 687, in send
    r.content
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/models.py", line 838, in content
    self._content = b''.join(self.iter_content(CONTENT_CHUNK_SIZE)) or b''
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/models.py", line 763, in generate
    raise ChunkedEncodingError(e)
requests.exceptions.ChunkedEncodingError: ("Connection broken: ConnectionResetError(54, 'Connection reset by peer')", ConnectionResetError(54, 'Connection reset by peer'))

This looks like a python issue
There was a discussion about a wrongly installed python on the indigo forum in the hue thread

Can you point me at at specific link to the thread where this is discussed? Indigo appears to have installed its own python, and I confirmed that is what is in use.

I can find it, but I remember that Jay answered it .. it was about one - two  months  ago

.. and when and how did it start?

It started right after updating to the latest hue plugin which has me thinking it's not the python issue and is rather a plug-in issue, but I'm trying to remain unbiased in troubleshooting/narrowing it down.
FYI - I reinstalled Indigo (which reinstalls python) and the error continues.

Could you go back to the previous version?

I will try that.
That said, I may have jumped one or more intermediate versions as I had let my indigo setup sit in the background sans any "plugin update maintenance" for much longer than I usually do. I was touching Indogo to add a new hue device and it seemed prudent to update the plugin.
I'll see if I can pull the former version in use from the logs.

FYI - I was previously running the 2022.13.42 version of the plugin.
Started plugin "Hue Lights 2022.13.42"
I presume that if I revert to that version of the plugin, there aren't any potential issues around any state changes/stored values/object structures that might have gotten changed with the new version and I'm safe to revert?

Stupid questionUserid passwd ip correct in config? And may be reconnect to hub would helpKarlOn 31.07.2023, at 11:00, virtzilla @.***> wrote:
FYI - I was previously running the 2022.13.42 version of the plugin.
Started plugin "Hue Lights 2022.13.42"
I presume that if I revert to that version of the plugin, there aren't any potential issues around any state changes/stored values/object structures that might have gotten changed with the new version and I'm safe to revert?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

Stupid questionUserid passwd ip correct in config? And may be reconnect to hub would helpKarlOn

It appears to be. Note that I have two bridges. Control of devices  on both works fine.
In terms of the errors, they are not constant. On the first day I saw them much more frequently. They are more occasional now:
 206 plugin.log.2023-07-26
  66 plugin.log.2023-07-27
  14 plugin.log.2023-07-28
   7 plugin.log.2023-07-29
  16 plugin.log.2023-07-30

The errors are prefaced  with a line like this in the log:
ERROR       	Plugin.commandToHub_HTTP
Is there an easy option to turn on a debug log to see which hub it's erroring on and the specific command being invoked?

Can we do online session ie AnyDesk Then I can normally quickly diagnose the issue Karl On 31.07.2023, at 18:15, virtzilla @.***> wrote:
In examining the logs a bit further for activity around the errors, the errors always seem to be preceded by sensor activity. It doesn't error consistently after a single sensor/in the same place when it logs an error (at least not from what is depicted in the logs). If the error occurs, it's preceded by either temperature or luminance sensors being received seemingly anywhere from 10 or so seconds before to a couple of min before.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

Can we do online session ie AnyDesk Then I can normally quickly diagnose the issue Karl

I am open to an online session.
FYI - I reduced the polling interval to default (it was set to 1 second for devices, .4 for sensors) and haven't seen any errors since.
On a tangent, for some reason I was under the impression the plugin was using the push functionality of the Hue v2 API and polling would be much less than it is (which made changing the frequency less of a concern in my mind when I originally set it). I may have blurred discussions from the Home Assistant plugin in my mind. Turning on debug for "Send Commands to Bridge" produces an impressive stream of data! That said, I have found the push functionality far more responsive (esp. for driving derivative actions from sensors) and efficient outside this plugin.

So no more error messages when you reduce the frequency?The version  2 is still in beta by Philips hue- as far as I know And v 2 it does not just change pull / push but also the data structure changes completely, Names as well. That will require an almost complete rewrite of the plug-in. KarlOn Aug 2, 2023, at 01:06, virtzilla @.***> wrote:
Can we do online session ie AnyDesk Then I can normally quickly diagnose the issue Karl
I am open to an online session.
FYI - I reduced the polling interval to default (it was set to 1 second for devices, .4 for sensors) and haven't seen any errors since.
On a tangent, for some reason I was under the impression the plugin was using the push functionality of the Hue v2 API and polling would be much less than it is (which made changing the frequency less of a concern in my mind when I originally set it). I may have blurred discussions from the Home Assistant plugin in my mind. Turning on debug for "Send Commands to Bridge" produces an impressive stream of data! That said, I have found the push functionality far more responsive (esp. for driving derivative actions from sensors) and efficient outside this plugin.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

So no more error messages when you reduce the frequency?

Correct no more error message with the reduced (to default) frequency. My hunch is a race condition/triggering a new poll before the a prior salvo completes.
What time zone do you operate in for doing a session online?

Check the new version I published.  That will serialize all http  connections So no overlapping connections.  That should fix your issue also for high frequencies. Karl I live in Vienna.  I am out of town Friday - Wednesday But Thursday I am open. On Aug 2, 2023, at 19:11, virtzilla @.***> wrote:
So no more error messages when you reduce the frequency?
Correct no more error message with the reduced (to default) frequency. My hunch is a race condition/triggering a new poll before the a prior salvo completes.
What time zone do you operate in for doing a session online?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

Check the new version I published.  That will serialize all http  connections So no overlapping connections.  That should fix your issue also for high frequencies.

I installed 2022.14.48 this morning and changed the polling interval back to 1 sec/.4 second.
The errors returned - first about an hour after installing.
I will work to find some time next week for an online session, and in the meantime reduce the polling interval.
I think the errors are the same, but for the sake of (over)communicating:
2023-08-03 09:59:28.334 ERROR           Plugin.commandToHub_HTTP
Traceback (most recent call last):
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 438, in _error_catcher
    yield
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 519, in read
    data = self._fp.read(amt) if not fp_closed else b""
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py", line 465, in read
    s = self.fp.read(amt)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/socket.py", line 705, in readinto
    return self._sock.recv_into(b)
ConnectionResetError: [Errno 54] Connection reset by peer

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/models.py", line 760, in generate
    for chunk in self.raw.stream(chunk_size, decode_content=True):
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 576, in stream
    data = self.read(amt=amt, decode_content=decode_content)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 512, in read
    with self._error_catcher():
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/contextlib.py", line 153, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 455, in _error_catcher
    raise ProtocolError("Connection broken: %r" % e, e)
urllib3.exceptions.ProtocolError: ("Connection broken: ConnectionResetError(54, 'Connection reset by peer')", ConnectionResetError(54, 'Connection reset by peer'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "plugin.py", line 845, in commandToHub_HTTP
    r = requests.get(command, timeout=kTimeout, headers={'Connection':'close'})
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/api.py", line 75, in get
    return request('get', url, params=params, **kwargs)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/api.py", line 61, in request
    return session.request(method=method, url=url, **kwargs)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/sessions.py", line 529, in request
    resp = self.send(prep, **send_kwargs)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/sessions.py", line 687, in send
    r.content
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/models.py", line 838, in content
    self._content = b''.join(self.iter_content(CONTENT_CHUNK_SIZE)) or b''
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/models.py", line 763, in generate
    raise ChunkedEncodingError(e)
requests.exceptions.ChunkedEncodingError: ("Connection broken: ConnectionResetError(54, 'Connection reset by peer')", ConnectionResetError(54, 'Connection reset by peer'))
2023-08-03 09:59:28.891 ERROR           Plugin.commandToHub_HTTP
Traceback (most recent call last):
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 438, in _error_catcher
    yield
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 519, in read
    data = self._fp.read(amt) if not fp_closed else b""
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py", line 465, in read
    s = self.fp.read(amt)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/socket.py", line 705, in readinto
    return self._sock.recv_into(b)
ConnectionResetError: [Errno 54] Connection reset by peer

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/models.py", line 760, in generate
    for chunk in self.raw.stream(chunk_size, decode_content=True):
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 576, in stream
    data = self.read(amt=amt, decode_content=decode_content)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 512, in read
    with self._error_catcher():
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/contextlib.py", line 153, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 455, in _error_catcher
    raise ProtocolError("Connection broken: %r" % e, e)
urllib3.exceptions.ProtocolError: ("Connection broken: ConnectionResetError(54, 'Connection reset by peer')", ConnectionResetError(54, 'Connection reset by peer'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "plugin.py", line 845, in commandToHub_HTTP
    r = requests.get(command, timeout=kTimeout, headers={'Connection':'close'})
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/api.py", line 75, in get
    return request('get', url, params=params, **kwargs)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/api.py", line 61, in request
    return session.request(method=method, url=url, **kwargs)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/sessions.py", line 529, in request
    resp = self.send(prep, **send_kwargs)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/sessions.py", line 687, in send
    r.content
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/models.py", line 838, in content
    self._content = b''.join(self.iter_content(CONTENT_CHUNK_SIZE)) or b''
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/models.py", line 763, in generate
    raise ChunkedEncodingError(e)
requests.exceptions.ChunkedEncodingError: ("Connection broken: ConnectionResetError(54, 'Connection reset by peer')", ConnectionResetError(54, 'Connection reset by peer'))
2023-08-03 09:59:32.840 ERROR           Plugin.commandToHub_HTTP
Traceback (most recent call last):
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 438, in _error_catcher
    yield
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 519, in read
    data = self._fp.read(amt) if not fp_closed else b""
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py", line 465, in read
    s = self.fp.read(amt)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/socket.py", line 705, in readinto
    return self._sock.recv_into(b)
ConnectionResetError: [Errno 54] Connection reset by peer

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/models.py", line 760, in generate
    for chunk in self.raw.stream(chunk_size, decode_content=True):
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 576, in stream
    data = self.read(amt=amt, decode_content=decode_content)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 512, in read
    with self._error_catcher():
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/contextlib.py", line 153, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 455, in _error_catcher
    raise ProtocolError("Connection broken: %r" % e, e)
urllib3.exceptions.ProtocolError: ("Connection broken: ConnectionResetError(54, 'Connection reset by peer')", ConnectionResetError(54, 'Connection reset by peer'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "plugin.py", line 845, in commandToHub_HTTP
    r = requests.get(command, timeout=kTimeout, headers={'Connection':'close'})
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/api.py", line 75, in get
    return request('get', url, params=params, **kwargs)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/api.py", line 61, in request
    return session.request(method=method, url=url, **kwargs)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/sessions.py", line 529, in request
    resp = self.send(prep, **send_kwargs)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/sessions.py", line 687, in send
    r.content
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/models.py", line 838, in content
    self._content = b''.join(self.iter_content(CONTENT_CHUNK_SIZE)) or b''
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/models.py", line 763, in generate
    raise ChunkedEncodingError(e)
requests.exceptions.ChunkedEncodingError: ("Connection broken: ConnectionResetError(54, 'Connection reset by peer')", ConnectionResetError(54, 'Connection reset by peer'))
2023-08-03 09:59:34.878 ERROR           Plugin.commandToHub_HTTP
Traceback (most recent call last):
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 438, in _error_catcher
    yield
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 519, in read
    data = self._fp.read(amt) if not fp_closed else b""
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py", line 465, in read
    s = self.fp.read(amt)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/socket.py", line 705, in readinto
    return self._sock.recv_into(b)
ConnectionResetError: [Errno 54] Connection reset by peer

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/models.py", line 760, in generate
    for chunk in self.raw.stream(chunk_size, decode_content=True):
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 576, in stream
    data = self.read(amt=amt, decode_content=decode_content)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 512, in read
    with self._error_catcher():
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/contextlib.py", line 153, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 455, in _error_catcher
    raise ProtocolError("Connection broken: %r" % e, e)
urllib3.exceptions.ProtocolError: ("Connection broken: ConnectionResetError(54, 'Connection reset by peer')", ConnectionResetError(54, 'Connection reset by peer'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "plugin.py", line 845, in commandToHub_HTTP
    r = requests.get(command, timeout=kTimeout, headers={'Connection':'close'})
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/api.py", line 75, in get
    return request('get', url, params=params, **kwargs)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/api.py", line 61, in request
    return session.request(method=method, url=url, **kwargs)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/sessions.py", line 529, in request
    resp = self.send(prep, **send_kwargs)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/sessions.py", line 687, in send
    r.content
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/models.py", line 838, in content
    self._content = b''.join(self.iter_content(CONTENT_CHUNK_SIZE)) or b''
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/models.py", line 763, in generate
    raise ChunkedEncodingError(e)
requests.exceptions.ChunkedEncodingError: ("Connection broken: ConnectionResetError(54, 'Connection reset by peer')", ConnectionResetError(54, 'Connection reset by peer'))


Apns cred check

Checks that iOS app provisioning profile and credential is aligned.
This is the no.1 problem developer's run into hence an automated check should greatly help debugging. Needs corresponding changes in iOS apps as well.

@kwhinnery Thanks. I have tried to improve it. Also simplified the config by removing the apn and gcm credential SIDs as those are not used anymore. They are configured via the console and they can just cause confusion as they can be out of sync with actual config in console.

@coderkat This also supports now endpoint ID autogeneration by accepting registration requests without the Endpoint ID and including Endpoint ID in the response.

@coderkat Thx. Done. Sorry for the delay have not seen the comments.


fix: use method signature to allow using functional polymorphism

issue discussed here

Thanks for the submission!
Just tested this against the https://github.com/gemstation/contracts-foundry repo and got test failures. I think the code might need a bit of tweaking.

The issue is that funtions which take structs as parameters won't have the correct selectors generated. Doing so would require deconstructing the struct and nested structs and then doing something like:
complexFunction((uint256,address,(uint256,bool)))

Merged in #42

thanks!


Update http4s-circe, http4s-dsl to 0.23.26

About this PR
📦 Updates

org.http4s:http4s-circe
org.http4s:http4s-dsl

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

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.http4s" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.http4s" }
}]

labels: library-update, early-semver-minor, semver-spec-pre-release, version-scheme:early-semver, commit-count:1

Superseded by #19.


Update quarkus.md > Quarkus 3.6.0 released

:grey_question: About
Quarkus 3.6.0 has just been released :rocket:  :

:information_source: More

Tweeted


Nested parentheses are allowed in $( calls

There are many "Unexpected token" errors in following code:
function dockerNextVersion {   echo $((echo -n 0;(docker images --format "{{.Tag}}" $1 | sort -n | tail -n 1 | tr --delete '\n'; echo '+1'))| bc ) }
It breaks the highlight to the end of the file

@tz-lom I see. This is currently parsed as arithmetic expression, I think. e.g. $((1+2)). You can write this such an expression as $( (...)) as a workaround, I think.
I'll try to find good solution here.


Issue "Unparsable Authrship" and the suffix "bis" in authorstrings

@mdoering
Working with Species Fungorum sample from Paul Kirk, we have discovered that authorstrings with suffix bis dropped in the Issues report "Unparsable Authrship". For example, Castellano, S.L. Mill., L. Singh bis & T.N. Lakh.  or (Beurm., Gougerot & Vaucher bis) Sacc. & Traverso
https://data.dev.catalogue.life/catalogue/3/dataset/30807/verbatim?issue=unparsable authorship.
Then I have a look IPNI database for botanical authors, and understood that suffix bis appears in standard form of some author names - for those who have homonymic colleagues:  https://www.ipni.org/?q=bis
Markus, could you please adjust the code, and include suffix bis in authorstrings as a legal case.

thanks @yroskov an interesting one. I will update the parser accordingly !


chore: bdd-spring-1585110651 to 0.0.1

chore: Promote bdd-spring-1585110651 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Allow overriding locale context for specific components with useTranslation/getTranslations

Is your feature request related to a problem? Please describe.
I've encountered a situation where I need to use a different locale for a specific component. Currently, the locale context applies globally, and there isn’t an easy way to override it for just one component.
Describe the solution you'd like
It would be great if useTranslation could be extended to accept an extra argument that allows specifying a different locale, for example:
export const Component: React.FC = () => {
  // Language coming from browser/user setting
  const tEnglish = useTranslation('namespace', { locale: 'en' });

  // Language coming from project setting, level deeper than user
  const tDutch = useTranslation('namespace', { locale: 'nl' });

  return (
    <>

I am english: {tEnglish('key')}

I am dutch: {tDutch('key')}

    </>
  );
};

This would let individual components handle a different locale without affecting the overall app's setting.
Describe alternatives you've considered

[!NOTE]
I am not using routing!

Read every existing issue title
I've checked every issue title in the 16 pages of issues but couldn't find any solution.
Nested providers
// Pseudo code for this submission
export default function Page() {
  return (
    <NextIntlClientProvider locale="nl" messages={locales.nl}>

        <NextIntlClientProvide locale="ru">{component}</NextIntlClientProvider>

    </NextIntlClientProvider>
  );
}

Extending useTranslation hook
import { MessageKeys, NestedKeyOf, NestedValueOf, TranslationValues, useTranslations } from 'next-intl';

type Key = MessageKeys<
  NestedValueOf<{ '!': IntlMessages }, '!._shared.viewer'>,
  NestedKeyOf<NestedValueOf<{ '!': IntlMessages }, '!._shared.viewer'>>
>;

export const useViewerTranslations = () => {
  const locale = useOtherLocale(); // pseudo code
  const t = useTranslations('_shared.viewer', { locale });

  return <TargetKey extends Key>(key: TargetKey, values?: TranslationValues) => {
    return t(key, { ...values, locale });
  };
};

Utilising getTranslations
const t = await getTranslations({ locale: 'nl' });

In next-intl/dist/types/src/server/react-server/getTranslations.d.ts it state that getTranslations receives a locale argument. Tried that but no dice.

There was some previous discussion about this in https://github.com/amannn/next-intl/discussions/1370.
The gist is:
Server Component
import {getTranslations} from 'next-intl/server';

// Specify an explicit locale
const t = await getTranslations({locale: 'nl'});

This might be the easiest case. The reason why getTranslations accepts a locale, is because we can call i18n/request.ts multiple times in case you have components that require different locales and messages are easily available on the server side.
Client Component
import {NextIntlClientProvider} from 'next-intl';

return (
  <NextIntlClientProvider locale="nl" messages={nlMessages}>
    <Component />
  </NextIntlClientProvider>
)

On the client, we don't have all messages automatically available, as only the ones from the main locale are passed down (typically in your root layout). In case you need a different locale incl. messages for a subtree, you have to wrap those with another NextIntlClientProvider.
useTranslations(…, {locale: 'nl'}) is not supported, since we can't dynamically load messages from another locale on the client side.

Hi @amannn ! Thanks for the quick response, however I already tried using it on the server side with getTranslations({ locale: '' }) as mentioned in Describe alternatives you've considered. However it doesn't seem to work. This is my setup:
// src/i18n/request.ts
import 'server-only';

import { getRequestConfig } from 'next-intl/server';
import { headers } from 'next/headers';
import { auth } from 'src/auth';
import { SupportedLocale } from 'src/config/locales';
import { Preference } from 'src/schema/Preference';
import { users } from 'src/services/users';

const Language = Preference.pick({ language: true });

export default getRequestConfig(async () => {
  let locale: SupportedLocale = 'en';
  const authUser = await auth();
  const userId = authUser?.user?.id;
  const acceptLanguage = headers().get('Accept-Language') as SupportedLocale | null;
  const parsedHeaderLanguage = Language.safeParse({ language: acceptLanguage });

  if (parsedHeaderLanguage.success) {
    locale = parsedHeaderLanguage.data.language;
  }

  if (userId) {
    const user = await users.get(userId);

    if (!user) throw new Error('For each authenticated user, a user should exist');
    const parsedUserLanguage = Language.safeParse({ language: user.preferred_language });

    if (parsedUserLanguage.error) throw new Error('User has invalid language preference');
    locale = parsedUserLanguage.data.language;
  }

  return {
    locale,
    messages: (await import(`../../messages/${locale}.json`)).default,
  };
});

Maybe I am not understanding the underlying API correctly. Could you give me some additional pointers? In another file I have:
export default function Page() {
  const t = await getTranslations({ locale: 'nl' });

  return (

      {t('key')} // Still showing in english

  );
}

Oh right, now I see your point! If you pass locale to getTranslations, it ends up in getRequestConfig as the value that can be received via requestLocale. That's actually an interesting case that the docs don't really cover at this point.
I think this might work for you:
export default getRequestConfig(async ({requestLocale})) => {
  let locale: SupportedLocale = await requestLocale || 'en';

  // ...
});

Can you give that a shot?
See also: Which values can the requestLocale parameter hold?

@amannn That did the job! Nice how separated everything is without side-effects. <3

That's great to hear!
Thanks for sharing your use case, this seems to be a scenario I haven't really considered so far. Will keep an eye on this!


Improvement/command examples readability

Fixed what looked like a typo into the CLI, and break down the command into multiple lines to improve readability.
Also moved what seemed to be the release and chart arguments to the beginning based on helm upgrade usage
Usage:
  helm upgrade [RELEASE] [CHART] [flags]

Thx


fix #20 - check if URL is an empty string

It is not necessary to check for empty strings in the raw URLs as the associated DIal functions will fail appropriately. However, in the case of FastCGI you want to default to HTTP so checking for an empty URL is needed.
You would be able to remove the checks adding in commit 9a63716c8569bcdbb071d375ba4d188f6bc976f6 with this patch.

LGTM


support etcd election

What type of this PR
/kind feature
What this PR does / why we need it:
1、support etcd election
2、support protobuf any type encoding
3、format provider register  codes
Specified Reivewers:
@liuhaoyang

/approve


Fix for empty user objects after GUILD_MEMBER_REMOVE

Should fix #554 as well as improve guildmember counts.
Might be related to #113 and #272 though that is not tested.

Am I missing something? Why was the GlobalUser.AddRef raised out of the user creation block.


cURL error 6

Hi.
I've installed the imager plugin, but I am receiving this error on the production server:
cURL error “6” encountered while attempting to download “https://domain.com/gallery/foto_banner.jpg”. The error was: “Could not resolve host: domain.com”
Have you stumbled upon this issue? Or do you have any ideas on how to solve this issue?

Did you solve this? Sounds like a DNS issue on your server. Or maybe an SSL issue. Start with doing a ping domain.com on the server and work from there.


Slovak Language in attachment

I don't known how to add new language. It is in:
sk_SK.json.zip.

please create a PR. thanks


ENH: Add action for fetching the CheckV database

This PR closes #2  .

Adds action to fetch CheckV database.

Set up the environment
mamba create -n q2-viromics -c conda-forge -c bioconda -c https://packages.qiime2.org/qiime2/2024.10/metagenome/passed/ -c defaults q2cli q2-types checkv pyhmmer

Activate q2-viromics environment
conda activate q2-viromics

Clone the repo and checkout the PR branch
git clone https://github.com/bokulich-lab/q2-viromics.git
cd q2-viromics
git fetch origin pull/6/head:pr-6
git checkout pr-6
pip install -e .

2. Test it out!
Import database
# It may take some time!
qiime viromics checkv-fetch-db  --o-database checkv_db.qza --verbose

Hello @VinzentRisch, I made the requested changes. You can have a look.

@VinzentRisch I did the changes in the unittests.


add country property to radio stations

This feature adds an extra column to the stations table. Searching by country could be useful when looking for local news or to practice listening to a language with a specific accent.

@AndyObtiva , I didn't change the readme file or add updated screenshots! Let me know if it's okay, otherwise I'll do it tomorrow 😃

Thank you for merging @kojix2 By the way, @v-bianchi is a developer who I met at my local Montreal Ruby meetup (Montreal.rb) when I was presenting Glimmer DSL for SWT last month. I showed him rubio-radio as an example built in Glimmer DSL for LibUI, and he said he was interested in adding country support.
@v-bianchi , you do not need to worry about the screenshots. Thank you for your contribution!

Happy New Year!
Sorry for the delay, but I have uploaded a version with changes to the Gem server.
I hope you will have a great year!


Question. Import model trained under a Python / Torch library.

Would it be possible or even advisable to import a pth or pkl, which was trained using FastAI, into NimTorch, for the purpose of exposing in a backend written in Nim (for efficiency and speed)?

Sure, it was even planned but never implemented sadly as the project didn't really manage to attract a community of users.
Also limitations of nim (E.g. the GC) would limit the efficiency.

What would be the limitations of the Nim GC. As I understand it, the Nim GC is not "stop the world" like Python's GIL. Also I'm seeing a good bit of talk about replacing the default Nim GC for ARC (reference counting) and ORC (reference counting with a cycle collector).
In light of all of this, would there still be an issue in supporting import of Python FastAI V1 trained models into NimTorch?

A GC won't be able to track properly GPU memory and most of all in this case has a very poor interaction with the C++ side.
In general GCs are generally bad in machine learning, the original torch is a study book on the topic.
Arc/orc: not sure really, my experience with using them was very unstable and poor in terms of performance. But maybe they are getting better.

Arc can technically support a scope-based custom allocator; developing better support for such an animal would be a huge attraction to both Nim and a GPU-based ML library.

Yes ARC could work well with C++ RAII, but in practice I encountered many issues. Maybe things leak less now.

I don’t know when you tried, but without issues, it’s hard to know what rough spots need polish.
We need more demanding tests, but FWIW, these days I expect arc to work and I expect my idiomatic code to be quite a bit faster than when the same code runs under refc.
It’s useful to hear under what circumstances this isn’t the case

I don't have much context, it was just a regular projects with many refs inside seqs and some nesting, they were all leaking.. but it was a few months ago. Would have to run it again at some point and see.
Orc also was utterly slow.. like 10x slowdowns.. maybe things changed again.. altho honestly without proper lifetime management I expect ARC/ORC to be slow, specially in the case of cycles.

I also think I must not be doing something correctly with regards to arc/orc. When testing Jester with orc on the latest Nim@#devel I was getting speeds of 3600 requests per second, whereas markAndSweep was around 4500.
That said, I'm very excited about where things are headed for Nim and ecosystem, and would be VERY interested in NimTorch supporting import of my Python / FastAI trained models. I'm sure, as disruptek states, it would be quite a draw to Nim from Python developers looking for more interop / speed.

Well, if you can give me a repro, maybe we can find and fix the problem.  3600 versus 4500 is not a surprising difference between arc and m&s, partly because I doubt Jester is particularly sympathetic, and a delta of 20% on an artificial test is rather meaningless, as I’ve mentioned.
When I started measuring slow benchmarks, arc took over 4s to do a base64 bench that was 1.5s under m&s.
That bench was down to 1.85s under arc a couple weeks ago (before views).  To me, given the slope of improvement and the ROI, that’s good enough.
It’s easy to write code that is very fast under arc, and that’s part of what’s attractive about it.  I’m not sure what is meant by “proper lifetime management” but again, don’t be shy: let’s see what sucks and fix it. :wink:

Upon running these tests, it became apparent that the slow down with arc/orc occurs when using threads. When not using threads, orc is quite performant indeed.
Please advise if there is a better way to handle {.threadvar.} usage.
Using Nim 1.3.5 and testing with wrk2 -t2 -c20 -d10s -R200000 http://localhost:8000/ I get the following results:
(Requests per second are an average from 3 consecutive runs per test)
--threads:on
45767 r/s : nim c -r -d:release -d:danger --threads:on --gc:refc main
56876 r/s : nim c -r -d:release -d:danger --threads:on --gc:markAndSweep main
 9014 r/s : nim c -r -d:release -d:danger --threads:on --gc:orc main

--threads:off
23418 r/s : nim c -r -d:release -d:danger --threads:on --gc:refc main
29404 r/s : nim c -r -d:release -d:danger --threads:on --gc:markAndSweep main
28239 r/s : nim c -r -d:release -d:danger --threads:on --gc:orc main

main.nim
import strformat
import strutils
import re
import os

import jester
import json
import asyncnet
import asyncdispatch
import nwt

var
  tvTemplates {.threadvar.}: Nwt

proc getTemplates(): Nwt =
  if tvTemplates.isNil:                         # If thread local `tvTemplates` is Nil,
    tvTemplates = newNwt("templates/*.html")    # initialize for the current thread,
  return tvTemplates                            # and finally return it.

settings:
  port = 8000.Port
  staticDir = "static"
  appName = ""
  bindAddr = "<IP_ADDRESS>"
  reusePort = false

routes:
  get "/":
    let templates = getTemplates()              # Retrieve the thread local `tvTemplates`,
    resp templates.renderTemplate("index.html") # and use it.

  get re"^\/(.*)\.(?:html|txt|css|js|min\.js|jpg|png|bmp|svg|gif)$":
    if "templates" notin request.path:
      sendFile(request.path.strip(chars={'/'}, leading=true))

  get "/explicitJSON":
    const data = $(%*{"message": "Hello, World!"})
    resp data, "application/json"

  get "/explicitJsonFromSeq":
    let test = @[
      %*{
        "message": "Hello, World!"
      },
      %*{
        "message2": @[
          %*{
            "nested": "works",
          }
        ]
      },
    ]
    resp ($test).strip(chars={'@'}, leading=true), "application/json"

  get "/implicitJSON":
    resp %*{
      "string": "string",
      "number": 1,
      "float": 1.33
    }

  # get re"^\/(.*)\.txt$":
  #   resp request.matches[0]

This should probably be filed and discussed elsewhere.

@disruptek Sure. Where should I put it? Under Jester or under Nim?
@sinkingsugar Back to the issue of loading a FastAI model under NimTorch, I only need CPU support for now anyway. My use case is to serve predictions from a cloud machine without a nice GPU to use.

It looks like a Nim problem based upon your repro, but we will need to minimize it further.

Meaning (A) to remove all the other routes or (B) a completely different example that uses threading without Jester?

Ideally, we can remove the jester dependency as well.

I'm trying to repro this, but I'm not sure how... httpbeast does not use parallel, so that could be why the following does not elicit the issue.
import times, threadpool, strformat

{. experimental: "parallel" .}

type
  MyType = ref object
    val: int

var
  tVar {.threadvar.} : MyType

proc newMyType*(val: int = 0): MyType =
  result = MyType()

proc initVar(): MyType =
  if tVar.isNil:
    echo "initializing"
    tVar = newMyType()
  return tVar

proc process(i: int) =
  var tVar = initVar()
  tVar.val += i
  # echo tVar

when isMainModule:
  let
    t0 = cpuTime()
    seconds = 10.0
  var count = 0
  while cpuTime() - t0 < seconds:
    parallel:
      for i in 1..20:
        spawn process(i)
        inc count
    sync()
  echo &"{count} changes in {seconds} seconds."

@sinkingsugar I am willing to help in adding support for importing .pth and .pkl files, if you could give me some direction on what needs to be done.


Update Unit test to run on .Net461 (PipelineTests.cs)

Description
Enabling unit test for data plane/client libraries to run against .Net461 caused various test to break.
Tests have been ignored for net461 to get the repo to build.
The tests involved need to be updated to pass with correct result in net461.
To Reproduce
Add net461 to the list of target frameworks in (RepoRoot)/eng/Directory.Build.Data.targets then run unit tests.
<RequiredTargetFrameworks>netcoreapp2.0;net461</RequiredTargetFrameworks>
Expected behavior
Test will fail or throw an exception (affected code has been ignored with #if preprocessor directive) e.g.
#if FullNetFx
            Assert.AreEqual(new Version(2, 0), request.Version);
#endif

src/SDKs/Azure.Base/data-plane/Azure.Base.Tests/PipelineTests.cs

SetUp

OS: Windows

@pakrym can you take a look?

Done.


"Unknown encoding: buffer" error when using Safari

Hi,
I have set up an upload system which reports progress etc, all taken from the main github page. Code:
Client
var stream = ss.createStream();
ss(Socket).emit('beginUpload', stream, $scope.video);

var blobStream = ss.createBlobReadStream($scope.videoFile);
var size = 0;

$scope.uploading = true;

blobStream.on('data', function(chunk) {
    size += chunk.length;
    var progress = (size / $scope.videoFile.size * 100).toFixed(2);
    //console.log('progress', progress);
    if (progress != 100) {
        updateProgress(progress);
    }
});

blobStream.on('error', function(err) {
    console.log('ERROR', err);
});

blobStream.on('end', function() {
    Socket.emit('uploadComplete', $scope.video);
});

blobStream.pipe(stream);

Server
ss(socket).on('beginUpload', function(stream, data) {

    // Save stream to file
    var filename = config.upload.tmpFolder+'/'+data.filename;

    stream.pipe(fs.createWriteStream(filename)).on('error', function(err) {
        console.log('crashed at begin upload', err);
    });
});

This works perfectly on Chrome/Firefox & Internet Explorer from my tests, but for reason using Safari causes the following error on the server:
buffer.js:377
      throw new TypeError('Unknown encoding: ' + encoding);
            ^
TypeError: Unknown encoding: buffer
    at Buffer.write (buffer.js:377:13)
    at new Buffer (buffer.js:215:28)
    at IOStream.Readable.push (_stream_readable.js:122:15)
    at push (/home/user/www/node_modules/socket.io-stream/lib/iostream.js:147:20)
    at IOStream._onwrite (/home/user/www/node_modules/socket.io-stream/lib/iostream.js:153:5)
    at Socket._onwrite (/home/user/www/node_modules/socket.io-stream/lib/socket.js:231:10)
    at Socket.<anonymous> (/home/user/www/node_modules/socket.io-stream/node_modules/component-bind/index.js:21:15)
    at Socket.EventEmitter.emit (events.js:106:17)
    at Socket.onevent (/home/user/www/node_modules/socket.io/lib/socket.js:327:8)
    at Socket.onpacket (/home/user/www/node_modules/socket.io/lib/socket.js:287:12)

Am I doing something wrong or is this a problem?

Umm, your code looks nothing wrong for me, and tests was passed on safari last time.
How did you use the library on client side? I suspect browserify used to build the library might too old now.

I downloaded the zip from the github page and added socket.io-stream.js to my code manually, then used the javascript from my previous post to use it.
Looks like I downloaded it on 2nd March 2015.

I updated both socket.io (I found I was using version 1.1.0) and socket.io-stream to the latest versions and now the error looks like this:
events.js:72
        throw er; // Unhandled 'error' event
              ^
TypeError: Unknown encoding: buffer
    at Buffer.write (buffer.js:377:13)
    at new Buffer (buffer.js:215:28)
    at IOStream.Readable.push (_stream_readable.js:122:15)
    at push (/home/user/www/node_modules/socket.io-stream/lib/iostream.js:147:20)
    at IOStream._onwrite (/home/user/www/node_modules/socket.io-stream/lib/iostream.js:153:5)
    at Socket._onwrite (/home/user/www/node_modules/socket.io-stream/lib/socket.js:231:10)
    at Socket.<anonymous> (/home/user/www/node_modules/socket.io-stream/node_modules/component-bind/index.js:21:15)
    at Socket.EventEmitter.emit (events.js:106:17)
    at Socket.onevent (/home/user/www/node_modules/socket.io/lib/socket.js:330:8)
    at Socket.onpacket (/home/user/www/node_modules/socket.io/lib/socket.js:290:12)

Can you post your code which I can reproduce the issue if possible?


Corrections to Protocol-HTTPS docs in wiki

Just a few quick notes on the Protocol-HTTPS / SkyBell HD App ↔ Cloud HTTPS Usage docs.
Specifically a minor issue with the headers as currently noted:
In the WIKI for this section https://github.com/thoukydides/homebridge-skybell/wiki/Protocol-HTTPS the skybell headers for the app Id and client ID denote them with underscores "_" where they actually need to hyphens in order to work properly.
This is of course correct in your source code, but anyone trying to use the wiki as is, for reference for some of the endpoints, specifically the Call Start and Call Stop for the live streaming, will run into issue (guess who did - this guy - hah).
Unless the hyphens are used, you will get very odd errors back from those two endpoints.
So instead of:
x_skybell_app_id
x_skybell_client_id
They should be:
x-skybell-app-id
x-skybell-client-id
Most of the other endpoints that don't totally rely on those values are fine, but not the Call Start and Call Stop. Technically the Content_Type in that table should also be corrected to Content-Type as well.
In any case, thanks for putting this out there!  Super helpful until the new API is available that KishCom mentioned recently.
I just ran into this speciifc gotcha while building out something specific to my own needs - and that is the only place I ran into an issue.
Also, from doing a bit of MITM proxying with the iOS client, I discovered a couple changes and new additions, including a call to a new /v4/ section of endpoints including this new one for activities that looks like it returns back a slightly different set of paged data of activities versus the v3 equivalent activities endpoint:
https://cloud.myskybell.com/v4/users/{{USER_ID}}/activities?
It also references another v4 endpoint for authorization:
https://authgateway.myskybell.com/api/v4/users/{{USER_ID}}/activities
I also found that there is more to the Call Stop API than documented currently. In that the latest iOS app - when a hangup is invoked on a live session, the app is also sending a JSON body in the post that looks like below, where the time is the current time the request was made:
{
"event": "event:hangup",
"time": "2020-08-28T08:07:39.392Z",
"role": "client"
}
If I find anything else useful, I'll drop a note, and I'm working on finalizing a Postman Collection with all the methods, an environment set of variables/globals and Pre-Request Scripts that automate/make all the other calls easier to make after invoking the initial login. Just makes much quicker work of testing/developing against the current iteration in its undocumented state. When I am finished, I planned on sharing it on GitHub. Thanks again for the great project!

Just a few quick notes on the Protocol-HTTPS / SkyBell HD App ↔ Cloud HTTPS Usage docs.

Thank you for providing these corrections and additions.

In the WIKI for this section https://github.com/thoukydides/homebridge-skybell/wiki/Protocol-HTTPS the skybell headers for the app Id and client ID denote them with underscores "_" where they actually need to hyphens in order to work properly.

Yes, of course. It looks like that error has existed since the very first draft of the documentation. Oops.
Now fixed. I have also taken the opportunity to indicate that a user-agent header should be included as requested by @KishCom in #19.

In any case, thanks for putting this out there! Super helpful until the new API is available that KishCom mentioned recently.

Good to hear that someone has found it useful.
It will obviously be better to have an officially supported API. I am hoping that the new API will be able to provide notifications of motion or button presses without having to wait for the video to finish being recorded...

Also, from doing a bit of MITM proxying with the iOS client, I discovered a couple changes and new additions

I will have a play with those APIs when I get the chance. Cheers.

If I find anything else useful, I'll drop a note, and I'm working on finalizing a Postman Collection with all the methods, an environment set of variables/globals and Pre-Request Scripts that automate/make all the other calls easier to make after invoking the initial login.

That all sounds very useful. I look forward to seeing your repo in due course...


possible inspirations?

https://github.com/ckan/ckan
https://github.com/iamaziz/PyDataset
I'm also collecting some datasets and using similar yaml syntax. maybe there is a possibliity to collaborate...
Your resources/recipes seem more geared towards volume than specificity...

Your resources/recipes seem more geared towards volume than specificity...

My big fail on documenting the design. My goal was a tool to find and download datasets with a very lightweight api to load the file contents.
Not actually assuming anything about the datasets itself as the other libs.


Consistency

Set default consistency in Batch Execute and Query to ONE, as default in CQLSH
Add Connection::setConsistency function (like CONSISTENCY command in CQLSH)

---------default consistency should be Request::CONSISTENCY_QUORUM
Well, may be, but DataStax uses ONE in Python driver and CQLSH as well
https://datastax.github.io/python-driver/getting_started.html
By default, ConsistencyLevel.ONE will be used for all queries.

-----------add another constant is not a good idea.
In this way we can change default level in one place only, not to replace over all code.

I've change default consistency to ONE.
see: https://github.com/duoshuo/php-cassandra/commit/aff1ba6299e52ba776d2a76507e6f8526da15da4


Add multipart support to RequestBuilder

This can probably use the multipart crate, unsure the most ergonomic API to actually expose.

My current thinking is to add a form<T: Serialize>(val: T) method, which will form urlencode. To allow multipart, I'm thinking that a file()method could also exist, which would set the same internally that the form and files are multipart.

A form<T: Serialize>(val: T) method now exists. To add multipart support, a possibility is as described before, adding a file(name: &str, f: File) method, and if form() and file() are both called, then internally the RequestBuilder makes the request multipart.

 I'd like to use multipart with reqwest.

The status is all here in the issue. The question is on how should the API look for adding it.

I see. So, could I suggest a new API? I'd like to have a explicit multipart() call and then accept form<T: Serialize>(val: T) and file<P: AsRef<Path>>(name: &str, p: P) . multipart() may return a new builder, say MultpartRequestBuilder or phantom typed RequestBuilder<Multipart>.
I think your option works well but I prefer explicit control over the format like json() and form.

@seanmonstar Any blockers from multipart on this? We're blocked on upgrading Hyper because of Nickel but I'm thinking of just dropping support or moving it to an external crate because they move so slowly.

@abonander if there is a blocker, I'm not aware of it. I admit I haven't had much time to look into the this issue yet.

As for the suggested API comment, having multipart() -> MultipartRequestBuilder sounds like an excellent idea.

There are already a few multipart related crates around: https://crates.io/search?q=multipart Maybe that could help, or be an inspiration.

How can I send multipart requests with this library now? I can't get it to work, sadly.

@voider1 this issue is still open, no one has been motivated enough to implement it.

How can I send multipart requests with this library now? I can't get it to work, sadly.

What you could do as a workaround is to use one of the crates here https://crates.io/search?q=multipart and simply encode the request body yourself. Once you have the encoded bytes, you can send them using reqwest.

@seanmonstar I'll give it a try, if you have any suggestions I'd like to hear them. I will be taking the suggested approach from this issue to implement it.

I think I basically finished the multipart method (didn't have a lot of time on my hands), but how should I go about implementing the send method for both RequestBuilder and MultipartRequestBuilder?

@voider1 it'd be better if there was only 1 function that was ultimately called. There's some other work to introduce a Request type, and probably some sort of client.execute(Request), so there's several different entry points to actually sending a request over the wire, and they should all converge on a single function. It may be clearer with the proposed RequestBuilder::send() internally just doing client.execute(builder.build()).

If you're using multipart::client::lazy::Multipart, there is a bug with the internal buffering that I need to sort out before this gets merged. If you're using a different crate entirely then obviously it's a non-issue.

@seanmonstar Should I just implement the MultipartRequestBuilder as I normally would do? I could adopt the Request type if you could expand on how it should be implemented. As of now, the MultipartRequestBuilder is a wrapper around RequestBuilder, I can make the RequestBuilder public so people could call multipartrequestbuilder.requestbuilder.send() or I could make a method on the MultipartRequestBuilder called send() which would call self.requestbuilder.send(). That's what I'm thinking about now, but I could adopt the Request type and the other mentioned methods and changes in my fork.
@abonander Thanks for mentioning it, but I am not using a crate for this. Implementing multipart/form-data requests myself seems easier and is trivial. I didn't take much time to look at multipart crates and when I did I couldn't get it working with Reqwest.

@voider1 I've merged the Request and RequestBuilder changes into master, so maybe it's easier to understand what I was referring to. I suspect having send() and build() methods on a multipart builder makes sense.
I wonder though, if having made all the builder methods return &mut Self will have made the chaining into a multipart builder impossible...

Thought some more, I retract what I said, even though the builder uses &mut Self, it should still be perfectly fine to chain it together. You can see this is already possible since you can chain using the ClientBuilder and RequestBuilder together in a single statement.

@seanmonstar Yes, I've implemented them in such a way that params() and files can be chained. Thanks for your input! I will make a PR soon.

On the off chance it's useful for anyone, I threw together a quick-and-dirty example of manually using the multipart crate with reqwest 0.6.2, based on dbrgn's suggestion:
https://gist.github.com/simmons/6c2e6eb3ade5bfcb962250603dd667cf


content_for / yield is not working across components

Apparently this was adressed earlier (Issue https://github.com/komposable/komponent/issues/19, PR https://github.com/komposable/komponent/pull/21) but it seems the involving view_flow line
https://github.com/komposable/komponent/blob/dde02be9d08988e65c31b4c498e4f9440775a668/lib/komponent/komponent_helper.rb#L11-L15
didn't survive the refactoring into the ComponentRenderer
https://github.com/komposable/komponent/blob/74568b7346d08a4dc750525e107f350b3260c72d/lib/komponent/component_renderer.rb#L41-L46

Hi @stevschmid thanks for the report!
@florentferry can you confirm?

Hi @stevschmid thanks for your patience while we review your PR!

Thanks for your contribution @stevschmid!

Thanks for merging 👍


1.0.1 docs do not adequately explain separation of init and handle for HTTP requests

I've read through the documentation, and did not get a good feel for why there is an init/3 function and a handle function, or why they are separate, other than init/3 being common to all requests.  I see in HEAD that there is just init, for instance.   Googling, I found this:
http://erlang.org/pipermail/erlang-questions/2012-December/071368.html
Which, for whatever reason, gave me a clearer picture of how things actually work and how code ought to be organized.
I'd be happy to work on the docs a bit to add something that gives a bit more explanation.

Hey, as pointed out it all got simplified, and I'm not actively working on 1.0.x other than fixing bugs and merging patches. That said feel free to send patches to improve the 1.0.x docs. Closing, thanks for the feedback!


Installation on Mac tries to overwrite something called rake

$ sudo gem install apiaryio
Password:
Fetching: rest-client-1.7.3.gem (100%)
Successfully installed rest-client-1.7.3
Fetching: rack-1.5.5.gem (100%)
Successfully installed rack-1.5.5
Fetching: rake-10.3.2.gem (100%)
rake's executable "rake" conflicts with /usr/bin/rake
Overwrite the executable? [yN]  N
ERROR:  Error installing apiaryio:
	"rake" from rake conflicts with /usr/bin/rake

This can be problem if can override system ruby. Please try use RVM or rbenv.

Ah, makes sense. Thanks for filling holes in my unforgivable lack of Ruby ecosystem knowledge :gem:


Add Highlight groups for Telescope

Felt Telescope prompts were meh looking, so I added some highlight groups...

Before

After

I'd love to see this merged ! But you reformatted the whole file, it's actually really hard to see your changes. I guess you have some sort of auto-format on save. To write without reformatting you can use :noa w

this feels more like personal preference, to be honest.  Also as  @ShellCode33 mentioned, you should not override default formatting styles. If you think that these should be the default colors for telescope please open a new discussion on that topic so we can check what others think

@ellisonleao while I do agree that it's a matter of preferences (it always is anyway with theming), what was interesting in this PR was the addition of the following:

TelescopePromptTitle
TelescopePreviewTitle
TelescopeTitle

That you are missing.

As you have mentioned I messed up on the auto-format, I apologize for that mistake. Regarding the actual meat & potatoes of the PR, is it okay if it's enabled via a option? I would very much like to see this feature on master.

@pooseethestroyer have you tried to add those highlights using the overrides config?

Oops my bad, I forgot about that feature... Thanks!