Version Update fails for full install

When running the 'pyats version update' command, pip fails with the output:
Uninstalling existing packages...
Installing new packages...

Command 'pip3 install --disable-pip-version-check pyats[full]' returned non-zero exit status 1.

Running the command manually reports:
ERROR: Could not find a version that satisfies the requirement pyats.contrib<21.7.0,>=21.6.0; extra == "full" (from pyats[full]) (from versions: 20.4, 20.4.1, 20.4.2, 20.5, 20.6, 20.6.1, 20.7, 20.8, 20.8.1b0, 20.9, 20.9.1b0, 20.10, 20.10.1, 20.10.2, 20.10.3, 20.12, 20.12.1, 20.12.2b0, 21.1, 21.2, 21.3, 21.4, 21.5)
ERROR: No matching distribution found for pyats.contrib<21.7.0,>=21.6.0; extra == "full" (from pyats[full])

Previously running in virtual environment with PyATS installed through:
pip install pyats[library]
The same command is required to reinstall the environment after the failure.
Attempting to run "full" install in a new virtual environment reports same error as above.
Running inside Ubuntu docker container with versions:
pyATS version: 21.6
Python: 3.8.5 [64bit]
pip 20.0.2
Linux 3.10.0-1160.24.1.el7.x86_64 #1 SMP

Kindly create a new virtual environment, update pip and do pip install pyats[full] and post the full log of installation or error which you are facing.

This is the full log of errors I am getting when I tried to install pyats[full] in a virtual environment. pip is updated before attempting pyats install
Collecting pyats.log<23.2.0,>=23.1.0
  Downloading pyats.log-23.1-cp310-cp310-macosx_11_0_x86_64.whl (8.2 MB)
     ━━━━━━━━━━╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/8.2 MB 16.0 MB/s eta 0:00:01
ERROR: Exception:
Traceback (most recent call last):
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/response.py", line 438, in _error_catcher
    yield
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/response.py", line 561, in read
    data = self._fp_read(amt) if not fp_closed else b""
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/response.py", line 527, in _fp_read
    return self._fp.read(amt) if amt is not None else self._fp.read()
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_vendor/cachecontrol/filewrapper.py", line 90, in read
    data = self.__fp.read(amt)
  File<EMAIL_ADDRESS>line 465, in read
    s = self.fp.read(amt)
  File<EMAIL_ADDRESS>line 705, in readinto
    return self._sock.recv_into(b)
  File<EMAIL_ADDRESS>line 1274, in recv_into
    return self.read(nbytes, buffer)
  File<EMAIL_ADDRESS>line 1130, in read
    return self._sslobj.read(len, buffer)
TimeoutError: The read operation timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_internal/cli/base_command.py", line 160, in exc_logging_wrapper
    status = run_func(*args)
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_internal/cli/req_command.py", line 247, in wrapper
    return func(self, options, args)
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_internal/commands/install.py", line 415, in run
    requirement_set = resolver.resolve(
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 92, in resolve
    result = self._result = resolver.resolve(
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_vendor/resolvelib/resolvers.py", line 481, in resolve
    state = resolution.resolve(requirements, max_rounds=max_rounds)
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_vendor/resolvelib/resolvers.py", line 373, in resolve
    failure_causes = self._attempt_to_pin_criterion(name)
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_vendor/resolvelib/resolvers.py", line 213, in _attempt_to_pin_criterion
    criteria = self._get_updated_criteria(candidate)
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_vendor/resolvelib/resolvers.py", line 204, in _get_updated_criteria
    self._add_to_criteria(criteria, requirement, parent=candidate)
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_vendor/resolvelib/resolvers.py", line 172, in _add_to_criteria
    if not criterion.candidates:
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_vendor/resolvelib/structs.py", line 151, in __bool__
    return bool(self._sequence)
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 155, in __bool__
    return any(self)
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 143, in <genexpr>
    return (c for c in iterator if id(c) not in self._incompatible_ids)
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 47, in _iter_built
    candidate = func()
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 206, in _make_candidate_from_link
    self._link_candidate_cache[link] = LinkCandidate(
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 297, in __init__
    super().__init__(
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 162, in __init__
    self.dist = self._prepare()
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 231, in _prepare
    dist = self._prepare_distribution()
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 308, in _prepare_distribution
    return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True)
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_internal/operations/prepare.py", line 491, in prepare_linked_requirement
    return self._prepare_linked_requirement(req, parallel_builds)
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_internal/operations/prepare.py", line 536, in _prepare_linked_requirement
    local_file = unpack_url(
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_internal/operations/prepare.py", line 166, in unpack_url
    file = get_http_url(
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_internal/operations/prepare.py", line 107, in get_http_url
    from_path, content_type = download(link, temp_dir.path)
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_internal/network/download.py", line 147, in __call__
    for chunk in chunks:
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_internal/cli/progress_bars.py", line 53, in _rich_progress_bar
    for chunk in iterable:
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_internal/network/utils.py", line 63, in response_chunks
    for chunk in response.raw.stream(
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/response.py", line 622, in stream
    data = self.read(amt=amt, decode_content=decode_content)
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/response.py", line 560, in read
    with self._error_catcher():
  File<EMAIL_ADDRESS>line 153, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/response.py", line 443, in _error_catcher
    raise ReadTimeoutError(self._pool, None, "Read timed out.")
pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.
 krishnabandi@KRIBANDI-M-X0Q2  ~/Documents/Learning/learn-genie/CL-DevNet-2595   master  pip install 'pyATS[full]'                 2 ↵  venv

Collecting pyATS[full]
  Using cached pyats-23.1-cp310-cp310-macosx_11_0_x86_64.whl (864 kB)
Collecting pyats.reporter<23.2.0,>=23.1.0
  Downloading pyats.reporter-23.1-cp310-cp310-macosx_11_0_x86_64.whl (730 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 730.8/730.8 kB 1.8 MB/s eta 0:00:00
Collecting packaging>=20.0
  Using cached packaging-23.0-py3-none-any.whl (42 kB)
Collecting pyats.results<23.2.0,>=23.1.0
  Downloading pyats.results-23.1-cp310-cp310-macosx_11_0_x86_64.whl (115 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 115.6/115.6 kB 943.9 kB/s eta 0:00:00
Collecting pyats.utils<23.2.0,>=23.1.0
  Using cached pyats.utils-23.1-cp310-cp310-macosx_11_0_x86_64.whl (1.6 MB)
Collecting pyats.connections<23.2.0,>=23.1.0
  Downloading pyats.connections-23.1-cp310-cp310-macosx_11_0_x86_64.whl (204 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 204.9/204.9 kB 1.1 MB/s eta 0:00:00
Collecting pyats.async<23.2.0,>=23.1.0
  Using cached pyats.async-23.1-cp310-cp310-macosx_11_0_x86_64.whl (128 kB)
Collecting pyats.easypy<23.2.0,>=23.1.0
  WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out. (read timeout=15)")': /packages/0b/4a/0a6077b1058991b7aaf5ec3f43407a342d3bc4ee71c422d0f5916450cf13/pyats.easypy-23.1-cp310-cp310-macosx_11_0_x86_64.whl
  WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out. (read timeout=15)")': /packages/0b/4a/0a6077b1058991b7aaf5ec3f43407a342d3bc4ee71c422d0f5916450cf13/pyats.easypy-23.1-cp310-cp310-macosx_11_0_x86_64.whl
  WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out. (read timeout=15)")': /packages/0b/4a/0a6077b1058991b7aaf5ec3f43407a342d3bc4ee71c422d0f5916450cf13/pyats.easypy-23.1-cp310-cp310-macosx_11_0_x86_64.whl
  Downloading pyats.easypy-23.1-cp310-cp310-macosx_11_0_x86_64.whl (1.4 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.4/1.4 MB 470.4 kB/s eta 0:00:00
Collecting pyats.aetest<23.2.0,>=23.1.0
  Downloading pyats.aetest-23.1-cp310-cp310-macosx_11_0_x86_64.whl (1.5 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.5/1.5 MB 13.4 MB/s eta 0:00:00
Collecting pyats.topology<23.2.0,>=23.1.0
  Using cached pyats.topology-23.1-cp310-cp310-macosx_11_0_x86_64.whl (656 kB)
Collecting pyats.aereport<23.2.0,>=23.1.0
  Using cached pyats.aereport-23.1-cp310-cp310-macosx_11_0_x86_64.whl (2.0 MB)
Collecting pyats.kleenex<23.2.0,>=23.1.0
  Using cached pyats.kleenex-23.1-cp310-cp310-macosx_11_0_x86_64.whl (1.3 MB)
Collecting pyats.tcl<23.2.0,>=23.1.0
  Using cached pyats.tcl-23.1-cp310-cp310-macosx_11_0_x86_64.whl (545 kB)
Collecting pyats.datastructures<23.2.0,>=23.1.0
  Downloading pyats.datastructures-23.1-cp310-cp310-macosx_11_0_x86_64.whl (297 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 297.4/297.4 kB 8.9 MB/s eta 0:00:00
Collecting pyats.log<23.2.0,>=23.1.0
  Downloading pyats.log-23.1-cp310-cp310-macosx_11_0_x86_64.whl (8.2 MB)
     ━━━━━━━━━━━━━━━━━━━━╺━━━━━━━━━━━━━━━━━━━ 4.2/8.2 MB 15.4 MB/s eta 0:00:01
ERROR: Exception:
Traceback (most recent call last):
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/response.py", line 438, in _error_catcher
    yield
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/response.py", line 561, in read
    data = self._fp_read(amt) if not fp_closed else b""
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/response.py", line 527, in _fp_read
    return self._fp.read(amt) if amt is not None else self._fp.read()
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_vendor/cachecontrol/filewrapper.py", line 90, in read
    data = self.__fp.read(amt)
  File<EMAIL_ADDRESS>line 465, in read
    s = self.fp.read(amt)
  File<EMAIL_ADDRESS>line 705, in readinto
    return self._sock.recv_into(b)
  File<EMAIL_ADDRESS>line 1274, in recv_into
    return self.read(nbytes, buffer)
  File<EMAIL_ADDRESS>line 1130, in read
    return self._sslobj.read(len, buffer)
TimeoutError: The read operation timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_internal/cli/base_command.py", line 160, in exc_logging_wrapper
    status = run_func(*args)
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_internal/cli/req_command.py", line 247, in wrapper
    return func(self, options, args)
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_internal/commands/install.py", line 415, in run
    requirement_set = resolver.resolve(
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 92, in resolve
    result = self._result = resolver.resolve(
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_vendor/resolvelib/resolvers.py", line 481, in resolve
    state = resolution.resolve(requirements, max_rounds=max_rounds)
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_vendor/resolvelib/resolvers.py", line 373, in resolve
    failure_causes = self._attempt_to_pin_criterion(name)
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_vendor/resolvelib/resolvers.py", line 213, in _attempt_to_pin_criterion
    criteria = self._get_updated_criteria(candidate)
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_vendor/resolvelib/resolvers.py", line 204, in _get_updated_criteria
    self._add_to_criteria(criteria, requirement, parent=candidate)
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_vendor/resolvelib/resolvers.py", line 172, in _add_to_criteria
    if not criterion.candidates:
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_vendor/resolvelib/structs.py", line 151, in __bool__
    return bool(self._sequence)
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 155, in __bool__
    return any(self)
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 143, in <genexpr>
    return (c for c in iterator if id(c) not in self._incompatible_ids)
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 47, in _iter_built
    candidate = func()
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 206, in _make_candidate_from_link
    self._link_candidate_cache[link] = LinkCandidate(
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 297, in __init__
    super().__init__(
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 162, in __init__
    self.dist = self._prepare()
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 231, in _prepare
    dist = self._prepare_distribution()
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 308, in _prepare_distribution
    return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True)
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_internal/operations/prepare.py", line 491, in prepare_linked_requirement
    return self._prepare_linked_requirement(req, parallel_builds)
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_internal/operations/prepare.py", line 536, in _prepare_linked_requirement
    local_file = unpack_url(
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_internal/operations/prepare.py", line 166, in unpack_url
    file = get_http_url(
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_internal/operations/prepare.py", line 107, in get_http_url
    from_path, content_type = download(link, temp_dir.path)
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_internal/network/download.py", line 147, in __call__
    for chunk in chunks:
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_internal/cli/progress_bars.py", line 53, in _rich_progress_bar
    for chunk in iterable:
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_internal/network/utils.py", line 63, in response_chunks
    for chunk in response.raw.stream(
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/response.py", line 622, in stream
    data = self.read(amt=amt, decode_content=decode_content)
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/response.py", line 560, in read
    with self._error_catcher():
  File<EMAIL_ADDRESS>line 153, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/Users/krishnabandi/Documents/Learning/learn-genie/CL-DevNet-2595/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/response.py", line 443, in _error_catcher
    raise ReadTimeoutError(self._pool, None, "Read timed out.")
pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.


[BUG] Cannot get HOOBS Bridge QR Code to show

Logs

Enable debug mode in Homebridge
Reproduce the issue so that it appears in the logs
Upload a '.txt' file of your logs to this issue. ( Logs from screenshots, in '.rtf' format, or pasted directly into the post make debugging extremely difficult. Please just upload the file. )

Here ya go:
MagicHome Plugin Errors.txt
Describe the bug
A clear and concise description of what the bug is.
I'll click on 'Start' under the 'Pairing' column and it will show the HOOBS logo spinning and then eventually it returns to the initial screen without having a QR code.
To Reproduce
e.g.
Steps to reproduce the behavior:

Go to bridge in HOOBS
Click 'Start' under 'Pairing'

Expected behavior
A clear and concise description of what you expected to happen.
I would expect the QR code to show up to be scanned into HomeKit
Additional context
Add any other context about the problem here.
Host Hardware

Hardware: Raspberry Pi 4B
OS: HOOBS (not sure what the real OS name is - using the HOOBS microSD disk image)
OS Version: 4.0.31

Homebridge and MagicHome

Homebridge / HOOBS version 4.0.31
Homebridge MagicHome Dynamic Platform version [e.g. 1.9.2]
Link to the MagicHome Device on the seller's website.

Screenshots
If applicable, add screenshots to help explain your problem.

I should also mention, I saw in one of the other issues here suggesting specifying a specific level of logging in the config. Mine looks like this right now:

Not sure if there's some JSON value missing (my guess would be that's why it's throwing 'undefined') or where it would need to go.

OK - not sure why, but by changing 'log level' to '4' under advanced settings, then saving, the QR code showed up. Then I switched back to 3 and it stayed... so perhaps there's some glitch on initial setup?

That said, none of my bulbs are showing up. I have two of these:
https://smile.amazon.com/gp/product/B07VQJYYYR/

OK another update - found this in the logs (screenshot, sry)

Going to try and see if it's the same thing if i toggle on/off the blacklisted unique IDs thing

OK that worked by selecting 'blacklisted' and not entering in any specific numbers.
Was watching a tutorial on HOOBS about how to do this, but seemed like it was another MagicHome plugin. Is this one capable of triggering custom 'functions' that I have set up in the app? Cross fades between specific colors, etc.?

Hi,
Very glad you were able to solve this. Thank you for providing your initial logs in text form. That is always very helpful for us developers.
I believe your issue stems from an outdated config.json as seen here:
7/7/2021, 3:58:30 PMMagicHome BridgeWARNINGunhandled rejection: TypeError: Cannot read property 'logLevel' of undefined
Thus, saving in "advanced settings", which really is just a fancy way to makes changes to the config.json, solved the problem by adding the missing settings. I can't update your config.json, but I can update the "advanced settings". My suggestion is, after an update, check to make sure your settings are where you want them to be. There may be extra settings that need manual saving (something I can't do). As for the "blacklisted" issue, thank you for bringing that to my attention. It seems that if the user does not actually select "nothing", the empty array will not populate in the config.json. Annoying!
The program does include default values for these parameters, but for some reason, homebridge seems to be ignoring them? That is something I will have to look into.
In terms of running cross fades, that is not a feature of this plugin. There may be other plugins that allow such a feature, I am not sure.
It looks like your initial problem is solved, but please let me know if that isn't the case. Otherwise I will be closing this issue after 48 hrs.  Thank you for bringing these issues to my attention. Good day.

It seems to be okay - i did get this error in the log:
7/8/2021, 10:45:28 PM  MagicHome Bridge  ERROR  [MagicHome Bridge 553F@RGBWW Non-Simultaneous@@Brightness] characteristic was supplied illegal value: number<PHONE_NUMBER>254902 exceeded maximum of 100
I'm not sure exactly what it is, but there was something I noticed when setting the light color in HomeKit where the brightness went above 100% when I went back into the MagicHome app even though HomeKit read 100%.
Regarding the crossfade question - it seemed like in other plugins, there were JSON parameters that were specifying preset fades that the MagicHome app had built in by name. I was able to do this w a Siri shortcut in the Shortcuts app because MagicHome is able to 'talk to' Shortcuts outside of HomeKit/HOOBS.
Didn't know if part of the API being used could transfer over that data and give me the ability to assign those to scenes, even using another HomeKit automation app like Eve.

Hi there. Thank you for your patience.
I'm glad that solved the issue. As for the characteristic, there was a rounding issue that has since been fixed. I will mark this particular issue as closed as the original issue has been solved. If you are running into any other problems, please feel free to create a new issue.
-z

One other thing - I’ve had an issue w automations where my front porch light will occasionally not turn on/off as it should. If I ‘test the automation’ in the home app, all works fine.
Not sure the solve to it as there are no log lines for when the automation is run in HOOBS (unless I’m missing a setting?) so for now, I’ve created a second automation shortly after the first to see if that doubles my chances of it working.
Is this normal behavior?

I can create a new issue if necessary.

This is a known issue. No need to create a new thread. I have written an overhaul for the plugin to combat this exact problem. Essentially it checks if the sent command is correct and if not, retries.
It is far from ready. But it’s an ongoing process to a bug that has plagued this plugin from day 1.
Keep an eye out for version 2.0.0 in the upcoming weeks.


How to handle failover of master1?

I used sealos to setup an HA kubernetes cluster include master1, master2, master3, node1, node2.
I run the sealos command in master1, so the installation files and docker registry is located in master1.
One day, master1 is down. I want to add a new master4.
How could I achieve this?
Thanks!

the registry run on master0, you should use nerdctl to run it on other master, and copy /registry Dir to other node.
sealos add --masters <master4 ip>  on master0, or copy ~/.sealos/ DIR to other master node to exec this command.

There is no master0 in my scenario. The registry runs on master1, but /registry is not found in master1. Instead, I found a registry dir in the path /var/lib/sealos/data/default/rootfs/registry.
Here is the structure of registry dir in master1:
[root@master1 rootfs]# tree /var/lib/sealos/data/default/rootfs/registry/ -L 5
/var/lib/sealos/data/default/rootfs/registry/
└── docker
    └── registry
        └── v2
            ├── blobs
            │   └── sha256
            └── repositories
                ├── calico
                ├── coredns
                ├── etcd
                ├── kube-apiserver
                ├── kube-controller-manager
                ├── kube-proxy
                ├── kube-scheduler
                ├── labring
                ├── pause
                └── tigera

16 directories, 0 files

I should copy /var/lib/sealos/data/default/rootfs/registry to another master node, right?
BTW, What's the correct command to launch the registry using nerdctl?
I cannot find the command from the doc https://github.com/labring/sealos/blob/main/docs/4.0/docs/design/private-registry.md or ps command:
[root@master1 rootfs]# ps -ef | grep nerdctl
root       8890   8881  0 Aug17 ?        00:00:09 /usr/bin/nerdctl _NERDCTL_INTERNAL_LOGGING /var/lib/nerdctl/1935db59
root     134215   2010  0 17:32 pts/0    00:00:00 grep --color=auto nerdctl

The registry should mount /var/lib/sealos/data/default/rootfs/registry dir. @cuisongliu

copy /var/lib/sealos/data/default/rootfs/registry to another master node  and ln -s /var/lib/sealos/data/default/rootfs/registry /var/lib/registry

And edit each node /etc/hosts ， Resolve the correct hub address

Thanks all gays. Last question, what is the exact command to start the registry in another master node using nerdctl?

nerdctl run -d -p 5000:5000 -v /var/lib/registry:/var/lib/registry/docker/registry registry:2

Thanks all. I will try and feed you back ASAP.


convert some of the user tests to pact.io

part of #500

Chromium 83.0.4103.61 (Ubuntu 0.0.0): Executed 36 of 257 (skipped 221) SUCCESS (15.127 secs / 6.03 secs)

I haven't converted the whole file to keep the PR small


Question about the test json of msvd and msrvtt dataset

I have a small question, in this link you provide the relevant test set, but msvd and msrvtt are both val_Qa.json, is the experimental result of this work on test_qa or val_qa

Hi @butemp
Thank you for your interest in our work. We use val sets for MSVD and MSRVTT. Thanks.


#326 How to use the 2 picoScan with ROS1

Dear Temas,
#326  We based on you reference, however still have this issues happen, until now have 2times. one run the ros have data until 15mintues. Please check the launch files

BTW how to uploda the ZIP files?

Thank you for your feedback. Please provide some more details about the problem.
Does each of the two lidars run successfully with its own launch file when started separately (i.e. when only one lidar is running at a time)?
If both devices are running at the same time (in two ROS processes): Does an error occur immediately after startup? Do both processes start successfully, but occasionally fail after 15 minutes?
Please post complete log files from start to error event for both devices. You can redirect the console output with 2>&1 | tee -a <logfile>, e.g.
roslaunch sick_scan_xd <sick_picoscan_1.launch> 2>&1 | tee -a sick_picoscan_1.log
roslaunch sick_scan_xd <sick_picoscan_2.launch> 2>&1 | tee -a sick_picoscan_2.log

For more information on running multiple sensors simultaneously, see https://github.com/SICKAG/sick_scan_xd/blob/develop/doc/multiple_lidars.md.


Wrong highlight with minified javascript code in HTML(PHP)

VSCode Version: 1.4.0
OS Version: Windows 10 Update 1607

Steps to Reproduce:
Origin code is too large, so ,

Paste all code in this link to VS Code, change file type to PHP  >>> http://pastebin.com/EeteWHqU
Scroll down to see wrong syntax highlight.

For performance reasons we stop syntax highlighting when hitting lines larger than 20'000 characters


Footer only showing US, no alternate countries

Detailed description

Describe in detail the issue you're having.
The Footer is only showing up with US content. Country selector predefine to US, and no alternate links available.

Is this a feature request (new component, new icon), a bug, or a general
issue?
Bug

Is this issue related to a specific component?
Footer

What did you expect to happen? What happened instead? What would you like to
see changed?
Footer adapts to passed locale. Country selector should include all alternate links.

What browser are you working in?
E.g. FF / Chrome, latest version.

What version of the IBM.com Library are you using?
V1.9, react, next.js template

What offering/product do you work on? Any pressing ship or release dates we
should be aware of?
Storage Digital Platform - about to go live, any immediate help appreciated.

Steps to reproduce the issue
Use ibmdotcom library for react / next.js, V1.9
Use standard _apps.js
Pass cc-lc parameters from URL to footer props
Additional information

Hi @flatcoding you can set the link alternatives to fix this issue. The documentation can be found via this link http://ibmdotcom-react.mybluemix.net/?path=/docs/overview-building-for-ibm-dot-com--page


Discuss overall workflow tips

Discuss some general tips around setting up an Ableton set for use with generative music:

Using groups, capturing MIDI and audio from generative tools to tidy up for release
Routing MIDI and Audio from one track to another Pre- or Post-FX / Mixer
Dealing with automation e.g. on Group tracks so that the same automation can apply regardless of whether it's using generative devices, static / captured MIDI tracks, audio.
Setting up these groups & FX for live performance
Use of automation the goes beyond clip boundary to keep listener engaged i.e. automation does not end at clip boundary, implies not too random / automated / inhuman.

Also discuss Management of tools e.g. plugins / devices, clips, tracks, sets. ELPHNT has a good tutorial on this aspect:
https://www.youtube.com/watch?v=EKPhIWFu9uU

Save frequently used devices to User Library

Use Collections / tags / color coding
Use Folders e.g. Generators, MIDI FX, Audio FX
Collecting and using sensible User Library folders allows you to quickly create new ideas e.g. using Push

Suggest to split into three separate sections:
1/ If you're going to capture the generated and transformed MIDI for release
2/ General Ableton workflow tips i.e. tags, browser, User Library etc. - see ELPHNT's tutorial
3/ Modulation workflow
Will create separate Issues for each.


Update .gitignore to include .DS_Store

.DS_Store files are system files and shouldn't be included in version control. Adding them to .gitignore would prevent accidental addition of these files into the repository.

Good suggestion.  It would be good if any PR to fix this also included the deletion of any .DS_Store files that have made their way into the Git repository.

Hello @suzanneEmbury, I've made a PR for this issue. Luckily no such files are present in the repo as of now, so an update to the gitignore file was all that was required.


where i can find osmedeus UI?

i am searching for osmedeus UI and didn't find. is it you new jalaes project ?

I just update Osmedeus UI to https://github.com/jaeles-project/ui/tree/master/Osmedeus-ui
Just run
yarn install
npm start

then you are good to go.

Hello @j3ssie , I reopen this publication since the repository that contains the graphic interface is not the same version that currently manages the project and I would like to add some features. Thanks


Allow use of credentials from AWS_PROFILE

This allows credentials to not need to be specified in your code.  If they are not specified, then the AWS SDK will use its default fallback to set the values, using ~/.aws/credentials or lambda credentials when running as an AWS lambda, etc.

Coverage decreased (-1.3%) to 95.302% when pulling 828eefc428087c37b64419303b966aae451da230 on hughescr:feature/credentials-from-outside into bb56620fb311750672880e7c35157193e4d99e21 on rajatkumar:master.

Coverage decreased (-1.3%) to 95.302% when pulling 828eefc428087c37b64419303b966aae451da230 on hughescr:feature/credentials-from-outside into bb56620fb311750672880e7c35157193e4d99e21 on rajatkumar:master.

@hughescr This is awesome! Thanks for your contribution.


@OnDelete and Attr(object) leads to undefined error

Environment
latest npm/vue3/pinia/pinia-orm
Reproduction
Consider these classes:
class Location extends Model {}
class Country extends Model {
@HasOne(() => Location, 'locationId') @OnDelete('cascade') declare location: Location;
}
class PartyCenter extends Model {
@Str('Main Street 1, NL') declare location: string;
}
Describe the bug
The OnDelete decorator seems to build a list of fields that need to be deleted, however it seems to be a global list? In any case, when using the OnDelete decorator on a field like above which also exists on another model as a different type (in the example the 'location' field), you get a TypeError:
typeError: this.schemas[this.entity][key].onDelete is not a function
Additional context
My question would be why this function:
https://github.com/CodeDredd/pinia-orm/blob/0ebc3dbad7e634c0bc7a21401d4923268a23be77/packages/pinia-orm/src/model/Model.ts#L201
is static? Is it indeed supposed to collect these fields across all models? Why is that necessary, and would it not better to restrict this to only the instance?
Logs
Uncaught (in promise) TypeError: this.schemas[this.entity][key].onDelete is not a function
    initializeSchema index.mjs:1443
    $initializeSchema index.mjs:1602
    $boot index.mjs:1598
    Model index.mjs:1426

  static initializeSchema() {
    this.schemas[this.entity] = {};
    const registry = {
      ...this.fields(),
      ...this.registries[this.entity]
    };
    for (const key in registry) {
      const attribute = registry[key];
      this.schemas[this.entity][key] = typeof attribute === "function" ? attribute() : attribute;
      if (this.fieldsOnDelete[key])
>>>>>        this.schemas[this.entity][key] = this.schemas[this.entity][key].onDelete(this.fieldsOnDelete[key]);
    }
  }

at this moment im not quite sure if it is a problem on my end or not. Will close for the time being

at this moment im not quite sure if it is a problem on my end or not. Will close for the time being

at this moment im not quite sure if it is a problem on my end or not. Will close for the time being

Im reopening this. This seems to be a real issue.

Hi again :)
Thanks for finding this bug.

My question would be why this function:
pinia-orm/packages/pinia-orm/src/model/Model.ts

Line 201 in 0ebc3db

static setFieldDeleteMode(
is static? Is it indeed supposed to collect these fields across all models? Why is that necessary, and would it not better to restrict this to only the instance?

It has to be static so i can use decorators. Otherwise i can't register stuff to the model.


Asyncio support?

Thanks a lot for this very useful module! It works great! I was wondering if there is asyncio support. I also tried the threading option setting to true but this terminated the run without an error (using the sample code you provide in README). Have you tested with multiple stocks and know limitations, how computationally demanding is given an increasing number of subscriptions?

Hello!
There are currently no plans to add asyncio support.
The threading feature runs a daemon thread in the background which automatically exits when the program concludes. Try adding a while-loop to keep the program from exiting.
Regarding your second question, I recommend you test the limitations for yourself. This is NOT a professional grade data feed and I don't recommend you use it as such.
Cheers!

Thank you for your answer! What do you mean when the program concludes? Managing to get let's say one quote?
Sure, I wasn't intending it for professional use but for experimentation. I will try to see how well it does with multiple quotes.

If you enable should_thread, the streamer is non-blocking, thus it will stop streaming once the program finishes.

Thank you very much!


number screen messes up

on the following code when i press start, it gives me 127-128, ignore the fact that the code might be wrong, i dont think it should show equations on the number screen right?

This is fixed in the next release


Can a PriorityQueue implement Cloneable?

We had a use-case to make a copy of a PriorityQueue. Short of serialization and deserialization, the option was to make a sub-class that could handle cloneing:
    static class MyObjectHeapPriorityQueue<K> extends ObjectHeapPriorityQueue<K> implements Cloneable {
		public MyObjectHeapPriorityQueue(int capacity, Comparator<? super K> c) {
			super(capacity, c);
		}

		public MyObjectHeapPriorityQueue(Comparator<? super K> c) {
			super(c);
		}

		public MyObjectHeapPriorityQueue() {
			super();
		}

		public MyObjectHeapPriorityQueue(int capacity) {
			super(capacity);
		}

		@Override
		@SuppressWarnings("unchecked")
		protected Object clone() throws CloneNotSupportedException {
			try{
				MyObjectHeapPriorityQueue<K> rtr = (MyObjectHeapPriorityQueue<K>)super.clone();
				rtr.heap = this.heap.clone();
				rtr.size = this.size;
				rtr.c = this.c; //a comparator should be stateless, no need to clone
				return rtr;
			} catch (CloneNotSupportedException e) {
				throw new InternalError(e.toString());
			}
		}
	}

Cloning is quite broken, but a pull request with a Cloneable implementation would be great :).

If you only need some way to copy a collection and not something passing instanceof Cloneable, a copy-constructor is preferable I think. Java standard library does this, too.
public HeapPriorityQueue(HeapPriorityQueue<? super K> queue) {
  // do copy here
}

Yeah, you're right. A copy constructor is a better idea. Though many fastutil classes actually implement clone().

thats fair @incaseoftrouble - my work in progress for the PR for Cloneable is at
https://github.com/vigna/fastutil/compare/master...cmacdonald:patch-1
Final decision?

The point is that we don't want to reconstruct the queue by re-inserting every item - a copy of the (e.g.) heap is sufficient. Can the constructor be engineered in such a fashion?

I think something like the following should work, with little modification to the code. Basically you take your clone() implementation and put it in the constructor. I strongly suggest following the approach of the standard library.
public MyHeapPriorityQueue(Collection<? super K> elements) {
  if (queue instanceof MyHeapPriorityQueue) {
    MyHeapPriorityQueue other = (MyHeapPriorityQueue) queue;
    this.heap = new CollectionImplementingTheHeap(other.heap); // or other.heap.clone() if necessary
    this.comparator = other.comparator; // etc.
  } else if (elements instanceof SortedSet) {
    this.heap = new CollectionImplementingTheHeap();
    this.comparator = elements.comparator
    addAll(queue);
  } else {
    // addAll()
  }
}

So, following the fastutil custom implementations can be Cloneable. Interfaces don't. So you should make (for coherence) the five implementation of PriorityQueue Cloneable, implement clone() and add some unit test for each clone() method.
Also, super.clone() will do shallow copying, so you just need to clone the backing array—the rest will be done for you.

I gave a look at this:

For the indirect queue, I wasn't sure if the inv[] array needs to be cloned (its final).

If the Interface PriorityQueue isn't cloneable, I have would have to check and cast which implementation an object is before cloning.

Making a SynchronizedPriorityQueue of a queue is also difficult.

If I do put it in the interface, this means that the type-specific PriorityQueue clone() should return their type, e.g. CharPriorityQueue instead, and this means separate #ifdef branches for the definition of clone() in PriorityQueue.drv etc. Its not pretty...

I'm beginning to favour trying instead the constructor suggestion of @incaseoftrouble - however, note that a fastutils PriorityQueue doesn't extend Collection, so the constructor would look like:
public HeapPriorityQueue(PriorityQueue<? super K> q) {
  if (! q instanceof HeapPriorityQueue) throw IllegalArgumentException();
  this.size = q.size;
  this.heap = q.heap.clone();
 //etc
}

For the indirect queue, I wasn't sure if the inv[] array needs to be cloned (its final).

Depends on whether you want a shallow or deep copy.

If the Interface PriorityQueue isn't cloneable, I have would have to check and cast which implementation an object is before cloning.

True. But this can be moved to a static utility class.

Making a SynchronizedPriorityQueue of a queue is also difficult.

Why? This can be done via wrapping, right? Or do you mean copying a SynchronizedQueue?

If I do put it in the interface...

Cloning should not be put in the interface I think, simply for consistency.

fastutils PriorityQueue doesn't extend Collection

That's fine. I think the constructor should also work with different PriorityQueues, simply calling addAll().

@cmacdonald:

Yes, you have to clone inv[].
The problem with making interfaces cloneable is that you force all implementations to be cloneable. There might be implementation for which cloning is simply impossible. If you need really that, just create an interface that extends PriorityQueue and Cloneable.
I don't see why synchronizing a PriorityQueue should be difficult.
Java supports covariant return-type overriding. You can override a method with another one that returns a more specific type.

@vigna wouldn't #168 fix that issue since you can use toarray and the array constructors?


[stdlib] Remove static var one from PointwiseMultiplicative.

should also remove any mentions of “ring” from file names and file contents.

Can one of the admins verify this patch?

I accidentally deleted tensorflow branch, which closed this PR. That was not intentional, sorry!
It would be nice to protect tensorflow branch against deletion to prevent this from happening again.

Hello, I am a first time contributor and would like to contribute to this issue. I am still unclear with what needs to be done for this. Is it possible for you to clarify that with me? Thank you.

Hello, I am a first time contributor and would like to contribute to this issue. I am still unclear with what needs to be done for this. Is it possible for you to clarify that with me? Thank you.

Hi @nicholasnovakovic! I think that this pull request might actually not be the right direction. We shouldn't remove PointwiseMultiplicative.one if it has any users.
Context: PointwiseMultiplicative is a tensorflow-branch-only ad-hoc protocol (with derived conformances) added to support tensorflow/swift-apis. I feel it's not likely to pass Swift Evolution in its current state. Eventually, we should strive to remove PointwiseMultiplicative and VectorProtocol altogether - removing specific unused protocol requirements isn't really meaningful.

Hi @dan-zheng !
Can you direct me to any issue which would be good for me work on? Or can you tell me what the general procedure is for wanting to contribute? Do I have to find something I think would be good to work on and then suggest it as an issue?
Thank you so much!

Sure @nicholasnovakovic! Are you interested in contributing to Swift specifically, or Swift for TensorFlow?

@dan-zheng I'm interesting in contributing to either! I mainly code in C++ and Python so I should be able to contribute to projects which require these languages! :)

That's cool! The Swift compiler is written in C++ (LLVM-style).
Check out the Swift forums: https://forums.swift.org/search?q=contributing
And starter issues (you may want to filter): https://bugs.swift.org/issues/?jql=labels %3D StarterBug


The sdk problem is not writing the file, I can't figure out why(

As you can see, the script does not write finished at the end. And only the images subfolder appears in the folder and that's it(

same here

Thank you for reporting. That is a sign of the tool failing and for some reason, the error message is not shown. We'll check.
In the meantime: Does this happen with all recordings and also without --preview3d? How about other SDK versions, e.g., pip install spectacularAI==1.26.2?

I was able to reproduce the issue, and there will be a fix in the next patch release.
For now, could you either use previous version of spectacularAI pypi package or make sure that the sai-cli output directory is using the same disk as the Python's tempfile.mkdtemp(); On Windows it was C: drive for me.

Alright, it is possible that you are running into a separate issue then.
The source code for the sai-cli process tool is publicly available here: https://github.com/SpectacularAI/sdk/blob/main/python/cli/process/process.py and it already includes the fix I mentioned. If you want to test it, just run python process.py \data --preview3d \done
Debugging is a little hard currently, because it looks like the Python script is crashing, but it doesn't print any stacktrace on Windows (we will try to add the stacktrace for next release).

Hi, thanks for your reply. I tried using python process.py \data --preview3d \done as you suggest. it worked!
However, the pointcloud seems not in the correct format. I got this error:
RPly: Unexpected end of file
RPly: Error reading 'x' of 'vertex' number 29406
[Open3D WARNING] Read PLY failed: unable to read file: /mnt/d/Datasets/gs-recon/yunnan_gardan/sparse_pc.ply
RPly: Unexpected end of file
RPly: Error reading 'x' of 'vertex' number 29406
[Open3D WARNING] Read PLY failed: unable to read file: /mnt/d/Datasets/gs-recon/yunnan_gardan/sparse_pc.ply

As I checked your ply file, I found it is just like the txt file. Do you think save it using plyfile or open3d is a better idea?
Should I open a new issue for it?

That is an unrelated issue and you can open a new ticket. That is related to the Nerstudio file formats changing between versions 0.9 and 1.0. Do you get that error from Nerftsudio or some other tool? Note that PLY files have two subtypes, ASCII and binary, both of which may not be supported by all tools.

I got the error from nerfstudio. Thanks for ur reply, I'll try later.

Release 1.29.0 is now public, if you update the pypi package pip install spectacularai[full] --force then you can use the sai-cli tool again.


[PROD-928] Fix analyses list in Azure workspaces

#4630 changed the signature of AzureStorage's listFiles function without also updating the call in listNotebooks. As a result, no analyses show up in Azure workspaces because Terra UI is asking for files starting with ".ipynb" instead of ending with ".ipynb".
This updates the call in listNotebooks so that ".ipynb" is passed as a suffix filter instead of a prefix filter.

Also, this is the quick fix. Since the filter arguments are optional, a nicer API for this would be listFiles(workspaceId, options), where options is an object with optional prefixFilter and suffixFilter keys.


os: FileMode.String() generates a non-standard Mode representation

What version of Go are you using (go version)?
go version go1.11 linux/amd64
Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/tep/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/tep/go:/home/tep/working/go"
GOPROXY=""
GORACE=""
GOROOT="/misc/local/go"
GOTMPDIR=""
GOTOOLDIR="/misc/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build918873382=/tmp/go-build -gno-record-gcc-switches"

What did you do?
https://play.golang.org/p/nDV8CK3VVrZ
What did you expect to see?
0 errors

What did you see instead?
FileMode(060000544).String() == "ugr-xr--r--"  ; Wanted "-r-sr-Sr--"
FileMode(024000544).String() == "gtr-xr--r--"  ; Wanted "-r-xr-Sr-T"
FileMode(040000444).String() == "ur--r--r--"   ; Wanted "-r-Sr--r--"
FileMode(060000444).String() == "ugr--r--r--"  ; Wanted "-r-Sr-Sr--"
FileMode(020000454).String() == "gr--r-xr--"   ; Wanted "-r--r-sr--"
FileMode(044000454).String() == "utr--r-xr--"  ; Wanted "-r-Sr-xr-T"
FileMode(044000445).String() == "utr--r--r-x"  ; Wanted "-r-Sr--r-t"
FileMode(020000544).String() == "gr-xr--r--"   ; Wanted "-r-xr-Sr--"
FileMode(004000454).String() == "tr--r-xr--"   ; Wanted "-r--r-xr-T"
FileMode(044000444).String() == "utr--r--r--"  ; Wanted "-r-Sr--r-T"
FileMode(064000544).String() == "ugtr-xr--r--" ; Wanted "-r-sr-Sr-T"
FileMode(064000445).String() == "ugtr--r--r-x" ; Wanted "-r-Sr-Sr-t"
FileMode(040000544).String() == "ur-xr--r--"   ; Wanted "-r-sr--r--"
FileMode(040000454).String() == "ur--r-xr--"   ; Wanted "-r-Sr-xr--"
FileMode(024000444).String() == "gtr--r--r--"  ; Wanted "-r--r-Sr-T"
FileMode(060000454).String() == "ugr--r-xr--"  ; Wanted "-r-Sr-sr--"
FileMode(020000444).String() == "gr--r--r--"   ; Wanted "-r--r-Sr--"
FileMode(020000445).String() == "gr--r--r-x"   ; Wanted "-r--r-Sr-x"
FileMode(004000444).String() == "tr--r--r--"   ; Wanted "-r--r--r-T"
FileMode(044000544).String() == "utr-xr--r--"  ; Wanted "-r-sr--r-T"
FileMode(024000454).String() == "gtr--r-xr--"  ; Wanted "-r--r-sr-T"
FileMode(060000445).String() == "ugr--r--r-x"  ; Wanted "-r-Sr-Sr-x"
FileMode(004000544).String() == "tr-xr--r--"   ; Wanted "-r-xr--r-T"
FileMode(004000445).String() == "tr--r--r-x"   ; Wanted "-r--r--r-t"
FileMode(064000444).String() == "ugtr--r--r--" ; Wanted "-r-Sr-Sr-T"
FileMode(064000454).String() == "ugtr--r-xr--" ; Wanted "-r-Sr-sr-T"
FileMode(040000445).String() == "ur--r--r-x"   ; Wanted "-r-Sr--r-x"
FileMode(024000445).String() == "gtr--r--r-x"  ; Wanted "-r--r-Sr-t"
28 errors

While never explicitly stated in the documentation, the format of the string generated by the os.FileMode String method implies that the author's intent is to closely mirror the common mode representation specified by the POSIX 1003.1 man page for ls(1).
With respect to os.ModeSetuid, os.ModeSetgid and os.ModeSticky - FileMode's String method deviates from the commonly expected behavior. The POSIX standard indicates that the values for these 3 bits are to be rendered as an overlay on the 3 groups of 3 characters that represent the file's permissions. The standard defines this representational behavior as:
The next three fields shall be three characters each:

  <owner permissions>

    Permissions  for  the  file  owner  class  (see  the  Base  Definitions
    volume  of IEEE Std 1003.1-2001, Section 4.4, File Access Permissions).

  <group permissions>

    Permissions for the file group class.

  <other permissions>

    Permissions for the file other class.

Each field shall have three character positions:

  1. If 'r', the file is readable; if '-', the file is not readable.

  2. If 'w', the file is writable; if '-', the file is not writable.

  3. The first of the following that applies:

    S
      If in <owner permissions>, the file is not executable and
      set-user-ID mode is set.

      If in <group permissions>, the file is not executable and
      set-group-ID mode is set.

    s
      If in <owner permissions>, the file is executable and
      set-user-ID mode is set.

      If in <group permissions>, the file is executable and
      set-group-ID mode is set.

    T
      If in <other permissions> and the file is a directory,
      search permission is not granted to others, and the
      restricted deletion flag is set.

    t
      If in <other permissions> and the file is a directory,
      search permission is granted to others, and the restricted
      deletion flag is set.

    x
      The file is executable or the directory is searchable.

    -
      None of the attributes of 'S' , 's' , 'T' , 't' , or 'x' applies.

Implementations may add other characters to this list for the third character
position.  Such additions shall, however, be written in lowercase if the file
is executable or searchable, and in uppercase if it is not.

Instead of following this behavior, FileMode displays these values by prepending one or more characters to the 9 character permissions fields. This is the errant behavior.
Generating a string representation that, in the most common cases, appears to follow this generally accepted standard -- but then deviates with respect to the SUID, SGID and sticky bits -- can quickly lead to confusion on the part of the information consumer.  This confusion can be eliminated by updating the String method to represent these bits in a more standard fashion.

Thank you for reporting this issue @tep and welcome to Go! I'll tag some folks who perhaps might be able to provide some insights into the design decisions or who might be helpful in fixing it
/cc @rsc @bradfitz @ianlancetaylor @ericlagergren

We're intentionally using a simpler approach to the mode bits, one that hopefully makes some sense on systems like Windows and Plan 9.
In any case I don't think we can change this now.  It seems sure to break some currently working programs.

The cross-platform goal is perfectly understandable but, in this case, I don't really think it applies since none of ModeSetuid, ModeSetgid or ModeSticky are referenced by any of the Windows or Plan9 specific code. Changing the representation of these values would have no impact on those systems and, as far as I know, all remaining supported operating systems would benefit (since they are supposed to be POSIX compliant).
As to code-breakage -- I'd view this in a similar light to the adage that we should never depend on the string value of errors (but, I'm guessing the core Go team sees this differently).
Perhaps a minor update for v2?

This caught me out, when I expected 01777 to apply the sticky bit. After all, it is called chmod. I am half tempted to write a wrapper that detects those octals and ORs the flags. I rarely need the bits above 9 though and testing should always catch this and I would hope suid. I do think the docs should be improved however. Rather than having users counting iota and confused about being sure <<  isn't right. Alternatively, the chmod examples could be expanded and/or it say that you cannot set certain bits directly?

Even if we make a v2 of the os package, I can't see us changing this.  All the information is available, so people who prefer  a different representation can write that themselves.  Closing this issue.


[REQ] A-ESRGAN port for VS

Would it be possible to port A-ESRGAN?
Thank you and hope you have a happy new year!🥳

https://github.com/rlaphoenix/VSGAN/releases/tag/v1.5.0 already did.


[Windows] Add MySQL to the toolset

Description
This pull request moves the MySQL versions to the toolset. Also added a check to the pester tests to make sure we are installing the correct version with accordance to the toolset.
Related issue: https://github.com/actions/virtual-environments-internal/issues/2911
Check list

[x] Related issue / work item is attached
[ ] Tests are written (if applicable)
[ ] Documentation is updated (if applicable)
[ ] Changes are tested and related VM images are successfully generated

/azp run windows2016, windows2019, windows2022

/azp run windows2016, windows2019, windows2022

/azp run windows2016, windows2019, windows2022


[BUG] all previous 2.5 versions crash

when you removed mov_cli/__version__.py
all previous versions crash on start up, because it can't find the new version.
They expect to find "https://raw.githubusercontent.com/mov-cli/mov-cli/v3/mov_cli/version.py"
Similar behavior probably happens with the latest version, if the github page can't be reached.

i set a comma instead of a dot
should be fixed.


Nested route snippet example not working

How blessed difficult would it be to put a nested route in your starter kit. The snippet example you provide is too terse!

Could you explain what exactly is not working or what behavior are you expect?
One more example: https://jsfiddle.net/frenzzy/8rm2y4jg/

@frenzzy example doesn't work with<EMAIL_ADDRESS>- can't select /posts or /posts/hello-world

@mbme updated demo for v4: https://jsfiddle.net/frenzzy/8rm2y4jg/4/

many thanks! was not clear to me that inner path now should be empty :)

If you are using trailing slashes in your paths, then router will match urls only with trailing slashes, ie
path: '/posts'  // matches both "/posts" and "/posts/"
path: '/posts/' // matches only "/posts/"

path: '/posts' + path: ''  = path: '/posts'
path: '/posts' + path: '/'  = path: '/posts/'
path: '/posts' + path: '/:id'  = path: '/posts/:id'
path: '/posts' + path: '/:id/' = path: '/posts/:id/'

There is an example in README.md
Any suggestions how to make it cleaner for other people?

Docs are clear enough, that was just me - I didn't notice README updated after release
Thanks for the great library!


[5.2] Route Parameter Constraints removed from documentation

I'm posting this here since issues on laravel/docs are closed.
I was searching in the documentation for regular expression constraints on routes and noticed that it's been completely deleted from the documentation on the 5.2 branch, since this commit. The feature is still present in 5.2.12, so I was wondering if it was intentional that this documentation was deleted?

+1

same here

+1

+1

Put in a PR to add it back.

+1, also, is it possible to the constraints to a group?

@majimboo maybe this could be achived through a middleware ?


Broken in Vite 5

https://stackblitz.com/edit/vitejs-vite-2pijh9?file=package.json
This stackblitz resembles a project structure I'm using that no longer works with Vite 5. In Vite 4, this project will (intentionally, in this Stackblitz case) fail due to a top-level await not being allowed in the configured environment (which is fine, expected, and desired in this case).
With Vite 5.0.2, this fails with the following stack trace:
❯ yarn build
yarn run v1.22.19
$ tsc && vite build
vite v5.0.2 building for production...
✓ 20 modules transformed.
[vite:worker] Cannot read properties of undefined (reading '/home/projects/vitejs-vite-2pijh9/src')
file: /home/projects/vitejs-vite-2pijh9/src/worker.ts?worker
error during build:
TypeError: Cannot read properties of undefined (reading '/home/projects/vitejs-vite-2pijh9/src')
    at Object.resolveId (file:///home/projects/vitejs-vite-2pijh9/node_modules/vite-tsconfig-paths/dist/index.mjs:175:45)
    at eval (file:///home/projects/vitejs-vite-2pijh9/node_modules/rollup/dist/es/shared/node-entry.js:18631:40)
    at async PluginDriver.hookFirstAndGetPlugin (file:///home/projects/vitejs-vite-2pijh9/node_modules/rollup/dist/es/shared/node-entry.js:18531:28)
    at async resolveId (file:///home/projects/vitejs-vite-2pijh9/node_modules/rollup/dist/es/shared/node-entry.js:17200:26)
    at async ModuleLoader.resolveId (file:///home/projects/vitejs-vite-2pijh9/node_modules/rollup/dist/es/shared/node-entry.js:17614:15)
    at async Object.resolveId (file:///home/projects/vitejs-vite-2pijh9/node_modules/vite/dist/node/chunks/dep-ErEj4WmL.js:8150:10)
    at async PluginDriver.hookFirstAndGetPlugin (file:///home/projects/vitejs-vite-2pijh9/node_modules/rollup/dist/es/shared/node-entry.js:18531:28)
    at async resolveId (file:///home/projects/vitejs-vite-2pijh9/node_modules/rollup/dist/es/shared/node-entry.js:17200:26)
    at async ModuleLoader.resolveId (file:///home/projects/vitejs-vite-2pijh9/node_modules/rollup/dist/es/shared/node-entry.js:17614:15)
    at async eval (file:///home/projects/vitejs-vite-2pijh9/node_modules/rollup/dist/es/shared/node-entry.js:17921:50)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

I'm not familiar enough with Vite to further debug this.

yep, I also encounted with this issue on vite with version v5.0.10.

Unfortunately seems to be broken in Vite 5.

Unfortunately can confirm that it seems to be broken in Vite 5.
TypeScript error:
No overload matches this call.
  The last overload gave the following error.
    Type 'Plugin<any>' is not assignable to type 'PluginOption'.

vite-tsconfig-paths v3.6.0 downgrades will normal operation.

I could not reproduce with the given StackBlitz, @tervay. I also tried reproducing manually,  but no luck. Please try clearing your node_modules, deleting your lockfile, and re-installing to see if that fixes it for you. Otherwise, please provide a proper reproduction, thanks.

@aleclarson The stackblitz will fail when running yarn build. I'm not sure how to make it run that by default instead of yarn run dev, but yarn build will fail.

I'm having the same issue. It fails only when used as a worker plugin. Just like in the provided StackBlitz.

I could not reproduce with the given StackBlitz, @tervay. I also tried reproducing manually, but no luck. Please try clearing your node_modules, deleting your lockfile, and re-installing to see if that fixes it for you. Otherwise, please provide a proper reproduction, thanks.

The error only shows when you run the build command:

The error happens at this line: https://github.com/aleclarson/vite-tsconfig-paths/blob/dd3fc7e9ef353b0f53dc9720c00e722ad35f5104/src/index.ts#L164
My insight on this is that resolveId is being called before configResolved, or configResolved is not being called at all on the worker plugin. That way this line is not executed https://github.com/aleclarson/vite-tsconfig-paths/blob/dd3fc7e9ef353b0f53dc9720c00e722ad35f5104/src/index.ts#L125 and it ends up in the error since it's undefined.

I was able to workaround it by passing the same plugin object to both arrays, since it uses the same tsconfig for workers and main project. That way the resolversByDir gets prepopulated on the configResolved of the main plugin.
const tspaths = tsconfigPaths()

export default defineConfig({
  plugins: [tspaths],
  worker { plugins: () => [tspaths] },
})

This is a bug in Vite. I've opened this PR to fix it. Thanks for investigating, @davbrito. Neither of your suspicions were correct, but it helped save me some time. 👍

Closing this. The Vite PR has been merged. Not sure what the release schedule is these days. If you have any other problems with Vite 5 and this plugin, open a new issue.


Multi-level log support

Feature Request
It would be better if we could support multi-level loggers in azcore. e.g. adopting https://github.com/go-logr/logr
Scenario:
We need the following info for debugging purposes:

error message(error, v0)
client got invoked (info/v1)
number of retry attempt (debug /v2)
endpoint url(debug /v3)
payload content(debug /v4 )
credential tokens(debug /v5)

For general purpose, only v0-1 is set,
For debugging purposes, v2-5 is set.
Current implementation:
All of logs will be sent to log listener, and most of entries are not used.
Auth tokens are sent to log listener if including bodies is set to true, which I think is not safe.

@jhendrixMSFT I found  some guideline for log level here. Could you help to evaluate this request?

As I mentioned in issue description, following info are needed

error message(error, v0)
client got invoked (info/v1)
number of retry attempt (debug /v2)
endpoint url(debug /v3)
payload content(debug /v4 )
credential tokens(debug /v5)

In current implementation, I can get all the log entries or nothing.
If I need to know whether the client has been invoked, "client got invoked" is all I need. But if I set the log listener, all of log entries will be sent to log listener. These log entries will consume a lot of space. If I set "includebody" to true, bearer token, exchange token, client secret will be sent to log listener. And I think it is not safe.
And for custom policy(percall policy/ retry policy), logger is needed. It would be better if we can reuse the logger defined in azcore.  log generated by custom policy is needed only when the program behavior is not expected.
With this feature, I can set verbosity to a higher level only when needed. And it won't generate too many log entries if everything goes well.

The problem with "log levels" is that the numeric assignment is arbitrary and left to the whims of the SDK authors.  Picking one at random from your list, why is "endpoint URL" a 3 and not a 1?  How does an SDK developer decide?  Furthermore, what SDK developers perceive to be "verbose" might not be verbose to all customers (and vice versa).  This is why we elected to go with a "logging event source" design; the event source indicates the kind of logging event, allowing application developers to decide which events are important to them to include in their logging (should they have the need to customize the listener).
I believe our current logging covers the majority of info in your bulleted list.  The only ones that I think are missing to some extent are "client got invoked" and "error message".  For the former, are you looking for the SDK client.method name that was called (e.g. "VirtualMachinesClient.BeginCreateOrUpdate() was called")?  For the latter, while we should be logging some error conditions, I suspect there are gaps.  We also don't have a Error logging event.  Is there something specific you're looking for here?  Perhaps if an SDK API returns an error you want that sent to the log listener with an Error event type?

I see. Thanks for the explanation!
Yes! With "SDK client. Method name that was called" info, I can confirm that the client is processing the request. That is helpful for debugging. Error event is very helpful too!

Can we expose github.com/Azure/azure-sdk-for-go/sdk/internal/log/log.  and add an event type for percall policy?
because the custom policy can share the same log structure.

And in azidentity package, exchange tokens, bearer tokens and client secrets are not written to log unless with proper configuration.  They can be found in the response body which is not safe.


Ss2 multi samples

add 2 more picard metrics in ss2_single_sample_wf.wdl
add FeatureCounts task to calculate reads count include multiple mapping reads
add a workflow can a batch of samples
collect Picard metrics into table matrics
python script to parse out metadata and calculate timing and cost per subworkflow and per main workflow

So there are now two versions of the ss2 single sample wdl. Are these being kept separate intentionally? The original one is at ss2_single_sample.wdl and this PR adds
run_multi_samples/ss2_single_sample_wf.wdl.

@dshiga Yes, these two files are different. I added more tasks in this wdl (run_multi_samples/ss2_single_sample_wf.wdl) and also some changs in "runtime". We can think it is a updated version of ss2_single_sample

based on the comments and suggestion. There is several changes.

replace the bash script by a python script.
add python script into a docker
add task in single_sample wdl to aggregate metrics files (function seen in python script)
in main workflow, there is another python task call to collect multiple samples metrics and merge them into one table file.


[T4A7][T11-B1] Tan Zhi Jie

Accepting this PR without a review because another of your PRs for this tutorial was reviewed in detail.


FI-2940: Test procedure

When I regenerate the matrix and open the spreadsheet, I get an error from excel. I don't know if that is because the yaml file refers to some tests which aren't on this branch (you'll see the errors when you regenerate the matrix).

Test 10.47.01 is not shown for US Core 6.1.0 in excel. Regenerate matrix fixes that.


Strange behavior of mapped types when using with string

TypeScript Version: 3.7.0-dev.20190831
Search Terms: mapped types
Code
type M<T> = {
  [K in keyof T]: never;
}

type MStr = M<string>;

Expected behavior:
MStr is an object type where the corresponding value type for all properties of string type ("toString" | "charAt" | "charCodeAt" | "concat" | "indexOf" ...) will be never
Actual behavior:
type of MStr is string
Playground Link: Link
Related Issues:

https://github.com/microsoft/TypeScript/issues/32484

This is working as intended (though I'm not sure where this behaviour is explicitly documented...other than the source code [1]).
Your alias M defines what is known as a homomorphic mapped type, indicated by the key constraint being keyof T for some T. When a homomorphic mapped type is instantiated with a primitive type it passes through unmodified.
To get your desired behaviour you can write: type MStr = Record<keyof string, never>. The type alias Record defines a normal mapped type, not a homomorphic one.
[1]
// For a homomorphic mapped type { [P in keyof T]: X }, where T is some type variable, the mapping
// operation depends on T as follows:
// * If T is a primitive type no mapping is performed and the result is simply T.

From a practical perspective, I would probably find it a bit odd if the mapped type silently promoted string to an object type, since string is not assignable to object (but is assignable to {} so... hm...)

string is assignable to Object, however.

I'm on mobile and can't test but what about, { [k in Extract<keyof T, string|number|symbol>] : never }
I think that should work. If you only care about string keys, change it to extracting string

Your alias M defines what is known as a homomorphic mapped type, indicated by the key constraint being keyof T for some T. When a homomorphic mapped type is instantiated with a primitive type it passes through unmodified.

@jack-williams Thanks for clarifying on this.
I didn't about the above, and assumed that because mapped types use object notation { [...] : ... } they can be expected to always be object types.

To get your desired behaviour you can write: type MStr = Record<keyof string, never>. The type alias Record defines a normal mapped type, not a homomorphic one.

I had simplified my usage to come up with a reproducer, so the above is not exactly applicable.
However the solution by @AnyhowStep work quite well and solves my use case.

Yeah, mapped types are essentially a form of type operator that just happens to use object notation.  It’s kind of confusing, I would agree.  TS gets a lot of mileage out of a small amount of syntax. :smile:

I'll close this as the team believes that this behavior is intended. Thanks a lot for the help.


ucfirst doesn't work with capitalized string

Hi, thank you for this awesome plugin!
I just noticed ucfirst filter doesn't work with fully capitalized string.
Expected behavior:
hello leo => Hello Leo
HELLO LEO => Hello Leo
Current behavior:
hello leo => Hello Leo
HELLO LEO => HELLO LEO

I think the ucfirst only capitalize first character in each string and return the rest as it is.
<p> {{ 'foo bar baz' | ucfirst }}</p>

<!--
result:
Foo Bar Baz
-->


Encode booleans in datatables_options correctly

I would have expected it takes a Python dict and calls json.dumps.
Instead, it takes a Python dict and essentially calls str() on the values.
https://github.com/sharm294/sphinx-datatables/blob/06511aad3f00cba76445f1ae96337ec0e214d9fd/src/sphinx_datatables/sphinx_datatables.py#L79
So, for example, this is needed:
datatables_options = {"paging": "false"}

and not:
datatables_options = {"paging": False}  # expected

But actually that doesn't work... because if the value is a string, it puts quotes around it:
https://github.com/sharm294/sphinx-datatables/blob/06511aad3f00cba76445f1ae96337ec0e214d9fd/src/sphinx_datatables/sphinx_datatables.py#L75-L76
Such that the options become {"paging": "'false'"}.
So I need to do something wild like this:
class false:
    def __str__(self):
        return "false"

datatables_options = {"paging": false()}

Ran into this issue and I am passing 0 or 1 for booleans.

I just used datatables directly instead of this package.


MetricsReport: Generate report with time-stamp

As I user I want to generate report with timestamp so I can refer next time

Commit: https://github.com/adiralashiva8/robotframework-metrics/commit/436cee78933a39a55d3a9320d5e58921311453c6


Add support for @WebListener elements

The NSFJsfServlet has general hooks for Listener classes of various types, and it would be good to generalize this into the other Servlet-based techs, and allow for loading Listeners from inside the NSF.

This will also be a good opportunity to reconsider the firing of ServletContextEvents, as in JSF they're currently based on the JSF Servlet itself being initialized. In theory, their lifetime should match the ComponentModule - that itself is impractical, but there could be a general "first JEE request comes in, fire init listeners" capacity.


Not able to get the editor into an Angular 2+ component?

Hello,
I am relatively new to Angular and would like to know if you had any idea how I could bring your editor into an Angular component?
Thank you for any help you can provide!

@tylanga what did you end up doing?


Bugfix for Issue #154

The fixed name "Everyone" for creating a secure pipe works only on english Versions of windows. On other locales these User is called different. So we should use a value instead of a string.

Should add that it closes #154 for automation purposes, this comment might automatically link it.


failed to import partitioner

As I don't know anything about Python modules, current file structure and imports for BSREM and partitioner are a bit weird. However, I now discover that in the current master version
import sirf.contrib.partitioner.partitioner as partitioner
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-32-be6dd28aec56> in <module>
----> 1 import sirf.contrib.partitioner.partitioner as partitioner
      2 from sirf.contrib.BSREM.BSREM import BSREM1
      3 from sirf.contrib.BSREM.BSREM import BSREM2

AttributeError: module 'sirf.contrib' has no attribute 'partitioner'

@MargaretDuff @casperdcl @paskino can one of you sort this out please?

presumably you need
from sirf.contrib.partitioner import partitioner


Deprecate this repository

A while I ago I've already been arguing for structured logging. For Alertmanager I will apply it from the beginning and hence moved this log package into common/log with the following changes.

Extension by structured logging functionality
The *ln functions were removed as they were equivalent to the plain functions
Panic level was removed as we do not use it and probably never will
Print* functions as duplicate of Info* functions were removed

This package is a wrapper around an existing logging library to make it fit our purpose. We have no intention of being the maintainer of a globally used logging library. Functionality is too limited and specific for this anyway.
The common repo was created exactly for those kind of packages.
The repo should certainly stick around for a while to not break dependencies (c.f. removal of client_golang packages that broke kubernetes builds). However, new projects should use common/log and existing ones should be migrated as time allows.
/cc @juliusv @matthiasr @grobie I recall talking to the three of you regarding structured logging and recall you had opinions. The proposed solution is basically a middle ground of structure but also human-readbale messages.

:+1: to everything, except maybe keep the *ln variants. Like fmt.Println and fmt.Print, the former inserts spaces between arguments, the latter doesn't. Sometimes handy.

That's the theoretical behavior. My tests have shown that both insert the spacing.

Hmm, I actually tested it before writing my comment, and they do space as I wrote above for me.

Okay they both seem to space between numbers but behave differently between strings – strange behavior.
I would just indirect Info to Infoln under the hood then because you never want the non-spaced version anyway – but not feeling strongly.

I agree that this should not be its own repo. No opinion on which methods are needed or not

Yup, that's analogous to fmt.Print and fmt.Println behavior too. Don't care much, but maybe keeping them means we have less to convert / less opportunity to introduce bugs in the cleanup? I wouldn't just want to redirect Info to Infoln because then you always need to remember that they work differently than the stdlib's fmt functions...

Yea, true. Adding in that repo.


First files for syncing Chris' and co-worker's codes

Adding 2 new files (test_units.py and units.py) to refet_units

Made change on line 5 of test_units.py to just "Import units" and successfully ran test_units.py on my machine.


Adding demo data

Description
This PR includes the following proposed change(s):
Adding document s to
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[X] Refactoring / Documentation
[ ] Version change

if your change is a breaking change, please add breaking change label to this PR
How Has This Been Tested?
Please describe the tests that you ran to verify your changes.
Does the change impact or break the Docker build?

[ ] Yes
[X] No

If Yes: Has Docker been updated accordingly?

[ ] Yes
[X] No

Checklist:

[X] My code follows the style guidelines of this project
[X] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[X] New and existing unit tests pass locally with my changes

Nice. Thanks!


Update heapless

This would be a breaking changes.

Yeah, I agree with @dzamlo, heapless types appear in the public interface, so upgrading it would be a breaking change.
I am not certain, but I've considered doing the following:

adding heapless-v0_7 and heapless-v0_8 features, using those versions specifically, maybe in some module-d scope, for things like to_vec, to_vec_cobs
keeping heapless as an alias for heapless-v0_7, but marking it as deprecated.

Open to feedback if people think there is a preferrable solution.

Merging and will sort out the versioning stuff before the next release.


Using-Thread, Spindle, + Python 3.12 updates

Actioned SyntaxWarnings on startup
Added Python 3.12 to run-tests.yml
Updated using-Thread page

Discussed and merged.


feature:  In line latex rendering instead of virtual line

Is your feature request related to a problem? Please describe.
I'm always frustrated when I take physics notes, and everything looks amazing except my equations are all over the place because the are render on the wrong line. See here:
Describe the solution you'd like
It would be cool if the latex could be rendered in line like all of the other visual things in this plugin (tables, block quotes, etc.) It would look normal ($\sqrt{3}$) when editing or hovering on the line, but rendered like the plugin does now (√3)
Describe alternatives you've considered
I can view pretty good Latex using the Markdown Viewer plugin (with the Latex option ticked), but this is annoying, needs an extra window, not in Neovim, needs to be refresh after every save.
Additional information
No response

Good document to test on:
# Lecture 2
### 9/5/2024

## Table of Contents
1. [Newton's First Law of Motion](#newtons-first-law-of-motion)
2. [Newton's Second Law of Motion](#newtons-second-law-of-motion)
3. [Gravitational Force](#gravitational-force)
4. [Important Equations](#important-equations)
5. [PollEV Answers](#pollev-answers)

## Newton's First Law of Motion
- **An object subject to no external forces moves at a constant velocity.**
- Equation of predicting an object at constant velocity: $\vec{x}_f = \vec{x}_i + \vec{v} \cdot (t_f - t_i)$
  - $\vec{x}_f$ is the final position ($m$)
  - $\vec{x}_i$ is the initial position ($m$)
  - $\vec{v}$ is the velocity ($\frac{m}{s}$)
  - $t_f$ is the final time ($s$)
  - $t_i$ is the initial time ($s$)
- Example of finding the final position of an object at constant velocity:
  - What is $\vec{x}_f$ if $\vec{x}_i = (-4, 6, -8)$, $\vec{v} = (2, \frac{-4}{3}, 2)$, $t_f = 3$, and $t_i = 0$?
    - $\vec{x}_f = \vec{x}_i + \vec{v} \cdot (t_f - t_i)$
    - $\vec{x}_f = (-4, 6, -8) + (2, \frac{-4}{3}, 2) \cdot (3)$
    - $\vec{x}_f = (-4, 6, -8) + (6, -4, 6)$
    - $\vec{x}_f = (2, 2, -2)$

## Newton's Second Law of Motion
- **The acceleration that an object experiences is equal to the net force exerted on it divided by the object's mass.**
- Equation of predicting the acceleration of an object: $\vec{a} = \frac{\vec{F}_{\text{net}}}{m}$
  - $\vec{a}$ is the acceleration ($\frac{m}{s^2}$)
  - $\vec{F}_{\text{net}}$ is the net force ($N \cdot m$ *Newton meters*)
  - $m$ is the mass of the object ($kg$)
- Equation of predicting an object's final velocity: $\vec{v}_f = \vec{v}_i + \vec{a} \cdot (t_f - t_i)$
  - $\vec{v}_f$ is the final velocity ($\frac{m}{s}$)
  - $\vec{v}_i$ is the initial velocity ($\frac{m}{s}$)
  - $\vec{a}$ is the acceleration ($\frac{m}{s^2}$)
  - $t_f$ is the final time ($s$)
  - $t_i$ is the initial time ($s$)
- Thus, the equation of finding the final position of an object is $\vec{x}_f = \vec{x}_i + \vec{v}_i \cdot (t_f - t_i) + \frac{1}{2} \vec{a} \cdot (t_f - t_i)^2$
- In three-dimensional motion, we often need to consider the motion in each direction separately. For example, the motion in the z direction can be described similarly to the motion in the x and y directions. The equation for the final velocity in the z direction is:
  - $\vec{v}_zf = \vec{v}_i + \vec{a} \cdot (t_f - t_i)$
    - $\vec{v}_zf$ is the final velocity in the z direction ($\frac{m}{s}$)
    - $\vec{v}_i$ is the initial velocity ($\frac{m}{s}$)
    - $\vec{a}$ is the acceleration ($\frac{m}{s^2}$)
    - $t_f$ is the final time ($s$)
    - $t_i$ is the initial time ($s$)
  - ***This is less important than the other two equations in this section.***
- Equation for finding the average velocity of an object: $\vec{v}_{\text{avg}} = \frac{\vec{v}_i + \vec{v}_f}{2}$
  - $\vec{v}_{\text{avg}}$ is the average velocity ($\frac{m}{s}$)
  - $\vec{v}_i$ is the initial velocity ($\frac{m}{s}$)
  - $\vec{v}_f$ is the final velocity ($\frac{m}{s}$)
- To find the final position of an object, we can use the average velocity and the time interval. The average velocity can be expressed as:
  $\vec{v}_{\text{avg}} = \vec{v}_i + \frac{\vec{a} \cdot (t_f - t_i)}{2}$
- By integrating the average velocity over the time interval, we get the equation for the final position:
  $\vec{x}_f = \vec{x}_i + \vec{v}_i \cdot (t_f - t_i) + \frac{1}{2} \vec{a} \cdot (t_f - t_i)^2$
  - $\vec{x}_f$ is the final position
  - $\vec{x}_i$ is the initial position
  - $\vec{v}_i$ is the initial velocity
  - $\vec{a}$ is the acceleration
  - $t_f$ is the final time
  - $t_i$ is the initial time
- ***We will not be tested on derivation. To derive these equations you need calculus. Rather I include each step to show the steps in derivation***

## Gravitational Force
| Force            | Symbol       | Description                                                                 | Direction                                      |
|------------------|--------------|-----------------------------------------------------------------------------|------------------------------------------------|
| Gravitational    | $\vec{F}_g$ or $\vec{w}$ = $\vec{\text{weight}}$ | The force of attraction between two masses. $\vec{F}_g = (0, 0, -9.8 \frac{m}{s^2})$                                | Towards the center of the Earth (downwards)    |
| Frictional       | $\vec{F}_f$  | The force that opposes the motion of an object.                             | Opposite to the direction of motion            |
| Normal           | $\vec{F}_N$  | The support force exerted by a surface perpendicular to the object.         | Perpendicular to the surface (upwards)         |
| Drag             | $\vec{F}_d$  | The force that opposes the motion of an object through a fluid.             | Opposite to the direction of motion            |
- The *equivelence principle* states that the force of gravity is equivalent to the force of acceleration. This is why objects in free fall experience weightlessness.
- When dropping an object from a height, the object will accelerate downwards at a rate of $9.8 \frac{m}{s^2}$.
  - Putting that into a formula gives us $\vec{x}_f = \vec{x}_i + \vec{v}_i \cdot (t_f - t_i) + \frac{1}{2} \vec{a} \cdot (t_f - t_i)^2$
    - $\vec{X}_i = (0, 0, h)$
    - $\vec{v}_i = (0, 0, 0)$
    - $\vec{a} = \vec{g} = (0, 0, -9.8 \frac{m}{s^2})$
  - Rearranging, $h = \frac{1}{2} \cdot 9.8 \cdot t^2$
- Example: If an object is dropped from a height of 100 meters, how long will it take to hit the ground?
  - $t_f = \sqrt{\frac{2 \cdot 100}{9.8}} \approx 4.52 s$

## Important Equations
| Name                          | Equation                                                                                |
|-------------------------------|------------------------------------------------------------------------------------------------|
| Newton's First Law of Motion  | $\vec{x}_f = \vec{x}_i + \vec{v} \cdot (t_f - t_i)$                                            |
| Newton's Second Law of Motion | $\vec{a} = \frac{\vec{F}_{\text{net}}}{m}$                                                     |
|                               | $\vec{v}_f = \vec{v}_i + \vec{a} \cdot (t_f - t_i)$                                            |
|                               | $\vec{x}_f = \vec{x}_i + \vec{v}_i \cdot (t_f - t_i) + \frac{1}{2} \vec{a} \cdot (t_f - t_i)^2$|
| Gravitational Force           | $\vec{F}_g = (0, 0, -9.8 \frac{m}{s^2})$                                                       |

###### PollEV Answers
1. *D* (2, 2, -2)
 - What is $\vec{x}_f$ if $\vec{x}_i = (-4, 6, -8)$, $\vec{v} = (2, \frac{-4}{3}, 2)$, $t_f = 3$, and $t_i = 0$?

Known limitation: https://github.com/MeanderingProgrammer/render-markdown.nvim/blob/main/doc/limitations.md#latex-formula-positioning
Unfortunately fixing this meaningfully is complicated and not something I'm willing to commit to given how infrequently I use latex.
There are some other plugins that attempt to solve this and seem to do a nice job. Try out the latex.nvim plugin mentioned in the doc: https://github.com/robbielyman/latex.nvim

Gotcha thank you! Love the plugin -- keep up the amazing work!


TelemetrySinkTask: Setting eventBatch to null once the events are sent successfully.

 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.

I am running into this same bug in the released 1.0.0 version available on Confluent Hub. Is there a way that we can get this merged?

I am running into this same bug in the released 1.0.0 version available on Confluent Hub. Is there a way that we can get this merged?

@rahulbats , Can we get this reviewed and merged into a new version for Kafka Connect and Confluent Hub please soon?

@rahulbats , Can we get this reviewed and merged into a new version for Kafka Connect and Confluent Hub please soon?

@rahulbats This fix seems simple enough but please confirm that it won't have any side effects.


Pandas Column Typing

Overview: Add functionality to get column types, including date, and sortkeys from Redshift meta info for Pandas IO
I modified the client to allow me to pass arguments to the pd.read_csv on line 227 in civis/io/_tables.py. I gather the column types using client.tables.get after which I map the SQL types to their corresponding Python types. Doing this eliminates the automatic str to int conversion, e.g. zipcodes, and automatically identifies the date columns.  Is there any interest in adding this in a more thoughtful way to the code?

Yes this is a good idea! I am not sure who has time to get to it, but if you want to make a PR feel free!

+1 ! You can tag me for review. I've dealt with similar issues in my own code.

I have the time right now but I'm not super familiar with the code. Basically what's the fastest way to get the table meta given the database and table names because that seems to be readily available in the existing code?  I currently do the following in my code:

Get the table in the database by searching over the tables:
client.tables.list(database_id=DATABASE_META['id'], limit=1000)
Use the table id to get column data
table_cols = client.tables.get(table['id'])['columns']

Hmmm. Those calls might require the table scanner. You could query the database for the info directly.

The types will be populated without a full table scanner run. You can use something like
db_id = client.get_database_id(database)
tables = client.tables.list(database_id=db_id, schema=schema, name=table)
columns = client.tables.get(tables[0].id).columns
dtypes = {col.name: redshift_to_py_type(col.sql_type)
              for col in columns}

Here is the function I plan on using:
from civis.APIClient import get_table_id

Initial code where table_id is passed from read_civis into read_civis_sql
    if use_pandas:
        table_meta = client.tables.get(table_id)
        # The split is to handle e.g. DECIMAL(17,9)
        redshift_types = {col['name']: col['sql_type'].split('(')[0]
                              for col in table_meta['columns']}
        py_types = {name : SQL_PANDAS_MAP[type_]
                    for (name, type_) in redshift_types
                    if type_ not in DATE_TYPES}
        date_cols = [name for (name, type_) in redshift_types
                     if type_ in DATE_TYPES]

        sortkeys = table_meta['sortkeys'].split(',')
        # Not sure about the best way to handle null fields
        # or how they may appear
        data = pd.read_csv(url, parse_dates=date_cols,
                                index_col=sort_keys,
                                converters=py_types)

Cool. Go ahead and make a branch and start the PR. We can do actual code review there.

This would be a major improvement.  The difficult I've had with this before is that there doesn't seem to be a good way to get the type information from a general query passed into read_civis_sql.  If someone has a suggestion, I would love to hear it, but I think we could only provide types for read_civis.
That said, it would still be useful to implement this for just read_civis.  I could imagine somewhere around here adding the code @stephen-hoover wrote above.  Then we could pass dtypes to read_civis_sql here, since the kwargs in read_civis_sql ultimately get passed to pandas.read_csv.

Oof, we might have another problem.  read_civis accepts columns, which could be arbitrary SQL.  So if someone were to call
columns = ['my_var = 1']
read_civis('table', 'database', columns = columns)

We simply wouldn't have the type information.

Hm. Good point. pandas.read_csv accepts a dtype argument, which is how we'd implement this. The dtype doesn't have to include all columns, and it can include columns which aren't present. I think the only time we'd run into trouble would be if users tried to export columns with the same name as a column in the actual table, but with a different type. I suppose that could happen, couldn't it?
I'm not sure what the right answer is. We could give a boolean switch to enable type inference when reading with pandas. That would let users at least turn it off if they're transforming types. Or we could provide examples of how to do this yourself, or helper functions.


dev branch: compare over https

I want to use a remote server as compare-host over https.
Getting the following error when setting https in the toml.
[[compare]]
addr     = "https://URL/qbittorrent"

ERROR: connection failed to compare: http: read on closed response body
Edit: with a few hacks, I managed to get https working.
Changed this in client.go
	// set basic auth
	c.setBasicAuth(req)

	resp, err := c.http.Do(req)
	if err != nil {
		return nil, errors.Wrap(err, "could not make request")
		defer resp.Body.Close()
	}

	return resp, nil

̶ ̶̶̶A̶n̶d̶ ̶s̶e̶t̶ ̶a̶d̶d̶r̶e̶s̶s̶ ̶i̶n̶ ̶t̶h̶e̶ ̶t̶o̶m̶l̶ ̶a̶s̶<EMAIL_ADDRESS>Not how it's suppose to work, but for now I can use https to securely access the remote host.

The issue can be closed.
After making the above change, I now got a meaningful error message about authentication.
That made me realize I hadn't added the basicUser and basicPass to the toml.
Everything is now working.

close


nodePackages.clean-css is the wrong package

Describe the bug
clean-css is the NodeJS library for clean-css. clean-css-cli is the package for the clean-css cli.
To Reproduce
Steps to reproduce the behavior:

nix run nixpkgs.nodePackages.clean-css
cleancss ...

Expected behavior
The cleancss command should be available.
Metadata

system: "x86_64-linux"
host os: Linux 5.5.8, NixOS, 20.03beta529.da92e0566d1 (Markhor)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.3.2
channels(jlove): ""
channels(root): "nixos-20.03beta529.da92e0566d1"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute: nodePackages.clean-css
# a list of nixos modules affected by the problem
module:

What's wrong with this? The attributes you describe correspond to the clean-css and clean-css-cli npm packages...

What's wrong with this? The attributes you describe correspond to the clean-css and clean-css-cli npm packages...

clean-css no longer contains the command line tool to run clean-css. It was split into the separate package clean-css-cli. clean-css just contains the library, but nixpkgs.nodePackages is supposed to contain command like tools (the kind of stuff you would install with npm install -g), not libraries.

Fixed a long time ago.


HIVE-22369 Handle HiveTableFunctionScan at return path

The optimizedOptiqPlan at CalcitePlanner.getOptimizedHiveOPDag is ultimately generated by CalcitePlanner.internalGenSelectLogicalPlan, which may either provide a HiveProject or a HiveTableFunctionScan. When HiveCalciteUtil.getTopLevelSelect is invoked on this it is looking for a HiveProject node in the tree, which if won't find in case of a HiveTableFunctionScan was returned. This is why TestNewGetSplitsFormat is failing with return path.

Added unit tests for the modifications.

@jcamachor, I think I understood what you asked for, please check out the new patch, and let me know if this is how you wanted it.