Bug 245866
| Summary: | Safari 16 issuing requests twice with navigationPreload enabled | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Alex <vagulisal500> |
| Component: | Service Workers | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED DUPLICATE | ||
| Severity: | Critical | CC: | achristensen, ap, webkit-bug-importer, youennf |
| Priority: | P2 | Keywords: | InRadar |
| Version: | Safari 16 | ||
| Hardware: | iPhone / iPad | ||
| OS: | iOS 16 | ||
Alex
When I using navigationPreload.enable(), Safari 16.x on macOs and all browser on ios16.x make two requests
Here is my code:
const uri = 'https://uri';
self.addEventListener('activate', event => {
event.waitUntil((async () => {
if (self.registration.navigationPreload) {
await self.registration.navigationPreload.enable();
}
})());
});
self.addEventListener('fetch', (event) => {
const request = event.request;
if (request.mode === 'navigate' && request.destination !== 'iframe') {
event.respondWith((async () => {
try {
return await event.preloadResponse || await fetch(request);
} catch (e) {
const response = await fetch(uri);
if (response.ok) {
const text = await response.text();
const body = decode(text);
return new Response(body, { headers: { 'Content-Type': 'text/html' } });
}
}
})());
}
});
function decode(str) {
return decodeURIComponent(
some code
);
}
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Alex
this is minimal reproducer
self.addEventListener('activate', event => {
event.waitUntil((async () => {
if (self.registration.navigationPreload) {
await self.registration.navigationPreload.enable();
}
})());
});
self.addEventListener('fetch', (event) => {
const request = event.request;
event.respondWith((async () => {
return await event.preloadResponse || await fetch(request);
})());
});
Radar WebKit Bug Importer
<rdar://problem/100639064>
youenn fablet
Thanks for the report.
I believe this was fixed in https://bugs.webkit.org/show_bug.cgi?id=245788.
youenn fablet
*** This bug has been marked as a duplicate of bug 245788 ***