text:
Unable to get http3 request against pie.dev

Hi there, I was directed here by @Ousret from a merge request on httpie - hopefully this is the right location to file this bug. Please note, I would be happy to provide any additional information and try out experiments if that helps debug this issue.
Summary
I expected to get a http3 connection to pie.dev

❯ python
Python 3.12.1 (main, Dec  8 2023, 18:57:37) [Clang 14.0.3 (clang-1403.0.22.14.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from niquests import Session
>>>
>>> with Session() as s:
...     print(s.get("https://pie.dev/get"))
...
<Response HTTP/2 [200]>
>>> from urllib3.contrib.hface import HTTPProtocolFactory, HTTP3Protocol
>>>
>>> print(HTTPProtocolFactory.new(HTTP3Protocol))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/dwt/.virtualenvs/tempenv-714d1721928c9/lib/python3.12/site-packages/urllib3/contrib/hface/protocols/_factories.py", line 126, in new
    return implementation_target(**kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: HTTP3ProtocolAioQuicImpl.__init__() missing 3 required keyword-only arguments: 'remote_address', 'server_name', and 'tls_config'

Reproduction Steps
See above
System Information
$ python -m niquests.help

❯ python --version
Python 3.12.1

~/C/P/httpie  🐍 tempenv-714d1721928c9 🌱 feature-tryout-niquests
❯ macosver
10.16

~/C/P/httpie  🐍 tempenv-714d1721928c9 🌱 feature-tryout-niquests
❯ pip list
Package            Version    Editable project location
------------------ ---------- -------------------------------
certifi            2023.11.17
cffi               1.16.0
charset-normalizer 3.3.2
cryptography       41.0.7
defusedxml         0.7.1
h11                0.14.0
h2                 4.1.0
hpack              4.0.0
httpie             4.0.0b1    /Users/dwt/Code/Projekte/httpie
hyperframe         6.0.1
idna               3.6
kiss-headers       2.4.3
markdown-it-py     3.0.0
mdurl              0.1.2
multidict          6.0.4
niquests           3.4.0
pip                23.3.2
pycparser          2.21
Pygments           2.17.2
python-socks       2.4.4
qh3                0.14.0
requests           2.31.0
requests-toolbelt  1.0.0
rich               13.7.0
setuptools         69.0.3
urllib3            2.1.0
urllib3-future     2.4.902
wassima            1.0.3

~/C/P/httpie  🐍 tempenv-714d1721928c9 🌱 feature-tryout-niquests
❯ python -m niquests.help
{
  "charset_normalizer": {
    "version": "3.3.2"
  },
  "cryptography": {
    "version": "41.0.7"
  },
  "http1": {
    "h11": "0.14.0"
  },
  "http2": {
    "h2": "4.1.0"
  },
  "http3": {
    "enabled": true,
    "qh3": "0.14.0"
  },
  "idna": {
    "version": "3.6"
  },
  "implementation": {
    "name": "CPython",
    "version": "3.12.1"
  },
  "niquests": {
    "version": "3.4.0"
  },
  "ocsp": {
    "enabled": true
  },
  "platform": {
    "release": "22.6.0",
    "system": "Darwin"
  },
  "system_ssl": {
    "version": "30200000"
  },
  "urllib3.future": {
    "version": "2.4.902"
  },
  "wassima": {
    "certifi_fallback": false,
    "enabled": true,
    "version": "1.0.3"
  }
}

OK, let's try to get more intel.
import logging
from niquests import Session

logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
explain_handler = logging.StreamHandler()
explain_handler.setFormatter(
    logging.Formatter("%(asctime)s | %(levelname)s | %(message)s")
)
logger.addHandler(explain_handler)

with Session() as s:
     print(s.get("https://pie.dev/get"))

❯ python
Python 3.12.1 (main, Dec  8 2023, 18:57:37) [Clang 14.0.3 (clang-1403.0.22.14.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import logging
>>> from niquests import Session
>>>
>>> logger = logging.getLogger()
>>> logger.setLevel(logging.DEBUG)
>>> explain_handler = logging.StreamHandler()
>>> explain_handler.setFormatter(
...     logging.Formatter("%(asctime)s | %(levelname)s | %(message)s")
... )
>>> logger.addHandler(explain_handler)
>>>
>>> with Session() as s:
...      print(s.get("https://pie.dev/get"))
...
2024-01-03 12:07:11,846 | DEBUG | Converted retries value: 0 -> Retry(total=0, connect=None, read=None, redirect=None, status=None)
2024-01-03 12:07:11,847 | DEBUG | Converted retries value: 0 -> Retry(total=0, connect=None, read=None, redirect=None, status=None)
2024-01-03 12:07:11,859 | DEBUG | Starting new HTTPS connection (1): pie.dev:443
2024-01-03 12:07:12,136 | DEBUG | Converted retries value: 0 -> Retry(total=0, connect=None, read=None, redirect=None, status=None)
2024-01-03 12:07:12,136 | DEBUG | Converted retries value: 0 -> Retry(total=0, connect=None, read=None, redirect=None, status=None)
2024-01-03 12:07:12,138 | DEBUG | Starting new HTTP connection (1): e1.o.lencr.org:80
2024-01-03 12:07:12,250 | DEBUG | http://e1.o.lencr.org:80 "POST / HTTP/1.1" 200 344
2024-01-03 12:07:12,253 | DEBUG | Adding (b':method', b'GET') to the header table, sensitive:False, huffman:True
2024-01-03 12:07:12,253 | DEBUG | Encoding 2 with 7 bits
2024-01-03 12:07:12,253 | DEBUG | Adding (b':scheme', b'https') to the header table, sensitive:False, huffman:True
2024-01-03 12:07:12,253 | DEBUG | Encoding 7 with 7 bits
2024-01-03 12:07:12,253 | DEBUG | Adding (b':path', b'/get') to the header table, sensitive:False, huffman:True
2024-01-03 12:07:12,253 | DEBUG | Encoding 4 with 6 bits
2024-01-03 12:07:12,253 | DEBUG | Encoding 3 with 7 bits
2024-01-03 12:07:12,253 | DEBUG | Adding (b':authority', b'pie.dev') to the header table, sensitive:False, huffman:True
2024-01-03 12:07:12,253 | DEBUG | Encoding 1 with 6 bits
2024-01-03 12:07:12,253 | DEBUG | Encoding 5 with 7 bits
2024-01-03 12:07:12,253 | DEBUG | Adding (b'user-agent', b'niquests/3.4.0') to the header table, sensitive:False, huffman:True
2024-01-03 12:07:12,253 | DEBUG | Encoding 58 with 6 bits
2024-01-03 12:07:12,253 | DEBUG | Encoding 10 with 7 bits
2024-01-03 12:07:12,253 | DEBUG | Adding (b'accept-encoding', b'gzip, deflate') to the header table, sensitive:False, huffman:True
2024-01-03 12:07:12,254 | DEBUG | Encoding 16 with 7 bits
2024-01-03 12:07:12,254 | DEBUG | Adding (b'accept', b'*/*') to the header table, sensitive:False, huffman:True
2024-01-03 12:07:12,254 | DEBUG | Encoding 19 with 6 bits
2024-01-03 12:07:12,254 | DEBUG | Encoding 3 with 7 bits
2024-01-03 12:07:12,254 | DEBUG | Encoded header block to b'\x82\x87D\x83bb\xa7A\x85\xac\xc5^B\xf7z\x8a\xa8\xdd\xad*\x12\x86\x19]\xa5\xc1\x90S\x83\xf9c\xe7'
2024-01-03 12:07:12,305 | DEBUG | Decoding b'?\xe1\x1f\x88a\x96\xe4Y>\x94\x03*e\x1dJ\x08\x02i@\x86\xe0\x1d\xb8\x11)\x8bF\xff_\x8b\x1du\xd0b\r&=LtA\xeaT\x01*@\x96\x19\x08T!b\x1e\xa4\xd8z\x16\x1d\x14\x1f\xc2\xc4\xb0\xb2\x16\xa4\x98t#\x83M\x96\x97@\x8a$\xab\x10d\x9c\xab!#M\xa8\x86\xbf\xcfL:2^@\x87\xb0\xb5\x9e\xc4\xac\x93\xff\xffH\xff\xfd\xfc\x96\xa9+9\xaaJ?\x9b\x9f\xfb\xff\xfd\xfc\xdbe\x1f\xcd\xcf\xe6t\xa6\xb4\\\xff\xfe\x0c\x7f\xff\x06\x06\xbdE\xa1rP{d\x96\x81\xd8U\xc8z\x7f\xff\x83\x16\x16\xb3\xd8\x9f\xff\xe0\xc7v\x7f\xc4A\x9f\x81U\x15\xd1\x8b\x898\xee\xbe\x87\xf0\xe2\xd6a\xdb\xd02*+\xbbp\xf1\xd5+\x93TuE\x86\x95Eu\x00\x9e\x91\xef\xcaX\xe6\xd7\xeb~\x9f\n\x8b\x0e\t\xaf\xedg\x9b\xdc3\xf1\xf5\x82\xee\xc0>4\xfe~\xf6j\xfe\xb9\xe3\x7f\xd8=\x14\x98a\x0c\xc3\xb3\x87z\xc8\x8f^\xf68\xe7EE\x87Sx\x80\xdf\xefLCCro4\x8e\xbe\xdf\x1f\xe7\xff\xdf\xfe}\x7f3X{k\xfen\x7f$\x95j\x8bG\xf3\xf5\xfc\xd2?1\x0eb\xff7\x1c\x03O\x00\x1f\xfe\xff@\x03nel\xb1\xff\xfd\xfc\xa2\xd2\x10\xa8DR\xd82$\xc7\xab\xf9\xb8\x0f\xaf\xe6\xc2\xd6{\x13\x12O\xfc\xdc\xfeI*\xd5\x16\x8f\xe7\xeb\xf9\xa4~b\x1c\xc5\xfen8\x06\x9e\x00?\xfdv\x87%\x07\xb6Ih\x1d\x85@\x85$\xabX?_\x8fy\x99FG$|\xa5}\xd8\xdfm\xa5\xa1\xd1\xbbZ\x83\x9b\xd9\xab@\x85\x1d\tY\x1d\xc9\x90\x9d\x98?\x9b\x8d4\xcf\xf3\xf6\xa5#\x81\xe7\x1a\x00?'
2024-01-03 12:07:12,305 | DEBUG | Decoded 4096, consumed 3 bytes
2024-01-03 12:07:12,305 | DEBUG | Resizing header table to 4096 from 4096
2024-01-03 12:07:12,305 | DEBUG | Decoded 8, consumed 1 bytes
2024-01-03 12:07:12,305 | DEBUG | Decoded (b':status', b'200'), consumed 1
2024-01-03 12:07:12,305 | DEBUG | Decoded 33, consumed 1 bytes
2024-01-03 12:07:12,305 | DEBUG | Decoded 22, consumed 1 bytes
2024-01-03 12:07:12,305 | DEBUG | Decoded (b'date', b'Wed, 03 Jan 2024 11:07:12 GMT'), total consumed 24 bytes, indexed True
2024-01-03 12:07:12,305 | DEBUG | Decoded 31, consumed 1 bytes
2024-01-03 12:07:12,305 | DEBUG | Decoded 11, consumed 1 bytes
2024-01-03 12:07:12,305 | DEBUG | Decoded (b'content-type', b'application/json'), total consumed 13 bytes, indexed True
2024-01-03 12:07:12,305 | DEBUG | Decoded 20, consumed 1 bytes
2024-01-03 12:07:12,305 | DEBUG | Decoded 1, consumed 1 bytes
2024-01-03 12:07:12,305 | DEBUG | Decoded (b'access-control-allow-origin', <memory at 0x102dfb700>), total consumed 3 bytes, indexed True
2024-01-03 12:07:12,305 | DEBUG | Decoded 22, consumed 1 bytes
2024-01-03 12:07:12,305 | DEBUG | Decoded 3, consumed 1 bytes
2024-01-03 12:07:12,305 | DEBUG | Decoded (b'access-control-allow-credentials', b'true'), total consumed 28 bytes, indexed True
2024-01-03 12:07:12,305 | DEBUG | Decoded 10, consumed 1 bytes
2024-01-03 12:07:12,306 | DEBUG | Decoded 6, consumed 1 bytes
2024-01-03 12:07:12,306 | DEBUG | Decoded (b'cf-cache-status', b'DYNAMIC'), total consumed 19 bytes, indexed True
2024-01-03 12:07:12,306 | DEBUG | Decoded 7, consumed 1 bytes
2024-01-03 12:07:12,306 | DEBUG | Decoded 199, consumed 2 bytes
2024-01-03 12:07:12,306 | DEBUG | Decoded (b'report-to', b'{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v3?s=LUe%2Ba2VcVSDs9FGPiauj1d%2BRFVOf6gno%2Fm%2Bs0hmaTJebgPyTNw%2FEgDR3Y8ULVyEBQ09atXZq4DPhb9z0yecFA1garUvpcsyzQ66j%2FO5G05ZjGas5dTid795V"}],"group":"cf-nel","max_age":604800}'), total consumed 210 bytes, indexed True
2024-01-03 12:07:12,306 | DEBUG | Decoded 3, consumed 1 bytes
2024-01-03 12:07:12,306 | DEBUG | Decoded 49, consumed 1 bytes
2024-01-03 12:07:12,306 | DEBUG | Decoded (<memory at 0x102dfb1c0>, b'{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'), total consumed 55 bytes, indexed True
2024-01-03 12:07:12,306 | DEBUG | Decoded 54, consumed 1 bytes
2024-01-03 12:07:12,306 | DEBUG | Decoded 7, consumed 1 bytes
2024-01-03 12:07:12,306 | DEBUG | Decoded (b'server', b'cloudflare'), total consumed 9 bytes, indexed True
2024-01-03 12:07:12,306 | DEBUG | Decoded 5, consumed 1 bytes
2024-01-03 12:07:12,306 | DEBUG | Decoded 15, consumed 1 bytes
2024-01-03 12:07:12,306 | DEBUG | Decoded (b'cf-ray', b'83fac6d9ee97b954-AMS'), total consumed 23 bytes, indexed True
2024-01-03 12:07:12,306 | DEBUG | Decoded 26, consumed 1 bytes
2024-01-03 12:07:12,306 | DEBUG | Decoded 3, consumed 1 bytes
2024-01-03 12:07:12,306 | DEBUG | Decoded (b'content-encoding', b'gzip'), total consumed 5 bytes, indexed True
2024-01-03 12:07:12,306 | DEBUG | Decoded 5, consumed 1 bytes
2024-01-03 12:07:12,306 | DEBUG | Decoded 16, consumed 1 bytes
2024-01-03 12:07:12,306 | DEBUG | Decoded (b'alt-svc', b'h3=":443"; ma=86400'), total consumed 24 bytes, indexed True
2024-01-03 12:07:12,306 | DEBUG | https://pie.dev:443 "GET /get HTTP/2.0" 200 None
<Response HTTP/2 [200]>
>>>

Everything seems fine on Niquests side.
I have a reasonable explanation onto why. Forget about the HTTP/1.1 it is a OCSP request made to ensure you're not getting MITM-hacked.
from niquests import Session

with Session() as s:
      print(s.get("https://pie.dev/get"))
      print(s.get("https://pie.dev/get"))

Then run
from niquests import Session

with Session(resolver="doh+google://") as s:
      print(s.get("https://pie.dev/get"))

On the HTTPie side, verify your config directory is actually writable.
Run (twice):
https pie.dev/get

and
https --resolver "doh+google://" pie.dev/get

You should have a file in /Users/dwt/.config/httpie named quic.json.
Finally, I did find a bug in the PR. The caching layer wasn't properly injected in the custom HTTPSAdapter, and made the --http3 flag useless.
I fixed it. Thank you for the report and debug.
Tell me if this (recent push) fixed the problem.

Do you confirm its fixed? If so, feel free to close this issue.

Re:
I am going to suppose everything is OK on your side.
If not, do not hesitate to let me know.
Regards,

Sorry, I was a bit away the last few days - I have retested now and had these findings:
❯ python
Python 3.12.1 (main, Dec  8 2023, 18:57:37) [Clang 14.0.3 (clang-1403.0.22.14.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from niquests import Session

with Session() as s:
      print(s.get("https://pie.dev/get"))
      print(s.get("https://pie.dev/get"))

>>>
>>> with Session() as s:
...       print(s.get("https://pie.dev/get"))
...       print(s.get("https://pie.dev/get"))
...
<Response HTTP/2 [200]>
<Response HTTP/3 [200]>
>>> ^D

~/C/P/httpie  🐍 tempenv-714d1721928c9 🌱 feature-tryout-niquests  6s
❯ python
Python 3.12.1 (main, Dec  8 2023, 18:57:37) [Clang 14.0.3 (clang-1403.0.22.14.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from niquests import Session

with Session(resolver="doh+google://") as s:
      print(s.get("https://pie.dev/get"))

>>>
>>> with Session(resolver="doh+google://") as s:
...       print(s.get("https://pie.dev/get"))
...
<Response HTTP/3 [200]>
>>> ^D

This seems to work - could you perhaps elaborate why the first request didn't work but the second did? Does the session need to collect the information that the host is http3 capable before trying it?
On the shell I was not so lucky:
❯ https pie.dev/get
HTTP/2 200 OK
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
Alt-Svc: h3=":443"; ma=86400
Cf-Cache-Status: DYNAMIC
Cf-Ray: 842cb3d0b8d70baa-AMS
Content-Encoding: gzip
Content-Type: application/json
Date: Tue, 09 Jan 2024 12:32:20 GMT
Nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=2oJxp%2FRmNZ11y7hhOr9bkcI3MRmBHh0wyDGi5ZbvJbFo7tkxRJ7ULTPR%2F4EJslQGJhR4B2jh2zwO9BkNA8Jl55t2n%2FAHrW99AC7QjOTWDWqvQhgGvSdkuZhV"}],"group":"cf-nel","max_age":604800}
Server: cloudflare

{
    "args": {},
    "headers": {
        "Accept": "*/*",
        "Accept-Encoding": "gzip",
        "Cdn-Loop": "cloudflare",
        "Cf-Connecting-Ip": "91.65.247.116",
        "Cf-Ipcountry": "DE",
        "Cf-Ray": "842cb3d0b8d70baa-FRA",
        "Cf-Visitor": "{\"scheme\":\"https\"}",
        "Connection": "Keep-Alive",
        "Host": "pie.dev",
        "User-Agent": "HTTPie/4.0.0.b1"
    },
    "origin": "91.65.247.116",
    "url": "https://pie.dev/get"
}

~/C/P/httpie  🐍 tempenv-714d1721928c9 🌱 feature-tryout-niquests
❯ https pie.dev/get
HTTP/2 200 OK
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
Alt-Svc: h3=":443"; ma=86400
Cf-Cache-Status: DYNAMIC
Cf-Ray: 842cb3e7be386fab-CDG
Content-Encoding: gzip
Content-Type: application/json
Date: Tue, 09 Jan 2024 12:32:24 GMT
Nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=x7%2BYUHaNka9LBnCLM6ndKctXAAokJ1BGvBYvJF9pdbc0yjLZowYIT68ULkJ2sQyw50STbTjTWS8uE2wWAb0%2BmMkbE4JWrCczanMqBw%2BN8Mw0EH24c7eG1RVY"}],"group":"cf-nel","max_age":604800}
Server: cloudflare

{
    "args": {},
    "headers": {
        "Accept": "*/*",
        "Accept-Encoding": "gzip",
        "Cdn-Loop": "cloudflare",
        "Cf-Connecting-Ip": "91.65.247.116",
        "Cf-Ipcountry": "DE",
        "Cf-Ray": "842cb3e7be386fab-FRA",
        "Cf-Visitor": "{\"scheme\":\"https\"}",
        "Connection": "Keep-Alive",
        "Host": "pie.dev",
        "User-Agent": "HTTPie/4.0.0.b1"
    },
    "origin": "91.65.247.116",
    "url": "https://pie.dev/get"
}

~/C/P/httpie  🐍 tempenv-714d1721928c9 🌱 feature-tryout-niquests
❯ https --resolver "doh+google://" pie.dev/get
HTTP/2 200 OK
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
Alt-Svc: h3=":443"; ma=86400
Cf-Cache-Status: DYNAMIC
Cf-Ray: 842cb4360fa76627-AMS
Content-Encoding: gzip
Content-Type: application/json
Date: Tue, 09 Jan 2024 12:32:36 GMT
Nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=Fp5K55yzrboR%2FvkSr%2FPSGCQDM4Ghoo0SrBN%2B6c4aGvLtcMZ%2Byb4YFsyN5cXTPwzXXNQ4pQuOSO95TJcA%2FscaiqVFzaZhOREMhbW4n3atnpWkDsFXVNXKsK1B"}],"group":"cf-nel","max_age":604800}
Server: cloudflare

{
    "args": {},
    "headers": {
        "Accept": "*/*",
        "Accept-Encoding": "gzip",
        "Cdn-Loop": "cloudflare",
        "Cf-Connecting-Ip": "91.65.247.116",
        "Cf-Ipcountry": "DE",
        "Cf-Ray": "842cb4360fa76627-FRA",
        "Cf-Visitor": "{\"scheme\":\"https\"}",
        "Connection": "Keep-Alive",
        "Host": "pie.dev",
        "User-Agent": "HTTPie/4.0.0.b1"
    },
    "origin": "91.65.247.116",
    "url": "https://pie.dev/get"
}

~/C/P/httpie  🐍 tempenv-714d1721928c9 🌱 feature-tryout-niquests
❯ https --resolver "doh+google://" pie.dev/get
HTTP/2 200 OK
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
Alt-Svc: h3=":443"; ma=86400
Cf-Cache-Status: DYNAMIC
Cf-Ray: 842cb44ccf350a6f-AMS
Content-Encoding: gzip
Content-Type: application/json
Date: Tue, 09 Jan 2024 12:32:40 GMT
Nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=23Q18VEt4d3YuApMUBS0NTExzN7TV5dpwqZTzifTgpck9dNsMyCCsyur8MPNw%2BIJy361tQXa3hGY%2F%2FzQzq3%2Fx1kF2FooPIdblwTZQLSIeDDSxchRi6mKuwmO"}],"group":"cf-nel","max_age":604800}
Server: cloudflare

{
    "args": {},
    "headers": {
        "Accept": "*/*",
        "Accept-Encoding": "gzip",
        "Cdn-Loop": "cloudflare",
        "Cf-Connecting-Ip": "91.65.247.116",
        "Cf-Ipcountry": "DE",
        "Cf-Ray": "842cb44ccf350a6f-FRA",
        "Cf-Visitor": "{\"scheme\":\"https\"}",
        "Connection": "Keep-Alive",
        "Host": "pie.dev",
        "User-Agent": "HTTPie/4.0.0.b1"
    },
    "origin": "91.65.247.116",
    "url": "https://pie.dev/get"
}

~/C/P/httpie  🐍 tempenv-714d1721928c9 🌱 feature-tryout-niquests
❯ https --http3 --resolver "doh+google://" pie.dev/get
HTTP/2 200 OK
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
Alt-Svc: h3=":443"; ma=86400
Cf-Cache-Status: DYNAMIC
Cf-Ray: 842cb5b37abe6f04-CDG
Content-Encoding: gzip
Content-Type: application/json
Date: Tue, 09 Jan 2024 12:33:37 GMT
Nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=6R7RN875gKI2cArgg3Mw9EHgmOQdoP5FgQUhkDgs%2F4A6QPxZjnzvdei1aMvyxovWIxvVNdYjScTDrYr%2BtTnHdMKOTePN6X0O4bqBgDplqFoLr1L3%2BRV54SZp"}],"group":"cf-nel","max_age":604800}
Server: cloudflare

{
    "args": {},
    "headers": {
        "Accept": "*/*",
        "Accept-Encoding": "gzip",
        "Cdn-Loop": "cloudflare",
        "Cf-Connecting-Ip": "91.65.247.116",
        "Cf-Ipcountry": "DE",
        "Cf-Ray": "842cb5b37abe6f04-FRA",
        "Cf-Visitor": "{\"scheme\":\"https\"}",
        "Connection": "Keep-Alive",
        "Host": "pie.dev",
        "User-Agent": "HTTPie/4.0.0.b1"
    },
    "origin": "91.65.247.116",
    "url": "https://pie.dev/get"
}

~/C/P/httpie  🐍 tempenv-714d1721928c9 🌱 feature-tryout-niquests
❯ https --http3 pie.dev/get
HTTP/2 200 OK
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
Alt-Svc: h3=":443"; ma=86400
Cf-Cache-Status: DYNAMIC
Cf-Ray: 842cb5db7d00f110-CDG
Content-Encoding: gzip
Content-Type: application/json
Date: Tue, 09 Jan 2024 12:33:44 GMT
Nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=Jhqw1wkYiH55ne8D4%2B4qGnyyHbbx01QNCTZcCcqQYFuXv%2FwQb3ZGu%2FYmZI6VBiglfw4GXmo2XhG0F26m9ZdSgur4U3Gl68Rz83DOglkIAgtv4NtTYxWz9aor"}],"group":"cf-nel","max_age":604800}
Server: cloudflare

{
    "args": {},
    "headers": {
        "Accept": "*/*",
        "Accept-Encoding": "gzip",
        "Cdn-Loop": "cloudflare",
        "Cf-Connecting-Ip": "91.65.247.116",
        "Cf-Ipcountry": "DE",
        "Cf-Ray": "842cb5db7d00f110-FRA",
        "Cf-Visitor": "{\"scheme\":\"https\"}",
        "Connection": "Keep-Alive",
        "Host": "pie.dev",
        "User-Agent": "HTTPie/4.0.0.b1"
    },
    "origin": "91.65.247.116",
    "url": "https://pie.dev/get"
}

All the while the config directory seems to be perfectly writeable, but no config file shows up there.
~/.config/httpie
❯ ls -al .
total 8
drwxr-xr-x   3 dwt  staff   96  3 Jan 10:43 ./
drwxr-xr-x  23 dwt  staff  736  3 Jan 10:43 ../
-rw-r--r--   1 dwt  staff  221  3 Jan 10:43 version_info.json

If you give me a point where to start, I can try to debug the library to see why it can't seem to write in that directory?

OK.
Let's try to further understand your case.
Immediately I would try to remove httpie completely and re do the installation of the fork/patch and try again. I am suspicious on how --http3 did not work. I think it will resolve your case definitely. Let me know.

could you perhaps elaborate why the first request didn't work but the second did? Does the session need to collect the information that the host is http3 capable before trying it?

without a custom DNS, you cannot reach a HTTP/3 endpoint without prior establishing a HTTP/1 or HTTP/2 link, that's why.

Not sure, it seems that your assesmen that the quic config file is not written still seems correct.
Even when recreating the full venv and trying the requests multiple times that file is not written - and of course the requests stay at http/2
Details

❯ cd Code/Projekte/httpie/

~/C/P/httpie  🐍  🌱 feature-tryout-niquests
❯ vf tmp
Creating tempenv-51b5170562de8 via ~/.local/pipx/venvs/virtualfish/bin/python …

~/C/P/httpie  🐍 tempenv-51b5170562de8 🌱 feature-tryout-niquests  3s
❯ git pull
Already up to date.

~/C/P/httpie  🐍 tempenv-51b5170562de8 🌱 feature-tryout-niquests  2s
❯ git remote -v
origin	git@github.com:Ousret/httpie.git (fetch)
origin	git@github.com:Ousret/httpie.git (push)

~/C/P/httpie  🐍 tempenv-51b5170562de8 🌱 feature-tryout-niquests
❯ pip install --editable .
Obtaining file:///Users/dwt/Code/Projekte/httpie
  Installing build dependencies ... done
  Checking if build backend supports build_editable ... done
  Getting requirements to build editable ... done
  Preparing editable metadata (pyproject.toml) ... done
Requirement already satisfied: pip in /Users/dwt/.virtualenvs/tempenv-51b5170562de8/lib/python3.12/site-packages (from httpie==4.0.0b1) (23.3.2)
Collecting charset-normalizer>=2.0.0 (from httpie==4.0.0b1)
  Using cached charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl.metadata (33 kB)
Collecting defusedxml>=0.6.0 (from httpie==4.0.0b1)
  Using cached defusedxml-0.7.1-py2.py3-none-any.whl (25 kB)
Collecting niquests<4,>=3.4.0 (from niquests[socks]<4,>=3.4.0->httpie==4.0.0b1)
  Downloading niquests-3.4.1-py3-none-any.whl.metadata (6.4 kB)
Collecting Pygments>=2.5.2 (from httpie==4.0.0b1)
  Using cached pygments-2.17.2-py3-none-any.whl.metadata (2.6 kB)
Collecting setuptools (from httpie==4.0.0b1)
  Using cached setuptools-69.0.3-py3-none-any.whl.metadata (6.3 kB)
Collecting rich>=9.10.0 (from httpie==4.0.0b1)
  Using cached rich-13.7.0-py3-none-any.whl.metadata (18 kB)
Collecting idna<4,>=2.5 (from niquests<4,>=3.4.0->niquests[socks]<4,>=3.4.0->httpie==4.0.0b1)
  Using cached idna-3.6-py3-none-any.whl.metadata (9.9 kB)
Collecting kiss-headers<4,>=2 (from niquests<4,>=3.4.0->niquests[socks]<4,>=3.4.0->httpie==4.0.0b1)
  Using cached kiss_headers-2.4.3-py3-none-any.whl.metadata (13 kB)
Collecting urllib3-future<3,>=2.4.901 (from niquests<4,>=3.4.0->niquests[socks]<4,>=3.4.0->httpie==4.0.0b1)
  Downloading urllib3_future-2.4.903-py3-none-any.whl.metadata (6.1 kB)
Collecting wassima<2,>=1.0.1 (from niquests<4,>=3.4.0->niquests[socks]<4,>=3.4.0->httpie==4.0.0b1)
  Using cached wassima-1.0.3-cp37-abi3-macosx_11_0_arm64.whl.metadata (3.8 kB)
Collecting markdown-it-py>=2.2.0 (from rich>=9.10.0->httpie==4.0.0b1)
  Using cached markdown_it_py-3.0.0-py3-none-any.whl.metadata (6.9 kB)
Collecting mdurl~=0.1 (from markdown-it-py>=2.2.0->rich>=9.10.0->httpie==4.0.0b1)
  Using cached mdurl-0.1.2-py3-none-any.whl (10.0 kB)
Collecting h11<1.0.0,>=0.11.0 (from urllib3-future<3,>=2.4.901->niquests<4,>=3.4.0->niquests[socks]<4,>=3.4.0->httpie==4.0.0b1)
  Using cached h11-0.14.0-py3-none-any.whl (58 kB)
Collecting h2<5.0.0,>=4.0.0 (from urllib3-future<3,>=2.4.901->niquests<4,>=3.4.0->niquests[socks]<4,>=3.4.0->httpie==4.0.0b1)
  Using cached h2-4.1.0-py3-none-any.whl (57 kB)
Collecting qh3<1.0.0,>=0.14.0 (from urllib3-future<3,>=2.4.901->niquests<4,>=3.4.0->niquests[socks]<4,>=3.4.0->httpie==4.0.0b1)
  Using cached qh3-0.14.0-cp37-abi3-macosx_11_0_arm64.whl.metadata (4.8 kB)
Collecting python-socks<3.0,>=2.0 (from urllib3-future[socks]<3,>=2.4.901; extra == "socks"->niquests[socks]<4,>=3.4.0->httpie==4.0.0b1)
  Using cached python_socks-2.4.4-py3-none-any.whl.metadata (7.1 kB)
Collecting hyperframe<7,>=6.0 (from h2<5.0.0,>=4.0.0->urllib3-future<3,>=2.4.901->niquests<4,>=3.4.0->niquests[socks]<4,>=3.4.0->httpie==4.0.0b1)
  Using cached hyperframe-6.0.1-py3-none-any.whl (12 kB)
Collecting hpack<5,>=4.0 (from h2<5.0.0,>=4.0.0->urllib3-future<3,>=2.4.901->niquests<4,>=3.4.0->niquests[socks]<4,>=3.4.0->httpie==4.0.0b1)
  Using cached hpack-4.0.0-py3-none-any.whl (32 kB)
Collecting cryptography<42.0.0,>=41.0.0 (from qh3<1.0.0,>=0.14.0->urllib3-future<3,>=2.4.901->niquests<4,>=3.4.0->niquests[socks]<4,>=3.4.0->httpie==4.0.0b1)
  Using cached cryptography-41.0.7-cp37-abi3-macosx_10_12_universal2.whl.metadata (5.2 kB)
Collecting cffi>=1.12 (from cryptography<42.0.0,>=41.0.0->qh3<1.0.0,>=0.14.0->urllib3-future<3,>=2.4.901->niquests<4,>=3.4.0->niquests[socks]<4,>=3.4.0->httpie==4.0.0b1)
  Using cached cffi-1.16.0-cp312-cp312-macosx_11_0_arm64.whl.metadata (1.5 kB)
Collecting pycparser (from cffi>=1.12->cryptography<42.0.0,>=41.0.0->qh3<1.0.0,>=0.14.0->urllib3-future<3,>=2.4.901->niquests<4,>=3.4.0->niquests[socks]<4,>=3.4.0->httpie==4.0.0b1)
  Using cached pycparser-2.21-py2.py3-none-any.whl (118 kB)
Using cached charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl (119 kB)
Downloading niquests-3.4.1-py3-none-any.whl (94 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 94.5/94.5 kB 1.2 MB/s eta 0:00:00
Using cached pygments-2.17.2-py3-none-any.whl (1.2 MB)
Using cached rich-13.7.0-py3-none-any.whl (240 kB)
Using cached setuptools-69.0.3-py3-none-any.whl (819 kB)
Using cached idna-3.6-py3-none-any.whl (61 kB)
Using cached kiss_headers-2.4.3-py3-none-any.whl (43 kB)
Using cached markdown_it_py-3.0.0-py3-none-any.whl (87 kB)
Downloading urllib3_future-2.4.903-py3-none-any.whl (337 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 338.0/338.0 kB 6.1 MB/s eta 0:00:00
Using cached wassima-1.0.3-cp37-abi3-macosx_11_0_arm64.whl (261 kB)
Using cached python_socks-2.4.4-py3-none-any.whl (52 kB)
Using cached qh3-0.14.0-cp37-abi3-macosx_11_0_arm64.whl (263 kB)
Using cached cryptography-41.0.7-cp37-abi3-macosx_10_12_universal2.whl (5.3 MB)
Using cached cffi-1.16.0-cp312-cp312-macosx_11_0_arm64.whl (177 kB)
Building wheels for collected packages: httpie
  Building editable for httpie (pyproject.toml) ... done
  Created wheel for httpie: filename=httpie-4.0.0b1-0.editable-py3-none-any.whl size=7312 sha256=d77ed3eca64b9478e633b272b9e9142a5ec2ba03fab00b6a83a31c456fef829b
  Stored in directory: /private/var/folders/hc/ss_swh2s7rscgx4402mjxtv00000gn/T/pip-ephem-wheel-cache-nppdx0j0/wheels/60/bd/76/3d063ddffe013d962cd599bbfd12c29d9a91313e761fc7f76e
Successfully built httpie
Installing collected packages: python-socks, wassima, setuptools, Pygments, pycparser, mdurl, kiss-headers, idna, hyperframe, hpack, h11, defusedxml, charset-normalizer, markdown-it-py, h2, cffi, rich, cryptography, qh3, urllib3-future, niquests, httpie
Successfully installed Pygments-2.17.2 cffi-1.16.0 charset-normalizer-3.3.2 cryptography-41.0.7 defusedxml-0.7.1 h11-0.14.0 h2-4.1.0 hpack-4.0.0 httpie-4.0.0b1 hyperframe-6.0.1 idna-3.6 kiss-headers-2.4.3 markdown-it-py-3.0.0 mdurl-0.1.2 niquests-3.4.1 pycparser-2.21 python-socks-2.4.4 qh3-0.14.0 rich-13.7.0 setuptools-69.0.3 urllib3-future-2.4.903 wassima-1.0.3

~/C/P/httpie  🐍 tempenv-51b5170562de8 🌱 feature-tryout-niquests  14s
❯ pip list
Package            Version Editable project location
------------------ ------- -------------------------------
cffi               1.16.0
charset-normalizer 3.3.2
cryptography       41.0.7
defusedxml         0.7.1
h11                0.14.0
h2                 4.1.0
hpack              4.0.0
httpie             4.0.0b1 /Users/dwt/Code/Projekte/httpie
hyperframe         6.0.1
idna               3.6
kiss-headers       2.4.3
markdown-it-py     3.0.0
mdurl              0.1.2
niquests           3.4.1
pip                23.3.2
pycparser          2.21
Pygments           2.17.2
python-socks       2.4.4
qh3                0.14.0
rich               13.7.0
setuptools         69.0.3
urllib3-future     2.4.903
wassima            1.0.3

~/C/P/httpie  🐍 tempenv-51b5170562de8 🌱 feature-tryout-niquests
❯ which https
/Users/dwt/.virtualenvs/tempenv-51b5170562de8/bin/https

~/C/P/httpie  🐍 tempenv-51b5170562de8 🌱 feature-tryout-niquests
❯ https --http3 --resolver "doh+google://" pie.dev/get
HTTP/2 200 OK
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
Alt-Svc: h3=":443"; ma=86400
Cf-Cache-Status: DYNAMIC
Cf-Ray: 842e2f7a4e881c82-AMS
Content-Encoding: gzip
Content-Type: application/json
Date: Tue, 09 Jan 2024 16:51:31 GMT
Nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=yU2NQKMxVXTqBiwWJaDtlkEUH3k5p4Z6g7%2BhFgmAFrgFXzR1KMqb98mx7Mu5x4LHu3NPz8Wm7NxYanPM4o18syEXQWm9ug2%2BOo6pOjFaMt%2BHmvRAunSgO%2FND"}],"group":"cf-nel","max_age":604800}
Server: cloudflare

{
    "args": {},
    "headers": {
        "Accept": "*/*",
        "Accept-Encoding": "gzip",
        "Cdn-Loop": "cloudflare",
        "Cf-Connecting-Ip": "91.65.247.116",
        "Cf-Ipcountry": "DE",
        "Cf-Ray": "842e2f7a4e881c82-FRA",
        "Cf-Visitor": "{\"scheme\":\"https\"}",
        "Connection": "Keep-Alive",
        "Host": "pie.dev",
        "User-Agent": "HTTPie/4.0.0.b1"
    },
    "origin": "91.65.247.116",
    "url": "https://pie.dev/get"
}

~/C/P/httpie  🐍 tempenv-51b5170562de8 🌱 feature-tryout-niquests  3s
❯ https --http3 pie.dev/get
HTTP/2 200 OK
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
Alt-Svc: h3=":443"; ma=86400
Cf-Cache-Status: DYNAMIC
Cf-Ray: 842e2feaadf365df-FRA
Content-Encoding: gzip
Content-Type: application/json
Date: Tue, 09 Jan 2024 16:51:49 GMT
Nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=oymUHuIvuaPYe9IGgqJnfHIrH6FGoLgcwv%2Bt3Mrkv%2F0%2F4ejdbfgXqUEDsCRESYYv6MSRxbvr84jZnsPyVc5K12ZiaZB%2FCssOdpPV08UNm%2BwNqpAlr7Z1PXL7"}],"group":"cf-nel","max_age":604800}
Server: cloudflare

{
    "args": {},
    "headers": {
        "Accept": "*/*",
        "Accept-Encoding": "gzip",
        "Cdn-Loop": "cloudflare",
        "Cf-Connecting-Ip": "91.65.247.116",
        "Cf-Ipcountry": "DE",
        "Cf-Ray": "842e2feaadf365df-FRA",
        "Cf-Visitor": "{\"scheme\":\"https\"}",
        "Connection": "Keep-Alive",
        "Host": "pie.dev",
        "User-Agent": "HTTPie/4.0.0.b1"
    },
    "origin": "91.65.247.116",
    "url": "https://pie.dev/get"
}

~/C/P/httpie  🐍 tempenv-51b5170562de8 🌱 feature-tryout-niquests
❯ ls ~/.config/httpie/
version_info.json

OK. I could collect some data using https://github.com/Ousret/httpie-test/actions/runs/7470350480/job/20328900920
I am going to be able to propose a fix for this, hopefully soon. It has to do with the args parser, something seems off.

Oh great, it is reproducible! Please ping me if I can help.
Also: sorry if it might take me a few days to respond.

Wasn't easy, but ultimately found why.
It depended on the system openssl default cipher list, that excluded by accident QUIC ciphers, therefore disabled http/3...
It is fixed. You may try again.

yay!
❯ https --http3 pie.dev/get
HTTP/3 200 OK
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
Alt-Svc: h3=":443"; ma=86400
Cf-Cache-Status: DYNAMIC
Cf-Ray: 84678dcdbdec0bdc-AMS
Content-Encoding: gzip
Content-Type: application/json
Date: Tue, 16 Jan 2024 15:57:23 GMT
Nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=g7XjPz9ElzpYpSXcIk4CyBHzEoVn4VOu80R65aLy6UJ9bLs3H9zT%2FK%2BNiuYRKsqn%2BWQgG6VHnUtChRB9JzUL39l9Tk11yplURAJR3pqdteMkkiytQEEvPDR6"}],"group":"cf-nel","max_age":604800}
Server: cloudflare

{
    "args": {},
    "headers": {
        "Accept": "*/*",
        "Accept-Encoding": "gzip",
        "Cdn-Loop": "cloudflare",
        "Cf-Connecting-Ip": "91.65.247.116",
        "Cf-Ipcountry": "DE",
        "Cf-Ray": "84678dcdbdec0bdc-FRA",
        "Cf-Visitor": "{\"scheme\":\"https\"}",
        "Connection": "Keep-Alive",
        "Host": "pie.dev",
        "User-Agent": "HTTPie/4.0.0.b1"
    },
    "origin": "91.65.247.116",
    "url": "https://pie.dev/get"
}

Indeed this fixes it for me. :)

authors: Ousret dwt

repo: jawah/niquests


text:
[ページ追加] Cloud9

Cloud9の手順も同じサイトの中で見れると良い気がしたのだけどどうだろう？

リハーサルに向けて取り込みますー

source: gharchive/pull-request

authors: horsewin yamatatsu

repo: jaws-ug-cdk/aws-cdk-intro-workshop

license_type: permissive

license_source: github-api


text:
gam org operations fail when orgnames contain spaces

I have upgraded to the latest GAM release from https://git.io/gamreleases and I still have this issue.
I am typing the command as described in the GAM Wiki at https://github.com/jay0lee/gam/wiki

Full steps to reproduce the issue:

create an OU path that includes spaces in the OU and the sub OU
create a user
try to move the user to the sub OU you created, quoting the name of the OU to avoid spaces, or using the id, to circumvent the whole spaces issue altogether

example:
gam update org id:someorgid users someuser
reports back:
ERROR: 400: Invalid Input: INVALID_OU_ID - invalid
trying gam update user someuser org "Some Orgname With Spaces/Suborg With Spaces/SubSubOrg With Spaces"
reports back:
ERROR: Spaces/Suborg is not a valid argument for "gam update user"
Expected outcome (what are you trying to do?):
The user is successfully moved to the OU
Actual outcome (what errors or bad behavior do you see instead?):
error message resulting from spaces in the name

It's working for me.
Ross
$ gam version
GAM 4.96 - https://git.io/gam
Jay Lee <jay0lee@gmail.com>
Python 3.8.0 64-bit final
google-api-python-client 1.7.11
MacOS Sierra 10.12.6 x86_64
Path: /Users/admin/Documents/GoogleApps/GAM

$ gam info ou "/Test Space/Sub Space/Sub Sub Space"

 name: Sub Sub Space
 description: Sub Sub Space
 orgUnitPath: /Test Space/Sub Space/Sub Sub Space
 orgUnitId: id:03ph8a2z24acgk2
 parentOrgUnitPath: /Test Space/Sub Space
 parentOrgUnitId: id:03ph8a2z3h9j9wu
Got 0 Users:  -
Users:

$ gam update user testuser7 org "/Test Space/Sub Space/Sub Sub Space"
updating user testuser7@rdschool.org...

$ gam info user testuser7 nogroups nolicenses
User: testuser7@rdschool.org
First Name: Test
Last Name: User7
Is a Super Admin: False
Is Delegated Admin: False
2-step enrolled: False
2-step enforced: False
Has Agreed to Terms: False
IP Whitelisted: False
Account Suspended: False
Is Archived: False
Must Change Password: False
Google Unique ID: 666925742703179281666
Customer ID: C012345678
Mailbox is setup: True
Included in GAL: True
Creation Time: 2019-11-09T00:35:09.000Z
Last login time: Never
Google Org Unit Path: /Test Space/Sub Space/Sub Sub Space

$ gam info ou "/Test Space/Sub Space/Sub Sub Space"

 name: Sub Sub Space
 description: Sub Sub Space
 orgUnitPath: /Test Space/Sub Space/Sub Sub Space
 orgUnitId: id:03ph8a2z24acgk2
 parentOrgUnitPath: /Test Space/Sub Space
 parentOrgUnitId: id:03ph8a2z3h9j9wu
Got 1 Users: testuser7@rdschool.org - testuser7@rdschool.org
Users:
 testuser7@rdschool.org

This is not supported by Gam

$ gam update user testuser7 org id:03ph8a2z24acgk2

ERROR: id:03ph8a2z24acgk2 is not valid in this context

Found the problem, it had to do with how I was executing gam:
#!/bin/bash
pushd ~/Downloads/gam
./gam
popd

Just calling gam directly negates the issue.

source: gharchive/issue


text:
🛑 UpMob-API NL is down

In 33c165f, UpMob-API NL ($UPMOB_API) was down:

HTTP code: 0
Response time: 0 ms

Resolved: UpMob-API NL is back up in e2fe13d.

repo: jayantkatia/status

license: MIT


text:
support in-line cooments #5 but there are performance concerns

Thank you for a very good library.
When I looked at the issues, there were some that were not supported, so I sent a Pull Request.
However, there are performance concerns with this implementation.
It will be a bit complicated, but should I change the processing between the cases with in-line comment and without it?

Hi Bootjp,
Thanks for your kind words :)
Can you elaborate a bit on the performance concerns?  How large of hosts files are you trying to consume with this?
Not sure if I'm missing something, because this PR seems reasonable AFAICT.

@bootjp LGTM, thank you!

authors: bootjp jaytaylor

repo: jaytaylor/go-hostsfile

license: mit

license_source: bigquery


text:
Better support for self signed certificates

From mjenk...@idbs.com on June 29, 2012 14:05:03
What steps will reproduce the problem? 1. test an ssl connection with a self signed certificate (no hostname specified) 2. 3. What is the expected output? What do you see instead? I would like to be able to do this but am prevented to because I cannot specify the default host name verifier What version of the product are you using? On what operating system? 1.6.2 (windows) Please provide any additional information below. I would like something like this to work. Many thanks!
    /*
     * The following code basically nullifies all SSL checks - this is not recommended to be copied without thought
     * of the consequences!! Sadly rest assured ignores all this so we may well have to ditch rest assured
     */

    TrustManager[] certs = new TrustManager[]
    { new X509TrustManager()
    {
        @Override
        public X509Certificate[] getAcceptedIssuers()
        {
            return null;
        }

        @Override
        public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException
        {
        }

        @Override
        public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException
        {
        }
    } };
    SSLContext ctx = null;
    try
    {
        ctx = SSLContext.getInstance("TLS");
        ctx.init(null, certs, new SecureRandom());
    }
    catch (java.security.GeneralSecurityException ex)
    {
    }

    if (ctx != null)
    {
        HttpsURLConnection.setDefaultSSLSocketFactory(ctx.getSocketFactory());
    }

    HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier()
    {
        public boolean verify(String hostname, SSLSession session)
        {
            return true;
        }
    });

Original issue: http://code.google.com/p/rest-assured/issues/detail?id=182

From mjenk...@idbs.com on June 29, 2012 05:05:33
Actually this should be an enhancement - sorry

From johan.ha...@gmail.com on July 13, 2012 23:54:26
And you just execute this before you make a request with HTTP Client and it should work?
Status: Accepted
Labels: -Type-Defect Type-Enhancement

From kmin...@gmail.com on October 22, 2012 06:17:18
I just posted to the forum a HttpClient+Jetty sample that might help Johan implement this.  included in that post is a suggestion for how I think the API should work.  The forum post hasn't show up yet so I can't link it here.  I have however attached the sample.
Attachment: self-signed-certs.zip

From webust...@gmail.com on December 06, 2013 06:20:10
Also see https://github.com/jayway/rest-assured/pull/22

From johan.ha...@gmail.com on December 07, 2013 09:42:25
Great! I've now merged the pull request.

From johan.ha...@gmail.com on December 07, 2013 11:03:35
I've actually modified the API (it's not backward compatible). You can now specify the host name verification check using "CertificateAuthSettings" that you may pass in to the "certificate" method. Please try this out and tell me if it works and if you like the API. Depend on version 2.0.2-SNAPSHOT after having added the following Maven repo:
<repositories>
<repository>
<id>sonatype
<url> https://oss.sonatype.org/content/repositories/snapshots/ <snapshots />
</repository>
</repositories>
Status: Fixed

repo: jayway/rest-assured


text:
Custom username validator is not respected

Custom username validator defined as allauth settings is not respected on put/patch request to UserDetailsView although it is respected for registration.

This seems valid to me as we are validating the same during the registration process.
I think I can give a hand on this, shall I? @iMerica

👍

authors: iMerica jerinpetergeorge rphlo

repo: jazzband/dj-rest-auth


text:
Unmodified value isn't set to new default when default is changed

Describe the problem
I didn't find in the docs what to expect when the default value is changed for some key while the value was not modified before change. I did find two distinct behaviours, based on whether or not the value has been modified or read in the past.
Steps to reproduce
First case: Key has not been modified or read
Let's add a new entry to the constance config:
CONSTANCE_CONFIG = {
    'SOME_PARAMETER': ("old default", 'Test key', str),
}

Now, modify the configuration with a new default value:
CONSTANCE_CONFIG = {
   'SOME_PARAMETER': ("new default", 'Test key', str),
}

Conclusion, SOME_PARAMETER has been set to the new default value, as it was not modified before.
Checking what is going on on the database side seems relevant in this issue:
# SELECT * FROM constance_constance;
 id | key | value
----+-----+-------
(0 rows)

Second case: Read key before modifying default value
Start with a similar configuration:
CONSTANCE_CONFIG = {
    'SECOND_PARAMETER': ("old default", 'Test key', str),
}

Now, read it from the console:
# python manage.py constance get SECOND_PARAMETER
old default

Let's check the database now:
# SELECT * FROM constance_constance;
 id |       key        |            value
----+------------------+------------------------------
  7 | SECOND_PARAMETER | gAJYCwAAAG9sZCBkZWZhdWx0cQAu
(1 row)

Reading the key made it write to the database
Let's try to change the default value with new default:

Conclusion: SECOND_PARAMETER kept the old default value while it was never modified.
Third case: Modify and reset value
Again, let's start with a similar configuration:
CONSTANCE_CONFIG = {
    'THIRD_PARAMETER': ("old default", 'Test key', str),
}

From the Admin page, or the console, set it to any other value

On the database side, the value is inscribed to it at this point
And use 'Reset to default'

Now, as in the second case, change the configuration to modify the default value.
CONSTANCE_CONFIG = {
    'THIRD_PARAMETER': ("new default", 'Test key', str),
}

Conclusion, resetting it to the default value doesn't make it act as if it has never been modified.
Conclusion
I do like the idea of unmodified values "following" the changes of default values, as in the first case. But I guess the current django-constance version doesn't feature it.

Is there any reason for the lack of behaviour consistency as it is right now ?
Would it be possible to have unmodified variables auto setting themselves to new default values ? It could also be configured with some CONSTANCE_XXX setting

System configuration

Django version: 3.2.19
Python version: 3.9.12
Django-Constance version: 3.1.0

This behavior comes from this line https://github.com/jazzband/django-constance/blob/master/constance/base.py#L22

So I did a bit of digging.
What is happening when the constance isn't set inside the database ?
Getting a new constance resulted in:

Receiving the default value
Having it written to the database.

This comes from this line: https://github.com/jazzband/django-constance/blob/master/constance/base.py#L22
How to handle the cases in the issue
Since the behaviour I was looking for is "Whenever a constance is set to the default value, I would like it to change when I change the corresponding default value", here's what I did:
from constance.backends.database import DatabaseBackend
from constance import settings, signals, config

from django.db import (
    OperationalError,
    ProgrammingError
)

class CustomDatabaseBackend(DatabaseBackend):

    def set(self, key, value):
        if key not in settings.CONFIG:
            raise AttributeError(key)

        default_value = settings.CONFIG[key][0]

        if value != default_value:
            return super().set(key, value)

        queryset = self._model._default_manager.all()
        # Set _for_write attribute as get_or_create method does
        # https://github.com/django/django/blob/2.2.11/django/db/models/query.py#L536
        queryset._for_write = True

        try:
            constance = queryset.get(key=key)
        except (OperationalError, ProgrammingError):
            # database is not created, noop
            return
        except self._model.DoesNotExist:
            # Key doesn't exist, then do nothing
            return

        old_value = constance.value

        # Constance should be modified to default value -> delete it
        constance.delete(using=queryset.db)

        if self._cache:
            self._cache.set(key, value)

        signals.config_updated.send(
            sender=config, key=key, old_value=old_value, new_value=value
        )

@robin-blanchard you are 100% correct.
I am unsure, but this behavior might be added directly in django-constance. I'd consider a pull request with such a change. Perhaps it contains some additional constraints, but I don't see them at first glance.

authors: Mogost robin-blanchard

repo: jazzband/django-constance


text:
Missing migration in 4.0.0

Describe the problem
When using django-constance with django>5, the command to check for missing migrations (makemigrations --check --dry-run) tells me that there is a missing migration. I guess this is because of the editable field, which is set here: https://github.com/jazzband/django-constance/blob/master/constance/migrations/0001_initial.py#L16, but it is not stated on the model (https://github.com/jazzband/django-constance/blob/master/constance/models.py#L7).
The created migration looks like this:
# Generated by Django 5.1 on 2024-08-23 15:01

from django.db import migrations, models

class Migration(migrations.Migration):

    dependencies = [
        ('constance', '0003_drop_pickle'),
    ]

    operations = [
        migrations.AlterField(
            model_name='constance',
            name='value',
            field=models.TextField(blank=True, null=True),
        ),
    ]

In case you can reproduce this, I am happy to help.
Steps to reproduce

In the example-project, install Django > 5 and run python manage.py makemigrations --check --dry-run
Run tox as configured here: https://github.com/sebastianmanger/django-constance/commit/2357a61e64f698f18189508d0317806092f5c0f0. Example output: https://github.com/sebastianmanger/django-constance/actions/runs/10527827693/job/29171898640#step:5:542

System configuration

Django version: >5
Python version: any
Django-Constance version: latest (e428387)

That was quick - thanks a lot! Maybe also include this check in tox.ini?
django-admin makemigrations --check --dry-run

Good idea! Could you suggest a PR?

authors: Mogost sebastianmanger


text:
Fix: fix constraint creation using the wrong table and column name

Subject: Fix a bug regarding foreign key constraint creation
Feature or Bugfix

Bugfix

Detail

This was causing issue if a foreign key was pointing to another field than the remote table id

eg.
Table1(models.Model):
    remote_column = models.IntegerField(unique=True)

Table2(models.Model):
    local_column = models.ForeignKey(to=Table1, to_field='remote_column')

During the migrations, you would get an error saying Table2 doesn't have a column named remote_column which is absurd since that colum is not supposed to be in that table.

@shimizukawa I see you merged the last PR, though I admit it was some time ago. Can you have a look ?
PS: I apologise for pinging you if you are the wrong person to address this

Ha cool, I'm happy to see this was merged, thanks you

repo: jazzband/django-redshift-backend


text:
parse error when data/@expr, assign/@expr is an Object literal

Given an SCXML document containing the following datamodel:
<datamodel>
  <data id="o1" expr="{p1: 'v1', p2: 'v2'}"/>
</datamodel>

the scion compiler produces Unexpected token : by way of esprima.
This seems consistent with esprima's validator given a document containing just the object literal:
bash-4.2$ cat literal.js
{'p1': 'v1', 'p2': 'v2'}
bash-4.2$ node_modules/esprima/bin/esvalidate.js literal.js
Error: Line 1: Unexpected token :

When provided with a complete assignment esprima is happy:
bash-4.2$ cat assignment.js
o = {'p1': 'v1', 'p2': 'v2'}
bash-4.2$ node_modules/esprima/bin/esvalidate.js assignment.js
bash-4.2$

Neither the scion compiler nor esprima take issue with an Array literal:
bash-4.2$ cat array.js
['a', 42, true, 3.14]
bash-4.2$ node_modules/esprima/bin/esvalidate.js array.js

Complete scxml document that reproduces the Object literal issue:
<scxml xmlns="http://www.w3.org/2005/07/scxml"
  version="1.0"
  initial="s1">

<datamodel>
  <data id="o1" expr="{p1: 'v1', p2: 'v2'}"/>
</datamodel>

<state id="uber">
  <transition event="*" target="fail">
    <log expr="'unhandled input ' + JSON.stringify(_event)" label="TEST"/>
  </transition>

  <state id="s1">
    <transition event="pass"/>

    <onentry>
      <log expr="'Starting session ' + _sessionid" label="TEST"/>
      <raise event="pass"/>
    </onentry>
  </state>
</state>

<final id="pass">
  <onentry>
    <log expr="'RESULT: pass'" label="TEST"/>
  </onentry>
</final>

<final id="fail">
  <onentry>
    <log expr="'RESULT: fail'" label="TEST"/>
  </onentry>
</final>

</scxml>

Same song second verse using :
<scxml xmlns="http://www.w3.org/2005/07/scxml"
  version="1.0"
  initial="s1">

<datamodel>
  <data id="o1"/>
</datamodel>

<state id="uber">
  <transition event="*" target="fail">
    <log expr="'unhandled input ' + JSON.stringify(_event)" label="TEST"/>
  </transition>

  <state id="s1">
    <transition event="pass"/>

    <onentry>
      <log expr="'Starting session ' + _sessionid" label="TEST"/>
      <assign location="o1" expr="{p1: 'v1', p2: 'v2'}"/>
      <raise event="pass"/>
    </onentry>
  </state>
</state>

<final id="pass">
  <onentry>
    <log expr="'RESULT: pass'" label="TEST"/>
  </onentry>
</final>

<final id="fail">
  <onentry>
    <log expr="'RESULT: fail'" label="TEST"/>
  </onentry>
</final>

</scxml>

https://github.com/jbeard4/SCION/pull/367
https://github.com/jbeard4/scxml-test-framework/pull/24


text:
something broke

jbenet @ lorien : ~/git/ipfs/specs * overviews % bsdash
*** IPFS Bitswap Dash ***
Active Requests 0:
Provide Workers 0:
Task Workers 0:
Rebroadcast Worker:
Provider Connector:

events: 0/1 prints: 1 (25ms delay)
/Users/jbenet/git/node-bsdash/state.js:23
  var parts = e.event.split(".")
                     ^
TypeError: Cannot read property 'split' of undefined
    at updateState (/Users/jbenet/git/node-bsdash/state.js:23:22)
    at Object.State.s.update (/Users/jbenet/git/node-bsdash/state.js:14:5)
    at DestroyableTransform._transform (/Users/jbenet/git/node-bsdash/index.js:26:13)
    at DestroyableTransform.Transform._read (/Users/jbenet/git/node-bsdash/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:172:10)
    at DestroyableTransform.Transform._write (/Users/jbenet/git/node-bsdash/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:160:12)
    at doWrite (/Users/jbenet/git/node-bsdash/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:323:12)
    at writeOrBuffer (/Users/jbenet/git/node-bsdash/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:309:5)
    at DestroyableTransform.Writable.write (/Users/jbenet/git/node-bsdash/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:236:11)
    at write (/Users/jbenet/git/node-bsdash/node_modules/ndjson/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js:623:24)
    at flow (/Users/jbenet/git/node-bsdash/node_modules/ndjson/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js:632:7)

@diasdavid @whyrusleeping any ideas?

Seems that logs are different now,  .event is not guaranteed to always exist:
example 1 - Didn't break
{
  event: 'log API client connected',
  session: 'b2b765ac-48b1-459c-8e1f-9fcd83868a3f',
  system: 'core/server',
  time: '2015-11-07T18:28:26.632599724Z'
}

example 1 - Error thrown
{
  id: 5649,
  level: 5,
  message: 'bitswap net handleNewStream from <peer.ID bqE6Uf>',
  module: 'bitswap_network',
  time: '2015-11-07T18:28:30.288928034Z'
}

://////

need tests even on the logs

authors: diasdavid jbenet

repo: jbenet/node-bsdash


text:
feat: gated sparse autoencoders

Description
Implements gated sparse autoencoders, which were recently found to solve the shrinkage problem and achieve equal reconstruction loss with 2x average feature sparsity
Fixes #103
Type of change
Please delete options that are not relevant.

[x] New feature (non-breaking change which adds functionality)

Checklist:

[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] I have not rewritten tests relating to key interfaces which would affect backward compatibility

You have tested formatting, typing and unit tests (acceptance tests not currently in use)

[x] I have run make check-ci to check format and linting. (you can run make format to format code if needed.)

Performance Check.
If you have implemented a training change, please indicate precisely how performance changes with respect to the following metrics:

[ ] L0
[ ] CE Loss
[ ] MSE Loss
[ ] Feature Dashboard Interpretability

Please links to wandb dashboards with a control and test group.

Wandb run ongoing: https://wandb.ai/dtch1997/gpt2?nw=nwuserdtch1997

Cluster is being annoying. Here's a colab to run the training.
https://colab.research.google.com/drive/1q_X46e0eO9Q1_t283USX1QG41Q5fgDAZ?usp=sharing

Comment from Neel:

Awesome! I asked Sen (the lead author) for thoughts:
The sparsity penalty isn't comparable between the two setups (or even the relationship between L1 and L0 norms IIRC). So the best way to compare them is to plot the Pareto curves.

Very excited about this!

Report from initial training runs:
https://wandb.ai/sae-experiments/sae-experiments/reports/Gated-SAE-analysis--Vmlldzo3ODE5OTAw?accessToken=wcmc1fc13wlz3dze7zl26cmkblfdt6984fi20n79fgaa4x79l4moygyclx31mx3q

Final WandB report: https://wandb.ai/sae-experiments/sae-experiments/reports/Gated-SAE-analysis--Vmlldzo3ODE5OTAw?accessToken=wcmc1fc13wlz3dze7zl26cmkblfdt6984fi20n79fgaa4x79l4moygyclx31mx3q
Pareto plot:

TODO:

Clean up the cluster files
Merge latest changes from main

Thanks for the work so far! I read through the Gated SAE loss func implementation and it seemed right. If setting off runs is cheap, it would be great to get more Gated and Baseline runs in the L0 range 10-100 -- that's the most important region and there are not too many points there

Thanks for this! I just merged a seperate PR for this but will look into your transcoder PR shortly!

authors: ArthurConmy dtch1997 jbloomAus

repo: jbloomAus/SAELens


text:
Async Notifications dbContext disposed

Hi
I have problem with DbContext in async Notifications. This is my code for running async notifications:
    public class ParallelNoWaitPublishMediator : Mediator
    {
        private Func<IEnumerable<Func<INotification, CancellationToken, Task>>, INotification, CancellationToken, Task> _publish;

        public ParallelNoWaitPublishMediator(ServiceFactory serviceFactory) : base(serviceFactory)
        {
            _publish = ParallelNoWait;
        }

        protected override Task PublishCore(IEnumerable<Func<INotification, CancellationToken, Task>> allHandlers, INotification notification, CancellationToken cancellationToken)
        {
            return _publish(allHandlers, notification, cancellationToken);
        }

        private Task ParallelNoWait(IEnumerable<Func<INotification, CancellationToken, Task>> handlers, INotification notification, CancellationToken cancellationToken)
        {
            foreach (var handler in handlers)
            {
                Task.Run(() => handler(notification, cancellationToken), cancellationToken);
            }

            return Task.CompletedTask;
        }
    }

And everytime i use DbContext in notification it gets disposed. The solution is to use service provider which creates new instance of dbContext when i call it, but I wanted something more generic. Is there any way to provide new scope for the handler, run in Task.Run() ?

This is because the DbContext is registered with DI as a Scoped Service by default and asp creates and closes the scope on every request. There are several ways to fix this behavior:

Register all services used in notification handlers as transient or singletone
Override ServiceFactory, create custom scope and close it after complete all handlers
Use IHostedService for executing you async notifications
Use external libraries like Quartz.NET or Hangfire for executing you async notifications

For option 2 there, here's some docs from MS on the subject:
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/host/hosted-services?view=aspnetcore-6.0&tabs=visual-studio#consuming-a-scoped-service-in-a-background-task

authors: ZeSzymi denisenko93 jbogard

repo: jbogard/MediatR


text:
🛑 https://goto.srsbsns.lol is down

In a24f126, https://goto.srsbsns.lol (https://goto.srsbsns.lol) was down:

HTTP code: 502
Response time: 128 ms

Resolved: https://goto.srsbsns.lol is back up in a1d2b2e after 7 minutes.

repo: jbowdre/upptime


text:
Gemfile.lock issue when installing on Bitnami stack

I'm following all the steps from 'get started' but I get stuck on the 'bundle install' in step 2. I get a "you are trying to install in deployment mode after changing your Gemfile".
I tried the suggested at the bottom of set 2 but still get the same message.
Environment:
Redmine version                3.2.1.stable
Ruby version                   2.1.8-p440 (2015-12-16) [x86_64-linux]
Rails version                  4.2.5.2
Environment                    production
Database adapter               Mysql2
SCM:
Subversion                     1.8.13
Cvs                            1.12.13
Git                            2.6.1
Filesystem
Redmine plugins:
redmine_stats                  0.0.3

Found an alternative in a note at https://wiki.bitnami.com/Applications/BitNami_Redmine#How_to_install_a_plugin_on_Redmine.3f
Instructions are confusing though. I'll try to get help at the Bitnami forum...


text:
🛑 SF Bahá'í is down

In 4f3c933, SF Bahá'í (https://www.sfbahai.org) was down:

HTTP code: 403
Response time: 41 ms

Resolved: SF Bahá'í is back up in 4b84a84.

repo: jbraithwaite/uptime


text:
use useArray in useRewards

What does this PR do and why?
Provide a description of what this PR does. Link to any relevant GitHub issues, Notion tasks or Discord discussions.
Screenshots or screen recordings
If applicable, provide screenshots or screen recordings to demonstrate the changes.
Acceptance checklist

[ ] I have evaluated the Approval Guidelines for this PR.
[ ] I have tested this PR in all supported browsers.
[ ] I have tested this PR in dark mode and light mode (if applicable).

Current dependencies on/for this PR:

main

PR #2156

PR #2169

PR #2170

PR #2171

PR #2172

PR #2181

PR #2182

PR #2183

Graphite Merge Job
Current status: ⏳ Queued to merge
This pull request is currently queued to be merged as part of a stack.
This comment was auto-generated by Graphite.

Job Reference: BcMq9niLYsok9Kx1gVMU

repo: jbx-protocol/juice-interface


text:
Add Julia example

example of how to use proxqp in Julia using Pycall (https://github.com/JuliaPy/PyCall.jl).

for now if i do cmake .. -DCMAKE_PREFIX_PATH=/home/fschramm/workspace/julia-1.7.3 it finds the julia executable (not installed in the path where it searches usually right now on my machine), it adds the unittest but when I run make test I get an error saying
        Start 112: example-jl-overview-simple.jl
Process not started
 /home/fschramm/workspace/proxqp/examples/julia/overview-simple.jl
[permission denied]
112/112 Test #112: example-jl-overview-simple.jl .......................................................................................................................................................................***Not Run   0.00 sec

99% tests passed, 1 tests failed out of 112

Total Test time (real) =  26.15 sec

The following tests FAILED:
	112 - example-jl-overview-simple.jl (BAD_COMMAND)
Errors while running CTest

I think the problem is this permission denied we see here. on my machine the command that should be executed by the test works without problems. So I'm still trying to figure out how to have the permission also when I run it here in ctest.

already running on my machine, waiting for https://github.com/jrl-umi3218/jrl-cmakemodules/pull/538.

repo: jcarpent/proxqp-unofficial


text:
Stateful RNN mod in sampling

Does just removing the lines:  self:resetStates() in the sample function in langmodel.lua will make it a statefull RNN, thus preserving long term context?

I removed these lines, and the loss immediately dropped by 15%. Thanks for the suggestion! But it can be very data-dependent.

Interesting, every checkpoint saving resets the state. I wonder if this is the reason why the training loss jumps a bit up after every save:
Epoch 1.24 / 50, i = 20 / 4250, loss = 1.025447
Checkpoint = 	cv/checkpoint_20.t7
Epoch 1.25 / 50, i = 21 / 4250, loss = 1.042428
. . .
Epoch 1.35 / 50, i = 30 / 4250, loss = 1.013393
Checkpoint = 	cv/checkpoint_30.t7
Epoch 1.36 / 50, i = 31 / 4250, loss = 1.036500
. . .
Epoch 1.47 / 50, i = 40 / 4250, loss = 1.003105
Checkpoint = 	cv/checkpoint_40.t7
Epoch 1.48 / 50, i = 41 / 4250, loss = 1.020587

Over a year since last comment, closing stale issue.

authors: AlekzNet aliabbasjp dgcrouse

repo: jcjohnson/torch-rnn


text:
User-supplied routes for chown() and chmod()

Certain filesystems like Syndicate need to be able to handle chown and chmod themselves.  Add routes for this, as well as tests.

Added.

repo: jcnelson/fskit

license: isc


text:
Added Instructions for MathCad

I've added the instructions for MathCad / PTC accounts.
Please be aware there is another section about a PTC product listing "ptc.com" under its domains.
I would appreciate some clarification how this duplication is handled.
If one or the other entry takes priority upon visiting ptc.com I suggest we combine "Vuforia Chalk" (the other product) and MathCad into a "PTC Accounts" section instead and combine their URL list, since PTC aquired Vuforia. The Vuforia section has spelling mistakes and an to my knowledge outdated support article anyways. In that case give me a ping and I'll fix it :)
That said, Vuforia developer accounts (developer.vuforia.com) are still separate from PTC accounts and would require their own section.

It should all be taken care of now!
At least until they change their account infrastructure again :)
Vuforia Chalk account were changed to easy, since a "Delete Account" button now exists for the vast majority of end users and business accounts. Only organisation admins should need to use the "hard" fallback I have provided.

Thanks for your contribution!

authors: Dynamotivation tupaschoal

repo: jdm-contrib/jdm


text:
Required fields

I'm having some issues figuring out how to make a field required. I've tried the following, which adds "required": ["comment"] to the object after defining the properties, but that doesn't seem to work. Any guidance would be most appreciated. Thanks!

Hello, @jdorn

I want to spend some time thinking about the best way to handle the asterisks before implementing that.

Has it been implemented?

@gnom7 https://github.com/jdorn/json-editor#deprecation-notice
https://github.com/json-editor/json-editor/issues/44

I am not too familiar with the code, I'd recommend creating a new issue at https://github.com/json-editor/json-editor/issues

The documentation says you can use custom styles but does not say you can use custom classes. When you using barebones JSON editor it uses almost no classes that can override your styles.
I looked in the source code looking for a feature that does what you want to do but I did not find anything. A solution could be, to extend the theme class and create a new theme for JSON Editor.
You can look in the original repository wiki:
https://github.com/jdorn/json-editor/wiki#theme-srcthemejs

@germanbisurgi, thank you for the suggestion, but it seems that I can't customize form elements this way, only DOM ones (like tables etc.) and it might happen that I'd like to pull one table to the right and another to the left in my form depending on the element which is rendered, or even something more sophisticated, so it would be nice if we had feature to add classes to json form elements, thanks for reply

repo: jdorn/json-editor


text:
Killing notification on App swipe

Duplicate of
https://github.com/jeancsanchez/JcPlayer/issues/22
But the problem there is, onDestroy doesn't get called when we clear the app from recent task. This is causing crashes when we click on the notification again. onDestroy tricks work well on exiting the app, but not swiping and killing it from tasks.

That's a problem that I can't solve yet. I didn't find a solution for removing the notifications when the app is popped from the tasks list.

@jeancsanchez I have actually managed to resolve it on your Sample code, but it is not working on my code when I add library as gradle module. Once I am able to fix it, will let you know.

that problem error on emulator if real device is work fine @rohankandwal

@SunryTeang I have same problem in multiple real devices.

ERROR: Failed to resolve: com.github.jeancsanchez:JcPlayer:2.6.16

sir how can i solve it

authors: SunryTeang abhishek-singh-a4 jeancsanchez rohankandwal

repo: jeancsanchez/JcPlayer


text:
openwrt high virtual memory size usage (%VSZ)

device : TP-Link TL-MR3420 v1
firmware: Pulpstone v3.1 OpenWrt Chaos Calmer 15.05.1 r49389 (http://pulpstone.pw/exroot-ar71xx/)
kernel: Linux PULPSTONE 3.18.45 #2 Thu Mar 30 17:35:40 WIB 2017 mips GNU/Linux
dnscrypt-proxy : dnscrypt-proxy-linux_mips-2.0.11.tar.gz

Mem: 26856K used, 1624K free, 320K shrd, 1388K buff, 2908K cached
CPU:   0% usr   1% sys   0% nic  98% idle   0% io   0% irq   0% sirq
Load average: 0.03 0.05 0.01 2/51 5081
  PID  PPID USER     STAT   VSZ %VSZ %CPU COMMAND
 5000  2863 root     R     1364   5%   0% top
   69     2 root     SW       0   0%   0% [kworker/0:1]
 4830     1 root     S     649m2332%   0% dnscrypt-proxy-v2 -config /etc/config

compared to v1 (5% VSZ) is that normal ?
Mem: 16700K used, 11780K free, 320K shrd, 1036K buff, 2652K cached
CPU:   9% usr   4% sys   0% nic  85% idle   0% io   0% irq   0% sirq
Load average: 0.00 0.02 0.00 1/44 10701
  PID  PPID USER     STAT   VSZ %VSZ %CPU COMMAND
 8642     2 root     SW       0   0%   0% [kworker/u2:2]
  967     1 root     S     1612   6%   0% /usr/sbin/uhttpd -f -h /www -r PULPST
 2852   926 root     S     1220   4%   0% /usr/sbin/dropbear -F -P /var/run/dro
  494     1 root     S      892   3%   0% /sbin/ubusd
 1786     1 root     S     1664   6%   0% /usr/sbin/hostapd -P /var/run/wifi-ph
 1813     1 root     S     1580   6%   0% /usr/sbin/wpa_supplicant -B -P /var/r
  859     1 root     S     1564   5%   0% /sbin/netifd
  825     1 root     S     1532   5%   0% /sbin/rpcd
    1     0 root     S     1408   5%   0% /sbin/procd
  872     1 root     S     1372   5%   0% {ping_loop} /bin/sh /usr/bin/ping_loo
 2110     1 nobody   S     1364   5%   0% /usr/sbin/dnscrypt-proxy -d -a 127.0.
 2863  2852 root     S     1364   5%   0% -ash
10475  2863 root     R     1364   5%   0% top

This is virtual memory, not the actual memory usage.
But yes, it requires more memory than the legacy version because it is written in a different programming language and has many more features.

license: ISC


text:
求助:群晖docker下ddns-go,无法获取IPV6的地址,用的是cloudflare

问题描述
我是用的pvE下装的黑群晖然后装docker,docker下装的ddns-go,    ipv6通过接口获取出现下面的报错
但是打开https://myip6.ipip.net, https://speed.neu6.edu.cn/getIP.php, https://v6.ident.me,是可以获取IPV6的地址,
昨天刚装上的时候一直可以用, 就一直没有没用改动, 突然就开始报错,
我cloudflare以及Token一切都是正确的不知道到底是什么原因,
单独打开https://myip6.ipip.net, https://speed.neu6.edu.cn/getIP.php, https://v6.ident.me,是可以获取ipv6的公网地址,
而且昨天一直都正常,突然就不正常了,并没有改过文件.
2022/05/29 08:27:48 获取IPv6结果失败! 接口: https://myip6.ipip.net ,返回值:
2022/05/29 08:27:48 连接失败! 点击查看接口能否返回IPv6地址, 官方说明:点击访问
2022/05/29 08:27:48 连接失败! 点击查看接口能否返回IPv6地址, 官方说明:点击访问
2022/05/29 08:27:48 未能获取IPv6地址, 将不会更新

检查下群晖网络。
进入docker中通过curl https://myip6.ipip.net 能返回结果吗

检查下群晖网络。通过curl https://myip6.ip.net 进入docker中能返回结果吗？

可以的,一切设置都是正常的,就是不知道什么原因我怀疑是我没有绑定顶级域名,因为我是直接绑定的二级域名,在另外一款脚本上开始也是只绑定了二级域名,出现报错,最后把顶级域名绑定上,就恢复正常了, 现在已经达到了我想要的结果, 等我再测试一下ddns-go是不是也是这种情况,到时候再反馈, 感谢作者的回复.

群晖的套件中心里有ddns-go的套件，搞个矿神套件源下载直接用，没必要用docker

群晖套件版测了几天,发现没有问题, docker不知道是什么原因, 感谢作者的回复.


text:
Update README.md

title add

add content

repo: jeevkola/github-pages-with-jekyll


text:
MPI_TYPE_GET_CONTENTS with nested user types is broken

From https://github.com/jeffhammond/mukautuva/issues/11.
If we do e.g. vector of vectors, MPI_TYPE_GET_CONTENTS does not work.

https://github.com/jeffhammond/mukautuva/commit/4539c1c4711fec8cae10977b8527f2931a75c450 fixes this

repo: jeffhammond/mukautuva