From 12ec0fb2095ebe6aef48e6a0b25baf490818f441 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Vogel?= <104342347+cedricvogel-leo@users.noreply.github.com> Date: Thu, 29 Oct 2026 23:57:13 +0100 Subject: [PATCH] Storage check page for per-tab projects (P25) embed/public/storage-check.html, deployed with the embed at /glpython-editor/storage-check.html - the IDE's origin, so the same storage rules apply. It sets a marker in sessionStorage and in history.state and logs every page load with what survived, to decide on the iPad whether a tab finds its project again after Safari unloads it without the tab id in the address. "?belasten" fills memory so iPadOS unloads background tabs. Not linked from anywhere; no effect on the embed. Co-Authored-By: Claude Opus 5.5 --- CLAUDE.md | 2 +- embed/public/storage-check.html | 125 ++++++++++++++++++++++++++++++++ 2 files changed, 126 insertions(+), 1 deletion(-) create mode 100644 embed/public/storage-check.html diff --git a/CLAUDE.md b/CLAUDE.md index 5764d09..eff1180 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -16,7 +16,7 @@ npm run test:protocol # builds the library, then runs scripts/check-embed-proto npm run test:runtime # the runtime under CPython: scripts/check-runtime-{columns,values,doctests,coverage,calls,hints,fidelity,replay,…}.py npm run test:hints # the error hints' wording (de/en) against the built dist/ (run a build first) npm run test:console # the console in Chrome with Pyodide, against dist-embed/ (run build:embed first) -npm run build:embed # builds the iframe app + demo page into dist-embed/ +npm run build:embed # builds the iframe app + demo page into dist-embed/ (plus embed/public/: coi-serviceworker.js, storage-check.html) npm run preview:embed # serves dist-embed/ with COOP/COEP headers; open /demo.html ``` diff --git a/embed/public/storage-check.html b/embed/public/storage-check.html new file mode 100644 index 0000000..f0f4671 --- /dev/null +++ b/embed/public/storage-check.html @@ -0,0 +1,125 @@ + + + + + +Speicher-Test + + + + +
+ + +