distutils.sysconfig module not found in pipenv pipx installation on Ubuntu 20.04

Be sure to check the existing issues (both open and closed!), and make sure you are running the latest version of Pipenv.
Check the diagnose documentation for common issues before posting! We may close your issue if it is very similar to one of them. Please be considerate, or be on your way.
Make sure to mention your debugging experience if the documented solution failed.
Issue description
pipenv commands(e.g. pipenv install) fail with
[...]
ModuleNotFoundError: No module named 'distutils.sysconfig'

I've tried installing pipenv through python3.8 -m pip install --user pipenv and python3.8 -m pipx install pipenv with same result.
I've reinstalled python, pip, pipx, python3-distutils on system with no success.
Expected result
pipx should be packaging all dependencies in the pipenv installation environment. distutils package modules(I believe part of setuptools package) should be found.
Actual result
❯ pipenv install --verbose
Pipfile.lock not found, creating...
Locking [dev-packages] dependencies...
Building requirements...
Resolving dependencies...
Traceback (most recent call last):
  File "/home/charles-langlois/.local/pipx/venvs/pipenv/lib/python3.8/site-packages/pipenv/resolver.py", line 857, in <module>
    main()
  File "/home/charles-langlois/.local/pipx/venvs/pipenv/lib/python3.8/site-packages/pipenv/resolver.py", line 833, in main
    from pipenv.vendor.vistir.compat import ResourceWarning
  File "/home/charles-langlois/.local/pipx/venvs/pipenv/lib/python3.8/site-packages/pipenv/__init__.py", line 57, in <module>
    from .cli import cli
  File "/home/charles-langlois/.local/pipx/venvs/pipenv/lib/python3.8/site-packages/pipenv/cli/__init__.py", line 1, in <module>
    from .command import cli  # noqa
  File "/home/charles-langlois/.local/pipx/venvs/pipenv/lib/python3.8/site-packages/pipenv/cli/command.py", line 7, in <module>
    from pipenv.cli.options import (
  File "/home/charles-langlois/.local/pipx/venvs/pipenv/lib/python3.8/site-packages/pipenv/cli/options.py", line 3, in <module>
    from pipenv.project import Project
  File "/home/charles-langlois/.local/pipx/venvs/pipenv/lib/python3.8/site-packages/pipenv/project.py", line 21, in <module>
    from pipenv.core import system_which
  File "/home/charles-langlois/.local/pipx/venvs/pipenv/lib/python3.8/site-packages/pipenv/core.py", line 30, in <module>
    from pipenv.utils.resolver import venv_resolve_deps
  File "/home/charles-langlois/.local/pipx/venvs/pipenv/lib/python3.8/site-packages/pipenv/utils/resolver.py", line 14, in <module>
    from pipenv.vendor.requirementslib import Pipfile, Requirement
  File "/home/charles-langlois/.local/pipx/venvs/pipenv/lib/python3.8/site-packages/pipenv/vendor/requirementslib/__init__.py", line 7, in <module>
    from .models.lockfile import Lockfile
  File "/home/charles-langlois/.local/pipx/venvs/pipenv/lib/python3.8/site-packages/pipenv/vendor/requirementslib/models/lockfile.py", line 16, in <module>
    from .requirements import Requirement
  File "/home/charles-langlois/.local/pipx/venvs/pipenv/lib/python3.8/site-packages/pipenv/vendor/requirementslib/models/requirements.py", line 10, in <module>
    from distutils.sysconfig import get_python_lib
ModuleNotFoundError: No module named 'distutils.sysconfig'

Steps to replicate

Get a ubuntu 20.04 environment.
Verify python system installation is python3.8, that pip is installed, that python3-distutils apt package is installed, and finally that pipx is installed.
Install pipenv through pipx: python3.8 -m pipx install pipenv.
run pipenv install in an existing project with a Pipfile.

$ pipenv --support
Pipenv version: '2022.4.8'
Pipenv location: '/home/charles-langlois/.local/pipx/venvs/pipenv/lib/python3.8/site-packages/pipenv'
Python location: '/home/charles-langlois/.local/pipx/venvs/pipenv/bin/python'
Python installations found:

3.8.10: /usr/bin/python3
3.8.10: /usr/bin/python3.8
3.7.5: /usr/bin/python3.7m
3.7.5: /usr/bin/python3.7
3.6.9: /usr/bin/python3.6m
3.6.9: /usr/bin/python3.6
2.7.18: /usr/bin/python2
2.7.18: /usr/bin/python2.7

PEP 508 Information:
{'implementation_name': 'cpython',
 'implementation_version': '3.8.10',
 'os_name': 'posix',
 'platform_machine': 'x86_64',
 'platform_python_implementation': 'CPython',
 'platform_release': '5.4.7-050407-generic',
 'platform_system': 'Linux',
 'platform_version': '#201912311234 SMP Tue Dec 31 17:38:50 UTC 2019',
 'python_full_version': '3.8.10',
 'python_version': '3.8',
 'sys_platform': 'linux'}

System environment variables:

SHELL
WINDOWID
QT_ACCESSIBILITY
COLORTERM
XDG_CONFIG_DIRS
TMUX
I3SOCK
KONVERSION_REGISTRY
REGISTRY_DOMAIN
MANDATORY_PATH
SSH_AUTH_SOCK
DIRENV_DIR
DESKTOP_SESSION
GPG_TTY
EDITOR
GTK_MODULES
XDG_SEAT
PWD
LOGNAME
XDG_SESSION_DESKTOP
XDG_SESSION_TYPE
GPG_AGENT_INFO
XAUTHORITY
WINDOWPATH
HOME
USERNAME
LANG
LS_COLORS
_JAVA_AWT_WM_NONREPARENTING
STARSHIP_SHELL
DIRENV_DIFF
STARSHIP_SESSION_KEY
NVM_DIR
LESSCLOSE
XDG_SESSION_CLASS
TERM
DEFAULTS_PATH
LESSOPEN
USER
TMUX_PANE
DISPLAY
SHLVL
XDG_VTNR
AGENDACMD
UBUNTU_MENUPROXY
XDG_SESSION_ID
XDG_RUNTIME_DIR
XDG_DATA_DIRS
PATH
ALACRITTY_LOG
GDMSESSION
DBUS_SESSION_BUS_ADDRESS
DIRENV_WATCHES
AGENDA
OLDPWD
GOPATH
_
PIP_SHIMS_BASE_MODULE
PIP_DISABLE_PIP_VERSION_CHECK
PIP_PYTHON_PATH
PYTHONDONTWRITEBYTECODE
PYTHONFINDER_IGNORE_UNSUPPORTED

Pipenv–specific environment variables:
Debug–specific environment variables:

PATH: /home/charles-langlois/.cargo/bin:/home/charles-langlois/bin:/home/charles-langlois/.local/bin:/home/charles-langlois/go/bin:/usr/local/go/bin:/home/charles-langlois/.local/bin:/home/charles-langlois/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/charles-langlois/.local/bin
SHELL: /bin/bash
EDITOR: kcr edit
LANG: C.UTF-8
PWD: /home/charles-langlois/repositories/microifc/micro_ifc

Contents of Pipfile ('/home/charles-langlois/repositories/microifc/micro_ifc/Pipfile'):
[[source]]
name = "pypi-mirror"
url = "https://pip.kio.to/pypi/+simple"
verify_ssl = true

[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true

[[source]]
url = "https://pip.kio.to/root/konversion/+simple"
verify_ssl = true
name = "devil"

[dev-packages]
mypy = "*"
pylint = "*"
rope = "*"
pytest = "*"
jedi = "*"
black = "*"

[packages]
psycopg2 = "*"
sqlalchemy = {version = "==1.3.*"}
click = "*"
kioto-basic-utils = {index = "devil",version = ">=0.1.11"}
kioto-luigi-utils = {index = "devil",version = ">=0.5.*"}
kioto-marshmallow-utils = {index = "devil",version = "*"}
alembic = "*"
bitarray = "*"
kioto-sqlalchemy-utils = "*"
paramiko = "*"
requests = "*"
websockets = "*"
luigi = "*"
marshmallow = "*"
tenacity = "*"
tinyrpc = "*"
hyperlink = "*"
fastapi = "*"
uvicorn = "*"
asyncpg = "*"
sentry-sdk = "==0.8.0"
aiofiles = "*"
python-dotenv = "*"
pydantic = {extras = ["email"],version = "*"}
kioto-api-connector = {index = "devil",version = "==1.1.*"}
python-multipart = "*"
python-json-logger = "*"
pyyaml = "*"
colorama = "*"
blessings = "*"

[requires]
python_version = "3.7"

[pipenv]
allow_prereleases = true

@DrPyser  "It's likely because you're on a system that does not install the distutils module alongside python even though it is still part of the python standard library." and "Sadly, on Ubuntu 20.04, python3-distutils is Python3.8 package. python3.9-distutils is a virtual that installs python3-distutils." -- These quotes are from this issue report which seems to have some support for you.  https://github.com/pypa/get-pip/issues/124#issuecomment-904380931

Closing this as their has been no response.


Device has no langid

I am trying to talk to ICS2313 via python3 with a rs-232 -> usb serial adapter on my ubuntu linux laptop.
I have installed all the python libs using pip3 and not using the debs.
I get this error message and can't see why this might be , i have tried two different types of usb serial adapter with no difference. I was expecting to get a list containing one device

import visa
rm = visa.ResourceManager('@py')
rm.list_resources()
Traceback (most recent call last):
File "", line 1, in
File "/home/amias/.local/lib/python3.5/site-packages/pyvisa/highlevel.py", line 1560, in list_resources
return self.visalib.list_resources(self.session, query)
File "/home/amias/.local/lib/python3.5/site-packages/pyvisa-py/highlevel.py", line 231, in list_resources
for key, st in sessions.Session.iter_valid_session_classes()], [])
File "/home/amias/.local/lib/python3.5/site-packages/pyvisa-py/highlevel.py", line 231, in
for key, st in sessions.Session.iter_valid_session_classes()], [])
File "/home/amias/.local/lib/python3.5/site-packages/pyvisa-py/usb.py", line 203, in list_resources
serial_number=dev.serial_number,
File "/home/amias/.local/lib/python3.5/site-packages/usb/core.py", line 830, in serial_number
self._serial_number = util.get_string(self, self.iSerialNumber)
File "/home/amias/.local/lib/python3.5/site-packages/usb/util.py", line 314, in get_string
raise ValueError("The device has no langid")
ValueError: The device has no langid

here is my config
amias@rome:~$ python3 -m visa info
Machine Details:
Platform ID:    Linux-4.4.0-28-generic-x86_64-with-Ubuntu-16.04-xenial
Processor:      x86_64
Python:
Implementation: CPython
Executable:     /usr/bin/python3
Version:        3.5.1+
Compiler:       GCC 5.3.1 20160330
Bits:           64bit
Build:          Mar 30 2016 22:46:26 (#default)
Unicode:        UCS4
PyVISA Version: 1.8
Backends:
ni:
Version: 1.8 (bundled with PyVISA)
#1: /usr/lib/x86_64-linux-gnu/libvisa.so.0.0.0:
found by: auto
bitness: 64
Could not get more info:
VI_ERROR_NSUP_ATTR (-1073807331): The specified attribute is not defined or supported by the referenced object.
py:
Version: 0.3.dev0
ASRL INSTR: Available via PySerial (3.1.1)
USB RAW: Available via PyUSB (1.0.0). Backend: libusb1
USB INSTR: Available via PyUSB (1.0.0). Backend: libusb1
GPIB INSTR:
Please install linux-gpib to use this resource type.
No module named 'gpib'
TCPIP INSTR: Available
TCPIP SOCKET: Available
There is a device connected to /dev/ttyUSB0 and i can open it with minicom
amias@rome:~$ setserial -g /dev/ttyUSB0
/dev/ttyUSB0, UART: unknown, Port: 0x0000, IRQ: 0, Flags: low_latency

Similar error here. Detecting devices connected via USB->Serial (1 port and 4 port) adapters works. But if I connect any USB->Ethernet adapters (tested 2 different models), I get the "ValueError: The device has no langid" as above...

Hi there,
looks like I have the same :
Python 3.4.3+ (default, Oct 14 2015, 16:03:50)
[GCC 5.2.1 20151010] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import visa
>>> rm = visa.ResourceManager('@py')
>>> rm.list_resources()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.4/dist-packages/PyVISA-1.8-py3.4.egg/pyvisa/highlevel.py", line 1560, in list_resources
    return self.visalib.list_resources(self.session, query)
  File "/usr/local/lib/python3.4/dist-packages/PyVISA_py-0.3.dev0-py3.4.egg/pyvisa-py/highlevel.py", line 231, in list_resources
    for key, st in sessions.Session.iter_valid_session_classes()], [])
  File "/usr/local/lib/python3.4/dist-packages/PyVISA_py-0.3.dev0-py3.4.egg/pyvisa-py/highlevel.py", line 231, in <listcomp>
    for key, st in sessions.Session.iter_valid_session_classes()], [])
  File "/usr/local/lib/python3.4/dist-packages/PyVISA_py-0.3.dev0-py3.4.egg/pyvisa-py/usb.py", line 203, in list_resources
    serial_number=dev.serial_number,
  File "/usr/local/lib/python3.4/dist-packages/usb/core.py", line 830, in serial_number
    self._serial_number = util.get_string(self, self.iSerialNumber)
  File "/usr/local/lib/python3.4/dist-packages/usb/util.py", line 314, in get_string
    raise ValueError("The device has no langid")
ValueError: The device has no langid

About my config :
python3 -m visa info
Machine Details:
   Platform ID:    Linux-4.2.0-34-generic-x86_64-with-Ubuntu-15.10-wily
   Processor:      x86_64

Python:
   Implementation: CPython
   Executable:     /usr/bin/python3
   Version:        3.4.3+
   Compiler:       GCC 5.2.1 20151010
   Bits:           64bit
   Build:          Oct 14 2015 16:03:50 (#default)
   Unicode:        UCS4

PyVISA Version: 1.8

Backends:
   ni:
      Version: 1.8 (bundled with PyVISA)
      Binary library: Not found
   py:
      Version: 0.3.dev0
      USB RAW: Available via PyUSB (1.0.0). Backend: libusb1
      USB INSTR: Available via PyUSB (1.0.0). Backend: libusb1
      TCPIP SOCKET: Available
      ASRL INSTR: Available via PySerial (3.1.1)
      GPIB INSTR:
         Please install linux-gpib to use this resource type.
         No module named 'gpib'
      TCPIP INSTR: Available

Thanks for any thought

This appears quite frequently. I think is a problem related to how pyusb handles missing langid. I would like to have a way to work around it. @walac any ideas?

hrm, unless there is a bug in reading the langid, the error means what it says, the device has no langid, and afaik, no string can be read without a langid. Have you retried with langid value, say, 0 when it raises the error? It might be a firmware bug, and if this is the case, I doubt they are checking langid to return the string.

@walac  Thanks for joining. I have not tried that, maybe we should. But would there be a way to do this directly in pyusb? i.e. have a flag in pyusb that defaults to langid 0 if no langid

I would be more than happy to help if I can.
Here is some more context : I am trying to communicate with a NI USB 6210.
lsusb -v shows :
Bus 003 Device 006: ID 3923:7269 National Instruments Corp.
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          255 Vendor Specific Class
  bDeviceSubClass       255 Vendor Specific Subclass
  bDeviceProtocol       255 Vendor Specific Protocol
  bMaxPacketSize0        64
  idVendor           0x3923 National Instruments Corp.
  idProduct          0x7269
  bcdDevice            0.00
  iManufacturer           0
  iProduct                0
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
  [...]

To go further, I installed NI Visa on another machine, I was able to get visaconf work, so I have the serial number :

Some information about this installation :
python3 -m visa info
Machine Details:
   Platform ID:    Linux-3.13.0-45-generic-i686-with-Ubuntu-14.04-trusty
   Processor:      i686

Python:
   Implementation: CPython
   Executable:     /usr/bin/python3
   Version:        3.4.3
   Compiler:       GCC 4.8.4
   Bits:           32bit
   Build:          Oct 14 2015 20:33:09 (#default)
   Unicode:        UCS4

PyVISA Version: 1.8

Backends:
   ni:
      Version: 1.8 (bundled with PyVISA)
      #1: /usr/lib/i386-linux-gnu/libvisa.so.0.0.0:
         found by: auto
         bitness: 32
         Could not get more info:
            VI_ERROR_NSUP_ATTR (-1073807331): The specified attribute is not defined or supported by the referenced object.
   py:
      Version: 0.2
      TCPIP SOCKET: Available
      TCPIP INSTR: Available
      ASRL INSTR: Available via PySerial (2.7)
      GPIB INSTR:
         Please install linux-gpib to use this resource type.
         No module named 'gpib'
      USB RAW: Available via PyUSB (1.0.0). Backend: libusb1
      USB INSTR: Available via PyUSB (1.0.0). Backend: libusb1

Trying to use the lib :
import visa
rm=visa.ResourceManager('@py')
rm.list_resources()

('ASRL/dev/ttyS4::INSTR', 'ASRL/dev/ttyS31::INSTR', 'ASRL/dev/ttyS30::INSTR', 'ASRL/dev/ttyS29::INSTR', 'ASRL/dev/ttyS28::INSTR', 'ASRL/dev/ttyS27::INSTR', 'ASRL/dev/ttyS26::INSTR', 'ASRL/dev/ttyS25::INSTR', 'ASRL/dev/ttyS24::INSTR', 'ASRL/dev/ttyS23::INSTR', 'ASRL/dev/ttyS22::INSTR', 'ASRL/dev/ttyS21::INSTR', 'ASRL/dev/ttyS20::INSTR', 'ASRL/dev/ttyS19::INSTR', 'ASRL/dev/ttyS18::INSTR', 'ASRL/dev/ttyS17::INSTR', 'ASRL/dev/ttyS16::INSTR', 'ASRL/dev/ttyS15::INSTR', 'ASRL/dev/ttyS14::INSTR', 'ASRL/dev/ttyS13::INSTR', 'ASRL/dev/ttyS12::INSTR', 'ASRL/dev/ttyS11::INSTR', 'ASRL/dev/ttyS10::INSTR', 'ASRL/dev/ttyS9::INSTR', 'ASRL/dev/ttyS8::INSTR', 'ASRL/dev/ttyS7::INSTR', 'ASRL/dev/ttyS6::INSTR', 'ASRL/dev/ttyS5::INSTR', 'ASRL/dev/ttyS3::INSTR', 'ASRL/dev/ttyS2::INSTR', 'ASRL/dev/ttyS1::INSTR', 'ASRL/dev/ttyS0::INSTR')

The device does not appear, but a full list which I believe is linked to another issue.
When trying to connect to the device directly with the address found via visaconf :
rm.open_resource("USB0::0x3923::0x7269::NI-VISA-3006::RAW")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.4/dist-packages/pyvisa/highlevel.py", line 1644, in open_resource
    res.open(access_mode, open_timeout)
  File "/usr/local/lib/python3.4/dist-packages/pyvisa/resources/resource.py", line 203, in open
    self.session, status = self._resource_manager.open_bare_resource(self._resource_name, access_mode, open_timeout)
  File "/usr/local/lib/python3.4/dist-packages/pyvisa/highlevel.py", line 1601, in open_bare_resource
    return self.visalib.open(self.session, resource_name, access_mode, open_timeout)
  File "/usr/local/lib/python3.4/dist-packages/pyvisa-py/highlevel.py", line 191, in open
    sess = cls(session, resource_name, parsed)
  File "/usr/local/lib/python3.4/dist-packages/pyvisa-py/sessions.py", line 184, in __init__
    self.after_parsing()
  File "/usr/local/lib/python3.4/dist-packages/pyvisa-py/usb.py", line 210, in after_parsing
    self.parsed.serial_number)
  File "/usr/local/lib/python3.4/dist-packages/pyvisa-py/protocols/usbraw.py", line 45, in __init__
    super(USBRawDevice, self).__init__(vendor, product, serial_number, **kwargs)
  File "/usr/local/lib/python3.4/dist-packages/pyvisa-py/protocols/usbtmc.py", line 146, in __init__
    devices = list(self.find_devices(vendor, product, serial_number, None, **device_filters))
  File "/usr/local/lib/python3.4/dist-packages/usb/core.py", line 1249, in device_iter
    if _interop._all(tests) and (custom_match is None or custom_match(d)):
  File "/usr/local/lib/python3.4/dist-packages/pyvisa-py/protocols/usbutil.py", line 194, in cm
    if not fnmatch(getattr(dev, attr).lower(), pattern.lower()):
AttributeError: 'NoneType' object has no attribute 'lower'

Maybe I am facing another issue at this stage ?

@hgrecco hrm, the way to achieve that is by checking is Device.langids length is zero, if so, provide a langid parameter to get_string, if not, pass None.

@edouardrosset  NI USB 6210 is a DAQ card so it does not fall within the scope of VISA.

@walac Please notice that is not pyvisa-py who is calling get_string but pyusb:
File "/home/amias/.local/lib/python3.5/site-packages/usb/core.py", line 830, in serial_number
self._serial_number = util.get_string(self, self.iSerialNumber)

So I think it would be great if you can provide a fallback. For example here
 langids = dev.langids

to:
 langids = dev.langids or util.FALLBACK_LANGIDS

By default FALLBACK_LANGIDS defined in util is () but users can change it. (You could  provide an exported setter if you would like to check the value)
global FALLBACK_LANGIDS

def set_fallback_langid(langid):
    global FALLBACK_LANGIDS
    if langid is None:
        FALLBACK_LANGIDS = ()
    elif isinstance(langid, int):
        FALLBACK_LANGIDS = (langid, )
    else:
        raise ValueError('Invalid langid %s' % langid)

set_fallback_langid(None)

The other solutions that I see are:

monkey patch dev._langids if empty
create my own (safe) function to get the serial number and related.

Just as a tip for whomever stumbles upon this issue: It may simply be a permission issue. Use lsusb to check wheter you can read any information from the device. If you get something like the following, but sudo lsusb shows the correct USB descriptor, then all you have to do is allow your user access to the device (e.g. by writing a new udev rule) ;)
$ lsusb -v -s 2:11
Bus 002 Device 011: ID 2a8d:0101
Couldn't open device, some information will be missing
...
  iManufacturer           1
  iProduct                2
  iSerial                 3
...

Cheers Iliis, solved it for me.

My rules (for an FTDI FT232 chip), fyi.  Added to/etc/udev/rules.d/99-com.rules
SUBSYSTEM=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6014", SYMLINK+="ttyUSB0", GROUP="gpio", MODE=="0660"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6014", SYMLINK+="ttyAMA0", GROUP="gpio", MODE=="0660"


Unify UTF-8 handling using til::u8u16 & revise WriteConsoleAImpl

Summary of the Pull Request
Replace  utf8Parser with til::u8u16 in order to have the same conversion algorithms used in terminal and conhost.

References
This PR is a follow up of #4093

PR Checklist

[x] Closes #4086 , Closes #3378
[x] CLA signed. If not, go over here and sign the CLA
[x] Tests added/passed
[ ] Requires documentation to be updated
[ ] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #xxx

Detailed Description of the Pull Request / Additional comments
This PR addresses item 2 in this list:

✉ Implement til::u8u16 and til::u16u8 (done in PR #4093)

✔ Unify UTF-8 handling using til::u8u16 (this PR)
2.1. ✔ Update VtInputThread::_HandleRunInput()
2.2. ✔ Update ApiRoutines::WriteConsoleAImpl()
2.3. ❌ (optional / ask the core team) Remove Utf8ToWideCharParser from the code base to avoid further use

❌ Enable BOM discarding (follow up)
3.1. ❌ extend til::u8u16 and til::u16u8 with a 3rd parameter to enable discarding the BOM
3.2. ❌ Make use of the 3rd parameter to discard the BOM in all current function callers, or (optional / ask the core team) make it the default for  til::u8u16 and til::u16u8

❌ Find UTF-16 to UTF-8 conversions and examine if they can be unified, too (follow up)

@miniksa @DHowett-MSFT

Please check if this PR, along with the investigations done in #4093, does really close #3378
Please advice if I should remove Utf8ToWideCharParser now that it isn't used anymore

Validation Steps Performed

long UTF-8 files outputted to the console
printf tested as shown in #4086

The latest commit is intended to improve the readability of WriteConsoleAImpl, not to change its behavior in any kind.
This can be taken to be somehow related to the update of the UTF-8 conversion in this function. However, I changed the topic to make it visible for everyone.

:tada: Once again, thanks for the contribution!
This pull request was included in a set of conhost changes that was just
released with Windows Insider Build 19603.


Misc post-block-fetch cleanups

A few minor patches arising from the block-fetch work. Nothing special. All small.

bors r+


Add problem description

Currently, the repo only contains solution's problems but are not descriptive. You can add a README.md file describing the problem or solution (if possible) in detail.

Sure @Ishaan28malik go ahead. Just add a README.md file like:

"Add two arrays" folder will have a new file README or Description.md file which will tell others what was the problem and how was it solved or what logic was implemented.

@Kvaibhav01 I have requested a pull request for this issue. It's my first commit to open source, kindly let me know if anything additional is required from my side.

Vaibhav how can I contribute to your Repository?

@ooxaam check this.

@Yashika25 go ahead 😀

Happy to discover HackerEarth ! Thank you for that issue !

Would like to contribute here Vaibhav.

Sure @MAHIMA01! 😀

@Kvaibhav01  can i add Sorting algorithms in Algorithms section/c++ .


Allow missing default entry-point in ato.yaml

This would mean you can run a build manually via the CLI as long as the entry-point is provides as an argument.
See https://github.com/atopile/atopile/blob/fa35883b885df195f7888995b088057642e721b5/src/atopile/cli/common.py#L119-L135

Solved in v0.2.67


added redirects for old dryad landing pages

Added redirects for the old dryad landing pages. All requests for /resource/[:doc].[:version]/[:file].[:version] will be redirected to the main dataset landing page.
For example:

Dataset: https://dryad-dev.cdlib.org/resource/doi:10.5061/dryad.kq201
Version of Dataset: https://dryad-dev.cdlib.org/resource/doi:10.5061/dryad.kq201.2
File within a Dataset: https://dryad-dev.cdlib.org/resource/doi:10.5061/dryad.kq201/3
Version of File within a Dataset: https://dryad-dev.cdlib.org/resource/doi:10.5061/dryad.kq201/3.1
File within a Version of a Dataset: https://dryad-dev.cdlib.org/resource/doi:10.5061/dryad.kq201.2/3
Version of File within a Version of a Dataset: https://dryad-dev.cdlib.org/resource/doi:10.5061/dryad.kq201.2/3.1

Will all be redirected to: https://dryad-dev.cdlib.org/stash/dataset/doi:10.5061/dryad.kq201?latest=true

It seems like Travis is still failing these tests.  :-/

ah ok @sfisher. I have removed that latest=true query param.


Add chat highlights for Demon Slayer + Shadow of the Storm Incantations

Currently the order is only indicated in the current step, but the dialog options for the Incantation steps aren't highlighted.
They should highlight, likely with a check for the widget which appears of the player saying the line. Need to be careful of people exiting/re-entering dialog.

Added with https://github.com/Zoinkwiz/quest-helper/commit/42ed157147caeff1deacef4c5bf5b28bd7378055 and https://github.com/Zoinkwiz/quest-helper/commit/5884c0a875213a7f8ab0cdf33c2551d4fc2e9bd7


Integration testing infraestructure

Addresses #328

@gabrielspmoreira I am getting this error when trying to run the tests
/usr/bin/python3: Error while finding module specification for 't4r_paper_repro.transf_exp_main' (ModuleNotFoundError: No module named 't4r_paper_repro')

@gabrielspmoreira I have been able to get it running by calling directly the script, as it is not installed as a module.
Getting an OOM error when using a V100 16GB GPU
RuntimeError: CUDA out of memory. Tried to allocate 2.43 GiB (GPU 0; 15.77 GiB total capacity; 4.72 GiB already allocated; 326.25 MiB free; 4.73 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
12/05/2021 19:22:04 - INFO - numba.cuda.cudadrv.driver -   add pending dealloc: module_unload ? bytes

@albert17 I have tested those training arguments in a V100 32 GB. Can you pls try using 128 a smaller batch size (--per_device_train_batch_size 128 --per_device_eval_batch_size 128) in the commands?

@albert17 Should we run all integration tests in a single bash script? With "set -e" in the begining of the script it seems it will stop running if any command fails. Ideally tests should run independently of each other, so that if one test fails others can run.
Would that be possible?

@gabrielspmoreira changing batch to 128 works. I also removed the set -e flag

Looks good to me @albert17 !


Added custom log action

The new logging mechanism looks really useful, however, I wanted to extend it to integrate with my app's existing logging system. I added a custom log action that accepts a closure, and the log action is used instead of just printing to the console so the actual log can be customized.
This extends the work done by @svoip and the logging system.
In order to use this new functionality, you would add something like this:
OAuthSwift.setLogLevel(.trace)
OAuthSwift.setCustomLogAction { message in
   CustomLogger("[OAUTHSWIFT] \(message)")
}

Hi,
I think it’s useless. OAuthLogProtocol is a protocol. Make your class or structure that implement it and put an instance in OAuthSwift.log

That's the path I started to go down before I did this. Unfortunately, it doesn't work for 2 reasons.
The first one, OAuthSwift.log isn't a public property, so you would need a PR on OAuthSwift to add a func to set a custom logging subclass anyway.
The second issue is the default implementations are in an extension on the protocol. If you create a subclass and set it as the logging class, Swift still calls the implementations in the extension and not those in the subclass. It might be possible to reorganize everything to make it work, but the few things I tried caused errors due to the default parameters to get file and line information.
This seemed like the best way to get custom logging functionality without totally re-writing the logger which didn't seem necessary.

Hi, any more info on this PR? I still think it's useful functionality to be able to customize logging, but the proposed solution of using the protocol isn't possible.


schema caching

hi, we followed the example here to register serde. and only initialize it once when a new partition is assigned. in our datadog metrics, we are seeing high schema registry request count. it roughly equals to the message count. is there anything we need to do to cache schema? or is this a data/metric export issue with datadog?

Hey there, do you have a sample of your own code?
In the example, rcl is the only variable that talks to the schema registry. The serde variable does not -- it only serializes and deserializes.

yep.
func (c *Consumer) Setup(ctx context.Context) error {
	logging.Infof(ctx, "setting up consumer...")
	// load all schemas version and register with des
	traceSchemas, err := c.registryClient.Schemas(ctx, c.traceTopic+"-value", sr.HideDeleted)
	if err != nil {
		return errors.Wrap(err, "failed to get schema")
	}
	for _, traceSchema := range traceSchemas {
		traceDes, err := compiler.CompileSchemaBytes([]byte(traceSchema.Schema.Schema), []byte(avrorecords.NewUnionNullTraces().Schema()))
		if err != nil {
			return err
		}
		c.traceSerde.Register(
			traceSchema.ID,
			avrorecords.NewUnionNullTraces(),
			sr.DecodeFn(func(b []byte, v interface{}) error {
				l, ok := v.(*avrorecords.UnionNullTraces)
				if !ok {
					return errors.New("wrong dest type")
				}
				r := bytes.NewReader(b)
				return vm.Eval(r, traceDes, l)
			}),
		)
	}

	decodedTraceSchema, err := c.registryClient.SchemaByVersion(ctx, c.decodedTraceTopic+"-value", -1, sr.HideDeleted)
	if err != nil {
		return errors.Wrap(err, "failed to get latest sink schema")
	}
	c.decodedTraceSerde.Register(
		decodedTraceSchema.ID,
		avrorecords.NewUnionNullDecoded_traces(),
		sr.EncodeFn(func(v interface{}) ([]byte, error) {
			dl, ok := v.(*avrorecords.UnionNullDecoded_traces)
			if !ok {
				return nil, errors.New("cannot serialize for type")
			}
			var buf bytes.Buffer
			e := dl.Serialize(&buf)
			if e != nil {
				return nil, errors.Wrap(e, "failed to serialize")
			}
			return buf.Bytes(), nil
		}),
	)
	return nil
}

forgot to mention, our kafka provider is redpanda.

That looks good -- what's the produce or consume func look like? Is Setup called every time something is produced?

only OnPartitionsAssigned. i checked the log on setting up consumer.... setup should be called correctly and very few times. this is also the only place sr.Client is used

Well, that's odd -- that sounds correct. OnPartitionsAssigned will be called on every rebalance, but that should be very few times.

maybe it's a data export issue. i will ping redpanda. thank you!

just a fyi. i've bisected the code and kgo.Client.Produce() caused the schema registry request count (a count on redpanda_schema_registry_request_latency_seconds) to go up.


Releases seem to have been overlooked.

Hello,
Many thanks for creating this entire ecosystem BTW 🐱👤
I am looking to finesse the footer for a hosted site using the Edition template.  My plan is/was to find the repo and begin plugging away.  Unfortunately the README mentions downloading from https://github.com/TryGhost/Edition/releases but no releases exist for the project...
Perhaps a minor oversight?
Regards,
Scott.

Hey @scott91e1, thanks for the feedback. We don't do releases for themes except Casper for simplicity, and I agree it was misleading on Edition's README pointing to releases which are nowhere to be found. I've just updated the link :)

That's OK.  Me being a newbie to the ghost/node world, if I wanted to have a more complex footer than the standard template, what would be best course of action?  I am a coder, just not from the JavaScript world.  Thanks.

For Edition theme, the footer can be customized in partials/footer.hbs file. If you have some experience with HTML, it'll be no problem. When you open the file, you'll see that it's a plain HTML template with some special Ghost-specific helpers which are self-explanatory (e.g<EMAIL_ADDRESS>for site title, {{navigation type="secondary"}} for secondary navigation etc) More info here: https://ghost.org/docs/themes/


Cursor one line off in Terminal mode when window toolbar (WinBar) is present

Likely related to https://github.com/vim/vim/issues/2356: in Vim 8.0.1300, if you add a window toolbar to a terminal window, the cursor (but not the text) will be one line off while in Terminal mode. To reproduce, execute vim --clean, and then:
:terminal
:nnoremenu 1.10 WinBar.Next :bn<cr>

Lifepillar wrote:

Likely related to https://github.com/vim/vim/issues/2356: in Vim
8.0.1300, if you add a window toolbar to a terminal window, the cursor
(but not the text) will be one line off while in Terminal mode. To
reproduce, execute vim --clean, and then:
:terminal
:nnoremenu 1.10 WinBar.Next :bn<cr>

Didn't think of adding a WinBar to a terminal window would be something
useful.  I suppose it can be.  I'll look into making that work, but
don't expect it soon.
--
hundred-and-one symptoms of being an internet addict:
24. You realize there is not a sound in the house and you have no idea where
your children are.
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

This is very minor issue, which I am reporting only because I have stumbled on it by chance. As far as I am concerned, you might as well remove WinBars from terminal windows: I am not using that feature.


Duplicate placeholder in filters

Description
There is a duplication in the filters with the HDD field

dev:

Steps to reproduce

Go to dashboard
Go to the node finder page and watch the filters

Screenshots

Issue update
Work done

Updated the placeholder of the RAM unit in the filters component

the same problem exist in the free ssd
they have the same duplicate message for the tool tip
while one should be for the free ssd and one for the minmum ssd

verified on devnet
version : 3b91b1f

Verified:

Devnet
76f44e6


Clean up name

Right now it is difficult to understand plugins only by name.
Maybe you should use some clear name? Like postcss-mq-keyframes.

done


chore: docs, add events example

@menduz is this still active?

This was supposed to be merged already

Merged at https://github.com/decentraland/explorer/pull/106


Refactor asset support for Keembay

Refactoring done as discussed with @themarpe  over Slack.

On first glance the following would error out:

Create NN1, set blob (blob A)
Create NN2, set blob (blob B)
loadResource from NN2 -> returns NN1's blob A.

Yes, it would.

That said, the current mechanism might not be best suited for such refactor. Check the following means:

each Node's asset manager gets equipped with its own "root path" (eg on node creation, etc...)
assetManager.set("__blob") then saves the path as eg: NN2: /node/2/__blob

That can be done, yes.
I just want to clarify what the desired behavior of loadResource is?
It would make most sense to me, that loadResource only checks for assets in the assetManager of the node where it is called from. So if you expect something to be in the pipeline, you can explicitly call it like parent.lock()->loadResource("resource"). Otherwise, if you silently "fall back" on checking the pipeline assetManager, you might get some hard to debug bugs later.
Thoughts?

@moratom
The desired behavior of loadResource is that it find an asset in the "unified" space. Eg Pipeline asset manager has an asset A, and node 1 has asset B.
Those should be accessible from anywhere by: /pipeline/A or /node/1/B, but also accessible from "current working directory" of Pipeline as such: A and from node 1 as: B (where the cwd in former is /pipeline and in latter /node/1)

Otherwise, if you silently "fall back" on checking the pipeline assetManager, you might get some hard to debug bugs later.

Thats why the managers are prefixed - all are under unique paths. There shouldn't be no clashes.
Another option is having just as single Pipeline asset manager, but I wouldn't change it now (was reworked in 3d735e0647bda393602c3f24418fd982fad5968f, but not from the exact idea mentioned before)

The new implementation is in faf09b3 commit.
The loadResource function now works as you described the desired behavior in the comment above, while the assetManager only extends the previous interface so the current examples should still work fine.
Let me know what you think @themarpe.


fixed gigasecond to conform to metadata-- don't round dates down

Addresses issue raised on xecmascript: JS track was rounding down dates to midnight, contradicting metadata for exercise.
Also add .idea to IGNOREDIRS.
@kytrinyx I can merge if this looks good.

Thanks @matthewmorgan. It was a pending task for me to tackle this, and now you make me free :smile:


WWDMM: Player window freezes scroll position after meme submission in browser windows

After a player (not the final player in a round to submit a meme) enters their submission, wherever their scroll position is on the text-entry screen is the position the screen is frozen in for the "waiting for other players" screen. Can't move the screen by scrolling manually, with a wheel, or by manually adjusting the viewport. Doesn't actually interfere with gameplay, but it's jarring from a UX perspective.

I can scroll when this happens. Tested on mobile and desktop, safari and chrome. A fix for this would be to scroll window to the top on this screen. However this would likely not be a fix for older devices.
@mattwbenson what was this tested on


ActionButtonType.DisabledAction does leave the notification buton intact, it should dismiss

Create a new android project with code below and when code is run in an android phone or emulator. Click the + button to generate the notification. Now on minimize the application and then click the "Mark as read" notification button,
the notification, stays, it should go away.
import 'package:awesome_notifications/awesome_notifications.dart';
import 'package:flutter/material.dart';
void main() {
WidgetsFlutterBinding.ensureInitialized();
AwesomeNotifications().initialize(
null,
[
NotificationChannel(
channelKey: 'basic_channel',
channelName: 'Basic notifications',
channelDescription: 'Notification channel for basic tests',
// defaultColor: Color(0xFF9D50DD),
// ledColor: Colors.white
)
],
debug: false);
runApp(MyApp());
}
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key? key, required this.title}) : super(key: key);
final String title;
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State {
int _counter = 0;
void _incrementCounter() {
setState(() {
_counter++;
});
AwesomeNotifications().createNotification(
    content: NotificationContent(
        id: 10,
        channelKey: 'basic_channel',
        title: 'Simple Notification',
        body: 'Simple body',
        payload: {'uuid': 'user-profile-uuid'}),
    actionButtons: [
      NotificationActionButton(
          key: 'READ',
          label: 'Mark as read',
          autoCancel: true,
          buttonType: ActionButtonType.DisabledAction),
      NotificationActionButton(
          key: 'PROFILE',
          label: 'Show Profile',
          autoCancel: false,
          enabled: true,
          buttonType: ActionButtonType.Default)
    ]);

}
@override
void initState() {
super.initState();
AwesomeNotifications().isNotificationAllowed().then((isAllowed) {
  if (!isAllowed) {
    AwesomeNotifications().requestPermissionToSendNotifications();
  }
});

AwesomeNotifications().actionStream.listen((receivedNotification) {
  debugPrint(
      "  actionStream received " + receivedNotification.toString());
});

AwesomeNotifications().createdStream.listen((receivedNotification) {
  debugPrint(
      "  createdStream received " + receivedNotification.toString());
});

AwesomeNotifications().displayedStream.listen((receivedNotification) {
  debugPrint(
      "  displayedStream received " + receivedNotification.toString());
});

AwesomeNotifications().dismissedStream.listen((receivedNotification) {
  debugPrint(
      "  dismissedStream received " + receivedNotification.toString());
});

}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
//
title: Text(widget.title),
),
body: Center(
//
child: Column(
//
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
'You have pushed the button this many times:',
),
Text(
'$_counter',
style: Theme.of(context).textTheme.headline4,
),
],
),
),
floatingActionButton: FloatingActionButton(
onPressed: _incrementCounter,
tooltip: 'Increment',
child: Icon(Icons.add),
),
);
}
}

Set autoDisable to true

autoDisable is not available neither on NotificationActionButton nor NotificationContent , I guess you mean autoCancel, even when autoCancel is set to true, the notification does not get dismissed/canceled.

I have same issue with version 0.0.6+10 , 0.0.6+9

This is not a issue, is the expected behaviour. Disabled action is a button that does not fire any respective flutter action, but can dismiss the notification and close the notification tray.
If you want to close the notification, just set autoCancel/autoDismissible to true.

I have code exactly as you describe
NotificationActionButton(
key: 'READ',
label: 'Mark as read',
autoCancel: true,
buttonType: ActionButtonType.DisabledAction),
but it does not dismiss the notification.

Same problem here, though on version 0.0.6+10.
autoCancel: true still launches the app

Hi! Sorry for taking so long to respond to your issue on GitHub. I was focused on releasing the new 0.7.0 version of awesome_notifications and awesome_notifications_fcm and i didn't had time enough to do both. But now I can answer all your questions.
So now i'm asking you to recreate this topic using the new issue template. There's a lot of missing informations that i need to understand your problem, and all the instructions are already in the new issue template. Also, remember to check beforehand if your issue was posted by another user.
So I will automatically close all previous issues so far.
Sorry for the inconvenience and i will be waiting for your new issue request.
Thank you so much for your support!


Animated plotly chart in indigenous post doesn't render right

https://ubicenter.github.io/ubicenter.org/indigenous-ubi

@mgilbert1 @yuchida522

This is an issue with the underlying post: https://blog.ubicenter.org/20201012/indigenous.html

https://www.ubicenter.org/student-debt is having the same issue (as is the jupyterbook version)


Better Editing Experience

As many issues have documented (and come up with questionable solutions) editing MSBuild files by had is hard, even with XSD which there isn't always.
While I'm not completely sure how (part of the reason for this issue) I think the editing experience needs to be improved.
An example would be that since Tasks are backed by .NET classes why not parse them and expose they type data from them and if available XML documentation?

I thought I would mention MSBuild Sidekick (http://attrice.info/msbuild/); for a long time they were a sponsor of the MSBuild Extension Pack (http://www.msbuildextensionpack.com/) which is how I believe I had originally found them.
However back when I was using it you still needed a fair understanding of how the system worked in order to make the most of it. I have not used the tool for many years and have no clue if it has been maintained or what the experience is with the tooling.

The plan for this is #1774, which @lohitakshgupta is working on this summer. Closing this as a duplicate even though it predates that other issue (that got more traction).


Console errors should appear permanently on the screen

Right now we are using browserSync.notify() - but it's not formatted properly, and it's hidden after 5 sec.
We should probably inject the error into the index.html instead, so it will look like elm-reactor's errors.

Done.


[HOLD] Runtime helper unit tests

Added unit tests for SkyA11y and SkyHostBrowser
Updated/created TypeScript type definitions for the above helpers
Tweaked e2e server util to look for spec globs from the actual protractor config files: https://github.com/blackbaud/skyux-builder/pull/398/files#diff-b3dd6908494cdc329f2c37dc56665953R158

Codecov Report

Merging #398 into master will increase coverage by 0.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #398      +/-   ##
==========================================
+ Coverage   99.29%   99.31%   +0.01%
==========================================
  Files          73       75       +2
  Lines        1853     1892      +39
  Branches      292      296       +4
==========================================
+ Hits         1840     1879      +39
  Misses         13       13

Flag
Coverage Δ

#builder
100% <100%> (ø)
:arrow_up:

#runtime
95.01% <ø> (ø)
:arrow_up:

#srcapp
100% <ø> (ø)
:arrow_up:

Impacted Files
Coverage Δ

cli/utils/config-resolver.js
100% <ø> (ø)
:arrow_up:

cli/utils/start-e2e.js
100% <100%> (ø)

lib/host-browser.js
100% <100%> (ø)

lib/a11y-analyzer.js
100% <100%> (ø)
:arrow_up:

cli/e2e.js
100% <100%> (ø)
:arrow_up:

config/protractor/protractor.conf.js
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Closing since these files will be updated in isolated libraries.


Created XamlAnimatedGif and TestApp projects for .NET Core 3.1

Implementation of XamlAnimatedGif.WpfCore for .NET Core 3.1 based on XamlAnimatedGif.Wpf project
Created TestApp.WpfCore project for .NET Core 3.1 based on TestApp.Wpf project

Hi @VuleVuja,
Thanks for the PR. I appreciate the help, but please, don't send large PRs like this before discussing it with me first, because if it's not a change I want to make, you run the risk of having done the work for nothing...
As it happens, I do want to support .NET Core 3.1. The reason I haven't done it yet is that I have a few non-trivial decisions to make about the future of this project.
Currently, it supports many frameworks, but most of them are either de facto "dead", or officially out of support by Microsoft:

Silverlight 5: Has been dead for a few years now
.NET 4.0 : Out of support since 2016
Windows 8.1: Everyone is trying to forget Windows 8. I'm not aware of anyone still writing apps for it.
Windows Phone 8.1: Definitely dead; does anyone still write apps for Windows Phone?

So, this leaves:

.NET 4.5 (which is technically out of support, but versions 4.5.2 and later are still supported)
UWP (which isn't explicitly supported, but the Windows 8.1 code mostly works on UWP)

UWP now has native support for animated GIFs, which considerably reduces the need for XamlAnimatedGif (which has poor performance anyway). So, the only remaining framework that really benefits from XamlAnimatedGif is WPF.
So, my intention is to make a new major version that targets only WPF for net45 and netcoreapp3.1, and drop the rest. But I'll need to do some major refactoring, use multi-targeting, remove unused code, etc... I also need to consider what to do about my other similar project, WpfAnimatedGif; if XamlAnimatedGif now only supports WPF, there isn't much sense in having both projects, so I might reunite them.
All this to say that it wouldn't really make sense to merge your PR, because I'll probably have to restructure the whole project anyway...

It's OK, I understand. I just needed it to work under .NET Core 3.1 since I'm migrating large application from .NET Framework 4.7.2. to .NET Core.
Looking forward for a new version of XamlAnimatedGif.

Have you tried referencing the current package directly from your .NET Core 3.1 project? I think it might just work... (I haven't tried it, though)

No, I haven't. I can't do it right now. I'm trying to prepare as much projects as I can for .NET Core.
But, I tried to reference this .NET Core test app with the current package, and it works fine. Maybe it depends on stuffs installed on OS.
Thank you!

Since .NET Core 2 (I think), .NET Framework assemblies can be referenced from .NET Core apps. Of course it can fail at runtime if the assembly in question tries to call something that isn't available in .NET Core...


fix(docs): update a11y resource cards

Closes #1201
Removed internal link card and updated tools card to new IBMa tools page 🏄
Added in the IBMa bee logo and the Nocoffee logo so it no longer seems like we make that extension

Sure, yeah! Just grabbed the logo off the extension page

@dakahn, my vote is for the aperture icon. I think it fits what the tool actually does.

Aperture it is! Will push those changes tomorrow first thing. Thanks everyone.

Just removed the icon altogether. Made more sense to me than using one of ours :+1: Should be good to go now :surfer:


GH-35063: [CI] Fix Python requirement in C# tests

Rationale for this change
We need to install Python shared libraries in order to use them in C# tests.
We can also skip the tests in the verification script.
What changes are included in this PR?

Are these changes tested?

[ ] Validate in crossbow jobs

Are there any user-facing changes?
No, these are just for CI.

Closes: #35063

@github-actions crossbow submit verify-rc-source-csharp-macos-amd64

@github-actions crossbow submit nuget


external field custom naming

Now we need table2_id to be more flexible it could be editable. For examIe in doctrine/orm exist a NamingProvider (group of functions) that it uses it when needs to obtain the name. Look at this:
http://doctrine-orm.readthedocs.org/projects/doctrine-orm/en/latest/reference/namingstrategy.html#implementing-a-naming-strategy

You mean something like this https://github.com/jonseg/crud-admin-generator/commit/40324ed290687854799358e306c6fa0cadf7b393
but for matching foreigner key ?
this how it work now : https://github.com/jonseg/crud-admin-generator/blob/master/src/console.php#L96

Now we need to have tablename_id I mean to change this pattern or to adapt to pattern as dev wants. This priority of that is not high but it would be nice.

If we want to take some time on it, they is two way :

allow user to chose a pattern other than "%TABLE%_id"
allow user to give an array with TABLE.ID and FOREIGNER_TABLE.FOREIGNER_KEY (so the full join, without any magic)


Custom alignment for data within table

[x] I have searched the issues of this repository and believe that this is not a duplicate.

Expected Behavior

I would like to be able to set some custom alignment for the data within my tables and I'm wondering if it is possible. Currently, all my data aligns to the left, which is not the ideal experience when dealing with numbers.
Current Behavior

Tech
Version

Material-UI
v.0.19.4

React

browser

etc

Please use gitter or SO for how-to questions. Thanks!


custom configuration via docker-compose.yml

Hi,
I am a bit unsure on how to implement this:
FROM jwilder/nginx-proxy
RUN { \
      echo 'server_tokens off;'; \
      echo 'client_max_body_size 100m;'; \
    } > /etc/nginx/conf.d/my_proxy.conf

In my compose file? I don't necesserly need a full custom config file, only the client_max_body_size part

One way is to put that in a local Dockerfile next to your docker-compose.yml and use build: . in docker-compose.yml. Then do docker-compose build before up.

I see, i don't really want to mess about with own dockerfiles...
So how would I add my custom config file? As a volume?
/host/path/to/custom/nginx.conf:/etc/nginx/conf.d/my_proxy.conf

Hmm yeah that i think should work too... actually there is a example for doing that in README.md

I know, but that involves a dockerfile as well. I just want to keep it the simplest, compose only.

Sorry i was referring to the example in READMe.md for using a volume for custom config
docker run -d -p 80:80 -p 443:443 -v /path/to/my_proxy.conf:/etc/nginx/conf.d/my_proxy.conf:ro -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx-proxy

For compose that should just be a - volumes: line.

Right, added my .conf as a volume, it works but then I get this error:
[emerg] 11#11: "daemon" directive is not allowed here in /etc/nginx/conf.d/nginx.conf:1
Any clues?

Hmm how does /etc/nginx/conf.d/nginx.conf look? note that /etc/nginx/nginx.conf has this:
http {
    ... cut ...
    include /etc/nginx/conf.d/*.conf;
}
daemon off;

So if there is a daemon directive in /etc/nginx/conf.d/nginx.conf is will be inside `http { ... } which would give that error. Try strip out all global config from your config and only keep the http stuff if that is possible.

Hey,
How do you do this ? I want to do the same.
Thanks


The test process will remain loaded after clicking “Debug Tests”

Brief Issue Summary
Repro steps:
Create a new folder named 'CMakeProject1' and open it with vscode.
Create a file named CMakeLists.txt with the following content:
cmake_minimum_required(VERSION 3.8)
project(CMakeProject1)
add_executable(CMakeProject1 "CMakeProject1.cpp" "CMakeProject1.h")
enable_testing()
add_executable(UnitTest "test.cpp")
add_test(UnitTest0 UnitTest 0)
add_test(UnitTest1 UnitTest 1)
Create a file named test.cpp with the following content:
#include
auto main() -> int { std::cout << "hello world" << std::endl; }
Create a file named CMakeProject1.cpp with the following content:
#include "CMakeProject1.h"
using namespace std;
int main()
{
cout << "Hello CMake." << endl;
return 0;
}
Create a file named “CMakeProject1.h” with the following content:
#pragma once
#include
Run command: “CMake:configure”
Run command: "C/C++:Add Debug Configuration"
Select :"(lldb) launch“
Click on Testing in the left navigation bar
Click'Debug Tests'.
Actual results：
After clicking Debug tests it will keep running and no results will appear, after clicking Cancel Test Run an error popup will appear in the bottom right corner.
https://github.com/microsoft/vscode-cmake-tools/assets/160998958/271226e9-49ac-457b-a891-54e6925f07cd
CMake Tools Diagnostics
No response
Debug Log
No response
Additional Information
No response

@v-frankwang The launch configuration that you have in the launch.json isn't one that is going to work for debugging ctest. Could you change it to something more like the ones mentioned here: https://github.com/microsoft/vscode-cmake-tools/blob/main/docs/debug-launch.md. There are some directions on how to get started on creating a launch.json that would work for ctest.
Please let me know what findings you get and whether this helps you.

When I try to get a repro following your steps with the launch.json from the video, I get a popup that the launch program "enter program name, for example .... does not exist". I would've expected a popup like that for you, is it possible it happened in the background? Either way, fixing the launch.json should fix it. Let me know if there are any other questions or if this feedback helps.

@gcampbell-msft When I first afirst adddd the Launch.json file lldb(Launch), the situation described in the issue occurs, when I replace the code in the Launch.json file with the Ctest in the documentation you provided, it seems that the problem does not occur, but in the debug console there is a new problem. After I delete the added Launch.json file and add a new Launch.json file lldb(Launch) I get the popup box you mentioned “enter program name, for example .... does not exist”. This popup box should be that the field “program” of the added Launch.json file needs to be filled with “program name”, I think this should be normal.
Adding a Launch.json file for the first time：
https://github.com/microsoft/vscode-cmake-tools/assets/160998958/74d80fe9-2429-4e7f-aa78-9d258d5c13b1
Re-add after deletion：
https://github.com/microsoft/vscode-cmake-tools/assets/160998958/14e93245-0afd-4bc0-b81c-44284e2f249b


Issue building Building Haste Map

I am getting a build error,
that some react-native modules are duplicated. However, when I delete the react-native node module from the qrcode node_modules folder everything was fixed. I think you have to remove the react-native dependency!

this module is dependent on react-native version ^0.12.0, but now react-native version is 0.14.2, so you will duplicate react-native modules. to solve this problem, remove react-native dependency for this module is a solution. when you use this module, you must have react-native module install.


Add system reset extension

Adds SBI v0.2 compliant system reboot extension. It defines two functions:

sbi_reboot - A system reboot call with reboot type as parameter
sbi_shutdown - A system shutdown/poweroff call

This seems to match EFI_RESET_SYSTEM from UEFI, least EFI_RESET_TYPE (EfiResetCold, EfiResetWarm, EfiResetShutdown, EfiResetPlatformSpecific) part. I would assume that UEFI implementation ends up using this extension once available.
Example:
https://github.com/u-boot/u-boot/blob/1297989804d66c8db92efbf9fa2e6cc76965a943/drivers/firmware/psci.c#L108
and we wouldn't need to have CPU specific resets in U-Boot code, like:
https://github.com/u-boot/u-boot/blob/master/arch/arm/cpu/armv8/fsl-layerscape/cpu.c#L1242

We did not take EFI reset call as reference for SBI SRBT extension but it is surprising that it turned out to be similar.
Just like ARM world, EFI reset call can be mapped to SBI SRBT call. This will certainly keep things simple for EFI implementation in U-Boot and EDK2.
Regards,
Anup

I also quickly skimmed PSCI specification. Here are a few notes:

Why do we call this "reboot" instead of "reset", which seems to be the name for API for UEFI and PSCI?
I really liked how PSCI described things to the details, i.e. sbi_reboot does not describe the scope or what is suppose to do (e.g. large server, virtualization, simple desktop system).
It seems that PSCI for implementation defined reset type allow passing extra data (I think, they call it "cookie"). Is that widely used? (I have not searched code bases for it) If yes, shouldn't we do something similar?
What happens to PMP protected memory on reset (and different reset types)? IIUC PSCI in a well defined situations memory should be overwritten to avoid attacks. I don't think that today PMP protects anything secret. It only protects firmware itself today IIRC. Should there be requirements for vendor or platmform specific reset type regarding this?
Also PSCI for warm reset states that if memory is preserved and not trashed by firmware it should be communicated via ACPI / DT to the next stage.

Addressed comments from @jrtc27
Added more description for shutdown, cold reboot, and warm reboot as suggested by @davidlt
Regards,
Anup

There should be a way to discover which reset types are supported by the platform. For example, say that I want to reset the system, or shut it down only if there is no way to reset it. With this API, I would have no way to do this. If I try a cold reset and it is not available, the platform will "shut down" anyway, even if there is a warm reset available.
I suggest that the return value table be supplemented to
[cols="<,>",options="header,compact"]
|===
| Error code                | Description
| SBI_ERR_INVALID_PARAM     | `reset_type` is not valid.
| SBI_ERR_NOT_SUPPORTED | This `reset_type` is not supported as it is not implemented.
| SBI_ERR_FAILED            | Reset request failed for unknown reasons.
|===

In addition, I suggest that the following paragraph be added

If a reset type is not supported by the execution environment, this call MUST fail. In particular, SBI implementations MUST NOT perform any reset except the requested reset type.

I also suggest that the differences between reset types be explicitly defined. For example, is
hang:
    wfi
    j hang

a valid implementation of shutdown?
Is
reboot:
    la a0, reset
    j sbi_send_ipi_all

reset:
    csrw mstatus, zero
    li t0, 0xC3FFFFFF
    csrs misa, t0
    j _start

a valid implementation of reboot?

I also suggest that the differences between reset types be explicitly defined. For example, is
hang:
    wfi
    j hang

a valid implementation of shutdown?

I would say no, as it's not doing any power control. Better to let it fail and then if the caller would still like to hang then it can issue the WFI loop itself, since that's not platform-specific and thus SBI does not need to be involved.

Is
reboot:
    la a0, reset
    j send_ipi_all

reset:
    csrw mstatus, zero
    li t0, 0xC3FFFFFF
    csrs misa, t0
    j <some address>

a valid implementation of warm reboot?

No, the next stage needs to be reloaded otherwise any data segments will not have their initial state (and zero-filled memory may have non-zero data left in it, though some OSes don't trust their loader and will manually zero it out in their entry point).

More importantly, is either example a valid implementation of the other reset type? I don't think they should be, but this is left unspecified at the moment.

I agree; the first is clearly not a reset, and the second is clearly not a shutdown.

I would say no, as it's not doing any power control. Better to let it fail and then if the caller would still like to hang then it can issue the WFI loop itself, since that's not platform-specific and thus SBI does not need to be involved.

Ok, so perhaps we should add a description to "shutdown" like

The shutdown reset type SHOULD reduce power consumption, if possible. Implementations SHOULD take advantage of platform-specific methods of reducing power consumption, instead of using more generic means such as executing a wfi instruction.

No, the next stage needs to be reloaded otherwise any data segments will not have their initial state (and zero-filled memory may have non-zero data left in it, though some OSes don't trust their loader and will manually zero it out in their entry point).

Perhaps I should have been more specific. Here, <some address> should be considered an entry point for a stage in the boot process before the stage after the SBI is loaded. If a concrete example is better, it should be the platform-specific reset vector.
Really, the thing I wanted to bring up is what should actually happen when we "reboot." I think, intuitively, we would like all harts to reset as specified in the privileged specification. So perhaps add a paragraph like

The warm reboot and cold reboot reset types MUST cause all harts to enter a reset as described in section 3.3 of the RISC-V privileged specification, in addition to any other actions taken.

Lastly, there is an implied fourth reset option. A "warm shutdown" could power off, reset, or clock gate the "main processor and parts of the system but not the entire system." Upon a wakeup event from any of the remaining peripherals, the system would behave as if it had just entered a warm reset. Should this be supported? Many existing processors have a "Deep sleep" mode like this where nothing is powered except the RTC or some GPIOs.

SBI_ERR_NOT_SUPPORTED

Returning SBI_ERR_NOT_SUPPORTED for unsupported reset_types sounds good to me.
We can't have the suggested code snippets about SHUTDOWN and REBOOT implementation using WFI because SBI calls are also provided by hypervisors (KVM, Xvisor, etc). The best we can do is to functionally describe what is expected from various RESET TYPEs. We already have a brief description about SHUTDOWN, COLD REBOOT, and WARM REBOOT so please let me know if we need to improve that.
Regards,
Anup

Lastly, there is an implied fourth reset option. A "warm shutdown" could power off, reset, or clock gate the "main processor and parts of the system but not the entire system." Upon a wakeup event from any of the powered peripherals, the system would behave as if it had just entered a warm reset. Should this be supported? Many existing processors have a "deep sleep" mode like this where nothing is powered except the RTC or some GPIOs.

You idea about "warm shutdown" sounds lot like "system suspend". We would be having separate SBI call for "system suspend" because it might involve additional parameter. Let's keep "system suspend" as separate topic not related to SBI SRST extension.
Regards,
Anup

Your idea about "warm shutdown" sounds lot like "system suspend". We would be having separate SBI call for "system suspend" because it might involve additional parameter. Let's keep "system suspend" as separate topic not related to SBI SRST extension.

No, a "system suspend" would imply that memory is kept initialized. I'm specifically talking about a reset where memory is not necessarily preserved.

We can't have the suggested code snippets about SHUTDOWN and REBOOT implementation using WFI because SBI calls are also provided by hypervisors (KVM, Xvisor, etc). The best we can do is to functionally describe what is expected from various RESET TYPEs. We already have a brief description about SHUTDOWN, COLD REBOOT, and WARM REBOOT so please let me know if we need to improve that.

I don't see why the requirement for hypervisor implementations precludes specifying the behavior of reset types.

The shutdown reset type SHOULD reduce power consumption, if possible. Implementations SHOULD take advantage of platform-specific methods of reducing power consumption, instead of using more generic means such as executing a wfi instruction.

This could be implemented by a hypervisor in a variety of ways. Executing any other code besides code from the execution environment which requested the shutdown inherently reduces power consumption (of that execution environment). If a hypervisor cannot schedule any other VM on the same hardware resources, or otherwise reduce power consumption, then it should not choose to implement the shutdown reset type.

The warm reboot and cold reboot reset types MUST cause all harts to enter a reset as described in section 3.3 of the RISC-V privileged specification, in addition to any other actions taken.

I don't see why this couldn't be implemented by hypervisors.

The warm reboot and cold reboot reset types MUST cause all harts to enter a reset as described in section 3.3 of the RISC-V privileged specification, in addition to any other actions taken.

I don't see why this couldn't be implemented by hypervisors.

Ok, after some consideration I have concluded that this wording may not make sense for hypervisors, which don't have an m-mode to simulate :)
Therefore I propose the following wording instead, drawing on the definitions introduced in #59
The warm reboot and cold reboot reset types MUST either cause all harts in the
execution environment to enter their <<initial-state>>, or cause
all harts to enter a reset as described in the
link:https://riscv.org/technical/specifications/[RISC-V ISA specification, volume 2, section 3.3].
If the <<hsm-extension>> is present, harts which would otherwise enter their
initial state may stop instead.

So why the choice between initial state or reset? Well, on real hardware it might not be reasonable to return harts to the initial state after rebooting (e.g. if something corrupted the firmware). Entering a reset and then failing to boot is fine. Of course, we don't want half of the harts entering the initial state, and half entering a hardware reset, so we only allow one or the other.
If the HSM extension is present, it may make sense to let some harts stop instead of automatically coming back up. For example, a hypervisor might only start VMs with 1 hart, and then let them request more through HSM. On reboot, it could release all but one hart.
Note that the initial state specifies nothing about the state of memory, or what supervisor should be ran (or even what the entry point is). It's perfectly valid (though not very useful) for an SBI implementation to just clear satp and sstatis.sie, put hartid in a0, and then continue executing. However, most SBI implementations will probably want to reload the supervisor at the very least.

As it is already reviewed in the platform mailing list, merging it here.


[github] Automatically generate the Book #249_144

Motivation

Adding book generation: now generating the Move Book automatically. Last time the gh-pages branch was updated was December 2021. Gh-pages is the branch served online. The book is generated and pushed to the gh-pages only when the PR lands to main. For PRs themselves, only plain generation takes place in order to spot errors.

Renamed ci-test.yml to ci.yml: nowadays these tasks are more than just CI tests, they manage a wide variety of tests and generation tasks, implementing continuous integration in general.

Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
CI/CD tests are covered.

/canary

:boom: Tests timed-out

/canary

:boom: Tests timed-out

/canary

/canary

This PR is already being canaried

:boom: Tests timed-out

/canary

/canary

This PR is already being canaried

:boom: Tests timed-out

/canary

:boom: Tests timed-out


Weird error after update...

Category

[ ] fzf binary
[ ] fzf-tmux script
[ ] Key bindings
[ ] Completion
[x ] Vim
[ ] Neovim
[ ] Etc.

OS

[ ] Linux
[ x] Mac OS X
[ ] Windows
[ ] Windows Subsystem for Linux
[ ] Etc.

Shell

[ x] bash
[ ] zsh
[ ] fish

For some reason after I ran the most recent updat it gave me this error ...
Error running /bin/bash "/var/folders/tf/hvd8kvvs13l5b7r74mh0zrr80000gn/T/vkMZrI
H/2"|"fzf"  --multi  --prompt '~/'  --expect=ctrl-v,ctrl-x,ctrl-t --height=9 > /
var/folders/tf/hvd8kvvs13l5b7r74mh0zrr80000gn/T/vkMZrIH/1

You should upgrade fzf binary as well. After upgrade, check if this commands works on your shell "fzf" --multi --prompt '~/' --expect=ctrl-v,ctrl-x,ctrl-t --height=9.

@junegunn I am experiencing something similar to this. The issue was that I had a different fzf binary installed via home brew. Running the fzf ./install script did not update that binary. After removing the conflicting version the error about the unknown --height option was fixed.

👉  https://github.com/junegunn/fzf#upgrading-fzf

I removed fzf from vim .... And magically it is working in vim :)


Update link to the documentation in readme file (#7)

Codecov Report

Merging #15 into develop will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop      #15   +/-   ##
========================================
  Coverage    97.95%   97.95%
========================================
  Files           32       32
  Lines          538      538
  Branches        86       86
========================================
  Hits           527      527
  Misses          11       11


Other issue related to handshake inactivity

http://stackoverflow.com/questions/35553432/error-handshake-inactivity-timeout-in-node-js-mysql-module
I'm using node-mysql and most of the queries. Working. some queries not working.
I tried every version of Node (from 0.5...) until (5.6.0), I also tried (4.0) and (4.1), Nothing helps.
I tried to change maually, and didn't work. I tried to change the sequence file to: this._idleTimeout = -1; and didn't help.
I read the issues and GitHub, and nothing helped.
I can try to fix it by myself, but I need more information. Where is the timeout, why? when? what is this type of message? Where is the timeout came from?
MYSQL_ERROR     { [Error: Handshake inactivity timeout]
code: 'PROTOCOL_SEQUENCE_TIMEOUT',   fatal: true,
timeout: 10000 }

I will bounty it for about 100-150 points, and reward the best answer, and I can do (need to wait 2 days).
But even if you answer before, you will get the prize.

Hi! Unfortunately I can't really give any good answer to your question because there is not enough information. I can say that error message occurs because after setting up the TCP connection to your MySQL server, the server took too long to complete the handshake.
Can you provide the code you are using that causes the error? MySQL server version? What debugging have you done so far? Can you take a look at the packets using Wireshark or similar to see if the communication is getting hung up somewhere?

I'm getting a similar error out of the blue!  Node version v0.12.4.  I did notice that my project pulls in a new version of "readable-stream" dependency for mysql.  The error started to happen as soon as readable-stream: 1.1.14 was used.  Does anyone know how to resolve this?
+--<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>| `--<EMAIL_ADDRESS>MySQL Version:
+-------------------------+------------------------------+
| Variable_name           | Value                        |
+-------------------------+------------------------------+
| innodb_version          | 5.6.28                       |
| protocol_version        | 10                           |
| slave_type_conversions  |                              |
| version                 | 5.6.28                       |
| version_comment         | MySQL Community Server (GPL) |
| version_compile_machine | x86_64                       |
| version_compile_os      | Linux                        |
+-------------------------+------------------------------+

If you look at the Sequence.js at line 24 you will see a passed in timeout. That value is what is used in Protocol.js to determine if there is a timeout error on line 159. I just set that value manually to 100000 and I haven't had that issue again.

Hi @y2krelic, I'm not sure this issue is related to readable-stream; the issue was opened on Feb 22, 2016, but readable-stream 1.1.14 was not released until April 13, 2016, so there is no way this issue would have been using that version of readable-stream. Can you provide the code you are using that causes the error? What debugging have you done so far? Can you take a look at the packets using Wireshark or similar to see if the communication is getting hung up somewhere?

@dougwilson It's a timeout issue. If you follow Sequence.js you will see where it is. This was driving me crazy for a long time until I was able to figure it out. All that stuff people were saying about changing the _idleTimeout didn't work for me. I changed Node versions a bunch of times.. it's a bug in Sequence. If you change the    this._timeout = options.timeout      to    this._timeout = 1000000    on line 24 you will never see that again. We have 9 clustered servers with a lot of users and I haven't seen that error since. I really hope this helps. Thanks!

Thanks @happilymarrieddad! That is interesting. Now, making that change is not going to work for releasing this module, because it would no longer allow people to set timeouts (and would not allow queries to take longer than 100 seconds), but perhaps you are on to something!
Can you provide all the following, please?

The version of Node.js you are using.
The version of this module you are using.
The MySQL server version you are connecting to.
The code you are using that causes the error?

Some people have provided pieces of this information about, but no one has provided the code that is being used so I can copy and paste something to run & reproduce. Without having a way to reproduce, it's practically impossible for me to fix anything until I just happen to stumble upon the bug myself, as yo fix it, I need to debug it to figure out what is going wrong. I hope this makes sense and you can provide all the information for me to get this going!

5.11

"version": "2.10.2"

5.5
It happens intermittently all over our code so I'm just posting one of the functions where it happens.

function(cb) {
					pool.query('SELECT * FROM order_comments WHERE order_id = ?',[data.order_id],function(err,rows) {
						if (err) {
							console.log(err);
							results.success = 0;
							results.message = 'Failed to get order comments for duplication.'
							console.log(results.message);
							finish();
						} else {
							storage.order_comments = rows;
							if (rows.length){
								var p = rows[0];
								p.id = 0;
								delete p.timestamp;
								p.text = 'Order duplicated by ' + data.username;
								storage.order_comments.push(p);
							}
							cb();
						}
					});
				},

@dougwilson oh btw I'm clustering MySQL and clustering horizontally with my app on separate servers with loadbalancers across so I need a longer timeout.

Hi @happilymarrieddad, I did not know this issue was about using the pool, my bad! The handshake inactivity timeout is not a bug. You can see all the pool configuration options at https://github.com/felixge/node-mysql/blob/master/Readme.md#pool-options in particular, look to the "acquireTimeout" to adjust this timeout. By default it is 10 seconds, and your code change means you are setting all timeouts to 100 seconds. If you undo that code change and just set "acquireTimeout" to 100000, does that resolve your issue? If so, then I don't see a bug here, only your MySQL servers periodically going very slow (taking longer than 10 seconds to log in!).

@dougwilson I set all the timeouts to 1000000 and was still getting the error. The only time it worked was when I hard coded the value in Sequence... Not sure why???

Hi @happilymarrieddad, hm. When you remove your hard-coding, can you debug the flow of the timeouts through the code? There isn't much I can guess unless I can debug your code, but I don't have your code to do it :) So far your issue seems like a timeout issue, since when you hard code this module to ignore any set timeouts and always just use 100 seconds it works, so the question is now why when you use the settings it is not working. I'm not sure how I can proceed with helping you more at this point unless you can share your full, complete code as that is not working, complete with instructions for hoe I can run it, etc. Thoughts?

Hi @happilymarrieddad, I'm going to close this issue since I haven't heard back in 24 days now.


integration: use only digits in unix ports

Fix https://github.com/coreos/etcd/issues/6959.
Otherwise Travis keeps failing.

does embed_test.go need to updated too?

@heyitsanthony All fixed.
"bridge-" + addr doesn't work because our test certs are only for localhost.
Just added rand.Intn.
PTAL.
Thanks.

lgtm


Fallback to ACE Medical's volume-based CPR success chance

Consolidates and reduces activity-specific logic to increase readability.
Just using ace_medical_treatment_cprSuccessChanceMin is not sufficient in many cases where a group has configured little or no chance of CPR success when an individual has fatal blood loss.
Additionally, this makes me wonder if we should have our per-level success chances also be based on blood volume as this mod targets ACE Medical integration.

This PR heavily relies on linters and IDE auto-completion. I may need some assistance in performing or being directed to resources/guides describing how to perform a live test of this function.


Multiple plugins can't inject parameters

Hi,
I am trying to write a plugin which injects some data into the the functions, but it failes if I already have another plugin (say sqlite).
A simple example is the code below:
from bottle import *
import bottle
from bottle.ext import sqlite

app = bottle.Bottle()
test_db = sqlite.Plugin(dbfile='test.db')
cache_db = sqlite.Plugin(dbfile=':memory:', keyword='cache')
app.install(test_db)
app.install(cache_db)

@route('/')
def show(db, cache):
    return "successfully loaded both plugins"

if __name__ == "__main__":
    bottle.debug(True)
    run(reloader=True)

when run, it throws this error : TypeError: show() takes exactly 2 arguments (0 given)

this looks similar to issue #207 and #231 There the view decorator is conflicting with the sqlite plugin, and in my case another plugin is conflicting.
Can I apply the same workaround here?

Trying to solve this for the sqlite plugin with 1st level recursion on wrapped function : bottlepy/bottle-sqlite#14


Refactor Win32 APIs and Types to a separate binary

Provide thread safe way to create and cleanup handles and allocations.
Provide OS APIs through interfaces
Use secure string wherever possible.

closing in favor of more granular #3060 and #3059


Options menu does not work

When I try to open up the options menu, a blank screen pops up:

I am on Google Chrome Stable Version 50.0.2661.102 m (64-bit).
Thank you for putting in your time and effort into developing and releasing this extension.
EDIT: I have found a workaround for accesing the options menu.
https://gfycat.com/GiddyHelplessFlamingo
By manually typing in the extension's address, followed by options.html, I am able to access it.
.

A new version of the extension is currently under development, and I cannot repro this issue. Closing for now.


HBASE-27066 The Region Visualizer display failed

The Region Visualizer display failed. Because the active master hostname is localhost.
Before the change:

After the change:

Hi @ndimiduk , could you please take a look. Thanks.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 37s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

_ master Compile Tests _

+1 :green_heart:
mvninstall
2m 39s
master passed

+1 :green_heart:
spotless
0m 45s
branch has no errors when running spotless:check.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
2m  5s
the patch passed

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
spotless
0m 38s
patch has no errors when running spotless:check.

LGTM

Thanks @GideonPotok for the review.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 42s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

_ master Compile Tests _

+1 :green_heart:
mvninstall
3m 49s
master passed

+1 :green_heart:
spotless
0m 44s
branch has no errors when running spotless:check.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
2m  6s
the patch passed

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
spotless
0m 39s
patch has no errors when running spotless:check.

Thanks @apurtell for your review.


Way to disable Drag and Drop dynamically after initialising with a non null itemTypeBuilder

Hello!
I have the following use case:
A variable isDragAndDropEnabled which is true by default.
In certain cases, this will become false and drag and drop functionality on the RecyclerView should be disabled.
Problem is, I can't get it working.
What I have tried:
I see in the documentation that:

Note: To enable drag-and-drop functionality, passing a non-null itemTypeBuilder is mandatory.

What I have tried:
1) Passing a null itemTypeBuilder to ComposeRecyclerView
        itemTypeBuilder =
        when (isDragAndDropEnabled) {
            true -> {
                object : ComposeRecyclerViewAdapter.ItemTypeBuilder {
                    override fun getItemType(position: Int): Int {
                        // Determine the item type based on the position
                        // Customize this logic based on your requirements
                        return 0
                    }
                }
            }

            false -> {
                null
            }
        }

2) Changing isLongPressDragEnabled upon recomposition to true/false.
        itemTouchHelperConfig =
            when(isDragAndDropEnabled) {
                true -> {
                    {
                        isLongPressDragEnabled = true
                        swipeDirs = null
                        dragDirs = null
                    }
                }
                false -> {
                    {
                        isLongPressDragEnabled = false
                        swipeDirs = null
                        dragDirs = null
                    }
                }
            }

I can confirm that these blocks are called upon recomposition, but the behaviour stays the same as it was initialized.
Is there any way to disable drag and drop dynamically?
Thank you in advance!

From version 1.0.5, Passing a null itemTypeBuilder to ComposeRecyclerView will disable drag and drop


Ember: Disallow retrieving nested keys off of Ember global.

// bad
const { alias } = Ember.computed;

// good
const { computed } = Ember;
const { alias } = computed;

// bad
export default Ember.Component.extend();

// good
const { Component } = Ember;
export default Component.extend();

// bad
export default Foo.extend({
  blah: Ember.computed(function() {})
});

// good
const { computed } = Ember;
export default Foo.extend({
  blah: computed(function() {})
});

I wrote a JSCS rule that does this, would you like me to PR it to ember-suave?

@alexlafroscia sure! :)

:clap:

Is the requireDestructuringPropertiesFromEmber name OK? Or would something else be preferred?

@rwjblue wrote that export default Ember.Component.extend is bad. But this snipped is generated by ember-cli blueprints. So I'am a little bit confused.


Support Blood Test Scanning

Currently, this PR adds support for blood tests with the ZAP prefix
Since we did not have adequate Spanish translations, next steps with the Spanish localization will be in English.

Here is an image of the working blood scan:


[#75] Added project icon for each project

Fixes #75
Instead of using the GH API, I found a simple way to add image at https://github.com/sindresorhus/refined-github/issues/95#issuecomment-204806394.
Desktop: 1600x900

Galaxy S9: 360x740

I have added a global in Filter.js as projectIconMaxSize which defines the maximum size of the image to fetch.

[x] Test for async
[x] Ready for review?

The remove button for each project is overflowing the container on mobile view. I have confirmed this issue exists without adding the image too.

@haroon-sheikh Can you review?

 Can this PR be merged?


Added ISNULL return type

Documentation

If expr is NULL, ISNULL() returns 1, otherwise it returns 0.

I've added isnull to return int as that's what mysql does.
MYSQL does understand true and false so maybe it should return bool instead of int. I'm not very familiar with how functionReturnType is used so I don't know if that's an option.

Would it be beneficial for me to go through all the functions and add their return types?

Thanks!

Would it be beneficial for me to go through all the functions and add their return types?

At this time, no. The mysql package is deprecated. All current and future MySQL work is happening in the engine/dolphin. For functions, we're going to automatically generate the type signatures. See the work done for PostgreSQL in https://github.com/kyleconroy/sqlc/pull/550

I wrote up a bit more about the deprecation of the mysql package https://github.com/kyleconroy/sqlc/issues/633


Add "Clear Output Log" button for easier troubleshooting

Add a Clear Output Log" Button so I can send a screenshot without minimum errors and not have to reload the GUI.

This button has now been added, in version 0.1.16 and higher


supporting scroll to anchor and animation on appearance

Are there any plans to support link to anchor animation, and animating an element when it enters the viewport when user scrolls?

I believe these features would be better as separate packages. And they probably shouldn't depend directly on react-spring, but instead provide hooks that interoperate with react-spring (or any other animation library that uses hooks) in an elegant way.
So I'm closing this as "out of scope".

react-intersection-observer might help you with viewport detection: https://www.npmjs.com/package/react-intersection-observer


Import Errors on Debian

Python 3.9, textual-0.37.1
Layout and Grid imports fail. Not sure if this library is supported differently on Linux v. Windows/Mac, or if the libraries have deprecated them, but figured it was worth raising an issue. Perhaps consider a requirements file with versions.

This project isn't guaranteed to work on latest textual version, and there won't be effort into making it so.
We have a lockfile that contains the pinned versions that work


Support Python3.8

Pull Request Checklist:

[ ] This PR addresses an already opened issue (for bug fixes / features)
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)
[ ] HISTORY.rst has been updated

After merging to master and before closing the branch:

[ ] bumpversion (minor / major / patch) has been called on master branch
[ ] Tags have been pushed

What kind of change does this PR introduce?
Pyproj does not currently have a wheel distribution that Travis CI with Python3.8 supports. This requires that Pyproj rely on system-installed Proj binaries. This PR adds those binaries to the build with the hope that they will be enough to satisfy the pyproj requirements and pass the build.

Does this PR introduce a breaking change?
No.

Other information:

Pyproj does not currently have a wheel distribution that Travis CI with Python3.8 supports. This requires that Pyproj rely on system-installed Proj binaries. This PR adds those binaries to the build with the hope that they will be enough to satisfy the pyproj requirements and pass the build.

This is a very clear explanation.
Can you put it in the commit message next time.
If just looking at the commit message, I would not understand Why the commit was needed.  Of course I can go to the PR but it's nice to not have to jump through hoops.
Think later in time when someone annotate the code and come across the commit.

Pull Request Test Coverage Report for Build 1204

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 90.555%

Totals

Change from base Build 1197:
0.0%

Covered Lines:
5944

Relevant Lines:
6564

💛  - Coveralls

Python3.8 build is now passing. The build requires a few binaries as well as Cython to build pyproj and scipy. This will eventually not be the case but for now we can say we are formally supporting Pythin3.8.

Ready to add 3.8 in the setup.py metadata ?


[Feature Request]: Autogen online?

Hello,
I’ve been using vLLM to successfully run my local language model. Currently, I’m using AutoGen to connect to my vLLM server, define tools, run them, and everything works smoothly in offline mode, including calling the appropriate functions.
When using the standard vLLM, serving was straightforward with the vllm serve command. However, with AutoGen, since it’s just a basic script, I can’t serve it the same way as before. I now have to implement an additional layer using FastAPI or something similar on top of the vLLM server. This is a complex task and involves a lot of effort. Handling load balancing will also be a pain.
In short, is there a way to use AutoGen in an online setting? Perhaps a smart method to serve it, or a way to connect it back to the vLLM endpoint and continue interacting as before?
I’m curious to know what the standard approach is.
Many thanks.
Describe the solution you'd like
Maybe an autogen server?

So why not use xinference or ollama? They also support vllm to load llm models and supply model APIs.

@summersonnn  I think what you are describing can be achieved via the Core API in v0.4. You can deploy your agents to an agent runtime. You will still need to build the HTTP server layer though, but the app behind that can use the Core API.
https://microsoft.github.io/autogen/dev/user-guide/core-user-guide/core-concepts/architecture.html


Error Detail is The SendConfigurationApply function did not succeed.. Resource Id is [AccountPolicy]SecuritySetting(INF): LockoutBadCount

Dear Team/Sir
My DSC package getting consistency error.Kindly check this .Logs are attached.Kindly help.
Thanks
Pradeep
gc_worker.log

Dear All
Appreciate ,kindly respond on this.
Thanks
Pradeep

Appreciate please respond to my query!!!.


cannot connect to freemysqlhosting.net

Hello
I created a new mysql database on https://www.freemysqlhosting.net. And while connection this database on azure datastudio when I receive an error that (1043, 'Bad handshake')i
Steps to Reproduce:

Create a mysql database on https://www.freemysqlhosting.net
Try to connect this database on AzureDataStudio Insiders.

Hi @yazilim4
SSL mode is set to 'Require' by default for MySql provider.
It seems the free mysql database you're connecting to doesn't support SSL. You will have to update Advanced Properties > SSL Mode to 'Disabled' to be able to connect.
cc @alanrenmsft


Update the game over message

Update the game over message so people know how to play again!

add me to reviewers


Pair showcase draft

'GitHub issues' has been accessed and edited.

To begin, show progress on Time Box in VSCode through file organization:

Briefly talk about file organization - Makes it easy to access/create files when working on Time Box.
Show hacks completed - Classic Snake Game w/ colour change, JS Output w/jquery, Python emoji print, Python mean algorithm, JS Calculator with assets dragged and dropped from the teacher repository, and the personalized Python quiz.

Perhaps talk about how some of the code works (ChatGPT review)?

Show results:

Web interaction in JavaScript: Completed and present in JS Output w/jquery and JS Input.
Linux and interaction in VSCode: (Unsure what this means).
Python and interaction in VSCode: Present in the Python emoji print, Python mean algorithm and Python quiz hacks.

Talk further about:

Talk about how we needed to create a completely new repository, and how that helped with our knowledge of file management, movement of files from one VSCode project to another, and the anatomy and functionalities of Github.

Review tickets have been built for each week to give a summary of accomplishments to accelerate our discussion. Go over each of these review tickets briefly.

Go through lab notebooks and explain the errors that we encountered and how we fixed them.

Show that Time Box has been updated with all plans, hacks and tangibles.

NOTE: This plan could change chronologically.

4.87/5


2.x Provide a shaded eureka2-client(-shaded) that shades avro and rxnetty dependencies

NetflixOSS » eureka » eureka-pull-requests #212 SUCCESS
This pull request looks good

NetflixOSS » eureka » eureka-pull-requests #214 SUCCESS
This pull request looks good


search bar ui tweak

Hi, in latest version something broke in how the search bar looks. I did a little tweak to fix that
BEFORE

AFTER

Thanks @Brazol


Compatibility with other schedulers?

Right now, QCG-Pilotjob only supports SLURM (and local running with no scheduler). I think that that is because it relies on srun to start programs, right? I seem to recall a presentation that suggested that you had made some changes, and that there was a minder process on each node now? But those are still started using srun?
I'm trying to figure out whether, if I use QCG-PilotJob for MUSCLE 3 and the inevitable user wants to run it on a local cluster with something else, the QCG-PilotJob architecture will allow easy extension to other schedulers, or if it would take a huge amount of work.

I have to say, browsing through the Top-500 list, there aren't many big machines left that do not use SLURM. There's an occasional Platform LSF machine, a lone Torque/PBS holdout, and a few Fujitsu machines in Japan with their PRIMEHPC FX100 system.
There is probably a long tail of small university and department-level clusters still running with SGE and PBS though.
It seems that on PBS, pbsdsh could substitute for srun, but it is much less capable.

Hi Lourens, it is possible to implement support for other than Slurm scheduling systems, but to be honest, most of systems we use is a Slurm and so far we have no requests to support other systems.


New version: DirectGaussianSimulation v0.2.2

Registering package: DirectGaussianSimulation
Repository: https://github.com/juliohm/DirectGaussianSimulation.jl
Created by: @juliohm
Version: v0.2.2
Commit: 2a9062e542c049fea3c741a55af27b1e7739c830
Reviewed by: @juliohm
Reference: https://github.com/juliohm/DirectGaussianSimulation.jl/commit/2a9062e542c049fea3c741a55af27b1e7739c830#commitcomment-33970354

Depends on #1423 #1426

You merged this one without waiting for #1423 #1426

Yes.