Bug 232195

Summary: [iOS] AVAssetResourceLoadingRequest.request does not include a Range: header on iOS 15.
Product: WebKit Reporter: Jer Noble <jer.noble>
Component: MediaAssignee: Jer Noble <jer.noble>
Status: RESOLVED FIXED    
Severity: Normal CC: achristensen, adamjamesstevens, calvaris, cdumez, changseok, darin, dustin.kerstein, eric.carlson, esprehn+autocc, ews-watchlist, glenn, gyuyoung.kim, japhet, philipj, sergio, simon.fraser, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=232076
https://bugs.webkit.org/show_bug.cgi?id=233836
Attachments:
Description Flags
Patch
none
Patch for landing
none
Patch for landing
none
Patch for landing
ews-feeder: commit-queue-
Patch for landing none

Description Jer Noble 2021-10-22 21:25:06 PDT
[iOS] AVAssetResourceLoadingRequest.request does not include a Range: header on iOS 15.
Comment 1 Jer Noble 2021-10-22 21:26:08 PDT
<rdar://84574375>
Comment 2 Jer Noble 2021-10-22 21:50:46 PDT
Created attachment 442252 [details]
Patch
Comment 3 Darin Adler 2021-10-23 09:14:59 PDT
Comment on attachment 442252 [details]
Patch

I don’t see any tests or expected test results changing here. Can we create a regression test for this?
Comment 4 Jer Noble 2021-10-23 09:25:47 PDT
(In reply to Darin Adler from comment #3)
> Comment on attachment 442252 [details]
> Patch
> 
> I don’t see any tests or expected test results changing here. Can we create
> a regression test for this?

Hm. I was tempted to say no, but perhaps there's some inspector integration that we could use to verify the headers on a Blob request? I'll check.
Comment 5 Jer Noble 2021-10-23 13:16:59 PDT
(In reply to Jer Noble from comment #4)
> (In reply to Darin Adler from comment #3)
> > Comment on attachment 442252 [details]
> > Patch
> > 
> > I don’t see any tests or expected test results changing here. Can we create
> > a regression test for this?
> 
> Hm. I was tempted to say no, but perhaps there's some inspector integration
> that we could use to verify the headers on a Blob request? I'll check.

The inspector tests are apparently Mac-only at the moment. I'll add a test regardless, even though it won't (can't) verify this particular behavior; once Inspector tests can cover iOS, it'll start working.
Comment 6 Alexey Proskuryakov 2021-10-23 13:44:02 PDT
Is this related to developer originated bug 232076 in some way?
Comment 7 Alexey Proskuryakov 2021-10-23 15:02:24 PDT
Or to bug 232174.
Comment 8 Jer Noble 2021-10-23 17:10:14 PDT
(In reply to Alexey Proskuryakov from comment #6)
> Is this related to developer originated bug 232076 in some way?

Yes, this patch is a workaround for the system behavior discovered while investigating bug #232076.
Comment 9 Jer Noble 2021-10-27 13:51:31 PDT
Created attachment 442630 [details]
Patch for landing
Comment 10 Jer Noble 2021-11-01 12:52:44 PDT
Created attachment 443004 [details]
Patch for landing
Comment 11 Jer Noble 2021-11-02 09:13:01 PDT
Created attachment 443098 [details]
Patch for landing
Comment 12 Jer Noble 2021-11-02 11:12:08 PDT
Created attachment 443112 [details]
Patch for landing
Comment 13 EWS 2021-11-03 09:52:35 PDT
Committed r285210 (243836@main): <https://commits.webkit.org/243836@main>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 443112 [details].
Comment 14 Dustin Kerstein 2021-11-04 05:11:36 PDT
I know this is unlikely to be known / allowed to be divulged, but does anyone at Apple happen to know if this fix will find its way into the upcoming iOS / iPadOS 15.2 release? It would be awesome if it could be prioritized given the lag we'll see until the majority of compatible devices get upgraded to that upcoming version. Thanks!
Comment 15 Adam Stevens 2021-11-15 10:45:16 PST
Hey @Jer. 

When you say landed, would you mind explaining what that means? When can we expect the fix to make it the public?

Thanks!
Comment 16 Darin Adler 2021-11-15 11:49:13 PST
Landed means it’s committed in the WebKit open source project.

Apple people here don’t get to announce ahead of time when the changes show up in iOS and macOS. I understand how useful it would be to know that!
Comment 17 Adam Stevens 2021-11-15 13:33:08 PST
Yeah that makes sense :) 

Is there a way we can test it prior to release, or perhaps provide you with a test URL that doesn’t work on the current iOS version?
Comment 18 Dustin Kerstein 2021-12-14 13:06:39 PST
Just gave this a quick spin in the official iPadOS 15.2 release and it doesn't look like it includes this fix. Crossing my fingers in hope that the next update does. I'm not sure how many production sites rely on blob + video, but for those that do, this is a pretty severe breaking bug, and one that doesn't have a really solid workaround for all use-cases.
Comment 19 Dustin Kerstein 2021-12-31 13:48:12 PST
Quick update - Tested on iPadOS 15.3 Beta (19D5026g) and I am able to still replicate this bug.
Comment 20 Adam Stevens 2022-01-07 06:27:32 PST
Is there a possibility of having a timeline on this reaching a point release? It's a critical issue for us.

Thank you!
Comment 21 Dustin Kerstein 2022-01-27 12:49:33 PST
Just another quick update - The final version iPadOS 15.3 does not have this fix.
Comment 22 Alex Christensen 2022-01-27 14:03:25 PST
In case Darin was unclear, there is not a possibility of having a timeline on this reaching a point release.  Apple does not comment on future releases.