Not able to download yt videos

ERROR: Signature extraction failed: Traceback (most recent call last):
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1348, in _decrypt_signature
func = self._extract_signature_function(
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1262, in _extract_signature_function
res = self._parse_sig_js(code)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1331, in _parse_sig_js
initial_function = jsi.extract_function(funcname)
File "/usr/local/bin/youtube-dl/youtube_dl/jsinterp.py", line 245, in extract_function
raise ExtractorError('Could not find JS function %r' % funcname)
youtube_dl.utils.ExtractorError: Could not find JS function 'na'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
(caused by ExtractorError("Could not find JS function 'na'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.")); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
I've been using Fedora 35. I am trying to download a yt video but no success.
I've removed from dnf and tried to get the binary version, but still getting these ERROR message.
Appreciate the help and support.
Bruno Moraes

I have run into a similar error (on Linux Ubuntu 20.04):
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2021.06.06
[debug] Python version 2.7.18 (CPython)
[debug] exe versions: avconv 4.2.4, avprobe 4.2.4, ffmpeg N-104752-g03ab1de429, ffprobe N-104752-g03ab1de429, rtmpdump 2.4
[debug] Proxy map: {}
ERROR: Signature extraction failed: Traceback (most recent call last):
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1349, in _decrypt_signature
video_id, player_url, s
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1262, in _extract_signature_function
res = self._parse_sig_js(code)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1331, in _parse_sig_js
initial_function = jsi.extract_function(funcname)
File "/usr/local/bin/youtube-dl/youtube_dl/jsinterp.py", line 245, in extract_function
raise ExtractorError('Could not find JS function %r' % funcname)
ExtractorError: Could not find JS function u'na'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
(caused by ExtractorError(u"Could not find JS function u'na'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.",)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1349, in _decrypt_signature
video_id, player_url, s
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1262, in _extract_signature_function
res = self._parse_sig_js(code)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1331, in _parse_sig_js
initial_function = jsi.extract_function(funcname)
File "/usr/local/bin/youtube-dl/youtube_dl/jsinterp.py", line 245, in extract_function
raise ExtractorError('Could not find JS function %r' % funcname)
ExtractorError: Could not find JS function u'na'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 815, in wrapper
return func(self, *args, **kwargs)
File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 836, in __extract_info
ie_result = ie.extract(url)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 534, in extract
ie_result = self._real_extract(url)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1623, in _real_extract
signature = self._decrypt_signature(sc['s'][0], video_id, player_url)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1359, in _decrypt_signature
'Signature extraction failed: ' + tb, cause=e)
ExtractorError: Signature extraction failed: Traceback (most recent call last):
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1349, in _decrypt_signature
video_id, player_url, s
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1262, in _extract_signature_function
res = self._parse_sig_js(code)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1331, in _parse_sig_js
initial_function = jsi.extract_function(funcname)
File "/usr/local/bin/youtube-dl/youtube_dl/jsinterp.py", line 245, in extract_function
raise ExtractorError('Could not find JS function %r' % funcname)
ExtractorError: Could not find JS function u'na'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
(caused by ExtractorError(u"Could not find JS function u'na'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.",)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
I'd also greatly appreciate your help
Jiri

Same case here. Happens with all videos I tried.

youtube-dl -f best --verbose https://www.youtube.com/watch?v=kvazBqAlx58

[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-f', 'best', '--verbose', 'https://www.youtube.com/watch?v=kvazBqAlx58']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dl version 2021.06.06
[debug] Python version 3.8.10 (CPython) - Linux-5.7.1-050701-generic-x86_64-with-glibc2.29
[debug] exe versions: ffmpeg 4.2.4, ffprobe 4.2.4, phantomjs 2.1.1, rtmpdump 2.4
[debug] Proxy map: {}
[youtube] kvazBqAlx58: Downloading webpage
[youtube] kvazBqAlx58: Downloading player 204bfffb
ERROR: Signature extraction failed: Traceback (most recent call last):
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1348, in _decrypt_signature
func = self._extract_signature_function(
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1262, in _extract_signature_function
res = self._parse_sig_js(code)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1331, in _parse_sig_js
initial_function = jsi.extract_function(funcname)
File "/usr/local/bin/youtube-dl/youtube_dl/jsinterp.py", line 245, in extract_function
raise ExtractorError('Could not find JS function %r' % funcname)
youtube_dl.utils.ExtractorError: Could not find JS function 'na'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
(caused by ExtractorError("Could not find JS function 'na'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.")); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1348, in _decrypt_signature
func = self._extract_signature_function(
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1262, in _extract_signature_function
res = self._parse_sig_js(code)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1331, in _parse_sig_js
initial_function = jsi.extract_function(funcname)
File "/usr/local/bin/youtube-dl/youtube_dl/jsinterp.py", line 245, in extract_function
raise ExtractorError('Could not find JS function %r' % funcname)
youtube_dl.utils.ExtractorError: Could not find JS function 'na'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1348, in _decrypt_signature
func = self._extract_signature_function(
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1262, in _extract_signature_function
res = self._parse_sig_js(code)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1331, in _parse_sig_js
initial_function = jsi.extract_function(funcname)
File "/usr/local/bin/youtube-dl/youtube_dl/jsinterp.py", line 245, in extract_function
raise ExtractorError('Could not find JS function %r' % funcname)
youtube_dl.utils.ExtractorError: Could not find JS function 'na'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 815, in wrapper
return func(self, *args, **kwargs)
File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 836, in __extract_info
ie_result = ie.extract(url)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 534, in extract
ie_result = self._real_extract(url)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1623, in _real_extract
signature = self._decrypt_signature(sc['s'][0], video_id, player_url)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1358, in _decrypt_signature
raise ExtractorError(
youtube_dl.utils.ExtractorError: Signature extraction failed: Traceback (most recent call last):
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1348, in _decrypt_signature
func = self._extract_signature_function(
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1262, in _extract_signature_function
res = self._parse_sig_js(code)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1331, in _parse_sig_js
initial_function = jsi.extract_function(funcname)
File "/usr/local/bin/youtube-dl/youtube_dl/jsinterp.py", line 245, in extract_function
raise ExtractorError('Could not find JS function %r' % funcname)
youtube_dl.utils.ExtractorError: Could not find JS function 'na'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
(caused by ExtractorError("Could not find JS function 'na'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.")); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

The same for me:
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-x', '--audio-format', 'mp3', '--audio-quality', '0', '--verbose', 'https://www.youtube.com/watch?v=dQw4w9WgXcQ&ab_channel=RickAstley']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dl version 2021.06.06
[debug] Python version 3.9.2 (CPython) - Linux-5.13.19-2-pve-x86_64-with-glibc2.31
[debug] exe versions: ffmpeg 4.3.3-0, ffprobe 4.3.3-0
[debug] Proxy map: {}
[youtube] dQw4w9WgXcQ: Downloading webpage
[youtube] dQw4w9WgXcQ: Downloading player 204bfffb
ERROR: Signature extraction failed: Traceback (most recent call last):
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1348, in _decrypt_signature
func = self._extract_signature_function(
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1262, in _extract_signature_function
res = self._parse_sig_js(code)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1331, in _parse_sig_js
initial_function = jsi.extract_function(funcname)
File "/usr/local/bin/youtube-dl/youtube_dl/jsinterp.py", line 245, in extract_function
raise ExtractorError('Could not find JS function %r' % funcname)
youtube_dl.utils.ExtractorError: Could not find JS function 'na'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
(caused by ExtractorError("Could not find JS function 'na'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.")); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1348, in _decrypt_signature
func = self._extract_signature_function(
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1262, in _extract_signature_function
res = self._parse_sig_js(code)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1331, in _parse_sig_js
initial_function = jsi.extract_function(funcname)
File "/usr/local/bin/youtube-dl/youtube_dl/jsinterp.py", line 245, in extract_function
raise ExtractorError('Could not find JS function %r' % funcname)
youtube_dl.utils.ExtractorError: Could not find JS function 'na'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1348, in _decrypt_signature
func = self._extract_signature_function(
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1262, in _extract_signature_function
res = self._parse_sig_js(code)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1331, in _parse_sig_js
initial_function = jsi.extract_function(funcname)
File "/usr/local/bin/youtube-dl/youtube_dl/jsinterp.py", line 245, in extract_function
raise ExtractorError('Could not find JS function %r' % funcname)
youtube_dl.utils.ExtractorError: Could not find JS function 'na'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 815, in wrapper
return func(self, *args, **kwargs)
File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 836, in __extract_info
ie_result = ie.extract(url)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 534, in extract
ie_result = self._real_extract(url)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1623, in _real_extract
signature = self._decrypt_signature(sc['s'][0], video_id, player_url)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1358, in _decrypt_signature
raise ExtractorError(
youtube_dl.utils.ExtractorError: Signature extraction failed: Traceback (most recent call last):
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1348, in _decrypt_signature
func = self._extract_signature_function(
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1262, in _extract_signature_function
res = self._parse_sig_js(code)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1331, in _parse_sig_js
initial_function = jsi.extract_function(funcname)
File "/usr/local/bin/youtube-dl/youtube_dl/jsinterp.py", line 245, in extract_function
raise ExtractorError('Could not find JS function %r' % funcname)
youtube_dl.utils.ExtractorError: Could not find JS function 'na'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
(caused by ExtractorError("Could not find JS function 'na'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.")); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Same issue:
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'https://www.youtube.com/watch?v=4YOWXfJIEYk', u'-o', u'/Users/play/Downloads/BridgeBurn.m4a', u'--verbose']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2021.06.06
[debug] Python version 2.7.16 (CPython) - Darwin-20.6.0-x86_64-i386-64bit
[debug] exe versions: ffmpeg 4.4, ffprobe 4.4, rtmpdump 2.4
[debug] Proxy map: {}
[youtube] 4YOWXfJIEYk: Downloading webpage
[youtube] 4YOWXfJIEYk: Downloading player 204bfffb
ERROR: Signature extraction failed: Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1349, in _decrypt_signature
    video_id, player_url, s
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1262, in _extract_signature_function
    res = self._parse_sig_js(code)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1331, in _parse_sig_js
    initial_function = jsi.extract_function(funcname)
  File "/usr/local/bin/youtube-dl/youtube_dl/jsinterp.py", line 245, in extract_function
    raise ExtractorError('Could not find JS function %r' % funcname)
ExtractorError: Could not find JS function u'na'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
 (caused by ExtractorError(u"Could not find JS function u'na'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.",)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1349, in _decrypt_signature
    video_id, player_url, s
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1262, in _extract_signature_function
    res = self._parse_sig_js(code)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1331, in _parse_sig_js
    initial_function = jsi.extract_function(funcname)
  File "/usr/local/bin/youtube-dl/youtube_dl/jsinterp.py", line 245, in extract_function
    raise ExtractorError('Could not find JS function %r' % funcname)
ExtractorError: Could not find JS function u'na'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 815, in wrapper
    return func(self, *args, **kwargs)
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 836, in __extract_info
    ie_result = ie.extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 534, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1623, in _real_extract
    signature = self._decrypt_signature(sc['s'][0], video_id, player_url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1359, in _decrypt_signature
    'Signature extraction failed: ' + tb, cause=e)
ExtractorError: Signature extraction failed: Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1349, in _decrypt_signature
    video_id, player_url, s
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1262, in _extract_signature_function
    res = self._parse_sig_js(code)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1331, in _parse_sig_js
    initial_function = jsi.extract_function(funcname)
  File "/usr/local/bin/youtube-dl/youtube_dl/jsinterp.py", line 245, in extract_function
    raise ExtractorError('Could not find JS function %r' % funcname)
ExtractorError: Could not find JS function u'na'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
 (caused by ExtractorError(u"Could not find JS function u'na'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.",)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.```

To all - I think the issue is the same for everyone, so we'd better stop flooding with copies of the same traceback and wait for the authors to chime in.

Same here, any alternative to youtube-dl until it works?

See #30375, #30363.

Same here, any alternative to youtube-dl until it works?

found one: pytube

Same here, any alternative to youtube-dl until it works?

found one: pytube

Tks bro!

Same here, any alternative to youtube-dl until it works?

found one: pytube

Tks bro!

Np, but this also worked:
git clone --depth 1 --branch fix-function-sig-parser https://github.com/lanegramling/youtube-dl.git

cd youtube-dl

python3 -m pip install -e . --user

Same here, any alternative to youtube-dl until it works?

found one: pytube

Tks bro!

Np, but this also worked:
git clone --depth 1 --branch fix-function-sig-parser https://github.com/lanegramling/youtube-dl.git

cd youtube-dl

python3 -m pip install -e . --user

Thanks this worked for me

will this create a new "youtube-dl" binary for linux?  the command executes but i don't see a new youtube-dl. (sorry, relatively new to python)
git clone --depth 1 --branch fix-function-sig-parser https://github.com/lanegramling/youtube-dl.git
cd youtube-dl
python3 -m pip install -e . --user

Same here, any alternative to youtube-dl until it works?

https://github.com/yt-dlp/yt-dlp

I have an alternate tool that works:
youtube kvazBqAlx58

https://github.com/89z/mech

The workaround from Tekofx worked for me, e.g. build from the fix-function-sig-parser branch. In order to get the new executable into /usr/local/bin you should execute the following additional commands:
make <-- may get an error about the doc files not being available
sudo cp youtube-dl /usr/local/bin

Duplicate of #30363, with fix.
Also, follow the instructions for posting a Broken site support issue which would have led you to review the existing issue and not create a new one. As it is, @brunobva, kindly close this issue.

will this create a new "youtube-dl" binary for linux

You don't need a "binary" for Linux, nor indeed for Windows when Python is separately installed. Python will transform .py source into Python byte-code on-the-fly.

fixed this issue by using yt-dlp instead

This problem has been fixed in version 2021.12.17.
Please close this.

This problem has been fixed in version 2021.12.17. Please close this.

Sure!
Thanks @kikuyan

I can't download videos from yotube. Product version: 2021.12.17. How do I fix it?
[youtube] DpcRR7Z7JIQ: Downloading webpage [youtube] DpcRR7Z7JIQ: Downloading m3u8 information [youtube] DpcRR7Z7JIQ: Downloading MPD manifest ERROR: Unable to extract uploader id; please report this issue on https://yt-dl. org/bug . Make sure you are using the latest version; type youtube-dl -U to up date. Be sure to call youtube-dl with the —verbose flag and include its complet e output.


Updating Rule: extending char limit and reordering tuples

Added "bmp" to file_extensions
Restructured tuples
Increased char limit

No FP's were found in testing this retroactively.  2 previous FN's are now properly detected.  3 previous FP's are now properly ignored.

@rw-access  Appreciate the pushback here, I rebuilt the rule completely and ended up identifying over 100 more FN's we were missing. Going to close this PR and will resubmit.


Added to RouteBuilder to associate metadata with routes that it creates.

Added ability for route builder to associate metadata with routes that it creates.
Requires https://github.com/vapor/vapor/pull/1463

I started a review, but half-way through I'm realizing that this is too big of a change for us to include as a minor bump. Especially just a couple weeks away from 3.0 release it doesn't make a whole lot of sense.
I initially thought we had a Route type class when we discussed this which led me to think the change would only be a couple of lines. It ended up being quite a lot more than that.
I'm sorry about this, but hopefully it was a chance to become more familiar with Swift and Vapor! As I mentioned before, exactly what you are trying to do here is possible in Vapor 3. I'd recommend you to start using that now as we have just released the stable beta tags.


test_classes: Rename and refactor 'tornado_redirected_to_list'.

This PR renames the tornado_redirected_to_list context manager to capture_send_event_calls to improve readability.
It also refactors the function to yield a list of events instead of passing in a list data structure as a parameter and appending events to it.
Previously:
with self.tornado_redirected_to_list(events, expected_num_events=1):
     do_something()
     ...
self.assertEqual(events[0], {...})

Now:
with self.capture_send_event_calls(expected_num_events=1) as events:
     do_something()
     ...
self.assertEqual(events[0], {...})

CZO Discussion

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[x] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[ ] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

@alexmv This is ready for another look from you.
Updates in the recent push:

Addressed the review comments. (I have replied to the respective review comments)

This is great, thanks so much for cleaning this up @prakhar1144!


Add show/hide to arrangerScreen

ArrangerScreen needs a show/hide to allow for full use of the screen.

Dropped


Pull request

I want to get those code to test and have a better understanding of how Dagger works.

Seems like you wanted google/dagger


Update Mono WebAssembly for preview 7

Done at https://github.com/aspnet/Blazor/pull/1818
Still waiting for automation to merge the update back to the aspnetcore repo though.

It got merged


Add Fact Scenarios to Models

A scenario builder would be a different user interface that is designed specifically to simplify the task of generating individual or perhaps even randomized fact scenarios across complicated data structures for testing purposes. These could then be saved separately, and used in manual and automated testing by importing them into the relevant workspaces.

In the nearer term, you could run a query in the scenario builder instead of BlawxBot, and either manually or automatically rerun the interview endpoint to update the relevance and answer information displayed in the interface. Could be implemented as a separate page hitting the interview and ontology endpoints, as BlawxBot is now.

That interim version is implemented in #346 . All that's left is the ability to save them to the database. Renaming the issue.

Resolved, for the basic functionality, in #404


[SPARK-36849][SQL] Migrate UseStatement to v2 command framework

What changes were proposed in this pull request?
Migrate UseStatement to v2 command framework
Why are the changes needed?
Migrate to the standard V2 framework
Does this PR introduce any user-facing change?
no
How was this patch tested?
existing tests

@cloud-fan, could you review this please ?
Thanks

ok to test

Test build #143690 has started for PR 34127 at commit c527355.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48206/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48206/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/48206/

I think the K8S IT failure was caused by K8S was unstable or lack of resource, so I'm trying to start the test build again.
ok to test

ok to test

no need to worry about K8S failure. As long as all the tests pass or All checks have passed, you should be fine.

@huaxingao Ok, Thanks

Test build #143690 has finished for PR 34127 at commit c527355.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/143690/

@cloud-fan, could you review this please ?
Thanks

Can one of the admins verify this patch?

Test build #143754 has started for PR 34127 at commit b078177.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48264/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/48264/

Test build #143754 has finished for PR 34127 at commit b078177.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
public final class TableIndex
class IndexAlreadyExistsException(indexName: String, table: Identifier)
class NoSuchIndexException(indexName: String)
case class AsOfJoin(
case class ShowCurrentNamespaceCommand() extends LeafRunnableCommand

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/143754/

Test build #143768 has started for PR 34127 at commit af634e1.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48279/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48279/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/48279/

Test build #143768 has finished for PR 34127 at commit af634e1.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/143768/

Test build #143783 has started for PR 34127 at commit e578d1c.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48295/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48295/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/48295/

Test build #143783 has finished for PR 34127 at commit e578d1c.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/143783/

Test build #143855 has started for PR 34127 at commit a451466.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48368/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48368/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/48368/

Test build #143855 has finished for PR 34127 at commit a451466.

This patch fails SparkR unit tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/143855/

Test build #143907 has started for PR 34127 at commit 0b8af71.

Test build #143907 has finished for PR 34127 at commit 0b8af71.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48425/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48428/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48428/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48430/

Test build #143924 has finished for PR 34127 at commit a451466.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48443/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/48443/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/143938/

Test build #143967 has started for PR 34127 at commit 036597c.

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48446/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/48446/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48454/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48460/

Test build #143967 has finished for PR 34127 at commit 036597c.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
        new_class = type(
case class SetCatalogCommand(catalogName: String) extends LeafRunnableCommand

Test build #144021 has started for PR 34127 at commit 4617c19.

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48509/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/48510/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/48509/

Test build #144033 has finished for PR 34127 at commit f55e112.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/144033/

Test build #144041 has started for PR 34127 at commit e74482c.

Test build #144041 has finished for PR 34127 at commit e74482c.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class IndexAlreadyExistsException(message: String, cause: Option[Throwable] = None)

Test build #144059 has started for PR 34127 at commit 4210828.

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48537/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/48537/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/144059/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48539/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/48539/

Test build #144061 has finished for PR 34127 at commit 596e50e.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/144061/


apiSubnetAllowList not set - no error message

Description
I tried to set an apiSubnetAllowList via the Terraform provider and it is correctly set in my state, but not on the actual cluster.
# ionoscloud_k8s_cluster.k8s:
resource "ionoscloud_k8s_cluster" "k8s" {
    api_subnet_allow_list     = [
        "xxx.xxx.xxx.xxx/32",
    ]
    id                        = "xxx"
    k8s_version               = "1.22.6"
    name                      = "mycluster"
    public                    = true
    viable_node_pool_versions = [
        "1.21.9",
        "1.21.11",
        "1.22.6",
        "1.22.8",
    ]

    maintenance_window {
        day_of_the_week = "Sunday"
        time            = "20:06:00Z"
    }
}

But access to the cluster API is still granted from "<IP_ADDRESS>/0".
If I try to set the  apiSubnetAllowList I get an error message:
❯ ionosctl k8s cluster update --api-subnets "xxx.xxx.xxx.xxx/32"  --cluster-id xxx
Error: 422 Unprocessable Entity {
  "httpStatus" : 422,
  "messages" : [ {
    "errorCode" : "439",
    "message" : "[(root).properties.apiSubnetAllowList] The usage of 'apiSubnetAllowList' is not supported in your contract. Please contact support."
  } ]
}

Expected behavior
I would have expected an error message during the terraform apply, if I try to set an unsupported setting.
Environment
Terraform version:
Terraform v1.1.7

Provider version:
+ provider registry.terraform.io/ionos-cloud/ionoscloud v6.1.3

How to Reproduce
Create a cluster with apiSubnetAllowList set with terraform.
Error and Debug Output
Additional Notes
References

Hi @D3N14L,
Thank you for raising this issue!
I've tested this, with apiSubnetAllowList deactivated from my account, and I receive an error when trying to create a cluster with this argument set.
│ Error: error creating k8s cluster: 422 Unprocessable Entity {
│   "httpStatus" : 422,
│   "messages" : [ {
│     "errorCode" : "439",
│     "message" : "[(root).properties.apiSubnetAllowList] The usage of 'apiSubnetAllowList' is not supported in your contract. Please contact support."
│   } ]
│ }

Could you test it again, maybe it was a temporary problem within the API, and see if it is reproducing? If it is still reproducing we will investigate further within the API to see why this is happening for you account.


Disable/Hide Adaptive cards after a single use

We are building chatbot leveraging Bot Framework Composer(C# bot). We created a react-app and integrated bot into it with the help of a DirectLine token. Our requirement is to disable the card/action button from WebChat after the adaptive card is rendered, so the user cannot click on the action button again. Is there a way to disable or hide the adaptive card after a single use?

@poojarkpatel how did you solve this? Updating the card with another one with disabled button?


added gotham theme (ref: #25)

All Submissions

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?

New Feature Submissions

[x] Does your submission pass tests?
[x] Have you lint your code locally prior to submission?

Changes to Core Features

[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[x] Have you written new tests for your core changes, as applicable?
[x] Have you successfully ran tests with your changes locally?

SOLVES ISSUE #25 partially.
Changes Made

File modified = styles/theme.ts
Added params for gotham theme taking hex values from other repos like github-readme-stats. Here is the inspiration.

SCREENSHOTS
I have personally used this in my own README.md. Here is a preview of it in development.

NOTE
Please consider this PR as a submission towards Hacktoberfest 2021 and add the hacktoberfest-accepted label.

@sreyan-ghosh Please remove the package-lock.json from the commit and add a screenshot of your theme in svg format to THEMES.md

okay, i'll let you know when i am done with that

Hi @Kshitij978, I have done what had been asked. Cheers. 😃

@sreyan-ghosh your theme is now available in production 🚀


PHA public keys

Your Question
Hi,
where can I find the PHA public keys for a custom verification of the exposure key files provided by server?

Hey @ale5000-git
Could you maybe let us know to which document/figure you're referring? Thanks.

I'm referring to the verification of diagnosis keys, this.

Okay, I'm not into the microg implementation at all so I sadly can't help you any further here.
Any ideas @MikeMcC399?

The problem isn't the implementation, is the public key that is missing.

The problem isn't the implementation, is the public key that is missing.
The author was able to get the public key used by the Swiss app, it would be nice to have also the public key of the German app.

Okay. The distribution is documented here: https://github.com/corona-warn-app/cwa-server/blob/main/docs/DISTRIBUTION.md

Thanks, I will look in that repo.


Add missing release-notes-documentation of the issues handled by me so far

I have not added my issue-progressions to the CHANGELOG.md yet and have to catch this up.

https://github.com/isg-stuttgart/vscode-isg-cnc/pull/42 completed by this merge


Update to node20

GitHub actions that run on Node 16 are deprecated. Updating to node20 to address this deprecation.

👋🏼 @JakePartusch, thoughts on merging this?


Fix tests per removal of microservices-starter application type

Fix tests per removal of microservices-starter application type
Change-type: patch

Contributor checklist

[ ] Includes tests
[ ] Includes typings
[ ] Includes updated documentation
[ ] Includes updated build output

LGTM


Cannot import name 'Mapping' from 'collections'

Sorry, GitHub sent the issue before I finished writing it.
I installed Python 3.10 and used PIP to install spotify-cli. Upon attempting to auth I get the following output:
You used a custom Client ID and secret to authenticate last time. Use these again?
(Type "n" to revert to the default ID and secret) [Y/n]: Y
Traceback (most recent call last):
  File "C:\Users\matti\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Users\matti\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "C:\Users\matti\AppData\Local\Programs\Python\Python310\Scripts\spotify.exe\__main__.py", line 7, in <module>
  File "C:\Users\matti\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 1128, in __call__
    return self.main(*args, **kwargs)
  File "C:\Users\matti\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 1053, in main
    rv = self.invoke(ctx)
  File "C:\Users\matti\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 1659, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "C:\Users\matti\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 1659, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "C:\Users\matti\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 1395, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Users\matti\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "C:\Users\matti\AppData\Local\Programs\Python\Python310\lib\site-packages\cli\commands\auth.py", line 65, in login
    from PyInquirer import prompt
  File "C:\Users\matti\AppData\Local\Programs\Python\Python310\lib\site-packages\PyInquirer\__init__.py", line 6, in <module>
    from prompt_toolkit.token import Token
  File "C:\Users\matti\AppData\Local\Programs\Python\Python310\lib\site-packages\prompt_toolkit\__init__.py", line 16, in <module>
    from .interface import CommandLineInterface
  File "C:\Users\matti\AppData\Local\Programs\Python\Python310\lib\site-packages\prompt_toolkit\interface.py", line 19, in <module>
    from .application import Application, AbortAction
  File "C:\Users\matti\AppData\Local\Programs\Python\Python310\lib\site-packages\prompt_toolkit\application.py", line 8, in <module>
    from .key_binding.bindings.basic import load_basic_bindings
  File "C:\Users\matti\AppData\Local\Programs\Python\Python310\lib\site-packages\prompt_toolkit\key_binding\bindings\basic.py", line 9, in <module>
    from prompt_toolkit.renderer import HeightIsUnknownError
  File "C:\Users\matti\AppData\Local\Programs\Python\Python310\lib\site-packages\prompt_toolkit\renderer.py", line 11, in <module>
    from prompt_toolkit.styles import Style
  File "C:\Users\matti\AppData\Local\Programs\Python\Python310\lib\site-packages\prompt_toolkit\styles\__init__.py", line 8, in <module>
    from .from_dict import *
  File "C:\Users\matti\AppData\Local\Programs\Python\Python310\lib\site-packages\prompt_toolkit\styles\from_dict.py", line 9, in <module>
    from collections import Mapping
ImportError: cannot import name 'Mapping' from 'collections' (C:\Users\matti\AppData\Local\Programs\Python\Python310\lib\collections\__init__.py)```

Switching to Python 3.9 as suggested by friends yielded the return of the issue in #22.

I was able to fix the path issue for 3.9 but am getting an issue about a missing zlib DLL and have been unable to find anything to provide that installation that works on Windows 11.

Hi @SXRWahrheit thanks for raising this issue. The error traceback you sent suggests that a dependency of the PyInquirer package is causing the bug, which seems to be a breaking change introduced in python 3.10.
I'm running python 3.8 on mac, maybe you could try installing 3.8 on your system and see if it works? Apologies as I'm not able to provide support for problems specific to windows 11.
I'll see if i can rework the CLI such that it won't rely on PyInquirer, but that might take some time. I suggest trying another python version in the meantime.

For those on linux experiencing this issue I've got a bit of a bodge fix that doesn't involve any sort of installing of older python versions. Looking at the error log provided in the first post, the third to last line has the path that you want. For the reporter:
File "C:\Users\matti\AppData\Local\Programs\Python\Python310\lib\site-packages\prompt_toolkit\styles\from_dict.py", line 9, in <module>

and for me, and most likely you, something like:
File "/home/hugeblank/.local/lib/python3.10/site-packages/prompt_toolkit/styles/from_dict.py", line 9, in <module>

This command replaces the problematic line with the patched one, as outlined in @ledesmablt's comment:
sed -i -e 's/from collections import Mapping/from collections.abc import Mapping/' <PATH HERE>

So for me, I take the path that that third to last line outputs and drop it into the script:
sed -i -e 's/from collections import Mapping/from collections.abc import Mapping/' ~/.local/lib/python3.10/site-packages/prompt_toolkit/styles/from_dict.py

Try spotify auth login or whatever the command you were trying to use again, should work! I don't know if this persists on an upgrade, and if it doesn't, hopefully the next update fixes the issue and this will be a moot warning.


Custom actions are triggered on hover (not click!) in 3.2

Hi there, we found what we think is a very serious issue in the 3.2 release.
Describe the bug
It seems that with this new release, when a link is hovered, the linked page is preloaded in the background. Maybe it's a new default behavior of turbo-rails?
The issue is that it also preloads custom actions ⚠
As you may have guessed, custom actions are usually destructive actions (remove user, charge payment, cancel payment, etc.) and these destructive actions are now triggered silently just by hovering the button.
Reproduction steps
Here is what happened to us (luckily in staging!), users were silently removed just by hovering a button:
https://github.com/user-attachments/assets/48e4197d-8665-4d6f-9bcd-0e6caa15406f
Expected behavior
Is it really useful to preload every hovered link?
I guess we should at least disable this behavior from custom actions.
Additional context

rails version: <IP_ADDRESS>
rails_admin version: 3.2

This behavior change is due to change in Turbo 8 (turbo-rails >= 2.0), which introduced the prefetch feature.
https://turbo.hotwired.dev/handbook/drive#prefetching-links-on-hover
Considering the existing custom actions use cases, I disabled the prefetch behavior globally for now. The fix is already in the master branch, so please try. If it works for you I can cut a new release.
https://github.com/railsadminteam/rails_admin/commit/f54a102c6b0a420244ef044503944574ef1dfbd2
At the same time I don't recommend GET method actions to have a mutating behavior, as it's against the HTTP standard. I'm planning to enhance the custom action to support POST only actions, so people don't need to use GET for that purpose.

@mshibuya Thank you very much for having taken the time to look into this.
I'm working with @MichaelHoste, who opened this issue, and we have just tried your fix (https://github.com/railsadminteam/rails_admin/commit/f54a102c6b0a420244ef044503944574ef1dfbd2).
I confirm that it works as expected. Thank you!
We're looking forward to the next release 🚀
We agree with you: the GET method should not be used for actions that have a mutating behavior. Enhancing custom actions to support the POST method, as you just suggested, would be the ideal solution for us (and many other developers).

Thank you for reporting back! Just released 3.2.1 🚢

3.2.1 release fixes our issue, but we also added this block in our custom actions just to be sure it won't happen again.
register_instance_option :turbo? do
  false
end

Thank you for this quick fix!


invoke cli add command string parameter

As ...
Patti - Platform Admin
I want ...
To be able to execute commands inside a container using a script. e.g. for starting a database backup from within the db contaioner. etc.
So that ...
I can automate tasks that needs to access the container cli
I know this is done when...

I execute the command for e.g. to restore a backup invoke -e cli --service=db --command="bash -c '/usr/lib/postgresql/${postgres_version_number}/bin/psql ${NAUTOBOT_DB_NAME} -U ${NAUTOBOT_DB_USER} < /backups/${sqlname}'"

Optional - Feature groups this request pertains to.

[X] Automation
[ ] Circuits
[ ] DCIM
[ ] IPAM
[ ] Misc (including Data Sources)
[ ] Organization
[ ] Plugins (and other Extensibility)
[ ] Security (Secrets, etc)
[X] Image Management
[ ] UI/UX
[ ] Documentation
[ ] Other (not directly a platform feature)

Database Changes

None

External Dependencies

None

Hi @jifox, thanks for the submission. To clarify, it sounds like you are asking for an enhancement to invoke cli to support more arguments for explicitly running commands?
If I'm following, some of the new arguments are:

--service
--command

Am I on the right track? Thanks!

Yes, you are right.
I'm using the command parameter to specify the command that will be executed in container

Would this be covered by #4431?

Added --command argument to cli task to specify command to run

@gsnider2195 Yes that is covered by #4431


version numbers instead of latest for updating

Hey,
first of all thanks for this very nice project, really good job.
Yesterday I submitted some version updates from "latest" to the real version number incl. the checksums. They were closed here
https://github.com/caskroom/homebrew-cask/pull/31988
due to "no need for all those changes if the download URL doesn't point to any specific version".
In my opinion there is a big win in changing all latest to real version numbers if you use brew cask not "only" to install, but to update the apps.
I put together a script and an app that takes cake of it and I´m using it quite often and it works well.
https://github.com/tiiiecherle/osx_install_config/blob/master/05_homebrew_and_casks/5c_brew_casks_update/bash/brew_casks_update.sh
app version in the dmg is here
https://github.com/tiiiecherle/osx_install_config/tree/master/05_homebrew_and_casks/5c_brew_casks_update
From that point of view it makes great sense to eliminate as many "latest" versions as possible as the script checks for changes in the version number to update. If it stays at "latest" it can never be recognised as "updateable" by the script.
Perhaps the script could even be referenced to or something to help others.
Free for discussion ;)
I would like to submit all the changes from yesterday again after that said. Please let me know if this is ok. And I´m happy and open to all contributions and / or thoughts to my update script.
Kind regards

no need for all those changes if the download URL doesn't point to any specific version

That might not have been the best wording.
The thing is we reliably can’t have those casks versioned because we have no reliable way to know when upstream changes the target of that url, and to what. If we keep those versioned and with a sha256, they will constantly break.
That is why casks with an unversioned url but that have an appcast still have version and sha256 set. Because the appcast allows us to see changes. Users made their preference for versioned casks known.
As for updating, that’s why https://github.com/caskroom/homebrew-cask/issues/29301 exists.

Thanks for the feedback, that is exactly the point. Even if they break they should all have versions. The upgrade option wouldn`t detect that there is an update available if "latest" is used. And noone wants to download and reinstall all "latest" versions on every update run to be sure you are up to date.
A lof of casks like teamviewer, onyx, etc., have been updated to versions which is very nice und updates are coming in constantly.
Yes, it would be a little more updating maintenance, but it would be way better functionality.
Just let me know if it would be ok if I re-add pull requests for these few casks.
Thanks in advance

Yes, it would be a little more updating maintenance, but it would be way better functionality.

 We know, because we’ve gone through it in the past. You have to draw the line somewhere, and we drew it there.
If you want those casks to be versioned, you’ll need to ask the developers to either provide versioned downloads or appcasts.


Project Zomboid: Add sleep settings

Actually, PZ does not appear to respond to sleeping, so closing


Update theano 1.0.5 on platforms

Bug Tracker: new open issues https://github.com/Theano/Theano/issues
Upstream license: https://github.com/Theano/Theano/blob/master/doc/LICENSE.txt
Changelog: https://github.com/Theano/Theano/blob/rel-1.0.5/HISTORY.txt
Upstream setup.py:  https://github.com/Theano/Theano/blob/rel-1.0.5/setup.py
The package theano is mentioned inside the packages:
theano-pymc |
Actions:

Add entry_points
Add missing packages: pip, wheel
Update test/imports
Fix license

Result:

all-failed

Failed on all platforms with python 3.9

After running:
conda create -n test_env --dry-run python=3.9 cython pip setuptools wheel "numpy >=1.9.1" "scipy >=0.14" "six >=1.9.0" "pygpu >=0.7,<0.8"  -vvv 2>&1 | grep -e "-> 0"
DEBUG conda.resolve:filter_group(635): pygpu: pruned from 10 -> 0
DEBUG conda.resolve:filter_group(635): pygpu: pruned from 10 -> 0
DEBUG conda.resolve:filter_group(635): pygpu: pruned from 10 -> 0
DEBUG conda.resolve:filter_group(635): pygpu: pruned from 10 -> 0
DEBUG conda.resolve:filter_group(635): pygpu: pruned from 13 -> 0
DEBUG conda.resolve:filter_group(635): pygpu: pruned from 13 -> 0
DEBUG conda.resolve:filter_group(635): pygpu: pruned from 13 -> 0
DEBUG conda.resolve:filter_group(635): pygpu: pruned from 13 -> 0

We should update pygpu 0.7.6 and build it for py39

Tests failed on osx-64

the doc_url and home url seem to be deprecated

@varlackc I've updated home and doc urls


Only trigger has_model_changed when changes are actually made

It seems the has_model_changed is triggered in the __setattr__ and doesn't consider what the value was beforehand. Take this;
class Test(ChangeDetectionMixin, BaseModel):
    field1: str

obj = Test(field1='test')
obj.field1 = 'test'
obj.has_model_changed  # True

Ideally this flag would only flip if the value being set is not an exact match to what's already against that field in the model. This could facilitate code blocks that blindly set values against the model instead of having to check itself first;
incoming_data: dict  # some data coming from someplace else
obj = MyModel(**values_from_cache)
for field, value in incoming_data.dict():
    if getattr(obj, field) != value:  # this check for equality could be removed
        setattr(obj, field, value)
assert obj.has_model_changed

I might have a crack at this at some point. Just wanted to throw this out there.

@dannosaur I can see how has_model_changed being true in this scenario could be confusing. I would let @ddanier comment on whether this is intentional or not (and then, would be fixed).
A bit tangential: Could pydantic-apply solve your use-case in the meantime and make that part of the code a bit more elegant at the same time?
https://github.com/team23/pydantic-apply
Then, it could look like this.
incoming_data: dict  # some data coming from someplace else
obj = MyModel(**values_from_cache)
obj.model_apply(incoming_data)

See, this is why I love the open source community. Another pydantic module that's incredibly useful that I didn't know about!
It doesn't solve the use case though beyond making the code a lot nicer to look at, effectively the 2-3 lines in your sample, but if the values in incoming_data are the same as what's in values_from_cache then model_has_changed is still True.

This is actually the intended behaviour. Reason for this is that we see all assignments as a change, no matter if the value did actually change. This is by design, as detecting the value as really being different may not be that simple.
Let me elaborate on this:
For simple values like strings, integers or similar the check if the value was changes is pretty much no issue. But pydantic allows us to use other models or even arbitrary classes as values. Detecting if a value has changes will create some challenger in this case:

I have seen people using their own __eq__ implementation only checking the id field
There may be internal state in the object that is not compared but might make a difference (like pydantic private attributes)
Also __setattr__ is called before the field has been validated (see validate_assignment option in pydantic). This means the value we get here might be different, but the same after the validation process
And maybe other reasons I fail to remember right now...

As of this we decided to always assume that when you write obj.attr = "value" your intention was to change that value, so we set is as changed - regardless of the value actually being different.
I know this might not be the intended behaviour for some cases, but at least each and every one of those cases can easily be found and managed. On the contrary if we did test the value for equality this might introduce side effects that may be hard to find and debug and lead to more headaches.
Having all that said it is actually very easy to extend the ChangeDetectionMixin to check for the value, for example like this:
class MyOwnChangeDetectionMixin(ChangeDetectionMixin):
    @no_type_check
    def __setattr__(self, name, value) -> None:  # noqa: ANN001
        # Note: You may need to also handle private attributes here

        if value == self.__dict__[name]:
            # Just return and do nothing if the value has not changed. Note this will
            # also ensure we never mess things up with values defining their own `__eq__`
            # implementation - while this also means those may not be set if the
            # implementation is somewhat strange (like only checking the `id` field).
            return

        super().__setattr__(name, value)

This also has some quirks but may be just enough for most cases and will certainly be enough for all those cases you just have strings, integers and stuff.
One additional note about pydantic-apply and its use:
I mentioned the use of validate_assignment above. When updating your model state this might get tricky when you update the fields one by one - like you do in your code. If you have a root/model validator that validates multiple fields this approach might fail. Say for example you have a validator that ensures a field x is always double the value of a field y (like assert self.x == self.y * 2). If you are updating field by field the validator will raise an issue mid update - which you cannot solve as obj.attrname = "something" only works for one field. pydantic-apply will allow this to work + still do the model validation for the complete set of field changes. ;-)

Having that all said: I'm open to having this behaviour changed if we come up with a good solution. The current implementation is a little bit naive at the moment, but still is in my opinion the best reasonable compromise when thinking about all those "special" values we could have here.

Some options we have:

Have this behaviour configurable
Only check values for simple types (string, int, ...)
Just check value equality and see what breaks 🙈

I'm currently in favour of adding an equality check for simple types and document the behaviour.

I have created https://github.com/team23/pydantic-changedetect/pull/19 to implement this idea.
@dannosaur Want to test this?

@dannosaur Does this work for you?  Since I wrote this ticket things took a turn and I've ended up focusing on other things for a few days. As it happens the exact use case I had for this no longer applies, BUT I have another project (or 2) where this could be very useful so I intend to check our your proposed changes shortly (though it's a holiday in the US this weekend, so might be Monday now).
I'll post back soon :)

@dannosaur No issue at all and for sure I don't want to apply any pressure on you testing this. I just thought this would make a nice addition to 0.6.0 and thus wanted to ensure it will really solve your use case. Feedback will be very much appreciated :)

Released with 0.6.0


Add alicloud_vpc_detail

The changes have been released as a part of -https://github.com/turbot/steampipe-mod-alicloud-insights/pull/52


resourceId function not working in newer version of Bicep

Bicep version
run bicep --version via the Bicep CLI, az bicep version via the AZ CLI or via VS code by navigating to the extensions tab and searching for Bicep
0.6.18
vs
0.8.2
Describe the bug
A clear and concise description of what the bug is vs what you expected to happen
Older versions of bicep, I can deploy a module that will create a local private endpoint and then register dns in a remote subscription that contains a private dns zone.  Newer version does not allow this.
resourceId is setup as a function
function resourceId(resourceType: string, ... : string): string
Returns the unique identifier of a resource. You use this function when the resource name is ambiguous or not provisioned within the same template. The format of the returned identifier varies based on whether the deployment happens at the scope of a resource group, subscription, management group, or tenant.
In newer version of bicep, it is not
The name "resourceId" is not a function.bicep(BCP059)
To Reproduce
Steps to reproduce the behavior:
If I run older verisons of bicep, I can push a module that wants to register a private endpoint to a private dns zone in a remote subscription without issues.
In newer version, the deployment fails and says can not create resource.
Additional context
Add any other context about the problem here.

Can you provide more details for your repro? Please provide a concise code sample that reproduces the issue? And is it right that this was working in v0.6.18, but not in v0.8.2? Have you tried with the latest version (v0.8.9)?
We have not gotten any other reports of this issue and the resourceId() function is pretty common, so I suspect something else is happening.


Illegal syntax in type extensions with generics does not throw syntax error

The following compiles, but I don't think it should:
type X<'T> = Y of 'T
type X<'T when 'T :> string> with
    static member X = 2
    static member take (s: 'T) = s

The following uses generic syntax that isn't allowed anywhere else where generic syntax is allowed:
type X<'T> when 'T :> string with
    static member X = 2
    static member take (s: 'T) = s

And even if it should compile, and accept the restriction, it should then raise an error because string is sealed.
First raised as StackOverflow question here, the answer seems to agree with me (in that it shouldn't compile).

There are a lot of oddities related to the generics syntax - #1494

That's indeed quite odd as well. Though this is different, in that 1) #1494 refers to statically resolved type params, this is "just" a normal constraint 2) this one is specific for a  type extension, and 3) the 2nd example above is very illegal (I think) as it "escapes" the <...> boundaries of the generic syntax.

Thanks.  The constraints for type augmentations are implied by the constraints at the type definition. Adding explicit new constraints at the augmentation should give an error or warning.

Adding explicit new constraints at the augmentation should give an error or warning.
Agreed. Add to that that illegal syntax on the augmentation (see 2nd example) should surely raise a syntax error and not just a warning or be ignored.

type X<'T> = Y of 'T
type X<'T when 'T :> string> with
    static member X = 2
    static member take (s: 'T) = s

is interesting.

but if I compile separately:

@dsyme any ideas why this is different?

AFAIK a type extension is merged into the original type, if both are in the same compilation unit (similar to partial classes in C#) and implemented as extension methods, if in different CUs (e.g. in different Assemblies).

@forki @0x53A That is correct, it changes from an intrinsic extension to an extrinsic extension.

@KevinRansom, @dsyme, this is only partially fixed. The OP shows two examples, but in VS2017 with either F# 4.0 or F# 4.1 I can see that the first example now raises the error mentioned in @forki's comment above, but the second example is truly invalid syntax and the compiler does not notice it.
From above:
// should give a syntax error, but raises an error FS0698 on the string-constraint
type X<'T> = Y of 'T
type X<'T> when 'T :> string with
    static member X = 2
    static member take (s: 'T) = s

This variant compiles but shouldn't, it is clearly a syntax error (the when constraint is not within the < and >)
type X<'T> when 'T :> obj = Y of 'T


Error with .Unity3d

data.zip
I am ripping data.Unity3d file from an APK file I unzipped. I gt the follow error however. If I use the demo version of Devx Unpacker I can see all the files inside so it does seem to be a valid file. I can also use UABE
Output log:
Import: Game file 'data.unity3d' has been found
Import: Dependency 'unity default resources' has been loaded
Import: Asset collection has versions probably incompatible with each other. Here they are:
Import: 2018.3.0a6
Import: 2018.3.6f1
Import: System.DllNotFoundException: Unable to load DLL 'PVRTexLibWrapper': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
at uTinyRipperGUI.Exporters.TextureConverter.DecompressPVR(Byte[] buffer, IntPtr bmp, Int32 len)
at uTinyRipperGUI.Exporters.TextureConverter.PVRToBitmap(Byte[] data, Int32 width, Int32 height)
at uTinyRipperGUI.Exporters.TextureConverter.PVRTextureToBitmap(Texture2D texture, Byte[] data)
at uTinyRipperGUI.Exporters.TextureAssetExporter.ConvertToBitmap(Texture2D texture, Byte[] data)
at uTinyRipperGUI.Exporters.TextureAssetExporter.ExportTexture(IExportContainer container, Texture2D texture, Stream exportStream)
at uTinyRipperGUI.Exporters.TextureAssetExporter.Export(IExportContainer container, Object asset, String path, Action3 callback)    at uTinyRipperGUI.Exporters.TextureAssetExporter.Export(IExportContainer container, Object asset, String path)    at uTinyRipper.AssetExporters.TextureExportCollection.ExportInner(ProjectAssetContainer container, String filePath)    at uTinyRipper.AssetExporters.AssetExportCollection.Export(ProjectAssetContainer container, String dirPath)    at uTinyRipper.AssetExporters.ProjectExporter.Export(String path, FileCollection fileCollection, IEnumerable1 assets)
at uTinyRipper.GameStructure.Export(String exportPath, Func`2 filter)
at uTinyRipperGUI.MainWindow.ExportFiles(Object data)

You need to install 2013 or 2015 version of 'visual c++ redistributable'.
Btw in the latest version of ripper PVRTexLib has been removed so you may try it first


Manipulating a JSON! (implicitly unwrapped) variable fails to modify the underlying json

//setter does not work,data1 has no element
var data1:JSON!
data1 = JSON([:])
data1["sn"].string = "1111"
//this is ok
var data2:JSON = JSON([:])
data2 = JSON([:])
data2["sn"].string = "1111"
//also ok
var data3:JSON = JSON.null
data3 = JSON([:])
data3["sn"].string = "1111"

var data = JSON.parse("") not work too :-( i.e. - date has no element for "sn"

bump

@yikuo123 Sorry for the delay on this. I was able to reproduce by using your code above, I'll look more into this asap.
@djdance JSON.parse("") not working is intended, because the provided string is not a valid JSON string. I'm proposing a new initializer here https://github.com/SwiftyJSON/SwiftyJSON/issues/459#issuecomment-262155181, please add a 👍 if you think it'd be valuable (especially the throws part). Thanks!

Closing as duplicate of https://github.com/SwiftyJSON/SwiftyJSON/issues/215


manage modify accesses

hi how we can ensure that only doctors has access to create a vaccine record and the passport holders can't cheat on that?

if doctor != *author.key {
            return Err(ErrorCode::UnauthorizedVaccinationInitiation.into());
        }

this line check that the doctor property in VaccinationRecord should be the signer of the transaction
its ok
but what if that the passport_holder send a fake doctor property pubkey and sign the transaction too
it wouldn't be an issue?

Hi @SorooshMortazavi, thanks for the issue, and yes, it's true that a fake public key could be passed along with the creation of a new vaccination record account in the case where we cannot ensure that only doctors can create a vaccination.
Seems like your implementation is also a promising approach for the mentioned issue. Still, I guess we should also create a way to validate a doctor account within the system, i.e. a doctor account is legitimate or not.
When I was writing this Solana program, not many resources were available, and a very little community to ask for any advice and best practices, and was on a tight schedule since I did this as a part of my University projects. It would really help if I could get any valuable resources and links because now I'm continuing in this blockchain work area and improving my skills.

Hi yes its very poor resources for developers to access.
by the way i liked the project it's cool and i think with some roles and validation it could be business level project.
for example doctors account shouldn't be active till the vaccine camp confirm the doctors account. and etc...
by the way i liked the idea. it is great to create something in blockchain to solve real life issues


Images from onedrive, google drive and dropbox not showing

Challenge Name

Issue Description

Browser Information

Browser Name, Version:
Operating System:
Mobile, Desktop, or Tablet:

Your Code

Screenshot

@broswilli Please add more information and details about where you experience this issue and reopen this if it's an issue with freeCodeCamp. Also, it may be helpful to ask for help in the Help Chat Room


spark to duckdb format delta support

from sqlframe import activate
activate("duckdb")
from pyspark.sql import SparkSession

builder = SparkSession.builder.appName("MyApp")

spark = builder.getOrCreate()

df = spark.read.load('./tmp/tmnt/', format='delta')

df.show()

This pysaprk code will throw error
Did you mean "read_text"?
LINE 1: WITH "t59502796" AS (SELECT * FROM READ_DELTA(['./tmp/tmnt/'])), "t3128730...```

Released in 3.2.0: https://github.com/eakmanrq/sqlframe/releases/tag/v3.2.0
Thanks @sherlockbeard!


[CWS] windows: do not send events for rename pre args

What does this PR do?
Some of the rename ETW events are not generating probe events but just filling an LRU waiting for further events to actually create the final probe events. As such we definitely should not be creating a probe event with an unknown event type. This is seemingly not causing issues further down the road but could in the future and it's clearly wasting some CPU cycles.
Motivation
Describe how to test/QA your changes
Possible Drawbacks / Trade-offs
Additional Notes

/merge


Made changes

Description
I have added a missing Question mark and made the heading "Our Team" bigger.
Pull Request Checklist
Please make sure that your PR meets the following requirements:

[x] The app is working correctly after applying the changes.
[x] The app is responsive and displays properly on different screen sizes and devices.
[x] The changes are thoroughly documented in the appropriate files or documentation sections.
[x] The coding conventions and style guidelines are followed consistently.

Checklist
Please check all applicable boxes and provide any additional information if needed.

[x] I have tested the changes locally and ensured that the app is functioning as expected.
[x] I have verified that the app is responsive and looks good on various screen sizes and devices.
[x] I have reviewed the documentation and ensured that it accurately reflects the changes made.
[x] I have followed the coding conventions and style guidelines defined in the project.
[x] I have run the automated tests and all of them pass.
[x] I have considered the performance implications of the changes made.
[x] I have considered the security implications of the changes made.
[x] I have checked for any potential regressions or side effects caused by the changes.
[x] I have performed a self-review of my code.
[x] Followed the repository's Contributing Guidelines.
[x] I ran the app and tested it locally to verify that it works as expected.

Screenshots - If Any (Optional)
Additional Notes(Optional)
Please provide any additional information or context that may be helpful for reviewing the pull request.
Related Issues
#491
Reviewers
@Harshil-Jani

@blindaks I think the heading still remains same.


Remove unused shell version ClickHouse data migration code

We replace the shell version ClickHouse data migration by the Golang version in Theia v0.3.
The unused bash code and migrators for the bash version ClickHouse data migration
are removed in this PR.
Signed-off-by: Yanjun Zhou<EMAIL_ADDRESS>

Codecov Report

Merging #155 (fcbd0b6) into main (b1ce1cd) will increase coverage by 9.26%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #155      +/-   ##
==========================================
+ Coverage   41.04%   50.30%   +9.26%
==========================================
  Files          81       54      -27
  Lines        5806     3886    -1920
==========================================
- Hits         2383     1955     -428
+ Misses       3200     1739    -1461
+ Partials      223      192      -31

Flag
Coverage Δ

unit-tests
50.30% <ø> (+9.26%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

snowflake/cmd/receiveSqsMessage.go

...wflake/pkg/aws/client/s3/testing/mock_interface.go

snowflake/cmd/policyRecommendation.go

snowflake/pkg/aws/client/s3/client.go

snowflake/pkg/infra/backends.go

snowflake/pkg/snowflake/snowflake.go

snowflake/pkg/aws/client/s3/region.go

snowflake/pkg/infra/manager.go

snowflake/cmd/createKmsKey.go

snowflake/pkg/aws/client/kms/client.go

... and 17 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


[Breaking] support passing in an async function for the test callback

This PR adds rudimentary support for async/await in a fashion
that breaks back compat as little as possible.
Currently tape has no opinions about exception handling.
If you throw in a test block it will go straight to the
uncaught handler and exit the process.
However newer versions of node & v8 added async functions.
These functions when thrown return a rejected promise.
Currently node logs unhandled rejections with a warning
and in future versions of node, unhandled rejections may get
forwarded to uncaught exceptions.
This patch modifies tape so that an unhandled rejection will be
marked as a TAP failure and fails the tests with exit code 1.
Previously on master it would log to STDERR and then continue
onwards running the rests of the tests.
For example :
var tape = require('tape')

tape('my test', function (t) {
  // this causes the tests to fail with exit code 1
  t.oktypo(true, 'my bad')
})

tape('my async test', async function (t) {
  // on master : this causes the tests to pass with exit code 0
  //     and STDERR noise about unhandled rejections
  // in this PR : this causes the tests to fail with exit code 1
  t.oktypo(true, 'my bad')
})

This patch is optional, there is a different work around you can do
process.on('unhandledRejection', function (err) { throw err })

var tape = require('tape')

tape('my async test', async function (t) {
  // on master : this causes the tests to fail with exit code 1
  t.oktypo(true, 'my bad')
})

But adding that one liner to the top of every test file
can get quite annoying and EASY to forget :(
Back compat is broken for some cases, only when the user of tape mixes promises & callbacks & async functions in a single test block. If the async function returns before you call t.end() ( aka you do not await the code that calls t.end()
However no back compat breaks for users that

do not use async/await
do not use promises
uses async/await but only with promises
uses promises and no callbacks
uses async/await, promises & callbacks but always does await util.promisify((cb) { ...; t.end() }

This is a much requested feature by my peers @juliangruber @maxharris9 @davidmarkclements
See related issues :

https://github.com/substack/tape/pull/441
https://github.com/substack/tape/issues/208
https://github.com/substack/tape/issues/358
https://github.com/substack/tape/issues/262

in future versions of node, unhandled rejections may get forwarded to uncaught exceptions.

fwiw this won’t actually happen by default; unhandled rejections are a normal part of the language, and by default, the program needs to continue when one occurs. The node warning message is overly ambitious and thus misleading.

as-is, this is still a breaking change - anyone currently using an async function (or any promise-returning function) with an unhandled rejection will cause an error where none previously existed.

Im actually confused here - all this seems to be doing is ensuring that the returned promise can’t hook into node’s unhandledRejection event - it’s not actually failing the associated test and allowing tests to continue.

All this does is make exceptions in async functions work. unhandled rejections from the async function passed to tape(fnName, fn) will go to uncaught exception and have the default process uncaught exception semantics.

fwiw this won’t actually happen by default; unhandled rejections are a normal part of the language, and by default, the program needs to continue when one occurs. The node warning message is overly ambitious and thus misleading.

I was at the openjs summit recently and spoke to some node core folks, it seems like we want stricter semantics around unhandled rejections in core, forwarding unhandled rejections to uncaught exceptions might be a change we see in future node versions.
Unhandled rejections are a bug and undefined behavior, they should be handled exactly like uncaught exceptions.

as-is, this is still a breaking change - anyone currently using an async function (or any promise-returning function) with an unhandled rejection will cause an error where none previously existed.

If you have an async function that throws an exception its "silently" continueing. Your test suite is broken, it's just that the exitCode of the process does not reflect it.
This patch makes the exception you threw visible.
Technically it is a breaking change, it's a change in semantics. However it is a better user experience for exception handling in async functions and normal functions to be the same in tape

anyone currently using an async function (or any promise-returning function) with an unhandled rejection will cause an error where none previously existed.

It should be noted that there's very few cases of this happening, if you have a thrown exception in an async function you are probably not calling t.end()
The behavior reported in https://github.com/substack/tape/issues/358 is more common for async functions with thrown exceptions, confusion about tests not ending and just hanging.
Tape will report "expected t.end() to be called but test not finished" if you have no handles open in your test process, but most realistic tests will actually leak sockets or timers or something that keeps the event loop open when you throw in an async function. This leads to the output of the process just hanging and tape will not report anything, and the process wont exit because you didnt teardown your http server or whatever.

They’re not a bug, and they’re quite defined - if node exits on them by default, it’s violating the intent of the spec.

I've rebased this, and added a commit that changes the behavior to:

fail the test when its callback returns a rejected thenable
call .end() for you when its callback returns a resolved thenable
fail when you've called .end() already before returning a resolved thenable (this part would be a breaking change for sure, even if the rest wouldn't be - so i'm open to making this silently work)

Thoughts?

fail when you've called .end() already before returning a resolved thenable (this part would be a breaking change for sure, even if the rest wouldn't be - so i'm open to making this silently work)

The existing tests I wrote had t.end() in them because that's a pattern people are already doing. The only test in which my patch is changing semantics is the async-error.js test.
I think failing on "double end" is too heavy of a breaking change for this patch. It requires fixing tests and code that "just works" before when you upgrade tape.
When we make a breaking change to report the rejected promise error at least you are fixing dubious tests that silently "failed" and are worth looking at and fixing. If you upgrade tape and it makes a breaking change I hope that the break will actually allow you identify tests that silently failed and improved your test suite.
You don't want to upgrade tape and just refactor tests that are "correct"

call .end() for you when its callback returns a resolved thenable

This is actually a breaking change that will break "correct" tests that have passed before, I'm going to push a test case onto this branch to demonstrate this, but here is an example
tape('my func', async function (t) {
  var res = await fetch('http://localhost:3000')
  var body = await res.json()
  t.equal(body, '"ok"')

  checkDb(function done(data) {
    t.equal(data, 'is good')
    t.end()
  })
})

I've seen tests in the wild where people are migrating their code to async/await. They start using for example node-fetch and using promises for HTTP but their database driver is still callbacks and they make callback related code in their tests.
This means they are using t.end() and if tape were to auto call t.end() when the async function completes this test would finish before the database read completed which leads to a t.equal() after t.end()
I strongly recommend this patch implements support for async functions and makes minimal breaking changes based on how people are using tape and async functions in the wild instead of implementing "proper promises" support.

fail the test when its callback returns a rejected thenable

My original patch has two test cases, sync-error.js and async-error.js ; I made the smallest change possible to handle the promise returned from an async function such that those two test cases behave the same ( complain on STDERR and exit with code 1 ).
Your change preserves the exit code 1 semantics but does mean that sync functions and async functions report their failures differently, both of them print the stack to stdout or stderr and both of them fail.
I'm ok with failing the test but I still prefer having identical behavior for sync and async errors. Note that adding a try / catch to make sync exceptions fail the test is probably a bad idea and out of scope for this PR.

CI fails because the anonymous stack frame needs to be stripped, I have another test with an example on how to strip it.
I'm going to push a commit to add another test case and add t.end() back into the test cases.

This is actually a breaking change that will break "correct" tests that have passed before, I'm going to push a test case onto this branch to demonstrate this, but here is an example
tape('my func', async function (t) {
  var res = await fetch('http://localhost:3000')
  var body = await res.json()
  t.equal(body, '"ok"')

  checkDb(function done(data) {
    t.equal(data, 'is good')
    t.end()
  })
})

To me this should make the test fail as you're mixing control flow primitives. Once the async function completes, the test is done. Anything happening after that is unsafe territory. How would the test harness be able to tell it should wait for an explicit t.end() before starting to run the next test?

How would the test harness be able to tell it should wait for an explicit t.end() before starting to run the next test?

For back compat reasons the test harness cannot implicitly call t.end() when the async function completes. You still have to manually call t.end() in an async function.

Ok. I'm not really interested in this patch unless it implicitly calls t.end() because then I'll need a tape wrapper anyway. tap and ava and mocha all do this, I hope tape can move into the future sooner rather than later...and we know we'll need a breaking change for this anyway, so why not do it right away.

This patch is purely about fixing the exitCode of your test suite when using async functions so that you can trust CI and it doesn't "silently fail"
This patch is not about improved user experience
Accidentally using an async function with tape can lead to tests that fail but exit with exitCode 0.
I'm open to improving the user experience but that should be a seperate PR.
This one is for the bugfix of the exitcode, not for the feature of improved user experience with async functions.

I don’t think we can fix one without providing the other; it’s not currently a bug because tape has no promise support, and a rejected promise is not an error per the intention of the JS spec.

I don’t think we can fix one without providing the other; it’s not currently a bug because tape has no promise support, and a rejected promise is not an error per the intention of the JS spec.

The user experience for thrown exceptions in async functions is bad. The behavior is different from thrown exceptions in normal functions.
I would recommend you look at this from the perspective of exceptions in functions and not the behavior of promises themselves.
We can add a check to see if the fn is an AsyncFunction if you prefer.

That being said I'm fine with supporting promises if that's what we need to get async functions to work

There’s no way to determine reliably if something is an async function without parsing toString, and an async function is nothing more than a function that returns a Promise - async/await is promises, nothing more.

Ok, I think this PR is ready for another review.
There were a few issues mentioned that are worth discussing

[ ] Can we implicitly call t.end() when the promise resolves ? This might be a breaking change, see test case that I've added.
[ ] Call t.fail(err) when the promise rejects or rethrow the error to uncaught exception ? I'm fine with either approach.

Can we implicitly call t.end() when the promise resolves ?

Explicit is 👌🏻

Call t.fail(err) when the promise rejects or rethrow the error to uncaught exception ? I'm fine with either approach.

Fail and call end.

Addressed feedback & rebased.

we can, in this PR, or at any time in the future, start catching sync errors in tests and make them fail the tests.

This is something useful to discuss but might be out of scope for this PR.

It would make total sense to me if it did "if not already ended, end it"

I'm ok with adding this change. But if the user called t.end() we can just silently do nothing since that's already a common pattern of using async/await with tape as is.
The pattern of returning from the async function and doing some callback IO without awaiting a promise is less common and maybe worth breaking as an bad practice edge case.

Agreed on number 1 being out of scope - might be worth pursuing later.
Sounds like we have agreement for number 4? I can rebase this PR and add it, and merge. I'll take another pass as well at the other pending breaking changes before cutting a v5.

For the tests :

can we add t.end() back into one of the tests to verify it works with and without end
can we add back a test with setTimeout and call t.end after async function finishes. It should fail with double end and exitCode 1 I think.

Otherwise lgtm, I might push those tests myself.

I've added the tests I mentioned I would add.
I think this PR is ready for final review and then I might reason out to substack to see if he want's to lgtm it.

I reached out to substack, I’ll take his silence as trusting us to figure it out.
I’m happy to help prep a branch for release, since this is semver major maybe we want other patches to go out as well, cc @ljharb ?

Let me double check to make sure all the non-major stuff that's ready is merged and released; and then we can just start bringing in semver-major stuff into master, including this one (i'll do a final rereview of this one as well first)

@ljharb would you like some help rolling up a new major release ?

Thanks, but i’m not quite ready yet :-) im making some changes in deep-equal first, so i can roll that into the major. Sometime next week i hope to have it all prepared.

Sounds great, thanks for keeping me posted :)

ftr: I'm waiting on a particular user to maybe hand over 4 package names; which I'd use to make robust brand checking methods to help add proper collection support to deep-equal, at which point i'd release a v2 of it, and then merge this along with updating that. Hopefully next week? I haven't forgotten!

@ljharb friendly reminder :D

Thanks, I haven't forgotten. I'm waiting on a few package names; once they're transferred I'll publish them, bump deep-equal's major, and then merge this and bump tape's major.

I'll get all the pending breaking changes in, and publish a prerelease for v5 soon.

Nice :) I will update a bunch of my apps & libraries to the pre-release once available.

I ran into the unhandled rejection issue with tape again.
I thought I fixed this almost a year ago :disappointed:
Can we release v5 officially as latests ?

tape@next has been available for awhile; I've run into a number of bugs, which have delayed the regular v5 from being released as I increased usage.
I'm now using v5.0.0-next.5 on 200+ of my projects, so I'm pretty confident that it's ready to go. I'll plan to release v5 later today or tomorrow.

Awesome, thanks! I appreciate it.

v5.0.0 is released.

Nice I released @pre-bundled/tape v5.0.0<EMAIL_ADDRESS>).
:tada:

Love the new feature! Should tape two more assertions to handle async throw? Like tape-promise does:
https://github.com/jprichardson/tape-promise#new-assertions

@3cp a) that seems like it would conflict with "the test ends when the returned-to-tape promise is  settled", b) let's discuss new features in new issues :-)


Implement smoke test user flow for Message ID Search

Problem statement
Since Message ID Search page relies on a message Id we need to create an e2e test that mimics a user flow when running our smoke test in the different environments
What you need to know
As an admin, select the ignore org and navigate to the Message Id Search page. You will need to know which Message Id is valid for each environment.
Acceptance criteria

[ ] Convert to use POM
[ ] Test details...

To do

[ ] ...

There is no easy way to do this that is not dependent on the data being used (ensuring that a MessageID is valid before testing the feature)


Manage Client-Side Libraries opens libman.json not UI Dialog

The title pretty much sums it up. If I choose "Manage Client-Side Libraries" from my project menu Visual Studio opens the libman.json file not UI Dialog. At one point this was working, but it's not anymore. I am using VS 15.9.4. Tried deleting the libman.json and the .vs folder file but it doesn't help. Also tried restarting my machine. Note: It's also not working in my VS 2019 preview.
thanks

The dialog is accessed by right-clicking on a folder and choosing Add->Client Side Library...
The "Manage Client-Side Libraries" command opens libman.json to allow you to remove or change versions. When you save the file, LibMan will automatically update the downloaded files.
We understand that this is a little confusing, so we'll keep this item open to review the UX for the feature.

Thanks for the clarification. Yes, the UI is a little confusing. Most GUI menu items to set options lead to dialogs. Are there others that just lead to opening an xml/json config file?

Is LibMan still the preferred way to pull down client side libraries in visual studio 2019?

@peteralbanese It depends. LibMan isn't intended as a replacement for npm or other package managers, so if you're already using a package manager then you can continue to use that.
LibMan is intended to solve a simpler case where you just want to get some 3rd-party library files without all the overhead of a package manager. For that scenario, LibMan continues to be fully supported.

right click on the project then add then add client side library


Added PageUp Button

Fixes #66
Before:

After:

Hey @mgjain9871 , Can you please add the same in internship page as well.

Hey, @DeveloperAshish8 , I have added the same in the intership page as well.

Great work @mgjain9871 , Thanks for Contributing to our website ♥.


Colorize the "duration mode"

It used to be in green, then the color got dropped during header refactoring. Now using yellow, to make it less visible than more important information.

Do you want to highlight it because it's a user input ?
If so, we could also highlight the refresh rate.

Ok; also colorized "Ref." and "Min. duration" fields.


MAINT: change neldermead prints to warnings

Reference issue
Address partially gh-1953.
What does this implement/fix?
Convert all print('Warning...') statements to warnings within scipy/optimize/optimize.py::minimize_neldermead .

Thank you for your first PR! Great start 😃  Feel free to ping me for any help!

Thanks @tupui! I got the second case working. Could you take a look?

@lokijuhy friendly reminder. Let me know if you still intend to work on this.

Actually this might  have been fixed by gh-15259.