ITV Hub JSON error

Checklist

[x] I'm reporting a broken site support
[x] I've verified that I'm running youtube-dl version 2021.04.26
[x] I've checked that all provided URLs are alive and playable in a browser
[x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[x] I've searched the bugtracker for similar issues including closed ones

Verbose log

[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['https://www.itv.com/hub/tipping-point/2a1875a1123', '--verbose']
[debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252
[debug] youtube-dl version 2021.04.26
[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.19041
[debug] exe versions: none
[debug] Proxy map: {}
[debug] Using fake IP <IP_ADDRESS> (GB) as X-Forwarded-For.
[ITV] 2a1875a1123: Downloading webpage
[ITV] 2a1875a1123: Downloading JSON metadata
ERROR: Unable to download JSON metadata: HTTP Error 500: Internal Server Error (caused by HTTPError()); 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.
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpeav8wi2f\build\youtube_dl\extractor\common.py", line 634, in _request_webpage
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpeav8wi2f\build\youtube_dl\YoutubeDL.py", line 2279, in urlopen
  File "C:\Python\Python34\lib\urllib\request.py", line 470, in open
  File "C:\Python\Python34\lib\urllib\request.py", line 580, in http_response
  File "C:\Python\Python34\lib\urllib\request.py", line 508, in error
  File "C:\Python\Python34\lib\urllib\request.py", line 442, in _call_chain
  File "C:\Python\Python34\lib\urllib\request.py", line 588, in http_error_default

Description

Several programmes on ITV Hub now fail to download. URL's such as
https://www.itv.com/hub/the-chase/1a7842a1761
https://www.itv.com/hub/tipping-point/2a1875a1123
https://www.itv.com/hub/tenable/10a0805a0021
fail to download though some like
https://www.itv.com/hub/lorraine/1a9360a2830
continue to work

Same here, hopefully it's not DRM.

F:\Temp\youtubedl>youtube-dl.exe --verbose "https://www.itv.com/hub/heartbeat/Ya0757a0043"
[debug] System config: []
[debug] User config: ['-o', 'F:/Temp/youtubedl/%(title)s.%(ext)s']
[debug] Custom config: []
[debug] Command-line args: ['--verbose', 'https://www.itv.com/hub/heartbeat/Ya0757a0043']
[debug] Encodings: locale cp1252, fs mbcs, out cp850, pref cp1252
[debug] youtube-dl version 2021.04.26
[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.19041
[debug] exe versions: ffmpeg N-95216-ge6625ca41f, ffprobe N-95216-ge6625ca41f, rtmpdump 2.4
[debug] Proxy map: {}
[debug] Using fake IP <IP_ADDRESS> (GB) as X-Forwarded-For.
[ITV] Ya0757a0043: Downloading webpage
[ITV] Ya0757a0043: Downloading JSON metadata
ERROR: Unable to download JSON metadata: HTTP Error 500: Internal Server Error (caused by HTTPError()); 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.
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpeav8wi2f\build\youtube_dl\extractor\common.py", line 634, in _request_webpage
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpeav8wi2f\build\youtube_dl\YoutubeDL.py", line 2279, in urlopen
File "C:\Python\Python34\lib\urllib\request.py", line 470, in open
File "C:\Python\Python34\lib\urllib\request.py", line 580, in http_response
File "C:\Python\Python34\lib\urllib\request.py", line 508, in error
File "C:\Python\Python34\lib\urllib\request.py", line 442, in _call_chain
File "C:\Python\Python34\lib\urllib\request.py", line 588, in http_error_default

Luckily at the moment, STV player still works, but anything from ITV2, 3, 4 or CITV would not be downloadable because STV is only the Channel 3 contractor.

Same here, hopefully it's not DRM.

500 Internal Server Errors are usually temporary. It means that for some reason, the server was unable to process the request that was sent to it.
If it was DRM related, I would not expect a 500 error.
Someone suggested in the other thread that if you kept trying, the programme would eventually download. That works for 403 Forbidden errors but doesn't appear to work for this.
The problem seems to be that for some programmes the server is just finding it impossible to send the JSON playlist back which means that YT-DL has no way to attempt to download the programme. Why this only seems to affect some programmes and not others though is a bit of a mystery.

It probably does not help, but I too am receiving this error.

I've been noticing the same thing over the past day or two also. Here's another example of an identical failure. It doesn't appear retrying works, just flat out refuses to download however many times over a 12 hour window. Running same versions as @TIGHazard1. And, as reported, some downloads do work, just the ones that don't never seem to work. Have also tried with --no-geo-bypass giving identical failure. I am UK based.
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', 'https://www.itv.com/hub/viewpoint/10a0556a0003']
[debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252
[debug] youtube-dl version 2021.04.26
[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.19041
[debug] exe versions: ffmpeg git-2019-11-01-53c21c2, ffprobe git-2019-11-01-53c21c2
[debug] Proxy map: {}
[debug] Using fake IP <IP_ADDRESS> (GB) as X-Forwarded-For.
[ITV] 10a0556a0003: Downloading webpage
[ITV] 10a0556a0003: Downloading JSON metadata
ERROR: Unable to download JSON metadata: HTTP Error 500: Internal Server Error (caused by HTTPError()); 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.
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpeav8wi2f\build\youtube_dl\extractor\common.py", line 634, in _request_webpage
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpeav8wi2f\build\youtube_dl\YoutubeDL.py", line 2279, in urlopen
  File "C:\Python\Python34\lib\urllib\request.py", line 470, in open
  File "C:\Python\Python34\lib\urllib\request.py", line 580, in http_response
  File "C:\Python\Python34\lib\urllib\request.py", line 508, in error
  File "C:\Python\Python34\lib\urllib\request.py", line 442, in _call_chain
  File "C:\Python\Python34\lib\urllib\request.py", line 588, in http_error_default

this comment applies to the two issues here and here too, can someone please see whether physical old ios devices are failing on these videos? if so and if itv are still supporting them then can be reported as a bug

I don't own any ios devices so sadly can't test that. Is anyone else ablle to?

I agree that many programs on ITV Hub now fail to download.
On 28th April I was able to download URL's
https://www.itv.com/hub/viewpoint/10a0556a0001
https://www.itv.com/hub/viewpoint/10a0556a0002
On 29th April I was unable to download URL
https://www.itv.com/hub/viewpoint/10a0556a0003
Moreover, if I now try to download the first two above URL's they now fail with the same error message that others are reporting, namely:
[ITV] 2a7855a0082: Downloading JSON metadata
ERROR: Unable to download JSON metadata: HTTP Error 500: Internal Server Error (caused by HTTPError()); 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.
So ITV have changed something server side. I don't think it's DRM (yet), but maybe a missing header or auth token?

So ITV have changed something server side. I don't think it's DRM (yet), but maybe a missing header or auth token?

I cannot see a 500 error being DRM related. The error shows before the download has even been attempted. If DRM made the videos impossible to download then they would fail with some sort of unable to download error not a server error.

@gewyvoso   I can confirm you get the http 500 error from your first link when I try yt-dl on OSX. I can also confirm that I can access the link from the itv hub with an old iphone using ios.  In both cases using a VPN.  Is this the info that you want?

@dstftw Sorry but geo-restriction isn't the issue in this case. Unless there is something we have missed? That seems like an unfair label to have put on it. We can all stream direct from the website but get errors from yt-dl.
@gewyvoso I can also confirm I have tried it on an iPad with no issues. Which is annoying.

@dstftw I tend to agree with @torbs723 that this isn't geo-restriction, it's something else.

is anyone able to set up man in the middle to view the traffic on working old ios? perhaps it's working in a different way from itv.py
@dstftw, giving a geo tag to this is off topic, not the above two comments. one of my two linked threads gives detailed info about geo behaviour and that is different from what is occurring here. could be that it is more and different geo restriction and that you know something about it, so then please tell us that
@LFS1 & @torbs723, i was surprised it did work. thank you for doing. that was one logical avenue to investigate. like i said, maybe the ytdl plugin is working differently from what itv are doing for real. if so, that could be a fix
all this is academic to me, i'm not fussed, although i have heavily cached itv shows using this hls method til now. is there a place where people discuss the workings of these plugins? people seem to present good knowledge in these threads, which seems to have been picked up elsewhere. i would like to chat there, this forum here does not seem right for it

@gewyvoso Thank you for the support

i was surprised it did work. thank you for doing. that was one logical avenue to investigate. like i said, maybe the ytdl plugin is working differently from what itv are doing for real. if so, that could be a fix

It is possible though that the streams we are having problems with are used by other devices possibly old old iPhones, iPads etc that maybe don't support ITV's app?

this is what i mean. looking at the plugin code, it was like it was magicked into being. there was no explanation of its workings except by reading between the lines. happy to do that though, but what i would like to see is where discussions took place leading to that. that is where i can contribute and would like to, not here. until then i find myself holding back my thoughts

(28934 is another one. looks like i commented there same minute you commented at 28939)

If only people would spend 30 seconds doing a search before they post a new issue.

Same problem here, but for me it only happens with videos that have appeared in the last day or two. I can still D/L older videos. For example, https://www.itv.com/hub/robin-of-sherwood/ROBa03a010, from 28 April, can be downloaded OK, but https://www.itv.com/hub/robin-of-sherwood/ROBa03a011, from 29 April, and https://www.itv.com/hub/robin-of-sherwood/ROBa03a012, from 30 April, both fail with the HTTP Error 500 with latest youtube-dl version 2021.04.26. e.g.
[ITV] ROBa03a011: Downloading webpage
[ITV] ROBa03a011: Downloading JSON metadata
ERROR: Unable to download JSON metadata: HTTP Error 500: Internal Server Error (caused by HTTPError()); 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.
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 634, in _request_webpage
return self._downloader.urlopen(url_or_request)
File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 2279, in urlopen
return self._opener.open(req, timeout=self._socket_timeout)
File "/usr/lib/python2.7/urllib2.py", line 435, in open
response = meth(req, response)
File "/usr/lib/python2.7/urllib2.py", line 548, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python2.7/urllib2.py", line 473, in error
return self._call_chain(*args)
File "/usr/lib/python2.7/urllib2.py", line 407, in _call_chain
result = func(*args)
File "/usr/lib/python2.7/urllib2.py", line 556, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
`

@torbs723 wrote:

@Vangelis66 Any ideas what might be happening here?

I was tagged (in a now hidden comment) to troubleshoot this... 😄
It is now already Orthodox Easter Sunday here, I won't be available for the most part of the next two days... However, since I, too , have a vested interest in ITVHub shows fetched via yt-dl, I took a stab at it...
But first, let's discuss the geo-restricted label attributed to this issue...
In general, it is not a good idea to aggravate the main developer(s) of yt-dl 😉 ; perhaps the label was just put there to highlight the fact that for anyone to even start troubleshooting this, an ITV Hub whitelisted IP address is required; sometimes, a generic UK IP won't cut it, you need an "ITV zone" one (e.g. excluding Scotland) ...
My analysis has indeed proven (to me, at least, but in accordance to comments by other people here) that this new ITV HUB issue is not related to geo-fencing...
While I am discussing geo-fencing, the ITV Hub people, some time in the month of March (2021), imposed even stricter geo-blocking schemes... 💢
For many years, their Playlist APIs (= the ones that yield stream data) would only enforce a "soft" geo-block, that could be circumvented via an X-Forwarded-For:UK IP request header; if you look closely at logs people have posted, it's line
[debug] Using fake IP <IP_ADDRESS> (GB) as X-Forwarded-For.
From mid-March, if you happen to be overseas, you need a whitelisted UK HTTPS/SOCKS proxy/UK VPN to even get the master HLS playlist URI ("Downloading JSON metadata" in yt-dl's logs); of course, the HLS stream itself is fully geo-blocked, you have to use the same "means" to dump if overseas... Again, this new "issue" isn't related to stricter geo-fencing practices imposed last March (as it also occurs for people within the UK...).
It well appears that the ITV Hub people made some changes during these last days, certainly during last week, that make recently uploaded ITV hub shows inaccessible to yt-dl; case in point is the Jonathan Ross show:
Last week's episode
youtube-dl -F https://www.itv.com/hub/the-jonathan-ross-show/2a1166a0204

[ITV] 2a1166a0204: Downloading webpage
[ITV] 2a1166a0204: Downloading JSON metadata
[ITV] 2a1166a0204: Downloading m3u8 information
[info] Available formats for 2a1166a0204:
format code  extension  resolution note
hls-105      mp4        audio only  105k , mp4a.40.2@ 98k
hls-565      mp4        512x288     565k , avc1.64001F@ 434k, mp4a.40.2@ 98k
hls-762      mp4        512x288     762k , avc1.64001F@ 620k, mp4a.40.2@ 98k
hls-1058     mp4        896x504    1058k , avc1.64001F@ 899k, mp4a.40.2@ 98k
hls-1344     mp4        896x504    1344k , avc1.64001F@1169k, mp4a.40.2@ 98k
hls-1633     mp4        896x504    1633k , avc1.64001F@1442k, mp4a.40.2@ 98k (be
st)

Yerterday's episode:
youtube-dl -F https://www.itv.com/hub/the-jonathan-ross-show/2a1166a0205

[ITV] 2a1166a0205: Downloading webpage
[ITV] 2a1166a0205: Downloading JSON metadata
ERROR: Unable to download JSON metadata: HTTP Error 500: Internal Server Error (
caused by <HTTPError 500: 'Internal Server Error'>); please report this issue on
 https://yt-dl.org/bug . Make sure you are using the latest version; type  youtu
be-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and incl
ude its complete output.

(the test was done using the very same connection/IP).
Now, my deeper analysis was done focusing on Viewpoint-SE01EP03 (sadly, the whole series is due to expire imminently):
https://www.itv.com/hub/viewpoint/10a0556a0003
As most of you may know already, desktop browsers are being served MPEG-DASH streams with Common Encryption (cenc=DRM), the Google-owned WidevineCDM is required for playback 👎 💢 ; yt-dl can't/won't handle cenc, instead it has to resort to HLSe (AES-128 encrypted) streams, targeting older iOS devices...
So the very first thing I did was to emulate such a device in my browser, by setting up a site-specific-user-agent-override (SSUAO) for itv.com; depending on browser used, this can be achieved via an about:config setting (Firefox derived browsers) or, more commonly, via an extension (Chromium browsers) that spoofs your user-agent; please, don't ask for instructions/how-to here, it isn't the appropriate place...
I chose to use the iPhone5 UA below:
Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3
Of course, ITVHub requires you to be logged-in to send any stream data to your browser (this hasn't been yet a requirement for yt-dl 👍 ); being logged in and with the above "mobile" UA, I inspected browser's Web Console (CTRL+SHIFT+K) and I clearly saw the POST XHR request to their playlist API:
https://magni.itv.com/playlist/itvonline/ITV/10_0556_0003.001
(don't try this directly with a GET request), the response of which I am attaching here: POST-ITV.json.txt
BTW, this is equivalent to yt-dl "Downloading JSON metadata"; as one can see, no HTTP Error 500: Internal Server Error was generated in my test; this rules out intermittent server issues on the ITV side...
From that (attached) JSON response, I extracted the master HLSe playlist URI:
https://itvpnpmobile.content.itv.com/10-0556-0003-001/6/2/VAR003/10-0556-0003-001_6_2_VAR003.ism/.m3u8?hdnea=st=1619890241~exp=1619911841~acl=/10-0556-0003-001/*~data=nohubplus~hmac=ec46cb4825a413f0681ce4b94f72c5f82c9fb42fb6d424e746976a5d2c26aa99
which looks like below:
#EXTM3U
#EXT-X-VERSION:4
## Created with OEM(version=1.7.25)

# AUDIO groups
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio-aacl-128",NAME="audio",AUTOSELECT=YES,DEFAULT=YES,CHANNELS="2"

# variants
#EXT-X-STREAM-INF:BANDWIDTH=313000,CODECS="mp4a.40.2,avc1.4D401E",RESOLUTION=512x288,FRAME-RATE=50,AUDIO="audio-aacl-128",CLOSED-CAPTIONS=NONE
10-0556-0003-001_6_2_VAR003-audio=128000-video=167161.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=596000,CODECS="mp4a.40.2,avc1.4D401F",RESOLUTION=512x288,FRAME-RATE=50,AUDIO="audio-aacl-128",CLOSED-CAPTIONS=NONE
10-0556-0003-001_6_2_VAR003-audio=128000-video=433735.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=794000,CODECS="mp4a.40.2,avc1.4D401F",RESOLUTION=512x288,FRAME-RATE=50,AUDIO="audio-aacl-128",CLOSED-CAPTIONS=NONE
10-0556-0003-001_6_2_VAR003-audio=128000-video=620155.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=1064000,CODECS="mp4a.40.2,avc1.4D401F",RESOLUTION=896x504,FRAME-RATE=50,AUDIO="audio-aacl-128",CLOSED-CAPTIONS=NONE
10-0556-0003-001_6_2_VAR003-audio=128000-video=875433.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=1655000,CODECS="mp4a.40.2,avc1.4D401F",RESOLUTION=896x504,FRAME-RATE=50,AUDIO="audio-aacl-128",CLOSED-CAPTIONS=NONE
10-0556-0003-001_6_2_VAR003-audio=128000-video=1432734.m3u8

# variants
#EXT-X-STREAM-INF:BANDWIDTH=136000,CODECS="mp4a.40.2",AUDIO="audio-aacl-128"
10-0556-0003-001_6_2_VAR003-audio=128000.m3u8

# keyframes
#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=23000,CODECS="avc1.4D401E",RESOLUTION=512x288,URI="keyframes/10-0556-0003-001_6_2_VAR003-video=167161.m3u8"
#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=116000,CODECS="avc1.4D401F",RESOLUTION=896x504,URI="keyframes/10-0556-0003-001_6_2_VAR003-video=875433.m3u8"

This URI is short-lived, you have to act swiftly before its auth-token expires... Feeding that directly to yt-dl, I can initiate a successful download:
youtube-dl --console-title --hls-prefer-native --hls-use-mpegts -c --fixup never "https://itvpnpmobile.content.itv.com/10-0556-0003-001/6/2/VAR003/10-0556-0003-001_6_2_VAR003.ism/.m3u8?hdnea=st=1619890241~exp=1619911841~acl=/10-0556-0003-001/*~data=nohubplus~hmac=ec46cb4825a413f0681ce4b94f72c5f82c9fb42fb6d424e746976a5d2c26aa99" -o "ITV_Viewpoint_Se1Ep3_202104282100[10a0556a0003].ts"=>
[generic] *~data=nohubplus~hmac=ec46cb4825a413f0681ce4b94f72c5f82c9fb42fb6d424e7
46976a5d2c26aa99: Requesting header
[generic] *~data=nohubplus~hmac=ec46cb4825a413f0681ce4b94f72c5f82c9fb42fb6d424e7
46976a5d2c26aa99: Downloading m3u8 information
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 461
[download] Destination: ITV_Viewpoint_Se1Ep3_202104282100[10a0556a0003].ts
[download]   2.6% of ~543.70MiB at 942.18KiB/s ETA 12:38

I have spent quite a lot of time trying to emulate the above POST XHR my browser sent in a yt-dl command, by specifying all needed request headers (referer/user-agent/cookies etc.), I even tried the cookies.txt method, sadly all to no avail... It's a real pity that I can't code (in Python or other language), I hope my findings can be put to good use by actual coders...
In conclusion: ITV staff have implemented in recent days "changes" (I wouldn't rule out this having been done deliberately to thwart downloaders) that would render current itvIE useless once old shows expire, perhaps sooner if these changes propagate to all ITVhub content...
At the time of this writing, this isn't related to the implementation of pure DRM, nor with further changes to their geo-fencing practices...
Therefore, I humbly concluded it's a genuine itv.py bug that needs to be addressed in code...
@remitamine, you seem to be the defacto maintainer of the itvIE, please, when your schedules permit, could you take a deeper look into this?
Also pinging @dirkf who happens to be UK-based, a Python coder and quite knowledgeable 😄 in UK media sites...
My best wishes to all, my deepest thanks to the yt-dl dev team 👍 , Happy Easter Sunday to all those that observe it today... 😃

@Vangelis66 As always Vangelis, thank you so much for your detailed analysis of this issue. And thank you for your confirmation that this doesn't relate to DRM.

Really appreciate the analysis @Vangelis66. Learnt something about spoofing the user agent as well. Taking it from here is beyond me but hopefuly the coding heroes can find some time and motivation to pick it up. Happy Easter Sunday.

I too have just learnt about spoofing user agents and can concur with @Vangelis66 that downloads from ITV (UK based) are still possible as described above.   Happy Easter.

I asked a friend of mine in London to test yt-dl again fridays episode of the chase.  He has confirmed that the same 500 error occurs irrespective of where you are located. I hope this helps.

I asked a friend of mine in London to test yt-dl again fridays episode of the chase. He has confirmed that the same 500 error occurs irrespective of where you are located. I hope this helps.

But is available with the @Vangelis66 method

t appears that ITV is now using only Fairplay DRM on these newer HLS streams. Although you can fix the 500 errors with a small change to the payload sent to the ITV server, it doesn't help. When youtube-dl parses the variant playlist and sees that Fairplay is used, it immediately punts, leading to a "No video formats found" error.

OK, I think I got to the bottom of it... 🎉
My M.O.D was comparing the Page Sources of ITV Hub shows that work with latest yt-dl, e.g.
(previous) "The Jonathan Ross Show -SE17E03":
https://www.itv.com/hub/the-jonathan-ross-show/2a1166a0204
and the ones that are now "broken", e.g. (latest) "The Jonathan Ross Show -SE17E04":
https://www.itv.com/hub/the-jonathan-ross-show/2a1166a0205
The point of comparison was the "data-video-variants" block; in the first case (working), it looks like below (pretty-printed, for clarity):
data-video-variants="{
  'dotcom':[
    ['hls','fairplay'],
    ['mpeg-dash','playready','outband-webvtt'],
    ['hls','fairplay','outband-webvtt'],
    ['hls','aes','outband-webvtt'],
    ['hls','aes'],
    ['mpeg-dash','widevine'],
    ['mpeg-dash','clearkey','outband-webvtt'],
    ['mpeg-dash','widevine','outband-webvtt'],
    ['mpeg-dash','playready'],
    ['mpeg-dash','clearkey']
  ],
  'mobile':[
    ['mpeg-dash','clearkey'],
    ['mpeg-dash','widevine'],
    ['hls','fairplay'],
    ['hls','aes'],
    ['mpeg-dash','widevine','outband-webvtt']
  ]
}"

In the second case (non-working shows, giving the "HTTP Error 500"), it looks like below:
data-video-variants="{
  'dotcom':[
    ['mpeg-dash','playready','outband-webvtt'],
    ['hls','fairplay','outband-webvtt'],
    ['mpeg-dash','widevine'],
    ['mpeg-dash','widevine','outband-webvtt'],
    ['hls','fairplay'],
    ['mpeg-dash','playready']
  ],
  'mobile':[
    ['mpeg-dash','widevine'],
    ['mpeg-dash','clearkey'],
    ['hls','aes'],
    ['hls','fairplay'],
    ['mpeg-dash','widevine','outband-webvtt']
  ]
}"

As you can see, the 'dotcom' group of variants was reduced from 10 to 6 members, the ones that were axed were "softer" encryption methods like aes | clearkey:
['hls','aes','outband-webvtt'],
['hls','aes'],
['mpeg-dash','clearkey','outband-webvtt'],
['mpeg-dash','clearkey']

which now leaves us with full-fledged DRM (playready | fairplay | widevine) variants within the 'dotcom' group... 😠
As far as itv.py itself is concerned,
https://github.com/ytdl-org/youtube-dl/blob/a0df8a06178e530a1097f177a1faf1d2c609ac99/youtube_dl/extractor/itv.py#L88-L94
the code above instructs it to request a ['hls','aes','outband-webvtt'] variant from within the 'dotcom' group; this variant is now absent in the non-working shows, the PlaylistAPI server can't grant yt-dls request, hence the
ERROR: Unable to download JSON metadata: HTTP Error 500: Internal Server Error
that started this thread...
As you can see, ITV Hub are going full-steam ahead with fully DRM-ing all their streams; as a most vocal opponent of DRM in every shape or form, I wish them (...) (fill-in the dots yourself, if you get my drift...).
Workaround:
The only remaining yt-dl-compatible video-variant left is ['hls','aes'] inside the 'mobile' group; unfortunately, it doesn't come with the 'outband-webvtt' feature that could be found in the now removed variant ['hls','aes','outband-webvtt'], so subtitles for HLSe streams aren't accessible 👎 ...
I have applied locally a quick-and-dirty patch to, at least, regain access to media streams, by doing in itv.py:
-                        'min': ['hls', 'aes', 'outband-webvtt'],
+                        'min': ['hls', 'aes'],
-                        'max': ['hls', 'aes', 'outband-webvtt']
+                        'max': ['hls', 'aes']
                     },
-                    'platformTag': 'dotcom'
+                    'platformTag': 'mobile'

... so I can fetch all these programmes currently broken (bound to increase in number, no doubt 😡 ) , but without subs for them, even when subs are provided by ITV:
youtube-dl -F https://www.itv.com/hub/the-jonathan-ross-show/2a1166a0205 =>

[ITV] 2a1166a0205: Downloading webpage
[ITV] 2a1166a0205: Downloading JSON metadata
[ITV] 2a1166a0205: Downloading m3u8 information
[info] Available formats for 2a1166a0205:
format code  extension  resolution note
hls-104      mp4        audio only  104k , mp4a.40.2@ 97k
hls-278      mp4        512x288     278k , avc1.4D401F@ 164k, 25.0fps, mp4a.40.2@ 97k
hls-551      mp4        512x288     551k , avc1.4D401F@ 421k, 25.0fps, mp4a.40.2@ 97k
hls-757      mp4        512x288     757k , avc1.4D401F@ 616k, 25.0fps, mp4a.40.2@ 97k
hls-1031     mp4        896x504    1031k , avc1.4D401F@ 874k, 25.0fps, mp4a.40.2@ 97k
hls-1622     mp4        896x504    1622k , avc1.4D401F@1432k, 25.0fps, mp4a.40.2@ 97k (best)

Obviously, I now need a "real" coder that can harvest the webvtt subtitles from one of the other video-variants (either ['mpeg-dash','widevine','outband-webvtt'] from the 'mobile' group (should be easier?) of from one of the three belonging to the 'dotcom' group); any volunteers? 😄

Annoyingly I have no idea how to compile things if I made that very simple edit. I just download the .exe and run that usually.

Annoyingly I have no idea how to compile things if I made that very simple edit. I just download the .exe and run that usually.

It's easy if your installation unpacks the program into a directory tree containing .py files (typical for Unix-like systems with Python installed separately). Python automatically re-compiles any .py that is newer than its byte-code .pyc counterpart, provided that it's running with sufficient privileges to modify those files. Some builds comprise a single executable from which the program files are extracted at run-time: this discussion may help.

@dirkf Thanks for that. I just download youtube-dl.exe and then run youtube-dl from the command line. I'm not sure where things get unpacked to or anything like that.
@sleaux-meaux Thank you very much for applying this fix.

Impressive work. Really appreciate the efforts from everyone involved in and contributing to this project. Now to patiently wait for the Windows binary to be updated (or figure out how to compile.. wish me luck).

@dirkf Thanks for that. I just download youtube-dl.exe and then run youtube-dl from the command line. I'm not sure where things get unpacked to or anything like that.

Actually the fine manual is a better reference; but when it speaks of recompiling I believe it means rebuilding the executable, rather than the actual compilation action of turning source files into byte-codes.

... Just now catching up on the most recent developments... 😉
I have compiled the source from the itv branch of sleaux-meaux's youtube-dl-1 fork, and I can confirm it addresses successfully both media+subtitle fetches 🥇
(I've modified file version.py manually prior to compiling, to make the version reported more verbose):
youtube-dl --version =>
2021.04.26+7-git-itv-20210503-g5019b2e

youtube-dl --console-title --hls-prefer-native --hls-use-mpegts -c --fixup never "https://www.itv.com/hub/the-jonathan-ross-show/2a1166a0205" -o "ITV1_TheJonathanRossShow_Se17Ep4_202105012135[2a1166a0205].ts" --write-sub --convert-subs=srt =>

[ITV] 2a1166a0205: Downloading webpage
[ITV] 2a1166a0205: Downloading JSON metadata
[ITV] 2a1166a0205: Downloading m3u8 information
[ITV] 2a1166a0205: Downloading JSON metadata
[info] Writing video subtitles to: ITV1_TheJonathanRossShow_Se17Ep4_202105012135
[2a1166a0205].ts.en.vtt
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 501
[download] Destination: ITV1_TheJonathanRossShow_Se17Ep4_202105012135[2a1166a020
5].ts
[download]   0.2% of ~600.93MiB at 481.41KiB/s ETA 28:29
ERROR: Interrupted by user

Thus, from me too, really grateful to @sleaux-meaux for his coding effort 👍
Let us all hope that PR #28955 gets reviewed and merged in a timely fashion...
And then, of course, most Windows users would have to wait for an updated executable to be released via the official channel...
If on Windows, you don't have to necessarily compile to run yt-dl, but you do need to install CPython for Windows; you can then invoke yt-dl directly from source; the version of Python you need to install depends on your version of Windows (XP->3.4.x/Vista->3.7.x/7->3.8.x/8.1+->3.9.x), and if on a 64-bit OS, it's better to install x64 Python...
I you want to compile to a youtube-dl executable, you, again, need to install Python; for py > 3.4, you should use the pyinstaller module; it is recommended to install the pycryptodome module, too, to enable support for hlsnative; in any case, I believe a search within issues of this tracker will unearth related info (e.g., the comment here); a wider internet search will yield more; pretty much everything is out there, if you can type the correct search terms... 😄
@Rencroft wrote:

Really appreciate the efforts from everyone involved in and contributing to this project

Yes, as in RL, when working in unison, quicker and better results are produced... 👍
However, and this comes from past experience, the "other" party (who probably monitor this project) also work towards "spoiling" things for "us"; while I regard this as a small victory (in which, I think, I played a small part 😉 ), my "celebration" has been a restrained one: I realised "we" are practically at the mercy of the "other" side (with ITV now only offering one stream yt-dl can decode); with the speedy proliferation of DRM and users, in general, not complaining about it, ITV will very soon join the ranks of Channels 4 and 5 and the rest of the UK media portals, which are DRM-only 😞 (excluding, at the time of writing, only BBC TV+radio channels) ...
Best wishes to y'all 😃

As a small side note, the "_TESTS" ITV Hub programme that's now included in PR #28955 (commit https://github.com/ytdl-org/youtube-dl/pull/28955/commits/5019b2e ) is not afflicted by the "issue" the PR aims to fix 🙄 ; ITV3's "The Durrells - Se01Ep01" is still "accessible" by latest yt-dl 2021.04.26 release:
youtube-dl --version && youtube-dl -F "https://www.itv.com/hub/the-durrells/2a4156a0001" =>

2021.04.26
[ITV] 2a4156a0001: Downloading webpage
[ITV] 2a4156a0001: Downloading JSON metadata
[ITV] 2a4156a0001: Downloading m3u8 information
[info] Available formats for 2a4156a0001:
format code  extension  resolution note
hls-136      mp4        audio only  136k , mp4a.40.2@128k
hls-621      mp4        512x288     621k , avc1.64001F@ 457k, 50.0fps, mp4a.40.2@128k
hls-824      mp4        512x288     824k , avc1.64001F@ 648k, 50.0fps, mp4a.40.2@128k
hls-1132     mp4        896x504    1132k , avc1.64001F@ 939k, 50.0fps, mp4a.40.2@128k
hls-1430     mp4        896x504    1430k , avc1.64001F@1220k, 50.0fps, mp4a.40.2@128k
hls-1735     mp4        896x504    1735k , avc1.64001F@1508k, 50.0fps, mp4a.40.2@128k (best)

OTOH, latest ITV2's "The Family Guy - Se20Ep04" is afflicted:
youtube-dl --version && youtube-dl -F "https://www.itv.com/hub/family-guy/2a4259a0361" =>

2021.04.26
[ITV] 2a4259a0361: Downloading webpage
[ITV] 2a4259a0361: Downloading JSON metadata
ERROR: Unable to download JSON metadata: HTTP Error 500: Internal Server Error (
caused by HTTPError()); 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.

Perhaps being overly pedantic... 😄

@torbs723
64-bit OSes can run both 64-bit and 32-bit apps; OTOH, 32-bit OSes can only run 32-bit apps; and 64-bit Python can't be used to compile a 32-bit youtube-dl.exe 😉
So, if you want to target your 32-bit Windows OS, you must install the 32-bit version of Python that's compatible with that OS; you can also install it on your 64-bit OS, if it's still compatible with that OS...
E.g. Python 3.9.5 32-bit will install in Win10 x64 and you can compile there a 32-bit youtube-dl.exe binary, but it won't run on a Win7 x86 machine (because Win7 supports up to Python 3.8.10) ... So, if you want to compile a Win7 32-bit compatible binary on a Win10 64-bit host, you must install (in Win10 64-bit) Python 3.8.10 (or lower) 32-bit! AFAIK, on a 64-bit host, you can't properly install at the same time both a 32-bit and a 64-bit flavour of Python (I suppose it could be somehow done, if only one of them is added to %PATH% and the other is invoked via absolute paths, but this is OT here...).
Are these instructions clear?

Was hoping I wasn't going to have to learn to do a new thing though

Knowledge is power 👍 ! Never dismiss a chance to learn something new! 😄
Kind regards

@torbs723:  Carrying over from https://github.com/Ascoware/get-iplayer-automator/issues/331#issuecomment-832252389

Is there any chance of a windows .exe version while we wait for youtube-dl to approve the patch and release it?

Done: https://github.com/sleaux-meaux/youtube-dl-gia/releases/latest
--version will report 2021.04.26-gia_NN. Self-update is disabled. It's my best guess at how the normal release is built (with 32-bit Python 3.4), but I may have got something wrong. Use at your own risk.

@sleaux-meaux : Many thanks 😄 !

Use at your own risk.

For those hesitant to try the linked binary, VirusTotal log below:
https://www.virustotal.com/gui/file/547a79c1a90f33ed53d255006ecb0d02c319581df4ca71b56cc151a8fdc46ea4/detection

(only 1/69 score 👍 )

It's my best guess at how the normal release is built (with 32-bit Python 3.4),
but I may have got something wrong.

Preliminary tests have shown it to be working as expected:
youtube-dl --version && youtube-dl "https://www.itv.com/hub/family-guy/2a4259a0361" --write-sub --convert-subs=srt -v =>

2021.04.26-gia_02
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['https://www.itv.com/hub/family-guy/2a4259a0361', '-
-write-sub', '--convert-subs=srt', '-v']
[debug] Encodings: locale cp1253, fs mbcs, out cp737, pref cp1253
[debug] youtube-dl version 2021.04.26
[debug] Python version 3.4.4 (CPython) - Windows-Vista-6.0.6003-SP2
[debug] exe versions: ffmpeg 4.4, ffprobe 4.4, phantomjs 2.1.1, rtmpdump 2.4
[debug] Proxy map: {}
[debug] Using fake IP <IP_ADDRESS> (GB) as X-Forwarded-For.
[ITV] 2a4259a0361: Downloading webpage
[ITV] 2a4259a0361: Downloading JSON metadata
[ITV] 2a4259a0361: Downloading m3u8 information
[ITV] 2a4259a0361: Downloading JSON metadata
[debug] Default format spec: bestvideo+bestaudio/best
[info] Writing video subtitles to: Family Guy - The Marrying Kind-2a4259a0361.en
.vtt
[debug] Invoking downloader on 'https://itvpnpmobile.content.itv.com/2-4259-0361
-001/6/2/VAR003/2-4259-0361-001_6_2_VAR003.ism/2-4259-0361-001_6_2_VAR003-audio=
128000-video=1345594.m3u8'
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 207
[download] Destination: Family Guy - The Marrying Kind-2a4259a0361.mp4
[download]   0.4% of ~239.98MiB at 98.37KiB/s ETA 50:40
ERROR: Interrupted by user

All in all, a sterling job 🥇 ...

@sleaux-meaux Thank you. This works perfectly :)

This worked great and solved the problem for me until I attempted any of these "https://www.itv.com/hub/ellens-game-of-games".
I wonder if this is DRM protected, as you mentioned it seems to be coming...

The above (eg https://www.itv.com/hub/ellens-game-of-games/10a0434a0057, S04E09) and the show reported in #28910 are giving 404 rather than 500, so something else is up.
The error occurs when POSTing /playlist/itvonline/ITV2/10_0434_0057.001 to magni.itv.com. This is the data-video-id attribute of the #video div element in the page. The same element lists data-video-variants with no variants for the mobile tag.
The data POSTed is (from l.125 ff. in the extractor):
{
    "variantAvailability": {
         "platformTag": "mobile",
         "featureset": {"min": ["hls", "aes"], "max": ["hls", "aes"]}
        },
    "user": {
        "token": "",
        "entitlements": [],
        "itvUserId": ""
        },
    "client": {"id": "browser", "version": "4.1"},
    "device": {
        "model": "5",
        "manufacturer": "Safari",
        "os": {"name": "Windows NT", "type": "desktop", "version": "6.1"}
        }
}

The [device][os] data seems to contradict the platformTag. But 404 implies this was never used.

No mobile streams, no downloads. That particular show may simply not be available via mobile. Episode noted in https://github.com/ytdl-org/youtube-dl/issues/28910#issuecomment-831177593 is not useful for comparison because the it is no longer available, so now produces different 404.

@CorrodedCoder wrote:

... until I attempted any of these
"https://www.itv.com/hub/ellens-game-of-games".
I wonder if this is DRM protected

Yes, ALL the streams currently offered by ITVHub for any episode of "Ellen's Game Of Games" are fully DRM'ed (MPEG-DASH streams use one of Widevine/PlayReady, HLS streams use FairPlay) 😭 ; it appears the Ellen Degeneres Show (and, by association, Ellen's Game Of Games, themselves part of the full show_😉 ) is governed by a "special" rights contract, that excludes them from (older) iOS devices:
https://help.itv.com/hc/en-us/articles/360003077994-Which-shows-do-rights-restrictions-apply-to-

The following shows are currently not available on iOS devices due to rights restrictions:
(snipped)
-The Ellen Degeneres Show
(snipped)
The Ellen Degeneres Show is available on our website,
however only via the Internet Explorer browser.

(Considering MS have deprecated IE11, that last part might not be still valid... )

That particular show may simply not be available via mobile.

Exactly! Hence, as you said,

No mobile streams, no downloads

Great detective work, thanks for investigating this - your prior work/changes were much appreciated too.

Considering MS have deprecated IE11, that last part might not be still valid...

Considering ITV doesn't even show Pokemon or Champions League highlights anymore, I would say that page hasn't been updated in a while.

Excellent work, this method with that exact iPhone UA working today to grab the Euro 2020 Preview show :)

this method with that exact iPhone UA working today

Why would you need to apply the "iPhone UA" method TODAY?
I merely posted that "method" while at the first stages of me troubleshooting this issue, as a way to detect/verify whether mobile HLSe streams were still being produced by ITVHub infra for the programmes yt-dl failed to grab...
It is rather unfortunate that the solution to this issue, PR #28955, hasn't yet been accepted/merged officially (thus, is not present in the officially released binaries 😞 ), but third party yt-dl binaries with that "fix" in have been kindly compiled and offered to us 👍 , ITVHub fans 😜, a month ago already, to accommodate:
https://github.com/sleaux-meaux/youtube-dl-gia/releases/tag/2021.04.26-gia_05
Were you not able to use one of them? 😲

Hello, this is my first time on here asking a question.  Firstly I am not into computer programming in any way and find it hard to understand any of the above.  I use youtube-dl to download BBC iplayer but had previously used it for ITV until they changed something as stated in the content of this thread.  My query is, is there an easy way to download a new version of youtube-dl to allow me to download ITV shows?  Is there a very basic guide with step by step instructions at all. Apologies if this is the wrong place to ask. Thanks for any help

Issue should be closed, URL is dead


Update CI to take ref for wrapper.

Failure on Windows looks unrelated to this PR.

Failure on Windows looks unrelated to this PR.

Yes, this appears to just be the fuzzer finding another error at random.


Remaining time displayed incorrectly

In a 40/25 game, after move 40 I saw that the remaining time for an engine didn't get reset (Zahak was shown to have no time left), but as soon as I refreshed the page, the times got displayed correctly... some caching problem maybe?

I have seen this issue myself and will need to look at the cause.


Add support for basic pages

It seems like all of the other content types are supported, and the basic pages is the odd one out. If there isn't particular reason to leave basic pages out, we should add support for rendering them.

@lauriii I'm working on this. The issue right now is that the layout canvas fields from site studio/cohesion is not compatible with JSON:API.

@lauriii is there a reason the cohesion resources were disabled in the Acquia CMS profile? https://github.com/acquia/acquia_cms/pull/277


Can't see debugger status at guest when debugging Java

Describe what happened:
When I try to debug a Java file using Live-Share, I can start the debug session and stop at the breakpoint in the host machine, but there is nothing at the guest machine.
What was your system configuration?
Product and Version [VS/VSCode]: VS Code 1.64.2
OS Version[macOS/Windows]: Windows_NT x64 10.0.22000
Live Share Extension Version: 1.0.5330
Target Platform or Language [e.g. Node.js]: Java
Steps to Reproduce / Scenario:

git clone https://github.com/spring-projects/spring-petclinic
Add a breakpoint in PetClinicApplication.java at host machine
Start debugging at host machine
See the results below

Please attach logs to this issue:
You can access them via the Live Share: Export Logs command from the command palette (ctrl + shift + p) and attach them to this issue
Screenshots
If applicable, add screenshots to help explain your problem.
host:

guest:

@setaskin Is there any update on this issue?

A fix has been released in the latest version 1.0.5831. Please update to latest build and let us know if you are still facing issues.

I can verify this issue has been fixed in version 1.0.5831, @nandiniYeltiwar thank you a lot for the help!


Don't focus tree when tracking active file.

This is a really small change but is essential for people who uses vim keybindings. When going to definitions of functions, it changes the focus to the solution explorer which breaks the mouseless experience.

hi @fernandoescolar
Please review the PR and if there is something wrong please let me know.


Issues with simplification backend

cc @AlCap23
I've noticed many times during training that equations are overly complex, so I think simplification isn't working for some reason. I narrowed it down to this:
https://github.com/MilesCranmer/SymbolicRegression.jl/blob/561c9d7270073e28b1c82d43d7c328c5af0ebb1a/src/SimplifyEquation.jl#L153-L155
I think this is too general and is hiding the current issues in the simplifier. When I remove it, I see that many times, simplification is skipped for equations that should normally be easy to simplify.
@AlCap23 do you think you could help me fix the convert functions to capture the current API of SymbolicUtils? I think it will greatly improve the results of EquationSearch. Thanks!

@AlCap23 this might be useful for debugging:
    catch e
        @warn "Error in symbolic_util simplify: $(e)\nFrom initial equation: $(stringTree(init_node, options))"
        return init_node
    end

where the preamble needs:
using Logging
@from "EquationUtils.jl" import countNodes, stringTree

For example, the following tree:
> tree = Node("x1") * Node("x1") + Node("x1") * Node("x1") + 3f0
> printTree(tree, options)

(((x1 * x1) + (x1 * x1)) + 3.0)

cannot be simplified:
> simplifyWithSymbolicUtils(tree, options)
Error in symbolic_util simplify: ErrorException("Operation ^ in expression not found in operations (+, *, /, -)!")

SymbolicUtils normally converts multiplication into a polynomial basis, then collects common terms, which is fine, because at the end I run them through multiply_powers to convert ^ into repeated multiplication. However it looks like multiply_powers is not being called so the ^ is being left in the SymbolicUtils version of the equation, which results in an error.
multiply_powers:
https://github.com/MilesCranmer/SymbolicRegression.jl/blob/561c9d7270073e28b1c82d43d7c328c5af0ebb1a/src/CustomSymbolicUtilsSimplification.jl#L16-L78

I see a problem:
julia> using SymbolicUtils
julia> @syms x
julia> x * x
x ^ 2

This must have become the default behaviour in a new SymbolicUtils. This is why simplification is broken.

Raised an issue on SymbolicUtils.jl: #428

Just a comment:
I had a similar issue last year implementing my own symbolic regression program. It also created multiple other issues with my algorithm and I ended up deciding against simplifying expressions at all during the search. I expected it to reduce the size of the space all possible expressions considerably, but it ended up hurting discoverability a lot. Have you benchmarked your algorithm with and without simplifying equations during the search?

Hope @syms x::LiteralReal works out here!

Thanks @shashi! Will work on integrating this.
@ChrisRackauckas, thanks for explaining all of this. Indeed this data structure seems to make a lot of sense and it is unfortunate I can't exploit it here for all cases. (It makes me think of a radix sort - the way each specific term is assigned to a specific bin.) I wonder if there is a way to have a similar data structure, but for arbitrary user-defined binary operators (+ set of rules).
@cobac - I haven't done a head to head comparison personally, but apparently some PySR users have been using earlier versions of PySR because they produced better results and faster. I looked into why this is and it was indeed because the simplification was turned on for those previous versions. I note that simplification only occurs 1 in 1000 mutations in SymbolicRegression.jl (controlled by one of the hyperparams) - which allows the evolution to freely explore equation space without being collapsed into a simplified form. Maybe this is why it doesn't hurt my performance too much.

Hey, sorry for being late to the party! @MilesCranmer to you still need help or did the proposed solution of @shashi worked?
Otherwise, I'll start a PR based on the example above within one week.

Thanks @AlCap23! I haven't started on this yet so if you have time to work on it I would definitely appreciate the assistance.
To get started, I would revert 3b2608da21a0c9c57282cf40feac7649ef9849d9, bump SymbolicUtils to 0.19, then switch the symbol mappings over to LiteralReal.
The unit test here: https://github.com/MilesCranmer/SymbolicRegression.jl/blob/8d286a258229771f4071e4f57559ba26b893d11e/test/test_simplification.jl#L23-L26 should capture the desired behaviour: whether x1 * x1 + x1 * x1 simplifies to 2 * x1 * x1, rather than 2 * x1 ^ 2, given that the user does not have ^ in their operator list.

Sorry for the delay, I have been busy with another PR right now and start moving this week 😅. I'll probably have time in two weeks to have a look. Would that still be alright?

Sure, no problem!

Another potential solution is to remove the simplification stuff. I'm not actually using it by default now, as I think large expressions slow down things quite a bit and caused some crashes. But the search is still quite good without a simplification algorithm; it seems to simplify automatically just from via the complexity penalty.
If the simplification backend is removed then all I need is the export to SymbolicUtils.jl, which is fairly easy to get working again.

Fixed on v0.9.0+


missing deployments permissions

The app doesn't ask for deployment permissions, so I can't configure it in trust policies. I located the deployments permission in github.InstallationPermissions  , not sure why it's not registered.

We just haven’t configured the main app to ask for it, since it needs to request a superset of the permissions it issues.

We just haven’t configured the main app to ask for it, since it needs to request a superset of the permissions it issues.

Does that mean the permissions are limited to whatever is in the superset of permissions (which I guess is something that's defined by GH?) right now? Or is there a way we can configure it ourselves that I can bring forward to our platform team?

If you are operating your own, then it is something you'd configure in your own app's settings.
If you are consuming it via the public good instance we're operating (octo-sts.dev) then we'd have to toggle this.  I think we're receptive to this.  @cpanato was talking about how we might document a regular cadence for this, to minimize disruption to users.

It would be really great if you could toggle it

planned to update the permissions: https://github.com/octo-sts/app/issues/494

this was applied last week


Add documentation on making changes to a new Flutter app

After the user goes through https://flutter.io/getting-started/ it would be really helpful if you have them make a few interesting changes to the default app, just to show them how easy it is to start building an app. You already make a change to show off hot reload, but I'm talking about something more significant, which would require adding additional code.

I believe @sethladd is looking into this

It's not on my plate or on my radar right now, but I agree that moving from Getting Started into a mini tutorial is a great idea.

Yes, this could be a page after "Test drive" and before "Write Your First Flutter app".

Issue moved to flutter/website #1996 via ZenHub


Error when Login  {'errors': [{'message': 'Exceed request rate limit!', 'locations': [{'line': 2, 'column': 3}], 'path': ['pwdLogin'], 'extensions': {'code': 'INTERNAL_SERVER_ERROR', 'exception': {'code': 'IMEAN_ERROR'}}}], 'data': None}

Hi when I try to login in my linux system.
export GRAPHQL_USERNAME='username'
export GRAPHQL_PASSWORD='passcode'
I meet such an error;
{'errors': [{'message': 'Exceed request rate limit!', 'locations': [{'line': 2, 'column': 3}], 'path': ['pwdLogin'], 'extensions': {'code': 'INTERNAL_SERVER_ERROR', 'exception': {'code': 'IMEAN_ERROR'}}}], 'data': None}
Do you know what happen in this case?
Thanks you :)

{'errors': [{'message': 'Exceed request rate limit!', 'locations': [{'line': 2, 'column': 3}], 'path': ['pwdLogin'], 'extensions': {'code': 'INTERNAL_SERVER_ERROR', 'exception': {'code': 'IMEAN_ERROR'}}}], 'data': None}
Traceback (most recent call last):
File "/home/qinghong/WebCanvas/data/dataset_io.py", line 197, in
client.login()
File "/home/qinghong/WebCanvas/data/dataset_io.py", line 40, in login
if 'data' in response_json and 'pwdLogin' in response_json['data']:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: argument of type 'NoneType' is not iterable

Hi when I try to login in my linux system.
export GRAPHQL_USERNAME='username' export GRAPHQL_PASSWORD='passcode'
I meet such an error;
{'errors': [{'message': 'Exceed request rate limit!', 'locations': [{'line': 2, 'column': 3}], 'path': ['pwdLogin'], 'extensions': {'code': 'INTERNAL_SERVER_ERROR', 'exception': {'code': 'IMEAN_ERROR'}}}], 'data': None}
Do you know what happen in this case?
Thanks you :)

Hi Qinghong, the error is caused by exceeding the rate limit for calling the data download API in a minute. Please check the code to ensure there aren’t multiple redundant or repeated download requests happening within the same time frame. If that’s not the case, could you please email me your registered email address so we can check the specific cause in more detail?

@han032206  Hi! I have checked and there is no multiple redundant requests. (This happened when I first try)
My email address is<EMAIL_ADDRESS>

@han032206 Hi! I have checked and there is no multiple redundant requests. (This happened when I first try) My email address is<EMAIL_ADDRESS>
Hi Qinghong, I've tried with your auth token to download the data, and the download looks fine to me. Maybe you can try it again, or just download the data through huggingface and play with it. Also, please note that an updated version of the dataset will be released on Hugging Face soon, so be sure to keep track of the new version to run your experiments accordingly.


Feature request: flag for starting vcperf regardless of previous trace

If there is already a vcperf trace running, you cannot start a new one. This is problematic for scenarios where the trace itself can be interrruputed, like during a scheduled restart.  The output shows a way to shut down the last session, but I would love to avoid jumping through the hoops to find the windows sdk install dir, find the latest version, find tracelog.exe, call it, grep the output to find the name of the previous session, and finally call vcperf  /stop and wait for the trace to save to a file, even if you don't care about it at all. The last session is completely useless to me.
Current:

vcperf /start SessionName
Microsoft (R) Visual C++ (R) Performance Analyzer 2.2.22080401
Starting tracing session AllZoe...
Failed to start trace.
A trace that is currently being collected on your system is preventing vcperf from starting a new one. This can occur if you forgot to stop a vcperf trace prior to running the start command, or if processes other than vcperf have started ETW traces of their own. Please try running the vcperf /stop or /stopnoanalyze commands on your previously started trace. If you do not remember the session name that was used for starting a previous vcperf trace, or if you don't recall starting one at all, you can use the 'tracelog -l' command from an elevated command prompt to list all ongoing tracing sessions on your system. Your currently ongoing vcperf trace will show up as MSVC_BUILD_INSIGHTS_SESSION_<session name that was passed to vcperf /start>. You can then issue a vcperf /stop or /stopnoanalyze command with the identified session name (the part between the angle brackets). If no MSVC_BUILD_INSIGHTS_SESSION_ is found, it could mean a kernel ETW trace is currently being collected. This trace will show up as 'NT Kernel Logger' in your tracelog output, and will also prevent you from starting a new trace. You can stop the 'NT Kernel Logger' session by running 'xperf -stop' from an elevated command prompt.

I'd like a flag I can pair with vcperf /start to throw away whatever state vcperf might already have and whatever session is currently being tracked immediately.
Desired:

vcperf /start SessionName /force
Microsoft (R) Visual C++ (R) Performance Analyzer 2.2.22080401
Found previous session PreviousSessionName. Force option will throw away this trace. If you want to avoid this behavior, remove the force flag.
Starting tracing session SessionName...
Tracing session started successfully!

Probably this would involving adding this flag to TRACING_SESSION_OPTIONS struct

Just making notes incase anyone comes here later -- in powershell, using `Stop-EtwTraceSession "MSVC_BUILD_INSIGHTS_SESSION_*" is waaaaaaay easier


Allow _ prefix in symfony coding standard

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (5f364b9) to head (f23a20a).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff             @@
##                main      #199   +/-   ##
===========================================
  Coverage     100.00%   100.00%
- Complexity       591       592    +1
===========================================
  Files             54        54
  Lines           1828      1833    +5
===========================================
+ Hits            1828      1833    +5

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


v1.0.0

This is a work in progress, it need some fixes and requires a lot of tests.
What's new:

Moved from JS to Typescript (ES6)
Removed legacy JS lib and types definitions
All functions which call the Java bridge use Promises
Added an opt-out option rejectOnUnsupportedFeature {Boolean} which ensure that using an unsupported feature will be rejected. If disabled (default behavior) the function will be resolved
Added deterministic state functions:

enable / disable

setSpeakerphoneOn / setSpeakerphoneOff

enableInSilenceMode / disableInSilenceMode

setActive / setInactive

Added SoundBasePath type which can be 'MAIN_BUNDLE' | 'DOCUMENT' | 'LIBRARY' | 'CACHES' | string
Added SoundOptions interface with rejectOnUnsupportedFeature?: boolean and enableSMTCIntegration?: boolean
Implemented PR #693 #704
Now RNSoundModule.createMediaPlayer will execute the callback error with more explicit messages. Resource not found covered too much errors, this update will give a better view of what's happening exactly. Resource not found remain as last error when the function is not able to determine which action is requested, maybe should we put a better error message. Error payload have also a new key named resource which provide the full path of the fetched file to enhance debugging.

Known issues

when IsAndroid is true predefined directories are undefined using React Native with Expo

Remaining changes:

Updating the documentation
Updating the changelog
Unit tests & CI
Implement PR which are awaiting for approval

This is clearly a braking change and i don't see any reason to continue to support legacy stuff when most of supported versions of RN, by this lib, are not supported anymore. If people are not able to upgrade their dependencies and follow the new standards it's sad but IMO a library must remain updated, they can still use legacy versions of the library if needed.
Feel free to suggest any changes, i need this update then i'll finish it ASAP
To test it in your projects:
Using Yarn: yarn add antoine-pous/react-native-sound#1.0.0
Using NPM: npm install git://github.com/antoine-pous/react-native-sound.git#1.0.0 --save
Usage example
const sound: Sound = new Sound('sound.mp3', 'MAIN_BUNDLE', {rejectOnUnsupportedFeature: true})
sound.isLoaded().then(() => {
  sound.play()
})

Hey @antoine-pous!
Happy that someone takes care here. Are you one of the new maintainers?
Can you already tell a rough time estimation when this can be merged?
Thanks for your effort.

Hey @antoine-pous!
Happy that someone takes care here. Are you one of the new maintainers?
Can you already tell a rough time estimation when this can be merged?
Thanks for your effort.

@pawelsas I'm not a maintainer, actually o need some help to test everything and see how to implement CI.
I'm new to React Native then many things remain a bit hard to understand.
Feel free to use it following instructions and report any issue directly on this PR, I'll check about them ASAP :)

@pawelsas I'm not a maintainer, actually o need some help to test everything and see how to implement CI.
I'm new to React Native then many things remain a bit hard to understand.
Feel free to use it following instructions and report any issue directly on this PR, I'll check about them ASAP :)

@antoine-pous really cool! I haven't looked in the implementation details yet. Are you planning to update the preloading and memory handling on Android as well? After some research I noticed that audio preloading and/or playback will fail at some point when you either preload to many sounds or play too many sounds within one session.

@antoine-pous really cool! I haven't looked in the implementation details yet. Are you planning to update the preloading and memory handling on Android as well? After some research I noticed that audio preloading and/or playback will fail at some point when you either preload to many sounds or play too many sounds within one session.

I never reached it, then i don't know how to deal with it :')

I never reached it, then i don't know how to deal with it :')

Thank you Antoine for your amazing work. It looks like a very good start for keeping react-native-sound.
@pawelsas do you have any demonstration of memory failure when loading too many sounds?

@RomualdPercereau I've not updated this PR since a while, but I think it will be more easy to fix any issue now. My project moved from RN to UE4, but don't hesitate to ping me if you need some help for fixes :+1:
I hope this PR will ensure the future of this package :)

Thank you @antoine-pous, your work is a very good start for the next versions. I moved it in a new branch : https://github.com/zmxv/react-native-sound/tree/1.0.0.
I was wondering why, the functions not related to a specific sound like: enableInSilenceMode, setMode were in the Sound class? So I moved them outside the class to be able to use them globally, also changed Sound to default export. (https://github.com/zmxv/react-native-sound/commit/199f2dade65bab60e6e56608334739fd229eddb9)
It should probably be the same for setSpeakerphoneOn and setSpeakerphoneOff do you have a clue to avoid these functions to be related to a sound?
The new usage would be:
import Sound, { enableInSilenceMode } from "react-native-sound"

const sound: Sound = new Sound("test.mp3", "MAIN_BUNDLE")
sound.isLoaded().then(() => {
  sound.play()
})

enableInSilenceMode()

Maybe should it be better to wrap those functions in Sound class and move tracks in a Track class, then into the Sound class you maintain a map of the whole loaded sounds and everything can be managed from the Sound class :)

Yes, could be a way to have a dedicated namespace for these functions. It could give this kind of implementation. I don't know if Sound should be default in that case? @antoine-pous
import Sound, { Track } from "react-native-sound"

const track: Track = new Track("test.mp3", "MAIN_BUNDLE")
track.isLoaded().then(() => {
  track.play()
})

Sound.enableInSilenceMode()


[MWPW-158235] Simplified Pricing Cards

Fixes following issues|Adds following features:

Issue/Feature 1
Implements a new block according for the new home page. Contains simplified functionality of existing pricing cards
Resolves: https://jira.corp.adobe.com/projects/MWPW/issues/MWPW-158235

Steps to test the before vs. after and expectations:

Steps for feature 1
View the page on multiple resolutions (mobile, tablet, 1200px and 1400px ) to verify that page matches design closely.
Verify that the hide/ show buttons on mobile and tablet work.

https://www.figma.com/design/N0XjA0g5nLso8M9u1mKCwr/Homepage?node-id=3824-48983&node-type=frame&t=OKFfeV1JVzBGhl0j-0
Pages to check for regression and performance:

https://simplified-pricing-cards--express--adobecom.hlx.page/drafts/echen/pricing-cards-simplified

Pretty solid. A few small nits for Milo.
One other thing I notice, under 600 there is an accordion behavior suggested in the UI but no expand/contract action happens. In the screenshot you can see one is open and the other closed but both are open.

Hey Brad, I think I discovered that issue a few minutes after re-requesting the review. I've fixed it just now and imported the milo variables


Connections with LDAP in all requests?

Hi,
the component makes connections with LDAP in all the requests??
In a simple project, before the login with LDAP, all the requests and pages changes are immediate and the time are in ms.
When I do the login, LDAP slow to respond about 1.5~2 seconds, wich it´s normal.
But after the login, when the user it´s authenticated, response time in any request (change from /page1 to /page2 for example) it´s the same as login.
So, if you have already logged, why the component makes connections with LDAP? This causes all requests response time increments in 1,5 seconds...
Thanks!

This is a configurable option. Do you have auto_connect set to true? This will automatically connect to your LDAP server on every request.

Yes, I'm sure it's set as true because when I installed the component, I saw this option and I remember when putting it to false it's return a exception...
Don't remember what exception and where, because I'm not at work now, but tomorrow I'll try again...
Thanks!!

Hi again,
I tried and this works almost completely.
I changed auto_connect = false and added in my middleware (explained here) at the top \Adldap::connect('default'); and the login works well.
Unique problem at this moment it´s that bind_user_to_model don´t work and Auth::user()->adldapUser is null.
If I set auto_connect = true again, Auth::user()->adldapUser contains the user with all the attr of LDAP...
Thanks as always!

This is intended. auto_connect needs to be true for the bind_user_to_model option. I'll add some documentatiin clarifying this. Thanks for following up, and no problem at all! :)

Umm, this is a problem for me..
So, if I want attributes, I have to sync them...
It's possible to process attributes before save them in database?
For example, if I want get the user photo, I prefer save a string in base64 in the database, instead a content in a blob column and convert always I need... Any form to do this?

It's possible to process attributes before save them in database?
For example, if I want get the user photo, I prefer save a string in base64 in the database, instead a content in a blob column and convert always I need... Any form to do this?

Definitely. There's two ways you can do this.
Sync Attribute Callback
https://github.com/Adldap2/Adldap2-Laravel#sync-attribute-callbacks
// config/adldap_auth.php

'sync_attributes' => [
    'name' => 'cn',
    'photo' => 'App\Handlers\LdapAttributeHandler@photo',
]

namespace App\Handlers;

use Adldap\Models\User;

class LdapAttributeHandler
{
    public function photo(User $user)
    {
        return base64_encode($user->photo[0]);
    }
}

Extending the AdldapAuthUserProvider.php
https://github.com/Adldap2/Adldap2-Laravel/blob/master/src/AdldapAuthUserProvider.php#L103
use Adldap\Models\User;
use Adldap\Laravel\AdldapAuthUserProvider;

class MyAdldapAuthUserProvider extends AdldapAuthUserProvider
{
    protected function handleAuthenticatedWithCredentials(User $user, $model)
    {
        $model->photo = base64_encode($user->photo[0]);

        $model->save();
    }
}

I'm very clumsy...
Sorry, I read the documentation when I started using the library and I forgot the "Sync Attribute Callback"... :sweat:
I have to re-read again and again the documentation...
I´ll try the callbacks, I thinks it´s better to control the changes that extending the classes...
Thanks as always for pointing me to the right way...
And of course, for the library. Your work it´s superb, always thinking on the users (adding callbacks or with super useful features such import users...)
Thanks so much! :wink:

No problem at all! Please don't hesitate to create further issues if you encounter any, thanks!


SSR load executed twice: once on server, once on client after build

Please provide the environment you discovered this bug in.
node: 20.11.1, Apple M1 Max, analogjs 1.8.2
Which area/package is the issue in?
vite-plugin-nitro
Description
Project Setup
scaffold with option: "Full-stack Application"
npm create analog@latest
cd analog-project

index.page.ts
import { Component } from '@angular/core';
import { toSignal } from '@angular/core/rxjs-interop';

import { injectLoad } from '@analogjs/router';
import { load } from './index.server'; // not included in client build

@Component({
  selector: 'app-home',
  standalone: true,
  template: `

Hello: {{data().hello}}

  `,
})
export default class HomeComponent {
  data = toSignal(injectLoad<typeof load>(), { requireSync: true });
}

index.server.ts
import { PageServerLoad } from '@analogjs/router';

export const load = async (pageServerLoad: PageServerLoad) => {
  await new Promise((resolve) => setTimeout(resolve, 5000));

  return {
    hello: 'world',
  };
};

Please provide the exception or error you saw
npm run dev

1. xhr request to load is *not* visible in chrome dev tools. (correctly ssr'ed)

```bash
npm run build
cd dist/analog
node server/index.mjs

xhr request to load is visible in chrome dev tools. was pre-rendered with default vite.config.ts. Then, when the page completed on client, it requested "load" again.

# updating vite.config.ts to https://github.com/analogjs/analog/pull/1379/files
# so site is 100% ssr'ed
npm run build
cd dist/analog
node server/index.mjs

xhr request to load is visible in chrome dev tools. was ssr'ed meaning server executed load, then the client refreshed by calling load again on the client.

### Other information

example:
https://www.improvingstartups.com/startupwiki/
home page is ssr'ed and xhr request to `/api/_analog/pages/-index-`  is unexpected .

### I would be willing to submit a PR to fix this issue

- [ ] Yes
- [X] No

@leblancmeneses any additional findings here?

@brandonroberts, I haven't looked yet. The earliest I can look at this is after December ~3rd. Could you give me till the 6th to get back to you?

@brandonroberts  I looked at the project today because I started another analogjs project 🎉🎉🎉.
Here is a demo setup of the problem.
https://github.com/leblancmeneses/analog-bug-1383/pull/1
It does look like the project regressed because on #1396 it used to work for prod build without basehref, however, now it does not.
I added some log statements in the area  #1396 edited and noticed that on client  const baseUrl = injectBaseURL();
baseUrl is null while import.meta.env.BASE_URL shows the correct value inside requestContextInterceptor.
It might be a good time to start those YouTube videos : ].

I took a look at the demo setup and it works correctly if you omit the VITE_ANALOG_PUBLIC_BASE_URL
pnpm run build --baseHref='/basehref/'
NITRO_APP_BASE_URL="/basehref/" node dist/analog/server/index.mjs

Navigate to http://localhost:3000/basehref/ and no HttpClient request is made initially.

@brandonroberts Thank you for looking into this!  Unfortunately, the current provided solution doesn't address the issue in this case. Using the documented approach for setting the baseHref and not prerendering / results in two API requests being made, which is not the desired behavior.


Use JSONSchema4TypeName as datatype for type property

Title says it all. See also https://github.com/terrestris/geostyler-data/pull/25

Nice. Lets just wait until the new version of the geostyler-data with the relevant changes is released. So we can include the version update in this PR.

thx for review.


[FEAT] :sparkles: Add a signup and login page

Description
Description
create a signup and login page
Design Link
https://www.figma.com/file/Rs1m6fds2FcKauKOhhqfyz/MultiEmail?node-id=0%3A1
Anything else?
Anything else?
No response

completed in #45


Should observers receive their dependents as arguments, like computed already does?

@observes('foo')
bar(foo) {
  // use foo
}

No they shouldn't. Because observers are sync, when one uses them one likely should also use a ember.run.scheduleOnce. If we get automatically, we will force sync consumption

Right, forgot about that.

@stefanpenner Can you elaborate on your answer a little?  I think you are saying that observed properties should be accessed after the run loop is over, in case the value changes again later in the run loop.  Is that the right idea?


unicode character not appearing in tasklist

I'm getting 2 empty boxes instead of a ► in the task list (I think U+25BA or U+25B6). The font is Liberation Sans for both the tab font in Chromium and for the task list

You almost got the answer yourself.
Liberation Sans simply doesn't have those characters. It will work with every font that contains those chars.

Interesting. I'm running older jwm-2.3.2 with DeJavu Sans and I get the
arrow char plus another empty char.
On Sun, Oct 16, 2016 at 8:01 AM, Matthias Lisin<EMAIL_ADDRESS>wrote:

You almost got the answer yourself.
Liberation Sans simply doesn't have those characters. It will work with
every font that contains those chars.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/joewing/jwm/issues/337#issuecomment-254013753, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AA-M74Qg8qYMvRHtGIOHQt2VASkTyGn7ks5q0U0igaJpZM4KX0Yd
.

Screenshot

@ml- Chromium's tab title is using Liberation Sans... so... where is that arrow coming from then, if not the font? Another font?

@ml-  I'm looking at Liberation Sans in KCharSelect...  25B6 and 25BA are present

@ml- I think you may be right. 23F5 is a black right pointing triangle that is missing from the font.
I'm guessing Chromium must have a Unicode fallback font for missing glyphs then. Otherwise, how to explain the triangle in Chromium's tab title? It is using Liberation Sans as the font

I think this should be fixed now.


ValueError: Expected input batch_size to match target batch_size when running fcn8 on Pascal

Hi! I'm trying python train.py with default settings on the Pascal dataset with fcn8. After 1000 iterations I get the following error:
Traceback (most recent call last):   File "train.py", line 229, in <module>     train(cfg, writer, logger)   File "train.py", line 159, in train     val_loss = loss_fn(input=outputs, target=labels)   File "/pytorch-semseg/ptsemseg/loss/loss.py", line 24, in cross_entropy2d     input, target, weight=weight, size_average=size_average, ignore_index=250   File "/anaconda3/lib/python3.6/site-packages/torch/nn/functional.py", line 1550, in cross_entropy     return nll_loss(log_softmax(input, 1), target, weight, None, ignore_index, None, reduction)   File "/anaconda3/lib/python3.6/site-packages/torch/nn/functional.py", line 1405, in nll_loss     .format(input.size(0), target.size(0))) ValueError: Expected input batch_size (183000) to match target batch_size (187500).
What could the problem be?

hello i'm facing the same issue. did you find any solution ?

I'm facing the same issue. Did you find any solution?


Add iot-hub tutorial-device-twins code samples on C#

Could you add C# samples, not only javascript. It will make our live a bit easier.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 014fa2f5-e835-6ee6-896a-2e5eb5b201db
Version Independent ID: 250e7610-ddb1-e4bf-0308-f29ad9fb9848
Content: Synchronize device state from Azure IoT Hub
Content Source: articles/iot-hub/tutorial-device-twins.md
Service: iot-hub
GitHub Login: @dominicbetts
Microsoft Alias: dobett

@SychevIgor Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

#please-close

@dominicbetts I hope it was a joke about nodejs.

So about those samples ?
@Sychevlgor how can you create samples for nodejs before c#.


Download SBOL loses nested annotations

When downloading the SBOL, nested annotations are not returned.

Fixed issue in sboljs.  Ensured it grabbed the annotations it could find.


Console not working after latest steam update

Hi and thanks for this app, it's great. After the last steam update p2p info no longer activates the console. It can be manually opened using steam://open/console so we still have access to it. Any suggestions on a fix or work-around? It's not a big issue and I can still do it manually, I'm just lazy and want u to do more work :) Thanks again!

It only happened once to me, the very first time. I think I simply closed and reopened the application and it worked correctly, then (and the subsequent times too, through multiple days).

hmm. I have to manually do it every time steam closes.

Mods u can close this thread. Something must have been up with my steam. After a windows restore to before the steam update, then update- It's been working every time (5)


Add RAY_DYNAMIC flag to make static compiling optional.

Total Pascal rookie here.
I'm using this to hotswap code in a running application, I can open a PR to add it as an example if you're interested.

thank


Crash after updating to 2.18

Happens a few seconds after world starts loading. Seems to be related to Ender IO Conduits
https://paste.dimdev.org/ewefatuvek.mccrash

this is basically a duplicate of #572.

Fixed! Will upload to CF shortly :)


Need SQL support for training/ inference from ML.NET

Model Builder Version: In which Model Builder version was the bug encountered?
Visual Studion Version: In which Visual Studio version was the bug encountered?
Bug description
A clear and concise description of what the bug is.
Steps to Reproduce

List the minimal steps required to reproduce the bug.
Thanks for reporting!

Expected Experience
A description of what you expected to happen. If applicable, add screenshots or "Machine Learning" Output Logs to help explain what you expected.
Actual Experience
A description of what actually happens. If applicable, add screenshots or "Machine Learning" Output Logs to help explain what actually happened.
Additional Context
Add any other context about the problem here, such as unusual system configurations, network restrictions, etc.

There's no information in the description, can you give more context?


Add rate limiting crowbar

Some kind of mechanism needs to be implemented to rate-limit the API to prevent e.g. infinite loops. Something like, if more than 1000 OCR or translation requests go through in a minute, crash the app with a dire warning to the user.

Done, for now - needs improvement.


Possibility to replace Hub with no need to re-configure everything? (UUID in cachedAceessories)

Hello,
my Harmony Hub in the living room got defect and I want to go to replace it with a new one. Using the MyHarmony software it will be easy to restore the Logitech Harmony configuration on the hub.
But for the homebridge-harmony plugin the new hub will show up with a new UUID.
Which steps would be necessary to make homebridge-harmony plugin think, that the new hub is the same one as the old and so that I don't have to reconfigure everything in Homekit?
Would following be enough?

stop homebridge
replace old UUId in file "cachedAccessories" with UUID of the new Hub
start homebridge

I currently don't have received the new hub, therefore I can't test it.
I would thank you very much, if you could help me!

Hi, this plugin is a static platform with no cached accessory in homebridge itself.
From what I know, the uuid of the devices is built by a combination of homebridge uuid, and name of the service which is itself constructed from the name of the hub/ ip / name of the activity / inputs  (and devices).
Everything is built at startup so if you replace with the exact same config the hub it should be ok , but never really tried so no guarantee :)
This
Sent with GitHawk


Do not active Replace mode when press ctrl+f to call Find

keep it as it is！！！
I always press Enter to search next one after press ctrl+f.
now,this action will replace my keyword to nothing.
do some human affairs！！！

版本: 1.67.2 (user setup)
提交: c3511e6c69bb39013c4a4b7b9566ec1ca73fc4d5
日期: 2022-05-17T18:15:52.058Z
Electron: 17.4.1
Chromium: 98.0.4758.141
Node.js: 16.13.0
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.19043

press CTRL+F,
Replace will active and replace's input be focus,
press Enter,
replace first matched to nothing and goto next match.
Replace mode is not activated until update to new version.
This update has caused users to change their operating habits.

sorry,I think it not vscode's problem.
I readed EclipseKeymap plugin's change log just now.
it's all its fault.
I'm so sorry for that.

sorry,I think it not vscode's problem. I readed EclipseKeymap plugin's change log just now. it's all its fault. I'm so sorry for that.

It's okay. All the best with your findings.


Initial prep work for custom tags for drafted docker images

This PR adds the latest tag to the docker image. This is useful because latest is a floating tag and will allow users to reuse the image outside the context of a draft up invocation if needed.
This PR also makes image names a plural which is needed to fix #541.
Ref #541 but does not fix it yet.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: thedrow sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Currently this is what I need to continue working. I'd love to help out more but I'd need some guidance through the code base to do so.
I'm also not sure this is the right fix. So I'd appreciate a code review.

I just tested this and found the image push step going from a 16 second push (at best) to a 32 second push. I mentioned that there's some limitations with Docker and pushing duplicate image layers to the registry in https://github.com/Azure/draft/issues/432#issuecomment-355611968, so while normally this would be a great feature, it looks like this particular fix will hit performance in a significant way.
Given that we're trying to make performance improvements for the base case, I'd prefer not to go ahead with this change as is. That being said, if you can figure out a way to make the image push on identical layers much quicker, I'd be all for this!

That's very surprising. If you try to do same from the docker CLI you don't get such a performance degradation.
The fix for #541 involves a lot more code but it could make pushing additional image tags optional.
if you could guide me through the necessary changes, I'd be happy to fix the issue entirely.
First of all, we need to be able to pass multiple tags on the command line. I'm also guessing that UpReqest should be modified. What else am I missing?

Hey @thedrow! Thank you so much for the PR. Given this PR significantly affects performance for the base case and is enabled by default, we cannot accept it as is. With that in mind, I'm going to close this PR, but this does not mean we are saying "no" to this feature; just not in it's current form. :)
If this was somehow made as an opt-in feature, that would be fine!
The infrastructure was changed quite significantly in #573, so this PR will also require a significant amount of work to be rebased.
If you feel like making this an opt-in feature and have it ready for another review, please feel free to either re-open this PR or open a new one.
Thanks!


Add TorchShard

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (506bda2) to head (b5dfb31).

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #46   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           32        33    +1
  Lines          622       651   +29
  Branches        45        47    +2
=========================================
+ Hits           622       651   +29

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Feature - Allow SilverStripe attributes to be reset by AD

Attributes missing from AD are not reset by the module, which can
be a business case. This feature adds the ability for attributes
to be reset if they are not present in the LDAP source data but
present in the mapping.
This feature is opt-in as it's destructive.

Closing this in favour of #3.


Sidebar autoclose on turbolinks fixed. close #718

It's a very simple yet effective fix which prevent events on document fire more than once when using Turbolinks or similar tools.
Fixes #718, #328

@almasaeed2010 Can you please release a bugfix version which contains this PR ?


Improvements to the README.md

Added

Add MIT license disclaimer to README.md.
Add Circle CI badge to README.md.

Changed

Inherit rustPkgs attribute in default.nix. This was done so the instructions in the README.md will still work.
Update README.md to reflect recent API changes since 0.4.0.

Alright, pull request is ready for review!


Progress Bar not available.

Checking out the latest docs, looks like the Progress Bar has been removed.

Yeah, I am also a bit confused by this. It's not available in the code base anymore? Can't find a deprecation notice anywhere...


pull request

#23
This newer pull request make safechecker to false by default

@gXLg too bad that villager pathfind ignore trapdoor :(

No, I am using my own pathfinding


Create integration tests for grpc resolvers on GCE DNS

This adds tests for ability of grpc resolvers to resolve SRV records on GCE DNS private zones. These tests have been running successfully for a while on jenkins (see https://grpc-testing.appspot.com/job/gRPC_naming_adhoc/). This adds one-time environment setup scripts, a test runner, and the c-core test.
The setup scripts try to create a consistent test environment (populate a GCE DNS private zone with test records), meant for use as follows:
Note: tools/run_tests/name_resolution/dns_records_config.py is the source of truth for all test records, with test records as python objects.

tools/gce/create_private_dns_zone.sh creates an new/unpopulated GCE DNS private zone - meant for one-time use for GCE environment setup.

tools/gce/private_dns_zone_init.sh initializes the GCE DNS private zone with DNS A/AAAA/SRV records - also meant for one-time use.

tools/run_tests/run_name_resolution_tests.py sanity checks the test environment (checks that expected records are present using dig), and then runs the language-specific resolver tests.

The language-specific tests take either a starting A/AAAA record in GRPC_DNS_TEST_A_RECORD_NAME or an SRV record in GRPC_DNS_TEST_SRV_RECORD_NAME, and expected end result IP/ports in GRPC_DNS_TEST_EXPECTED_ADDRS, and verifies that resolved IP/ports match expected.
e.g., if GRPC_DNS_TEST_SRV_RECORD_NAME is set, then the result of first resolving the SRV record, and then resolving the pointed-to A/AAAA record, should match expected IPs.

adding @jtattermusch for overall additions of build/test scripts.
adding @y-zeng for review of test/core/naming_end2end/resolve_srv_records.c (with it's invocation in https://github.com/grpc/grpc/compare/master...apolcyn:cares_srv_master?expand=1#diff-6c4c6dfee80b3f8dcc6b1edf52d055ebR97)
cc @a11r

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

Thanks a lot for adding this test!
cc @markdroth

One problem with this approach is that it depends on GCE DNS, which means that the test is nor hermetic.
I recently discussed a better approach with @nicolasnoble, which was to change the port server to run a local DNS server via some python DNS server module, and then point at that DNS server to run the tests.  Can you work on putting together something like that instead?

One goal here though was to specifically test the resolver's integration with GCE DNS - sacrificing the test being hermetic for the purpose of testing against real GCE DNS.
Perhaps we'd want both? - the GCE-specific integration test and ability to use a local DNS server?

I am fine with having both, but I don't think we can run the GCE DNS test as part of our automated test suite -- I think it would have to be something that we run manually.  @nicolasnoble can tell you more about this.

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

BTW, it looks like the local DNS server tests and this test can share a lot of the same code, I'll keep them as separate PR's, but will probably soon revise this fit with the local DNS server tests.

closing this, to replace it with https://github.com/grpc/grpc/pull/12651


fixed vanilla 1.9 descriptions

made descriptions work with vanilla 1.9 (1.9.2 to be exact)
added description_clean which should be without tags or formatting codes
cleaned up readme markdown

Hello!
I just wanted  to say hi and  show you some  stuff I've recently come across, check  it out http://thifatroshi.micro-employment.com/e7gqn
Bests, julian.spr


캐릭터가 땅을 파고 내려가요

Every time I slide, I want to put a RIP on it

How could you say such harsh words...


How do we use it after?

How do I implement this afterwards?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: f2cbd0d4-c297-554c-0e0f-def975d41458
Version Independent ID: 5489b81f-87e3-90a5-755e-59f2d673e526
Content: Use bookable resource as a pricing dimension
Content Source: articles/psa/bookable-resource-pricing-dimension.md
Service: dynamics-365-project-operations
GitHub Login: @rumant
Microsoft Alias: rumant

@sarahjoanne - Thank you for the question.
@rumant - Can you please take a look and address this question? Thank you!


fix(CI): use the repo URL as source of truth for plugin's owner

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design

/kind documentation

/kind failing-test

/kind feature

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area plugins
/area registry

/area build

/area documentation

What this PR does / why we need it:
fix(CI): use the repo URL as source of truth for plugin's owner
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: alacuku, leogr
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [leogr]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: f41d225c0eefc499c53f674ee3a2c8c416e9fe6d


Consider loading syrupy early

I ran into an issue with pytest-homeassistant-custom-component, https://github.com/MatthewFlamm/pytest-homeassistant-custom-component/issues/198.
Would it be worthwhile to add -p syrupy here?

Interesting, I hadn't come across this before.  Thanks for bringing it to my attention. This seems like a fine workaround for now.

https://github.com/boralyl/cookiecutter-homeassistant-component/commit/2272ae764843d1361544dea94b526e196443aedf


Switch to atomic-waker

Submission Checklist 📝

[x] I have updated existing examples or added new ones (if applicable).
[x] My changes were added to the CHANGELOG.md in the proper section.

Extra:

[x] I have read the CONTRIBUTING.md guide and followed its instructions.

Pull Request Details 📖
Description
See the discussion in #561

have you actually benchmarked this? I'm a bit skeptical this will be faster, since it does a few complex atomic CAS operations.

I haven't yet, I plan on doing some rough benchmarking tomorrow. On single-core SoC's this will most likely be a bit slower, but not taking an all-core global lock (even for a short period) should be beneficial for the multicore SoCs, but we'll see tomorrow.
Another reason to switch was based on this discussion: https://github.com/esp-rs/esp-hal/issues/561#issuecomment-2053974295.

I don't have time to work on this currently so I will close this for now.


[Compute] az vm/vmss create/update: Expand validate license types for --license-type parameter

Feature request: #20667
Description

Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change.
[Component Name 2] az command b: Add some customer-facing feature.

This checklist is used to make sure that common guidelines for a pull request are followed.

[x] The PR title and description has followed the guideline in Submitting Pull Requests.

[x] I adhere to the Command Guidelines.

[x] adhere to the Error Handling Guidelines.

Compute


Add integration test cases for setting SAM_* Environment Variables

Describe your idea/feature/enhancement
Additional Details

PR is merged. This is just tests so no need to wait for a release before closing.


Text rendering

Mainly the integration of https://github.com/tangrams/fontstash-es, with some really basic label logic in order to draw something.

Added the font rendering library and two .ttf fonts for testing
Created a font style to draw some labels and test the fonts rendering, for now only some roads
Added the shaders used for fonts, which is needed by the texture transform feature to have one draw call for a group of labels that don't share the same transforms

You even added tests, awesome! Looking forward to getting this merged.
Are the fontstash files the same as those in the fonstash-es repo? Would that project benefit from the changes you've added here? I don't know if it makes sense, but it would be cool to keep fontstash-es as updated and self-contained as possible so others could use it in a similar way (especially since that repo had some outside interest).

Yeah that's what I was talking about with @tallytalwar , we probably need to make a submodule for it to keep track of the changes!

Branch ready for reviews after a refactoring and the merge of lights, it just needs some more comments and a safe exit.

Labels don't seem to be deleted properly when tiles are removed (or possibly tiles aren't being removed when they should be)

@blair1618 , yeah this issue is visible because the tile are not yet deleted, to solve this we could not display labels when the view and the tile labels are too distant in term of zoom levels.

Yeah I'm pretty sure that this is an issue with tile management, not label management. I'm guessing we overlooked some edge case in proxy tile management, I'll see if I can find it.

@karimnaaji Is it unsafe to call removeLabels() on a tileID that hasn't had labels added? It gave me a SIGABRT for freeing a free pointer

This should be safe. I wasn't able to reproduce, where did the SIGABRT happen exactly?

http://pastebin.com/0bYhqdLt
I'll try to reproduce it from xcode


Automate dependency management and CODEOWNERS

Background

This PR enables Renovate to automate dependency management for the repo. If also addresses an issue where dependabot PRs could not be packaged due to invalid characters being supplied in the version number and updates CODEOWNERS to @OctopusDeploy/team-cloud-platform.
[sc-34522]
Quality :heavy_check_mark:

Pre-requisites

[ ] I have referenced this pre-release build of sumo-azure-function in a CloudPortal branch for E2E tests (All 3 Azure Function Package URLs)

Not necessary - there are no code changes

[ ] I understand the process for rolling out new Sumo Azure Functions for NSG Flow Logs
[ ] Are you adding a new dependency?

[ ] Ensure the dependency will be detected by Renovate or document it as an exception in Dependency Management

Following this PR we need to update https://github.com/OctopusDeploy/hosted-docs/blob/master/dependency-management/README.md#dependencies-exempt-from-automatic-updates


Throw IllegalStateException for @Max on String type

perhaps it would be better if we did it at compile time?

Replaced by #123