WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
261767
REGRESSION (iOS 17): PWA startup "FetchEvent.respondWith received an error TypeError: Internal error"
https://bugs.webkit.org/show_bug.cgi?id=261767
Summary
REGRESSION (iOS 17): PWA startup "FetchEvent.respondWith received an error Ty...
Jesper Bendtsen
Reported
2023-09-19 13:10:38 PDT
Created
attachment 467765
[details]
Screenshot After update to iOS 17, PWA fails at startup. Video, screenshot, diagnose log and access to test env are added to this feedback:
https://feedbackassistant.apple.com/feedback/13188943
Please help, it is very bad for my organization...
Attachments
Screenshot
(103.06 KB, image/jpeg)
2023-09-19 13:10 PDT
,
Jesper Bendtsen
no flags
Details
View All
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2023-09-19 14:44:09 PDT
<
rdar://problem/115747046
>
Alexey Proskuryakov
Comment 2
2023-09-19 14:44:21 PDT
rdar://115740959
Jesper Bendtsen
Comment 3
2023-09-20 22:03:48 PDT
The error happens on both iPad iOS 17 and iPhone iOS 17
Jesper Bendtsen
Comment 4
2023-09-25 11:45:39 PDT
Angular
https://github.com/angular/angular/issues/50378
Matthieu Riegler
Comment 5
2023-09-25 11:49:00 PDT
OSS Angular contributor here, I can provide some insights. The error has been reported first on the framework repo :
https://github.com/angular/angular/issues/50378
The issue can be narrowed down to a call `caches.match` that throws a "TypeError: Internal error" The error OP is reporting is because that error wasn't catched and `FetchEvent.respondWith` failed. I believe the root cause is still on Safari's side with the internal error being thrown by the method call mentioned above. Related workaround PR on Angular's side :
https://github.com/angular/angular/pull/51885/files
youenn fablet
Comment 6
2023-09-26 03:08:51 PDT
Pull request:
https://github.com/WebKit/WebKit/pull/18217
youenn fablet
Comment 7
2023-09-26 09:30:48 PDT
There are several potential issues that can lead to the Internal error case. One of the main issues can probably be worked around by calling self.caches.open() (and then match) instead of doing self.caches.match().
Matthieu Riegler
Comment 8
2023-09-27 05:05:48 PDT
@youenn fablet, I believe caches.open() is already called. cf the constructor:
https://github.com/angular/angular/blob/c7127b98b555449f99e24a81c828ab7b1c6c4a4e/packages/service-worker/worker/src/assets.ts#L71
before the match() :
https://github.com/angular/angular/blob/c7127b98b555449f99e24a81c828ab7b1c6c4a4e/packages/service-worker/worker/src/assets.ts#L137
Michael Hagar
Comment 9
2023-09-27 05:58:00 PDT
I'm seeing a similar error on Desktop Safari 17 for our PWA that is using a service worker to cache JS assets. The fetch fails with "Failed to load resource: FetchEvent.respondWith received an error: no-response: no-response :: [{"url":"<url>", "error":{}}]
EWS
Comment 10
2023-09-27 23:52:29 PDT
Committed
268565@main
(dd68eb88a64c): <
https://commits.webkit.org/268565@main
> Reviewed commits have been landed. Closing PR #18217 and removing active labels.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug