chore(html): hmr report should survive reload

This commit is contained in:
Simon Knott 2024-11-20 15:35:15 +01:00
parent 94776ad18a
commit 6f7e41d577
No known key found for this signature in database
GPG key ID: 8CEDC00028084AEC

View file

@ -58,8 +58,20 @@ class ZipReport implements LoadedReport {
const zipURI = await new Promise<string>(resolve => {
if (window.playwrightReportBase64)
return resolve(window.playwrightReportBase64);
window.addEventListener('message', event => event.source === window.opener && resolve(event.data), { once: true });
window.opener.postMessage('ready', '*');
if (window.opener) {
window.addEventListener('message', event => {
if (event.source === window.opener) {
localStorage.setItem('playwrightReportBase64', event.data);
resolve(event.data);
}
}, { once: true });
window.opener.postMessage('ready', '*');
} else {
const oldReport = localStorage.getItem('playwrightReportBase64');
if (oldReport)
return resolve(oldReport);
alert('couldnt find report, something with HMR is broken');
}
});
const zipReader = new zipjs.ZipReader(new zipjs.Data64URIReader(zipURI), { useWebWorkers: false });