[youtube] fix 403 forbidden error

youtube has new 'sp' paramter in url_data which gives signature param name that
server is expecting for the signature param value in url
Please follow the guide below

You will be asked some questions, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your pull request (like that [x])
Use Preview tab to see how your pull request will actually look like

Before submitting a pull request make sure you have:

[x] At least skimmed through adding new extractor tutorial and youtube-dl coding conventions sections
[ x Searched the bugtracker for similar pull requests
[ ] Checked the code with flake8

In order to be accepted and merged into youtube-dl each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[x] Bug fix
[ ] Improvement
[ ] New extractor
[ ] New feature

Description of your pull request and other information
YouTube seems to have new parameter 'sp' in url_data (data which has format information, itag, url etc), whose value can be 'signature' or 'sig'.
This parameter 'sp' (guessing it means 'signature parameter') tells the server the name of the signature parameter in the url. youtube-dl, prior to this pull request, always append '&signature=SIG' to the url, resulting in HTTP 403 errors for encrypted signature videos.
This 'sp' parameter is found in 'url_data' only for encrypted signature videos. For anonymous page downloading and for most accounts, its value is 'signature', which is why youtube-dl works most of the time (with or without login). But for one of my accounts, this 'sp' parameter's value is 'sig', for which it always give 403 on encrypted signature videos.  Only thing different for this account is that I've recently used up YouTube premium trial (about a month ago).
The issue seems replicable #18841
Video, without logging in, has no issue:
$ python -m youtube_dl https://www.youtube.com/watch?v=D4hAVemuQXY -v
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'https://www.youtube.com/watch?v=D4hAVemuQXY', u'-v']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2019.01.17
[debug] Git HEAD: 379306ef5
[debug] Python version 2.7.15 (CPython) - Darwin-18.2.0-x86_64-i386-64bit
[debug] exe versions: ffmpeg 4.1, ffprobe 4.1
[debug] Proxy map: {}
[youtube] D4hAVemuQXY: Downloading webpage
[youtube] D4hAVemuQXY: Downloading video info webpage
[youtube] {18} signature length 42.44, html5 player vfl-jbnrr
[youtube] {36} signature length 40.44, html5 player vfl-jbnrr
[youtube] D4hAVemuQXY: Downloading player https://www.youtube.com/yts/jsbin/player_ias-vfl-jbnrr/en_US/base.js
[youtube] {17} signature length 42.44, html5 player vfl-jbnrr
[youtube] {135} signature length 42.44, html5 player vfl-jbnrr
[youtube] {244} signature length 42.44, html5 player vfl-jbnrr
[youtube] {397} signature length 42.44, html5 player vfl-jbnrr
[youtube] {134} signature length 42.44, html5 player vfl-jbnrr
[youtube] {243} signature length 42.44, html5 player vfl-jbnrr
[youtube] {396} signature length 42.44, html5 player vfl-jbnrr
[youtube] {133} signature length 42.44, html5 player vfl-jbnrr
[youtube] {242} signature length 42.44, html5 player vfl-jbnrr
[youtube] {395} signature length 42.44, html5 player vfl-jbnrr
[youtube] {160} signature length 42.44, html5 player vfl-jbnrr
[youtube] {278} signature length 42.44, html5 player vfl-jbnrr
[youtube] {394} signature length 42.44, html5 player vfl-jbnrr
[youtube] {140} signature length 42.44, html5 player vfl-jbnrr
[youtube] {171} signature length 42.44, html5 player vfl-jbnrr
[youtube] {249} signature length 42.44, html5 player vfl-jbnrr
[youtube] {250} signature length 42.44, html5 player vfl-jbnrr
[youtube] {251} signature length 42.44, html5 player vfl-jbnrr
[debug] Default format spec: bestvideo+bestaudio/best
WARNING: Requested formats are incompatible for merge and will be merged into mkv.
[debug] Invoking downloader on u'https://r7---sn-xpgjvh-q0cd.googlevideo.com/videoplayback?lmt=1540547722115265&fvip=3&ei=QctDXL_dOJeE1gKwhZ_oDg&txp=5532432&gir=yes&requiressl=yes&key=yt6&ip=2001%3Abb6%3A5e09%3Afb58%3Ab4f7%3Ad8d7%3A762d%3A9cce&ms=au%2Crdu&mv=m&mt=1547946664&id=o-AGHiTZAVN8GKqIT7Dle5BjKZIOh_AfTPXy0Xydq7zvfn&mn=sn-xpgjvh-q0cd%2Csn-q0c7rn76&mm=31%2C29&aitags=133%2C134%2C135%2C160%2C242%2C243%2C244%2C278%2C394%2C395%2C396%2C397&sparams=aitags%2Cclen%2Cdur%2Cei%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Crequiressl%2Csource%2Cexpire&ipbits=0&clen=27800113&initcwndbps=908750&pl=29&itag=135&dur=327.627&keepalive=yes&source=youtube&expire=1547968418&c=WEB&mime=video%2Fmp4&signature=6A9FE04AB82A2167AD7829F54E298242BD69DF7C.157C870FAC2E13C95A6454B267DD3D76754056F1&ratebypass=yes'
[download] Destination: Eminem - Sing For The Moment-D4hAVemuQXY.f135.mp4
[download] 100% of 26.51MiB in 00:02
[debug] Invoking downloader on u'https://r7---sn-xpgjvh-q0cd.googlevideo.com/videoplayback?lmt=1540554828851893&fvip=3&ei=QctDXL_dOJeE1gKwhZ_oDg&txp=5511222&gir=yes&requiressl=yes&key=yt6&ip=2001%3Abb6%3A5e09%3Afb58%3Ab4f7%3Ad8d7%3A762d%3A9cce&ms=au%2Crdu&mv=m&mt=1547946664&id=o-AGHiTZAVN8GKqIT7Dle5BjKZIOh_AfTPXy0Xydq7zvfn&mn=sn-xpgjvh-q0cd%2Csn-q0c7rn76&mm=31%2C29&sparams=clen%2Cdur%2Cei%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Crequiressl%2Csource%2Cexpire&ipbits=0&clen=4638867&initcwndbps=908750&pl=29&itag=251&dur=327.661&keepalive=yes&source=youtube&expire=1547968418&c=WEB&mime=audio%2Fwebm&signature=C69D126F860D1CAA6A309E0838092E4F7C1C504B.5ADA507197F8A5886BC8F5A14F6849F70C32C3D3&ratebypass=yes'
[download] Destination: Eminem - Sing For The Moment-D4hAVemuQXY.f251.webm
[download] 100% of 4.42MiB in 00:00
[ffmpeg] Merging formats into "Eminem - Sing For The Moment-D4hAVemuQXY.mkv"
[debug] ffmpeg command line: ffmpeg -y -i 'file:Eminem - Sing For The Moment-D4hAVemuQXY.f135.mp4' -i 'file:Eminem - Sing For The Moment-D4hAVemuQXY.f251.webm' -c copy -map '0:v:0' -map '1:a:0' 'file:Eminem - Sing For The Moment-D4hAVemuQXY.temp.mkv'
Deleting original file Eminem - Sing For The Moment-D4hAVemuQXY.f135.mp4 (pass -k to keep)
Deleting original file Eminem - Sing For The Moment-D4hAVemuQXY.f251.webm (pass -k to keep)

Issue, with logging in, using mentioned account:
$ python -m youtube_dl https://www.youtube.com/watch?v=D4hAVemuQXY -u 'PRIVATE' -v
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'https://www.youtube.com/watch?v=D4hAVemuQXY', u'-u', u'PRIVATE', u'-v']
Type account password and press [Return]:
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2019.01.17
[debug] Git HEAD: 379306ef5
[debug] Python version 2.7.15 (CPython) - Darwin-18.2.0-x86_64-i386-64bit
[debug] exe versions: ffmpeg 4.1, ffprobe 4.1
[debug] Proxy map: {}
[youtube] Downloading login page
[youtube] Looking up account info
[youtube] Logging in
[youtube] Checking cookie
[youtube] D4hAVemuQXY: Downloading webpage
[youtube] D4hAVemuQXY: Downloading video info webpage
[youtube] {18} signature length 110, html5 player vfl-jbnrr
[youtube] {36} signature length 110, html5 player vfl-jbnrr
[youtube] {17} signature length 110, html5 player vfl-jbnrr
[youtube] {135} signature length 110, html5 player vfl-jbnrr
[youtube] {244} signature length 106, html5 player vfl-jbnrr
[youtube] {397} signature length 110, html5 player vfl-jbnrr
[youtube] {134} signature length 110, html5 player vfl-jbnrr
[youtube] {243} signature length 110, html5 player vfl-jbnrr
[youtube] {396} signature length 110, html5 player vfl-jbnrr
[youtube] {133} signature length 110, html5 player vfl-jbnrr
[youtube] {242} signature length 110, html5 player vfl-jbnrr
[youtube] {395} signature length 106, html5 player vfl-jbnrr
[youtube] {160} signature length 106, html5 player vfl-jbnrr
[youtube] {278} signature length 110, html5 player vfl-jbnrr
[youtube] {394} signature length 110, html5 player vfl-jbnrr
[youtube] {140} signature length 110, html5 player vfl-jbnrr
[youtube] {171} signature length 106, html5 player vfl-jbnrr
[youtube] {249} signature length 110, html5 player vfl-jbnrr
[youtube] {250} signature length 110, html5 player vfl-jbnrr
[youtube] {251} signature length 106, html5 player vfl-jbnrr
[debug] Default format spec: bestvideo+bestaudio/best
WARNING: Requested formats are incompatible for merge and will be merged into mkv.
[debug] Invoking downloader on u'https://r7---sn-xpgjvh-q0cd.googlevideo.com/videoplayback?mm=31%2C29&mn=sn-xpgjvh-q0cd%2Csn-q0c7rn76&id=o-AGjpRnghBdIXZHBqPfCTdgIwlwTgYr32hfC4GS72KFMM&dur=327.627&aitags=133%2C134%2C135%2C160%2C242%2C243%2C244%2C278%2C394%2C395%2C396%2C397&c=WEB&initcwndbps=942500&lsparams=initcwndbps%2Cmn%2Cmm%2Cmv%2Cms%2Cpl&ip=2001%3Abb6%3A5e09%3Afb58%3Ab4f7%3Ad8d7%3A762d%3A9cce&mt=1547946168&lmt=1540547722115265&lsig=ANVabiowRQIgSLR4LY9eW6p_OH0O6KC9NpowgDY8eWIxP7zr-_G4NCACIQCrnEMv_xYzlyYuSsqTvENNBNyYLQVdlA_VShfVM6VHQQ%3D%3D&source=youtube&mv=m&fvip=3&mime=video%2Fmp4&pl=29&sparams=expire%2Cei%2Cip%2Cid%2Cipbits%2Citag%2Csource%2Cclen%2Cgir%2Cmime%2Cdur%2Caitags%2Ckeepalive%2Crequiressl%2Clmt&ipbits=0&ei=IclDXP2BEcWGgQfB7Yh4&txp=5532432&clen=27800113&requiressl=yes&keepalive=yes&itag=135&gir=yes&ms=au%2Crdu&expire=1547967873&signature=AMao4c4wRgIhAOd-LJneOFUHIGDTNM0AEWH47qSH1RZiDGlx31WiCe07AiEAzqHol6weAGIQVbdNfrEE0Kx-335rp4h-mOar32pM37U=&ratebypass=yes'
ERROR: unable to download video data: HTTP Error 403: Forbidden
Traceback (most recent call last):
  File "youtube_dl/YoutubeDL.py", line 1903, in process_info
    partial_success = dl(fname, new_info)
  File "youtube_dl/YoutubeDL.py", line 1848, in dl
    return fd.download(name, info)
  File "youtube_dl/downloader/common.py", line 364, in download
    return self.real_download(filename, info_dict)
  File "youtube_dl/downloader/http.py", line 341, in real_download
    establish_connection()
  File "youtube_dl/downloader/http.py", line 109, in establish_connection
    ctx.data = self.ydl.urlopen(request)
  File "youtube_dl/YoutubeDL.py", line 2212, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File<EMAIL_ADDRESS>line 435, in open
    response = meth(req, response)
  File<EMAIL_ADDRESS>line 548, in http_response
    'http', request, response, code, msg, hdrs)
  File<EMAIL_ADDRESS>line 473, in error
    return self._call_chain(*args)
  File<EMAIL_ADDRESS>line 407, in _call_chain
    result = func(*args)
  File<EMAIL_ADDRESS>line 556, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 403: Forbidden

Same download link from above output, but with parameter name 'signature' replaced with 'sig', fixes the issue:
wget -O test.file "https://r7---sn-xpgjvh-q0cd.googlevideo.com/videoplayback?mm=31%2C29&mn=sn-xpgjvh-q0cd%2Csn-q0c7rn76&id=o-AGjpRnghBdIXZHBqPfCTdgIwlwTgYr32hfC4GS72KFMM&dur=327.627&aitags=133%2C134%2C135%2C160%2C242%2C243%2C244%2C278%2C394%2C395%2C396%2C397&c=WEB&initcwndbps=942500&lsparams=initcwndbps%2Cmn%2Cmm%2Cmv%2Cms%2Cpl&ip=2001%3Abb6%3A5e09%3Afb58%3Ab4f7%3Ad8d7%3A762d%3A9cce&mt=1547946168&lmt=1540547722115265&lsig=ANVabiowRQIgSLR4LY9eW6p_OH0O6KC9NpowgDY8eWIxP7zr-_G4NCACIQCrnEMv_xYzlyYuSsqTvENNBNyYLQVdlA_VShfVM6VHQQ%3D%3D&source=youtube&mv=m&fvip=3&mime=video%2Fmp4&pl=29&sparams=expire%2Cei%2Cip%2Cid%2Cipbits%2Citag%2Csource%2Cclen%2Cgir%2Cmime%2Cdur%2Caitags%2Ckeepalive%2Crequiressl%2Clmt&ipbits=0&ei=IclDXP2BEcWGgQfB7Yh4&txp=5532432&clen=27800113&requiressl=yes&keepalive=yes&itag=135&gir=yes&ms=au%2Crdu&expire=1547967873&sig=AMao4c4wRgIhAOd-LJneOFUHIGDTNM0AEWH47qSH1RZiDGlx31WiCe07AiEAzqHol6weAGIQVbdNfrEE0Kx-335rp4h-mOar32pM37U=&ratebypass=yes"
--2019-01-20 01:12:02--  https://r7---sn-xpgjvh-q0cd.googlevideo.com/videoplayback?mm=31%2C29&mn=sn-xpgjvh-q0cd%2Csn-q0c7rn76&id=o-AGjpRnghBdIXZHBqPfCTdgIwlwTgYr32hfC4GS72KFMM&dur=327.627&aitags=133%2C134%2C135%2C160%2C242%2C243%2C244%2C278%2C394%2C395%2C396%2C397&c=WEB&initcwndbps=942500&lsparams=initcwndbps%2Cmn%2Cmm%2Cmv%2Cms%2Cpl&ip=2001%3Abb6%3A5e09%3Afb58%3Ab4f7%3Ad8d7%3A762d%3A9cce&mt=1547946168&lmt=1540547722115265&lsig=ANVabiowRQIgSLR4LY9eW6p_OH0O6KC9NpowgDY8eWIxP7zr-_G4NCACIQCrnEMv_xYzlyYuSsqTvENNBNyYLQVdlA_VShfVM6VHQQ%3D%3D&source=youtube&mv=m&fvip=3&mime=video%2Fmp4&pl=29&sparams=expire%2Cei%2Cip%2Cid%2Cipbits%2Citag%2Csource%2Cclen%2Cgir%2Cmime%2Cdur%2Caitags%2Ckeepalive%2Crequiressl%2Clmt&ipbits=0&ei=IclDXP2BEcWGgQfB7Yh4&txp=5532432&clen=27800113&requiressl=yes&keepalive=yes&itag=135&gir=yes&ms=au%2Crdu&expire=1547967873&sig=AMao4c4wRgIhAOd-LJneOFUHIGDTNM0AEWH47qSH1RZiDGlx31WiCe07AiEAzqHol6weAGIQVbdNfrEE0Kx-335rp4h-mOar32pM37U=&ratebypass=yes
Resolving r7---sn-xpgjvh-q0cd.googlevideo.com (r7---sn-xpgjvh-q0cd.googlevideo.com)... 2001:bb0:100:1b::12, <IP_ADDRESS>
Connecting to r7---sn-xpgjvh-q0cd.googlevideo.com (r7---sn-xpgjvh-q0cd.googlevideo.com)|2001:bb0:100:1b::12|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 27800113 (27M) [video/mp4]
Saving to: ‘test.file’

test.file                                      13%[===========>                                                                                ]   3.52M   513KB/s    eta 44s    ^C

Output, after fixing, with login, works fine:
$ python -m youtube_dl https://www.youtube.com/watch?v=D4hAVemuQXY -u 'PRIVATE' -v
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'https://www.youtube.com/watch?v=D4hAVemuQXY', u'-u', u'PRIVATE', u'-v']
Type account password and press [Return]:
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2019.01.17
[debug] Git HEAD: 379306ef5
[debug] Python version 2.7.15 (CPython) - Darwin-18.2.0-x86_64-i386-64bit
[debug] exe versions: ffmpeg 4.1, ffprobe 4.1
[debug] Proxy map: {}
[youtube] Downloading login page
[youtube] Looking up account info
[youtube] Logging in
[youtube] Checking cookie
[youtube] D4hAVemuQXY: Downloading webpage
[youtube] D4hAVemuQXY: Downloading video info webpage
[youtube] {18} signature length 106, html5 player vfl-jbnrr
[youtube] {36} signature length 110, html5 player vfl-jbnrr
[youtube] {17} signature length 110, html5 player vfl-jbnrr
[youtube] {135} signature length 106, html5 player vfl-jbnrr
[youtube] {244} signature length 110, html5 player vfl-jbnrr
[youtube] {397} signature length 106, html5 player vfl-jbnrr
[youtube] {134} signature length 110, html5 player vfl-jbnrr
[youtube] {243} signature length 110, html5 player vfl-jbnrr
[youtube] {396} signature length 106, html5 player vfl-jbnrr
[youtube] {133} signature length 110, html5 player vfl-jbnrr
[youtube] {242} signature length 110, html5 player vfl-jbnrr
[youtube] {395} signature length 106, html5 player vfl-jbnrr
[youtube] {160} signature length 110, html5 player vfl-jbnrr
[youtube] {278} signature length 110, html5 player vfl-jbnrr
[youtube] {394} signature length 106, html5 player vfl-jbnrr
[youtube] {140} signature length 106, html5 player vfl-jbnrr
[youtube] {171} signature length 110, html5 player vfl-jbnrr
[youtube] {249} signature length 110, html5 player vfl-jbnrr
[youtube] {250} signature length 106, html5 player vfl-jbnrr
[youtube] {251} signature length 110, html5 player vfl-jbnrr
[debug] Default format spec: bestvideo+bestaudio/best
WARNING: Requested formats are incompatible for merge and will be merged into mkv.
[debug] Invoking downloader on u'https://r7---sn-xpgjvh-q0cd.googlevideo.com/videoplayback?ipbits=0&dur=327.627&expire=1547969564&beids=9466586&txp=5532432&ei=vM9DXJLQIIWegQfIkLXgDw&c=WEB&itag=135&keepalive=yes&requiressl=yes&lmt=1540547722115265&fvip=3&ms=au%2Crdu&lsparams=ms%2Cmn%2Cmv%2Cmm%2Cinitcwndbps%2Cpl&mv=m&initcwndbps=950000&source=youtube&sparams=expire%2Cei%2Cip%2Csource%2Caitags%2Cclen%2Clmt%2Cdur%2Cid%2Cgir%2Cmime%2Cipbits%2Crequiressl%2Citag%2Ckeepalive&aitags=133%2C134%2C135%2C160%2C242%2C243%2C244%2C278%2C394%2C395%2C396%2C397&pl=29&id=o-ACWXpw5FivEhUFt34u2EKbaRBGM6V-frKklIuzoyr4ym&mime=video%2Fmp4&clen=27800113&lsig=ANVabiowRAIgFFON2AQBSI8Fn2gGEJpjp6cQs0YsLUIjtTzWa-W-XmICIGW2beM_L-ZC5G0bfgUl4grLbVxSZ0ioujV-ydepzjZo&mt=1547947881&gir=yes&mn=sn-xpgjvh-q0cd%2Csn-q0c7rn76&ip=2001%3Abb6%3A5e09%3Afb58%3Ab4f7%3Ad8d7%3A762d%3A9cce&mm=31%2C29&sig=AMao4c4wRAIgfxBN-HMej6-gKaFM3Rc4CRLoKkHyqwA09xEABRh-mpcCIAS8Sw_WBW_7NArzBOlAjSrVuF_0nu6D5hnVNTvaH0Qh&ratebypass=yes'
[download] Destination: Eminem - Sing For The Moment-D4hAVemuQXY.f135.mp4
[download] 100% of 26.51MiB in 00:03
[debug] Invoking downloader on u'https://r7---sn-xpgjvh-q0cd.googlevideo.com/videoplayback?ipbits=0&dur=327.661&expire=1547969564&beids=9466586&txp=5511222&ei=vM9DXJLQIIWegQfIkLXgDw&c=WEB&itag=251&keepalive=yes&requiressl=yes&lmt=1540554828851893&fvip=3&ms=au%2Crdu&lsparams=ms%2Cmn%2Cmv%2Cmm%2Cinitcwndbps%2Cpl&mv=m&initcwndbps=950000&source=youtube&sparams=expire%2Cei%2Cip%2Csource%2Cclen%2Clmt%2Cdur%2Cid%2Cgir%2Cmime%2Cipbits%2Crequiressl%2Citag%2Ckeepalive&lsig=ANVabiowRgIhAJzIP42gQlMpUDsks1bJn-Mdk1JBqEyTre8Jjey_s3MxAiEA89fdYgEiD1PokmyZPyoHa--PHsCiSv-xYlWs6mlJPyE%3D&pl=29&id=o-ACWXpw5FivEhUFt34u2EKbaRBGM6V-frKklIuzoyr4ym&mime=audio%2Fwebm&clen=4638867&mt=1547947881&gir=yes&mn=sn-xpgjvh-q0cd%2Csn-q0c7rn76&ip=2001%3Abb6%3A5e09%3Afb58%3Ab4f7%3Ad8d7%3A762d%3A9cce&mm=31%2C29&sig=AMao4c4wRQIhAI3eeVSl4bW-GNRcwuoZI6SyAcAwUWmnZsYsIaU1de89AiA_VA21Cjoeeaif9BnTdKjyrnfqL_j_snwS_sZv80KWbA==&ratebypass=yes'
[download] Destination: Eminem - Sing For The Moment-D4hAVemuQXY.f251.webm
[download] 100% of 4.42MiB in 00:00
[ffmpeg] Merging formats into "Eminem - Sing For The Moment-D4hAVemuQXY.mkv"
[debug] ffmpeg command line: ffmpeg -y -i 'file:Eminem - Sing For The Moment-D4hAVemuQXY.f135.mp4' -i 'file:Eminem - Sing For The Moment-D4hAVemuQXY.f251.webm' -c copy -map '0:v:0' -map '1:a:0' 'file:Eminem - Sing For The Moment-D4hAVemuQXY.temp.mkv'
Deleting original file Eminem - Sing For The Moment-D4hAVemuQXY.f135.mp4 (pass -k to keep)
Deleting original file Eminem - Sing For The Moment-D4hAVemuQXY.f251.webm (pass -k to keep)

Output, after fixing, no login, works fine:
$ python -m youtube_dl https://www.youtube.com/watch?v=D4hAVemuQXY -v
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'https://www.youtube.com/watch?v=D4hAVemuQXY', u'-v']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2019.01.17
[debug] Git HEAD: 379306ef5
[debug] Python version 2.7.15 (CPython) - Darwin-18.2.0-x86_64-i386-64bit
[debug] exe versions: ffmpeg 4.1, ffprobe 4.1
[debug] Proxy map: {}
[youtube] D4hAVemuQXY: Downloading webpage
[youtube] D4hAVemuQXY: Downloading video info webpage
[youtube] {18} signature length 42.44, html5 player vfl-jbnrr
[youtube] {36} signature length 42.44, html5 player vfl-jbnrr
[youtube] {17} signature length 42.44, html5 player vfl-jbnrr
[youtube] {135} signature length 42.44, html5 player vfl-jbnrr
[youtube] {244} signature length 42.44, html5 player vfl-jbnrr
[youtube] {397} signature length 42.44, html5 player vfl-jbnrr
[youtube] {134} signature length 42.44, html5 player vfl-jbnrr
[youtube] {243} signature length 42.44, html5 player vfl-jbnrr
[youtube] {396} signature length 42.44, html5 player vfl-jbnrr
[youtube] {133} signature length 42.44, html5 player vfl-jbnrr
[youtube] {242} signature length 42.44, html5 player vfl-jbnrr
[youtube] {395} signature length 42.44, html5 player vfl-jbnrr
[youtube] {160} signature length 42.44, html5 player vfl-jbnrr
[youtube] {278} signature length 42.44, html5 player vfl-jbnrr
[youtube] {394} signature length 42.44, html5 player vfl-jbnrr
[youtube] {140} signature length 42.44, html5 player vfl-jbnrr
[youtube] {171} signature length 42.44, html5 player vfl-jbnrr
[youtube] {249} signature length 42.44, html5 player vfl-jbnrr
[youtube] {250} signature length 42.44, html5 player vfl-jbnrr
[youtube] {251} signature length 42.44, html5 player vfl-jbnrr
[debug] Default format spec: bestvideo+bestaudio/best
WARNING: Requested formats are incompatible for merge and will be merged into mkv.
[debug] Invoking downloader on u'https://r7---sn-xpgjvh-q0cd.googlevideo.com/videoplayback?mt=1547947818&itag=135&pl=29&ei=eM9DXOfnAcSh8gOqnpH4Cw&ms=au%2Crdu&mv=m&mm=31%2C29&mn=sn-xpgjvh-q0cd%2Csn-q0c7rn76&expire=1547969496&requiressl=yes&mime=video%2Fmp4&aitags=133%2C134%2C135%2C160%2C242%2C243%2C244%2C278%2C394%2C395%2C396%2C397&source=youtube&lmt=1540547722115265&key=yt6&dur=327.627&ipbits=0&initcwndbps=957500&keepalive=yes&c=WEB&id=o-AJxk1VHCk7VcKI9AZPRPcwCLJQ0h4kbwm3OBhXYmEPMO&ip=2001%3Abb6%3A5e09%3Afb58%3Ab4f7%3Ad8d7%3A762d%3A9cce&txp=5532432&clen=27800113&gir=yes&fvip=3&sparams=aitags%2Cclen%2Cdur%2Cei%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Crequiressl%2Csource%2Cexpire&signature=C7AC0ACDA99B474E9D9451D2D8FAD48F27009694.82C06B95314814BB4986F2BDB94811A4138390F3&ratebypass=yes'
[download] Destination: Eminem - Sing For The Moment-D4hAVemuQXY.f135.mp4
[download] 100% of 26.51MiB in 00:02
[debug] Invoking downloader on u'https://r7---sn-xpgjvh-q0cd.googlevideo.com/videoplayback?mt=1547947818&itag=251&pl=29&ei=eM9DXOfnAcSh8gOqnpH4Cw&ms=au%2Crdu&mv=m&mm=31%2C29&mn=sn-xpgjvh-q0cd%2Csn-q0c7rn76&expire=1547969496&requiressl=yes&mime=audio%2Fwebm&source=youtube&lmt=1540554828851893&key=yt6&dur=327.661&ipbits=0&initcwndbps=957500&keepalive=yes&c=WEB&id=o-AJxk1VHCk7VcKI9AZPRPcwCLJQ0h4kbwm3OBhXYmEPMO&ip=2001%3Abb6%3A5e09%3Afb58%3Ab4f7%3Ad8d7%3A762d%3A9cce&txp=5511222&clen=4638867&gir=yes&fvip=3&sparams=clen%2Cdur%2Cei%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Crequiressl%2Csource%2Cexpire&signature=1BB5413A9CBE93FCEA6A07F6170C64D4D3139571.177E4B23EE9F6AC8B26C75A8F5B00BA1476066B3&ratebypass=yes'
[download] Destination: Eminem - Sing For The Moment-D4hAVemuQXY.f251.webm
[download] 100% of 4.42MiB in 00:00
[ffmpeg] Merging formats into "Eminem - Sing For The Moment-D4hAVemuQXY.mkv"
[debug] ffmpeg command line: ffmpeg -y -i 'file:Eminem - Sing For The Moment-D4hAVemuQXY.f135.mp4' -i 'file:Eminem - Sing For The Moment-D4hAVemuQXY.f251.webm' -c copy -map '0:v:0' -map '1:a:0' 'file:Eminem - Sing For The Moment-D4hAVemuQXY.temp.mkv'
Deleting original file Eminem - Sing For The Moment-D4hAVemuQXY.f135.mp4 (pass -k to keep)
Deleting original file Eminem - Sing For The Moment-D4hAVemuQXY.f251.webm (pass -k to keep)

Confirming that I can reproduce the behaviour in this ticket with certain videos and when using my logged in account cookie which does have a Youtube Red/Premium subscription and applying the patch solved these issues.


Add a configuration option to disable warnings

Hi guys, and thanks for the great work you put in React and Jest, these are pretty good tools and AFAIK they're only going to get better.
I think a configuration option for Jest to disable the printing of warnings in the console when running tests might be useful. In my case, I'm testing components making use of contentEditable, and I get plenty of :
A component is `contentEditable` and contains `children` managed by React. It is now your responsibility to guarantee that none of those nodes are unexpectedly modified or duplicated. This is probably not intentional.

Since the recommandation given about that warning in general was "if you know what you're doing, feel free to ignore this warning" (see this React issue), I think people in my situation (and maybe others, as I don't know every case where React throws a warning) would benefit from it, as a cleaner console for tests results is always appreciated.
It could be even better to be able to disable this specific warning in React in the first place (on a per-component basis, maybe ?), but I'll let you guys judge what is best.
Thanks !

In React that just uses console.warn. Disabling the logging across the board is probably a bad idea (and actually internally, we make warnings fail tests). Instead when we know a component will warn and that it's ok, we spyOn(console, 'warn') and then check that the warning was fired. With some exceptions (this particular one for example), it's we think generally a good idea to consider warnings as something you must fix.
In your case it might make sense to do that as well, just when testing the components using contentEditable. In React itself we'll consider making that warning a little less noisy so it's easier to use when you know what you're doing.

Sounds fair to me. For the record, I did that in Jest with :
console.warn = jest.genMockFunction();
someCallTriggeringTheWarningANumberOfTimes();
expect(console.warn.mock.calls.length).toBeGreaterThan(0);

Thanks for your answer and your consideration of toning down a bit this warning in React, and keep up the good work :)

+1 for less noisy warning

+1

+1

In my case I have a contenteditable div, for plaintext only (because textareas are terrible), and I'm explicitly capturing the text and making sure it stays in sync with React.  Nonetheless, my app will ship with warnings in production.  Boo.

Yep, this is best handled inside of tests themselves. Another solution is to set the global DEV to false.

This no longer works. The warnings are actually console.error, even though they're not breaking javascript

You can pass in a --silent option now. works for me ¯\_(ツ)_/¯ no console outputs.

Aftter using it, I think --silent is an option for every console.*.
There are some needless warnings from other libraries, so sometimes I need this feature.

That's definitely a regression. Will fix.


darknet does not use half precision

It works until this commit.
It is related to CMAKE FindCUDA logic. There is a related topic
[100%] Built target track_people_cpp_nodelet
mkdir: cannot create directory 'build_release': File exists
Darknet_VERSION: <IP_ADDRESS>
CMake Warning at CMakeLists.txt:99 (message):
  vcpkg not found, toolchain not defined, system not win32 so build might
  fail

-- Selected CMAKE_CUDA_ARCHITECTURES: 52
-- Your setup does not support half precision (it requires CUDA_ARCHITECTURES >= 70)
-- CMAKE_CUDA_FLAGS:  --compiler-options " -Wall -Wno-unused-result -Wno-unknown-pragmas -Wfatal-errors -Wno-deprecated-declarations -Wno-write-strings -DGPU -DCUDNN -DOPENCV -fPIC -fopenmp -Ofast "
-- Configuring done
-- Generating done
-- Build files have been written to: /home/developer/people_ws/src/track_people_py/scripts/darknet/build_release

https://github.com/CMU-cabot/cabot/pull/28
removed darknet


PalauDefaultable mapping simplification?

Wouldn`t it be sufficient when all we need to define is:
public protocol PalauDefaultable {

  /// The associatedtype for the Value
  associatedType ValueType

  public static func from(any: AnyObject?) -> ValueType?
  public static func to(any:ValueType?) -> AnyObject?
}

Is it worth going down that path or should we live with the current implementation until Swift 3 is available?
See:
#13

WIP:
https://github.com/symentis/Palau/commit/f61f9b07372f2bc9dad44bd3d7dd198bfd372b63
We should discuss naming of types:
PalauDefaults

Basic Wrapper

PalauDefaultable

Protocol for types that can be stored to defaults

PalauCustomDefaultable

Protocol for custom types that provides a mapping for storing

PalauEntry

Protocol for entries

PalauDefaultsEntry

Struct for getting / setting a single value

PalauDefaultsArrayEntry

Struct for getting / setting a list of values


feat: Replace old gallery cards on profile

Thank you for your contribution to the KodaDot NFT gallery.
👇 _ Let's make a quick check before the contribution.
PR Type

[ ] Bugfix
[x] Feature
[x] Refactoring

Context

[x] Closes #5016
[ ] Requires deployment <>

Before submitting pull request, please make sure:

[x] My contribution builds clean without any errors or warnings
[x] I've merged recent default branch -- main and I've no conflicts
[x] I've tried to respect high code quality standards
[x] I've didn't break any original functionality
[x] I've posted a screenshot of demonstrated change in this PR

Optional

[ ] I've tested it at </bsx/collection>
[ ] I've tested PR on mobile
[ ] I've written unit tests 🧪
[ ] I've found edge cases

Had issue bounty label?

[x] Fill up your KSM address: Payout

Community participation

[x] Are you at KodaDot Discord?

Screenshot 📸

[x] My fix has changed something on UI; a screenshot is best to understand changes for others.

/bsx/u/bXjrHpyJzSczJuuqmtN6nqCnd5b7KFa5LK1rBtF1tUHDYzp8N

pay 50 usd

😍 Perfect, I’ve sent the payout
💵 $50 @ 38.49 USD/KSM ~ 1.299 $KSM
🧗 Caiv9TbPz68q5dC8EcHu5xKYPRnremimGzqmEejDFNpWWLG
🔗 0xade12dde56fb24e77ff9fa75a22b91e36ee94de096e1a2992127186f26b209ad
🪅 Let’s grab another issue and get rewarded!
🪄 github.com/kodadot/nft-gallery/issues


WorkerThreadPool: Fix end-of-yield logic potentially leading to deadlocks

Without this, certain situations with much thread interactions can deadlock. The specific case I run into was multi-threaded resource loading from the editor with progress dialog running iterations and also separate-threaded physics.
If the flag was unconditionanlly reset, this could happen:

A worker thread (A) is used by a server.
Thread A starts yielding.
Thread A is awaken to start processing a task.
Thrad B triggers end-of-yield on thread A so the relevant flag is set.
Thread A ends processing its current task and clears the flag.
Thread A goes back to yielding without a chance of seeing the flag set so it keeps waiting forever.

Thanks!

Cherry-picked for 4.3.1.


[DO NOT MERGE] Create POF for Anvil as a first class citizen

So here's the thing, anvil and kaiken injectable did not work well together. @rallat made a project proving this https://github.com/rallat/kaikenInjectError
Primarily the problem is using KAPT to generate an interface that we extend and run Anvil compiler plugin on, Anvil compiler plugin generates dagger annotations and then KAPT runs again. This simply does not work. The interface that we generate is not seen by Dagger OR with correct error types true is not seen by Anvil.  This is not the fault of either library, more the going from KAPT to Compiler Plugin to KAPT.
The solution was to directly generate what Anvil needs. By that I mean we generate with@ContributesTo annotationed interfaces.  Next, I added a COMPONENT value to the Injectable annotation. This allowed me to generate the injector resolver boilerplate as well. Here's what a user experience looks like now:
//user tells us what they want in user scope
@ContributesTo(AUserScope::class)
interface LaunchDependencies {
    fun getLifecycleLogger(): LifecycleLogger
}
//user tells us what their FeatureComponent is called
@Injectable(COMPONENT=MyActivityComponent::class)
class LaunchActivity : AppCompatActivity(), AuthRequiredActivity, InjectorHolder<LaunchActivityInjector> {
    @Inject
    lateinit var lifecycleLogger: LifecycleLogger

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        inject()
    }

    override fun getInjectorFactory(): InjectorFactory<LaunchActivityInjector> = injector()
}
//we generate the rest
//generated
@ContributesTo(
    scope = AActivityScope.class
)
public interface LaunchActivityInjector extends Injector {
  void inject(LaunchActivity activity);
}

fun LaunchActivity.inject() {
  val activityInjector: LaunchActivityInjector = this.locateInjector()
  activityInjector.inject(this)
}

fun DependencyProviderResolver.injector(): InjectorFactory<LaunchActivityInjector> = object :
    InjectorFactory<LaunchActivityInjector> {
  override fun createInjector() =
      DaggerMyActivityComponent.factory().create(resolveDependencyProvider()) as
      LaunchActivityInjector
}

The code is definitely POF but let me know what y'all think

I like the direction where this is going!
A couple questions,

I'm not sure where the AActivityScope.class is being resolved from? 🤔
// Gen
@ContributesTo(
    scope = AActivityScope.class
)
public interface LaunchActivityInjector extends Injector {
  void inject(LaunchActivity activity);
}

Is there a single AActivitScope.class and what's the lifecycle of that scope? Currently we generate an implicit activity scope by storing an instance of the Dagger component in the ViewModel. Are the lifecycles the same? And if we contribute all of them to the AActivityScope.class aren't we going to end up with an ActivityScope that is "largrer" than the UserScope.
Currently we have:
====================Application Scope====================
===========User A Scope======|=========User B Scope=======
=Activity 1 Scope = Activity 2 Scope |=Activity 1 Scope = Activity 2 Scope
Isn't it going to be come this now?
====================Application Scope====================
===========User A Scope======|=========User B Scope=======
====================Activities Scope======================

I know this is a PC, but I'd split this PR in two. I think the Dagger part is less controversial :), and people who don't want to use Anvil would still benefit from autogenerated InjectorFactories.

Forgot to include the component definition which user would make.

@MergeComponent(scope = AActivityScope::class, dependencies = [LaunchDependencies::class])
@ActivityScope
interface MyActivityComponent  {
    @Component.Factory
    interface Factory {
        fun create(
            dependencies: LaunchDependencies
        ): MyActivityComponent
    }
}

My first thought was to have a single activity scope annotation. That does not mean we will have a single activity component nor does it mean that the activity component instance will be longer lived than now. Think of it as closer to the 1st diagram
====================Application Scope====================
===========User A Scope======|=========User B Scope=======
=Activity Scope = Activity Scope |=Activity Scope = Activity Scope

Each activity still makes an instance of the activity component even if that component now has ALL activity scoped modules contributed into it. The pro is that we can generate that activity component declaration as well. The disadvantage is that the component will have access to other activity scoped objects that may not be specific to that activity. BTW I believe this is how hilt works, there is only 1 declaration of an activity component even though each activity gets its own instance of it

Latest update makes the annotation configurable. TODO: Fix fragment code path and split into multiple diffs

latest changes makes this work without needing a component.
@ContributesTo(AUserScope::class)
interface LaunchDependencies {
    fun getLifecycleLogger(): LifecycleLogger
}
@DaggerInjectable(dependency = LaunchDependencies::class)
class LaunchActivity : AppCompatActivity(), AuthRequiredActivity,
    InjectorHolder<LaunchActivityInjector> {
    @Inject lateinit var lifecycleLogger: LifecycleLogger

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        inject()
    }

    override fun getInjectorFactory(): InjectorFactory<LaunchActivityInjector> = injector()
}

Generation does the rest:
@ContributesTo(
scope = ALaunchActivityScope.class
)
public interface LaunchActivityInjector extends Injector {
void inject(LaunchActivity activity);
}
fun LaunchActivity.inject() {
val activityInjector: LaunchActivityInjector = this.locateInjector()
activityInjector.inject(this)
}
fun DependencyProviderResolver.injector(): InjectorFactory = object :
InjectorFactory {
override fun createInjector() =
DaggerLaunchActivityComponent.factory().create(resolveDependencyProvider()) as
LaunchActivityInjector
}
@Scope
annotation class LaunchActivityScope
class ALaunchActivityScope
@LaunchActivityScope
@MergeComponent(
scope = ALaunchActivityScope::class,
dependencies = [LaunchDependencies::class]
)
interface LaunchActivityComponent {
@Component.Factory
interface LaunchActivityComponentFactory {
fun create(LaunchDependencies: LaunchDependencies): LaunchActivityComponent
}
}

Still need to cleanup code but I like the api

@changusmc did this but the right way, go him


Short Video Tutorial on it.

It will be nice to have a short video tutorial on it.
Nice work.

What would you be interested in, the code or the functionally and usage?

Usage.


JointStates bridge failing for ROS2 Humble with Gazebo Garden

Environment

OS Version: e.g, Ubuntu 20.04
Source or binary build?
Source, humble branch, a348c07527c54f387a576413a3e3d6d7431ff45b

Description

Expected behavior: Successful message transfer
Actual behavior: Warning of failure. When running Gazebo only the timestamp is visible and all other fields are empty.

Steps to reproduce

ros2 run ros_gz_bridge parameter_bridge /my/joint_states<EMAIL_ADDRESS>
Output
ros_gz_bridge]: Creating GZ->ROS Bridge: [/my/joint_states (gz.msgs.Model) -> /my/joint_states (std_msgs/msg/JointState)] (Lazy 0) [WARN] [1717448826.963089241] [ros_gz_bridge]: Failed to create a bridge for topic [/my/joint_states] with ROS2 type [std_msgs/msg/JointState] to topic [/my/joint_states] with Gazebo Transport type [gz.msgs.Model]

The JointState message is in sensor_msgs not std_msgs, so your command should be ros2 run ros_gz_bridge parameter_bridge /my/joint_states<EMAIL_ADDRESS>I'll go ahead and close this, but feel free to reopen if you still the issue.


highlight code error

Before submitting your bug report

[ ] I believe this is a bug. I'll try to join the Continue Discord for questions
[X] I'm not able to find an open issue that reports the same bug
[x] I've seen the troubleshooting guide on the Continue Docs

Relevant environment info
- OS: window11
- Continue: v0.9.197 (pre-release)
- IDE: vscode
- Model: ollama3.1:8b
- config.json:

{
  "models": [
    {
      "title": "Ollama",
      "provider": "ollama",
      "model": "AUTODETECT",
      "apiBase": "http://<IP_ADDRESS>:11434"
    },
    {
      "title": "Llama3.1",
      "model": "ollama3.1",
      "apiBase": "http://<IP_ADDRESS>:11434",
      "provider": "ollama"
    }
  ],
  "customCommands": [
    {
      "name": "test",
      "prompt": "{{{ input }}}\n\nWrite a comprehensive set of unit tests for the selected code. It should setup, run tests that check for correctness including important edge cases, and teardown. Ensure that the tests are complete and sophisticated. Give the tests just as chat output, don't edit any file.",
      "description": "Write unit tests for highlighted code"
    }
  ],
  // tab
  "tabAutocompleteModel": {
    "title": "Starcoder2 7b",
    "provider": "ollama",
    "model": "starcoder2:7b",
    "apiBase": "http://<IP_ADDRESS>:11434"
  },
  "embeddingsProvider": {
    "provider": "ollama",
    "model": "nomic-embed-text",
    "apiBase": "http://<IP_ADDRESS>:11434"
  },
  "contextProviders": [
    {
      "name": "code",
      "params": {}
    },
    {
      "name": "docs",
      "params": {}
    },
    {
      "name": "diff",
      "params": {}
    },
    {
      "name": "terminal",
      "params": {}
    },
    {
      "name": "problems",
      "params": {}
    },
    {
      "name": "folder",
      "params": {}
    },
    {
      "name": "codebase",
      "params": {}
    }
  ],
  "slashCommands": [
    {
      "name": "edit",
      "description": "Edit selected code"
    },
    {
      "name": "comment",
      "description": "Write comments for the selected code"
    },
    {
      "name": "share",
      "description": "Export the current chat session to markdown"
    },
    {
      "name": "cmd",
      "description": "Generate a shell command"
    },
    {
      "name": "commit",
      "description": "Generate a git commit message"
    }
  ],
  "requestOptions": {}
}

Description
I highlighted the code but it didn't work.

NO Slash Commands Edit，it work

To reproduce
No response
Log output
No response

Hi @LizhenQiangCOOL , this should be solved in the most recent pre-release, v0.9.197. Are you sure that's the current version you're on? A restart of VS Code would be a good way to confirm you're actually running v0.9.197.

Hi @Patrick-Erichsen
I'm also encountering the same issue with the highlighted code not working. I'm using version v0.9.197 (pre-release), and I've tried restarting VS Code, but the problem persists. Could you please advise on what else I can try or if there are any additional steps I should take? If there's any specific information or logs you need from me to help troubleshoot this issue, just let me know.
Thank you!

v0.9.198 is ok

v0.9.198 is ok

I've updated to version v0.9.198, and the issue is now resolved. Thanks for your help!

I'm sure this has been fixed in version v0.9.199 (pre-release), thanks to everyone for helping, God bless you all


Stop using token authentication in the UI

Motivation and context

Currently, the UI authenticates with the server using two parallel methods:

A cookie set by the /api/auth/login endpoint.
A token returned by the same endpoint.

This is redundant and confusing, and also causes several usability & security issues:

If a user creates 2 or more concurrent sessions (e.g. logs in on two computers), and then logs out of one of them, it will effectively log them out of all other sessions too. This happens because:

The same token is shared between all sessions.
Logging out destroys the token in the DB.
The server tries to authenticate the browser using the token first, so if a browser presents a token that's no longer present in the DB, the server responds with a 401 (even if the cookie is still valid).

When a user changes their password, Django invalidates all of that user's other sessions... except that doesn't work, because the user's token remains valid. This is bad, because if an attacker steals a user's password and logs in, the most obvious recourse (changing the password) will not work - the attacker will stay logged in.

Sessions effectively last forever, because, while Django's session data expires after SESSION_COOKIE_AGE, the token never expires.

The token is stored in local storage, so it could be stolen in an XSS attack. The session cookie is not susceptible to this, because it's marked HttpOnly.

The common theme in all these problems is the token, so by ceasing to use it we can fix them all.
Note that this patch does not remove the server-side token creation & authentication logic, or remove the token from the output of the /api/auth/login endpoint. This is because that would break the Client.login method in the SDK. However, I believe that in the future we should get rid of the whole "generate token on login" logic, and let users create API tokens explicitly if (and only if) they wish to use the SDK.
How has this been tested?

Manual testing.
Checklist

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

License

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

Summary by CodeRabbit

New Features

Enhanced session management, allowing multiple active sessions across devices without interruptions.
Automatic session expiration after two weeks of inactivity for improved security.
All user sessions are invalidated except the current one upon password change.

Bug Fixes

Simplified authentication handling by removing reliance on local storage for tokens, enhancing security.

Documentation

Updated authentication mechanisms to align with standard practices, replacing custom classes with standard implementations.

@SpecLad, Looks like, we do not need in that case client endpoint /auth/login-with-token/:token

@SpecLad, Looks like, we do not need in that case client endpoint /auth/login-with-token/:token

That's a good point, but... do you know why we needed it in the first place? I don't see it being used anywhere, except for one test.

@SpecLad Initially it was implemented for a customer. Then it was used in integration with Toloka.
Internally we do not use it somehow. But the endpoint may be used by 3rdparty integrations.

Hmm... I'll have to think about the impact of removing this. I'll switch this to draft status for now.

I removed login-with-token in #8336.

I was using this endpoint for one of my integration? can you suggest an alternative way? i want to login from our developer portal and auto signin in cvat

@aswanthkrishna Similar functionality can be implemented via CVAT's single sign-on support. However, we don't currently support externally-initiated sign-on due to inherent security issues (see the description in #8336).


[Bug]: Can't run make build

Is there an existing issue for the same bug?

[X] I have checked the troubleshooting document at https://opendevin.github.io/OpenDevin/modules/usage/troubleshooting
[X] I have checked the existing issues.

Describe the bug
Running with the Miniforge options etc but still getting to this phase and getting stuck.
$ make build
Building project...
Checking dependencies...
Checking system...
Linux detected.
Checking Python installation...
Python 3.11.9 is already installed.
Checking npm installation...
npm 10.7.0 is already installed.
Checking Node.js installation...
Node.js 20.14.0 is already installed.
Checking Docker installation...
Docker version 20.10.12, build e91ed57 is already installed.
Checking Poetry installation...
Poetry (version 1.8.3) is already installed.
Dependencies checked successfully.
Pulling Docker image...
Using default tag: latest
latest: Pulling from opendevin/sandbox
Digest: sha256:4bd05c581692e26a448bbc6771a21bb27002cb0e6bcf5034d0db91bb8704d0f0
Status: Image is up to date for ghcr.io/opendevin/sandbox:latest
ghcr.io/opendevin/sandbox:latest
Docker image pulled successfully.
Installing Python dependencies...
Using virtualenv: /home/avi/.cache/pypoetry/virtualenvs/opendevin-E5vF1Xpa-py3.11
Installing dependencies from lock file

Package operations: 286 installs, 0 updates, 0 removals

  - Installing certifi (2024.2.2): Pending...
  - Installing h11 (0.14.0): Pending...
  - Installing idna (3.7): Pending...
  - Installing sniffio (1.3.1): Pending...
  - Installing typing-extensions (4.11.0): Pending...

Current OpenDevin version
latest version as shown in the log

Installation and Configuration
$ make build
Building project...
Checking dependencies...
Checking system...
Linux detected.
Checking Python installation...
Python 3.11.9 is already installed.
Checking npm installation...
npm 10.7.0 is already installed.
Checking Node.js installation...
Node.js 20.14.0 is already installed.
Checking Docker installation...
Docker version 20.10.12, build e91ed57 is already installed.
Checking Poetry installation...
Poetry (version 1.8.3) is already installed.
Dependencies checked successfully.
Pulling Docker image...
Using default tag: latest
latest: Pulling from opendevin/sandbox
Digest: sha256:4bd05c581692e26a448bbc6771a21bb27002cb0e6bcf5034d0db91bb8704d0f0
Status: Image is up to date for ghcr.io/opendevin/sandbox:latest
ghcr.io/opendevin/sandbox:latest
Docker image pulled successfully.
Installing Python dependencies...
Using virtualenv: /home/avi/.cache/pypoetry/virtualenvs/opendevin-E5vF1Xpa-py3.11
Installing dependencies from lock file

Package operations: 286 installs, 0 updates, 0 removals

  - Installing certifi (2024.2.2): Pending...
  - Installing h11 (0.14.0): Pending...
  - Installing idna (3.7): Pending...
  - Installing sniffio (1.3.1): Pending...
  - Installing typing-extensions (4.11.0): Pending...

### Model and Agent

_No response_

### Operating System

` Linux  5.4.0-182-generic #202-Ubuntu SMP Fri Apr 26 12:29:36 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux`

### Reproduction Steps

_No response_

### Logs, Errors, Screenshots, and Additional Context

_No response_

It is installing.

Duplicate of (https://github.com/OpenDevin/OpenDevin/issues/919#issuecomment-2045791357)

It seems a duplicate but I'm using the latest version of poetry as per the repo directions. Please reopen the issue. Thanks

@avisil can you please try the suggestion in the next comment linked above by SmartManoj?

Hi @enyst : I tried them actually but didn't solve the problem.

$ poetry -V
Poetry (version 1.8.3)

So it's on latest version. Confirmed - see my logs.
try poetry env remove python3.11 and after make build --> tried but didnt work

@avisil
Could you please try
rm -r ~/.cache/pypoetry

I tried what you suggested and also poetry cache clear --all . but to no effect. Did you also face the same issue?

Okay I tried

poetry cache clear --all .
poetry env remove python3.11
rm -r ~/.cache/pypoetry
These do NOT work.

Only the following works:

only this worked export PYTHON_KEYRING_BACKEND=keyring.backends.null.Keyring

Okay I tried

poetry cache clear --all .
poetry env remove python3.11
rm -r ~/.cache/pypoetry
These do NOT work.

Only the following works:

only this worked export PYTHON_KEYRING_BACKEND=keyring.backends.null.Keyring

How about export PYTHON_KEYRING_BACKEND=keyring.backends.fail.Keyring?
https://github.com/python-poetry/poetry/issues/5250#issuecomment-1067193647

Poetry accepts both fail and null.


Feature/zk purge logs

Adds the ability to purge zookeeper transaction and snapshot logs. This keeps filesystems from filling up on busy systems.

[x] Installs cleanly on a fresh build of most recent master branch
[x] Upgrades cleanly from the most recent release
[x] Updates documentation relevant to the changes

LGTM :+1:


Soft-reset nonfunctional.

Following the example, my code fails as following:
Traceback (most recent call last):
  File "00000000911c3aa3_relay.py", line 10, in <module>
    a.soft_reset()
AttributeError: 'ArduinoApi' object has no attribute 'soft_reset'

There should be no such problem if you try the latest version.
Example program: examples/reset.py
There is an other problem: watchdog doesn't work with some bootloaders.
Soft_reset() is based on watchdog.
http://arduino.stackexchange.com/questions/2922/watchdog-timer-stuck-in-restart-loop-green-led-flashing
"The OP is using an Adriuni Pro Mini clone. The included bootloader on the Arduino Pro Mini does not support system restarts by the WDT. Essentially, on a device with a bootloader that does not support WDT restarts, the board will restart but the timer / reset will not causing the board to continuously reset on reboot. There are alternative bootloaders for arduino boards that may resolve this issue."


Example using Sentry OTEL?

Wondering if you can point me in the right direction for integrating sentry OTEL: https://sentry.io/for/opentelemetry/?platform=sentry.javascript.node-otel

I have not used Sentry at all, let alone is an OTel setting, but scanning through https://develop.sentry.dev/sdk/telemetry/traces/opentelemetry/ it seems like they use a lot of a Sentry specific processing throughout the entire pipeline. So it seems almost certainly impossible to configure the current implementation to send data to Sentry.
Given that Sentry has a Sentry specific SpanProcessor and we have a Worker specific Span Processor, I am pretty sure it would require a non-trivial amount of work to merge those two into one SpanProcessor.

I have a todo item to look at this for the sentry cloudflare workers sdk: https://github.com/getsentry/sentry-javascript/issues/13365, shouldn't be too bad to merge in this logic.
https://develop.sentry.dev/sdk/telemetry/traces/opentelemetry/ actually is not super up-to-date anymore for our javascript sdks, they now use otel by default and have much less processing.

Hey @AbhiPrasad, I was actually considering to slightly change the way that the library is going to be handling SpanProcessors, Exporters and tracing in general and have a TODO for me to figure out who to reach out to at Sentry to make this work..
More than happy to grab a chat to see what Sentry needs and make sure that I make supporting it as easy as possible.

Hey @evanderkoogh - I'm available any time next week to chat (I'm on EST timezone), it would be great to brainstorm together. You can reach out via my email linked in GH, or I reach out to you open for whatever.
Thanks for the help!


📃: Add e-commerce website

:red_circle: Title : Add e-commerce website
:red_circle: Aim : To add e-commerce website
:red_circle: Tech Stack Used : HTML, CSS, JS, React JS
Screenshots 📷

N/A

:white_check_mark: To be Mentioned while taking the issue :

Full name : chaanakyaa Milkuri
What is your participant role? (Mention the Open Source Program name. Eg. GSSOC, SSOC, JWOC, etc.)

Happy Contributing 🚀
All the best. Enjoy your open source journey ahead. 😎

@chaanakyaaM tell me brief about the e-commerce website

A e-commerece website interface using reactjs (frontend)

I'm asking for which e-commerce website are you want to contribute? Not the tech stacks.


Modified pdo tests to work with column encryption

Related to #1050

Coverage decreased (-0.09%) to 73.553% when pulling bcf33fdd367550ce9a78098be2753bc423db81fe on yitam:fixNatlTests into 051328782d6d39fea5c4da6bd84db9fe416ec880 on microsoft:dev.


Feature/fix version

we should stop lying about the version on the website and include an indicate on which date I published it.  Also, I swear, I have no idea how this binary file got checked into the history, but I would bet it predates sane qbt commit.

Uh, $(date) from qbt-make is when the build happened, not when it was pushed to the website.  How amazingly non-deterministic!

That's a fair point - it works for the website because the cron that polls for updates fetches the new change, builds it, then deploys it, and nothing else does qbt builds on that box.
I guess I could try to look at the stat info on the filesystem or something, for a more accurate date.


No warning issued if [Obsolete(...)] contains \n

There is no warning issued if the [Obsolete(...)] attribute contains a message with \n (\n alone, not \r\n).
It works in VS, however:

Steps to reproduce
Project file
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
  </PropertyGroup>
</Project>

using System;

namespace Lib
{
    [Obsolete("\n")]
    public class Class1 { }

    public class Class2
    {
        public void Method() =>  new Class1();
    }
}

Command line
msbuild

Expected behavior
**1 Warning(s)**
0 Error(s)

Actual behavior
Build succeeded.
0 Warning(s)
0 Error(s)
Environment data
msbuild /version output:
Microsoft (R) Build Engine version 16.4.0+e901037fe for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

<IP_ADDRESS>107

OS info: Windows 10 1909

It looks like this is actually an error with the Roslyn compiler server. I will move the bug to the appropriate repo.
$ dotnet build -p:UseSharedCompilation=true -t:Rebuild
Microsoft (R) Build Engine version 16.5.0+d4cbfca49 for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

  Restore completed in 32.29 ms for S:\repro\microsoft\msbuild\issues\5156\5156.csproj.
  5156 -> S:\repro\microsoft\msbuild\issues\5156\bin\Debug\netcoreapp3.1\5156.dll

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:00:00.96

$ dotnet build -p:UseSharedCompilation=false -t:Rebuild
Microsoft (R) Build Engine version 16.5.0+d4cbfca49 for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

  Restore completed in 32.16 ms for S:\repro\microsoft\msbuild\issues\5156\5156.csproj.
Program.cs(12,35): warning CS0618: 'Program.Class1' is obsolete: ' [S:\repro\microsoft\msbuild\issues\5156\5156.csproj]
  5156 -> S:\repro\microsoft\msbuild\issues\5156\bin\Debug\netcoreapp3.1\5156.dll

Build succeeded.

Program.cs(12,35): warning CS0618: 'Program.Class1' is obsolete: ' [S:\repro\microsoft\msbuild\issues\5156\5156.csproj]
    1 Warning(s)
    0 Error(s)

Time Elapsed 00:00:01.51

This issue was moved to dotnet/roslyn#42172


Specify pycairo version less than 1.20.0

This is the second fix for pr #1264 .
Some interpreter may cause a warning for pycairo not satisfied 1.19.1 (especially for old users). Now any installed version that is less than 1.20.0 is fine, and will not cause the ci  to fail (see more infomation in #1264).

See this pull request test result here.

See my comment in https://github.com/3b1b/manim/pull/1264#issuecomment-723974402


Base p2p handshake code doesn't like Disconnect as first message across the connection.

What is wrong?
I'm seeing this line show up in logs a lot:
   DEBUG  09-18 13:18:03           ETHPeerPool  Could not complete handshake with <Node(0x0d51ceff21eb6eefd3e11417ea22358f16acec6dbfd97263339a7d4cabbd65bbb664aa2d7782ca5f79f734313e718ddd10c96a91d1b52022c453b3a104230e1c@<IP_ADDRESS>:30303)>: HandshakeFailure('First message across the DevP2P connection must be a Hello msg, got Disconnect (cmd_id=1), disconnecting',)

I suspect these are common because when we try to dial a peer that has a full peer pool, they may just immediately send the disconnect message rather than handshaking.
We should handle this gracefully as it happens a lot and it seems reasonable.
How can it be fixed
https://github.com/ethereum/trinity/blob/83a2963050e7f7f30d846591d35937ebe6ac4f05/p2p/handshake.py#L126-L130
THis code should be updated to special case the Disconnect message.  The handshake still needs to fail so we could just raise a HandshakeFailure exception with a more appropriate message.

I was going through the open issues and this one caught my attention because I remember investigating something like this in the past, but it turns out it was a similar issue during the auth handshake: https://github.com/ethereum/py-evm/issues/901
Anyway, I've confirmed that attempting to connect to a (geth) node with maxed out peers is the cause for that HandshakeFailure, but as it is a generic handshake failure, the peer connection tracker will retry that peer after every 10 seconds. I believe the correct solution is to raise a TooManyPeers (which is a subclass of HandshakeFailure) as that will cause the connection tracker to retry only after 60 seconds and the log to clearly state the peer disconnected because it is already full


The "repository" field restrictions

While running elm-package install on a project, which had the "repository" field set to something other than GitHub, I got the following error:
the 'repository' field must point to a GitHub project for now, something
like <https://github.com/USER/PROJECT.git> where USER is your GitHub name
and PROJECT is the repo you want to upload.

The command would neither run successfully if I removed the field altogether.
Those seem like very unpractical restrictions. Now instead of specifying the real repository of the project I have to work around the issue by pointing to some GitHub repo, which does not exist.

This should be addressed by https://github.com/elm-lang/elm-make/issues/59. We don't support not-github for now, but putting in a dummy repo is the stopgap measure to go with for now.


Setup lua linter and formatter

unified code style can reduce the cost of maintaining and reviewing code, and can find potential risks

unified code style can reduce the cost of maintaining and reviewing code, and can find potential risks

Agree! But how do we do that?

just a idea, we ship a new binary called vfox-dev(or what ever).
vfox-dev lint
vfox-dev build

https://github.com/CppCXY/EmmyLuaCodeStyle
there are some code styles linters, but most of them need user clone them and build them on machine.

or we can use dprint, it is a pluggable and configurable code formatting platform written in rust.
https://dprint.dev/
it has a lua plugin: https://github.com/RubixDev/dprint-plugin-stylua

I found that it support install by asdf, ahahahah

If we decide to use this, we can also implement a plug-in of our own. After taking a look, it is very easy. 😄

just a idea, we ship a new binary called vfox-dev(or what ever).

I don't think we need to spend too much time on this, dprint is a good choice.

ok, I will take a look on install dprint by vfox

we can also use stylua
and add its configuration to the root of the project:
stylua.toml
column_width = 120
line_endings = "Unix"
indent_type = "Tabs"
indent_width = 4
quote_style = "AutoPreferDouble"
call_parentheses = "Always"
collapse_simple_statement = "Never"

[sort_requires]
enabled = false

yes, the dprint plugin we mentioned above in using stylua to format lua files.
and dprint can also format markdown and json files.

@bytemain @axdank Hi guys, I think I've finished working on the templates for the plugin repository, and I think this issue can be resolved in the template repository.
For example, we could put dprint in the plugin repository, tell the user how to use it, or automate do this work by Github Action.


CI: cargo fmt should be run with --check flag.

Currently, as a part of lint workflow we run cargo fmt without the --check flag. What this does is format files during CI run but does not output any errors. The result is that we commit files which have formatting issues.
We should probably have separate tasks for running cargo fmt with and without --check flag. One would be run during CI and the other one when we runt lint task locally.

Closed by #624.


asp-for now not working when casting in asp.net core 2

From @taylorjandrew on October 31, 2017 11:12
The asp-for casting shown below used to work in core 1.0 and core 1.1 but now doesn't in core 2.0?
<input asp-for="@(Model as ServiceOperative).JobTitleClient" class="form-control" />
It now gives the following error -
InvalidOperationException: Templates can be used only with field access, property access, single-dimension array index, or single-parameter custom indexer expressions.
The following gets round the initial error, but then renders the name/id as somodel_JobTitleClient - which then will not bind to the object server-side
var somodel = (Model as ServiceOperative);
<input<EMAIL_ADDRESS>class="form-control" />
I tried a bunch of alternatives to the above but had to revert to using @Html.EditorFor for now...   =painful rework   :(
Copied from original issue: aspnet/Mvc#7008

From @Eilon on November 2, 2017 20:45
@pranavkm can you take a look? Presumably we changed our expression generator here...
Also cc @rynowak

Hi @taylorjandrew, sorry you ran into this issue; you've reached the gray area of Razors current parsing capabilities 😄.
For investigative information: The reason why this is currently an issue is that @(...) is a Razor reserved syntax and MVC sits on top of Razor (doesn't change how it parses) to enable the ModelExpression syntax. To fix this issue we'll need to pass through what type of expression was responsible for our expression intermediate node (@(..) or @). That way MVC will be able to perform a more educated re-writing of our IR representation.

Moving out to 2.2. as this is not critical for 2.1


[CCXDEV-10978] Adding type object to schemas of responses

Description
The response schema misses type causing the generated code from it to fail to parse responses.
Type of change

Bug fix (non-breaking change which fixes an issue)
Documentation update

Testing steps
Checklist

[ ] make before_commit passes
[ ] updated documentation wherever necessary
[ ] added or modified tests if necessary
[ ] updated schemas and validators in insights-data-schemas in case of input/output change

Codecov Report
Patch coverage has no change and project coverage change: -0.27 :warning:

Comparison is base (67e6b2a) 67.59% compared to head (64c4484) 67.32%.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1028      +/-   ##
==========================================
- Coverage   67.59%   67.32%   -0.27%
==========================================
  Files          24       24
  Lines        3336     3336
==========================================
- Hits         2255     2246       -9
- Misses        838      845       +7
- Partials      243      245       +2

see 2 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Feature request: Output expressions directly as a variable

Would you support getting the expressions outputted into a variable to further work on it or use it to process more data?
I imagine usage something like this:
const calculatedExpressions = model.expressions()
console.log(calculatedExpressions)

My backup solution is to read the new JSON file just as it is created. But that seams silly to me.

Hi @zinen, thanks for your contribution. It's a useful addition.
I'm going to merge this PR and release the package


Disable overlay selection with fullscreen

Unsure as to what this means, comments would be appreciated.

I didn't see any on the old one.

I'll close it then as it's not clear.


Display error when using SSH for Windows in PowerShell

Reproduce steps:

Open a tab running Windows PowerShell
ssh onto any host
Run htop, and quit
Now the console is messed up, with closed htop content still remains in the terminal

seems to work for me.

That's quite embarrassing... Did you log into this host with ssh for Windows from Windows PowerShell?

And yes I'm using powershell. However, I'm not quite sure about the ssh part. Does powershell come with a special ssh? I'm using ssh from docker. And I have another one from open ssh, both work fine.

Oh I've missed that part, it's the one ssh client goes with Git for Windows. Seems that's the one to be blamed? I'll check for other implements of ssh on Windows later XD

I've tried with both WSL and Git-Bash SSH clients - works fine for me.
@Blealtan can you provide any details to narrow this down?

Sorry but I was too busy these days to cover this.
I'm using the ssh.exe under <path-to-git4win>\usr\bin, and the version of my Git for Windows is v2.10.2 according to its release note.
Also, with the same environment, ConEmu and VSCode terminal (hence xterm.js) both works fine, so do the default terminal of PowerShell for Windows.
If any other information might be left out, please let me know. Thank you.


wxGTK32: 3.2.2 -> <IP_ADDRESS>

Description of changes
hotfix with a single bugfix
https://github.com/wxWidgets/wxWidgets/releases/tag/v<IP_ADDRESS>
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

ping @marsam since you merged my 3.2.2 update a few hours ago

This PR broke pkgsMusl.wxGTK32.
There was a notice to test for it at patches:

On upgrade, please test building wxwidgets for pkgsMusl, and remove this patch if unnecessary.

Fix at #216554
Please review.

ah, sorry


hellokan.ipynb returns NaN instead of formula.

Hi.
I was trying hellokan.ipynb file. I do some scaleup at training steps like 50 -> 150. In the end train_loss started to return NaN instead of any value.
I thought maybe it's a kernel error. So I re-downloaded the baseline hellokan.ipynb and rerun without any editing. It returned NaN once again. I will drop screenshot about problem.

Hi, the problem was caused by the appearance of the log function (which is unexpected behavior). This means that the pruning step is not good. Could you show the plot you after pruning? From feedback from other, you may try model.prune(threshold=5e-2) instead of just model.prune().

Sorry for late response. I tried both prune options (no-specified threshold and specified threshold) result was the same i am adding pictures
specified

no-specified

I encountered a similar issue, but I found that increasing the step size helped.

@Stealeristaken, in block [8], it should again specify the threshold model = model.prune(threshold=5e-2)

@ShuleiCao Thanks, yes, the pruning results can depend on quite many factors. Training longer will usually end up a sparser network.


fix alias function should use unbound slot as place holder

Related PR: #18257
Problem Summary:
when construct alias function for Nereids, should use unbound slot as placeholder.
Currently, we use SlotReference, then we could replace it by wrong parameter,
because SlotReference use ExprId as Unique Identifier.
For example, if placeholder's ExprId is 1, then all slots that ExprId equals one
will be replaced by input parameter.
Release note
Fix the issus that wrong result when using alias function.
None
Check List (For Author)

Test

[x] Regression test
[ ] Unit Test
[ ] Manual test (add detailed scripts or steps below)
[ ] No need to test or manual test. Explain why:

[ ] This is a refactor/code format and no logic has been changed.
[ ] Previous test can cover this change.
[ ] No code files have been changed.
[ ] Other reason

Behavior changed:

[x] No.
[ ] Yes.

Does this need documentation?

[x] No.
[ ] Yes.

Check List (For Reviewer who merge this PR)

[ ] Confirm the release note
[ ] Confirm test cases
[ ] Confirm document
[ ] Add branch pick label

run buildall

run performance

run buildall

run external


source map not working in 1.0rc1

I'm trying out the 1.0 rc1 and noticed that I can't put breakpoints into leaflet code in Chrome. As soon as I try to set a break point on a line it jumps to the corresponding source module file and puts the breakpoint at the first line of that, not the line I wanted. And then the debugging doesn't work. If I manually set a breakpoint in the module file, the debugger doesn't stop there, so I assume somewhere the association is lost.

Duplicate of #4455, fixed in the master branch already.


Low quality result using universal HiFi GAN

Hi,
Thank you for the very great work with great result in the demo page.
I have tried to follow all of the steps given in the README, however even after I use pretrained universal HiFi GAN as the vocoder, I found that the result still not good enough and very far compared to the result in the demo page. I have tried to use both my own model and given pretrained model, and found that the quality of both models are not very good.
I did not change any hyperparams given in the repository, and this is my tensorboard

I converted some of my wavs to mp4 since github does not support wav file
https://github.com/ubisoft/ubisoft-laforge-daft-exprt/assets/47884762/56f61f6e-7a4d-47ef-a091-79f48cb49788
https://github.com/ubisoft/ubisoft-laforge-daft-exprt/assets/47884762/0a608fd0-3e8f-48c6-971a-3124119e0062
These are some of my original generated wavs
Daft_samples.zip
Did I do something wrong? Or missed some steps?
Or does the performance is highly related to dataset we are using?
Thank you very much in advance!

Closing due to inactivity, feel free to re-open if needed.


Minor readability change to TagStore.pullImage

This is almost entirely a whitespace change from:
for foo {
    if !condition {
        <large amount of code>
    }
    <done>
}

To:
for foo {
    if condition {
        <done>
        continue
    }
    <large amount of code>
    <done>
}

It's a small stepwise change which improves the readability of the code.
It makes it so you don't have to skip over <large amount of code> to
see the condition == true outcome, improving locality, and removes a
layer of indentation to <large amount of code>.
I'm making this change in advance of other proposed changes I have inbound for this code relating to cancelling builds and pulls.
/cc @shykes (original author)
Docker-DCO-1.1-Signed-off-by: Peter Waller<EMAIL_ADDRESS>(github: pwaller)

Hi @pwaller,
We understand the change you are trying to make. But we actually think it is more readable the way it currently is because out.Write(sf.FormatProgress(utils.TruncateID(id), "Download complete", nil)) is only once at the end of the function. But we appreciate this change, I'm sure there are more places in the code where a change like this would be more readable, but unfortunately this is not one of them. We would love if you could help us with other cleanups. Thanks.


Maybe remove the all_courts data from all_variables that we send to the proxy

It's about 300kb of data alone. Not a ton, but small things make it snappier.

code: |
  def take_first_and_simplify(person_list):
    try:
      first_person = person_list[0].as_serializable()
    except:
      first_person = Individual().as_serializable()
    first_person = {key: first_person[key] for key in first_person if not key.endswith('_label')}
    return first_person

  keys_to_remove = (
    'multi_user',
    'url_args',
    'nav',
    'allow_cron',
    'speak_text',
    'interview_metadata',
    'allowed_courts',
    'users',
    'spouses',
    'adultery_details_default',
    'acknowledged_information_use',
    'application_divorce_uk_attachment',
    'al_user_bundle',
    'al_court_bundle',
    'signature_fields',
    'session_local',
    'user_local',
    'x',
    'json_file',
    'keys_to_remove'
    'draft_json',
    'other_parties',
    'client',
    'spouse'
  )
  draft_json = all_variables()
  draft_json = {key: draft_json[key] for key in draft_json if key not in keys_to_remove}

  draft_json['client'] = take_first_and_simplify(users)
  draft_json['spouse'] = take_first_and_simplify(other_parties)

  final_json = draft_json

Here's something I did to clean up the JSON in a similar project (where there is only one allowed person in each ALPeopleList).
I think we could strip out some other irrelevant keys within the structure of each object, too.

Fixed since at least https://github.com/SuffolkLITLab/docassemble-EFSPIntegration/commit/d2c0e1ff0893ac6985efeff278f7c58122959bdb, probably earlier. It's still kinda ad-hoc, as we can't strip out specific variables that are in everyone's interviews, but pretty good for now. Ideally, once the interfaces get stable, we can switch from a deny-list of variables that we send over to a allow-list.


Switch to use postgresql

To provide solution for #34 and to enable parallel operations we should switch to use some "proper" DBM rather than sqlite. I think we need

[ ] extend/generalize docker-compose.broker.yml to provide also a postgresql DB.  If somehow actual DB could also reside under instance/ -- would be great, if not -- could live in docker's volume. Not sure yet what to do about "all-in-one" docker-compose.yml... may be there is a way to have a singular docker-compose recipe with some parametrization to start either full instance or just broker + DB?
[ ] add fixture to tests, similar to the one in dandi-cli, to use that dockerized instance instead of sqlite

@yarikoptic Is #34 actually causing any problems during testing or just in production?  I think it'd be simpler to continue to use SQLite for testing and only use PostgreSQL when deploying.

I ran into it in production IIRC, so ATM it might indeed not be needed for testing setup. BUT I expect code to go through RFing so it would not be as sequential in how it does the celery jobs (https://github.com/datalad/datalad-registry/issues/38).   And for that it would need to allow concurrent operations anyways, so I thought that switching to just use postgresql all the time would be better and provide more consistent setup between testing and production.

@yarikoptic

When using PostgreSQL for testing, should the data volume still be stored under instance/?
Do you have any preference for how the database password should be managed?

When using PostgreSQL for testing, should the data volume still be stored under instance/?

I would assume that a test suite run would have its own instance/ (similar to production), so if possible to store there -- would be great

Do you have any preference for how the database password should be managed?

no preferences ATM, may be some env var?

@yarikoptic

I would assume that a test suite run would have its own instance/ (similar to production), so if possible to store there -- would be great

Why exactly do you want to do that?  The test database would need to be reset on each test run, and the easiest way to do that would be to not mount it at all.

sorry, I wasn't clear -- I meant that test suite would use some tmpdir for instance/ so it would not persist across reruns, but would still have DB under that tmpdir which would get destroyed after.


Remove --resource-type from parser

Closed in #385 with https://github.com/fractal-analytics-platform/fractal/commit/a2e2473f9e481e8bcd7678088c01e6ad60e22f87


Update package.json

Correctly resolve npm dependencies.
Fixes errors during npm install in other projects.
UPD:
Reason:

Start a new project
Npm i three@latest
Npm i three-gpu-pathtracer

3rd item will throw error because this project explicitly defines an exact version of threejs in peer dependencies, but at the same time uses almost the latest threejs version.
Solution:
Allow not an exact version of threejs in peer dependencies, but a version greater than N.
That is done in that PR

This doesn't seem correct. A caret (^) should allow a compatible version of the library (minor version increase) on installation:
https://stackoverflow.com/questions/22343224/whats-the-difference-between-tilde-and-caret-in-package-json

@gkjohnson

As you can see, it can not resolve the 0.139.2 version from your project, but with >= it works.
Why it works in that way you can check here:

https://semver.npmjs.com/

And a bit notes here:
2. https://nodejs.org/es/blog/npm/peer-dependencies/
Shortly, from 1st link:
Caret behavior is different for 0.x versions, for which it will only match patch versions.
That is what we have for threejs.
So this semver - ^0.139.2
Will work for 0.139.3
But not will work for 0.140.0

Anyway, replacing a caret with any other form of a semver conditions will work here, except the caret.

Oh yes - thank you for explanation. I forgot tilde only worked for patch increase when the major version is 0.
Are you able to work around this or would you like me to make a new release?

No probs, I'm using my fork right now. (that's good that NPM gives you the ability to use npm i githubRepoUrl)
Or even I can use now npm i yourGithubRepo :)
I'll switch to the npm version right after you release a new version.


Settings: toggling between modified settings and all collapses all groups

Refs: #50496

click on "Show modified only"
click again

=> the commonly used group is not expanded

Is it collapsed when you click "show modified only"? Was it collapsed initially? I can't repro.

@roblourens reproduces if none of the "Commonly Used" settings is modified.

They don't collapse anymore


Add description for the class LoggingDateFormatCondition

Describe the bug
Every condition should provide metadata including description. LoggingDateFormatCondition does not have a description. Refer to comment https://github.com/spring-projects-experimental/spring-boot-migrator/pull/296/files#r951701600

PR https://github.com/spring-projects-experimental/spring-boot-migrator/pull/372


Jack Gipson - Sprint-Challenge -- User- Interface

@shawnantonucci

Awesome job on the sprint. Your project looks really good! Great job on both pages!! Your code is pretty clean and easy to read, That's very helpful for the next developer that needs to look at your code.


getMediaCommentsByCode only returning 50 comments max

How can I get all comments?
$comments = $instagram->getMediaCommentsByCode('Bhv085lH1n-',50);

I'm also having this same problem and I can not solve

Duplicate of #379


InlineNotification Story Info missing

Detailed description
The Storybook doesn't show the documentation (button Show Info) of the component InlineNotification anymore.
Steps to reproduce the issue
Just look at the storybook page: Notifications/inline

Hi @IOIO72 thank you for reporting! here's the direct link to what you are looking for: http://react.carbondesignsystem.com/?selectedKind=Notifications&selectedStory=inline&knob-The notification kind (kind)=info - Also you can get there manually by clicking on the "Knobs" tab at the bottom and choose "Info (info)" as the "The notification kind (kind)". Feel free to speak up if you have any further questions - Thanks!