Skip to content

Fix: give demo widget pages their own stamps so cached pages are not reused - #527

Merged
SandObserver merged 1 commit into
mainfrom
fix/demo-widget-cache
Oct 20, 2026
Merged

SandObserver merged 1 commit into
mainfrom
fix/demo-widget-cache

Conversation

@SandObserver

Copy link
Copy Markdown
Owner

Summary

  • Restamp every widget page in the recorded GET /api/widgets answer (entryVersions) with a hash of its content, so the static demo serves widget pages at addresses the image never used.
  • Stop the build when the widget list was not recorded, lists no stamped page, names a page missing from the web root, or a page keeps the image's stamp.
  • Record the widget page addresses the container's dashboard loads, and fail verification when the static demo loads any of them or loads no widget page.

Testing
All green. Added 2 tests for restamping; with one browser profile, the image then the current build gave 10 widget API 404s, and the image then this build gave none.

Changelog

Checklist

  • Stays within the project constraints: one container, no runtime dependencies, no build step (see CONTRIBUTING.md).
  • Tests added or updated for new logic, and the full suite, lint, and typechecks pass.
  • Docs updated if behavior or configuration changed.

The image serves stamped widget pages as immutable for a year. The static
demo changes those pages, so a browser that had visited the image kept the
cached pages without the replay script and every widget request failed.
The build now restamps each widget page in the recorded widget list, and
verification fails when a widget page keeps the image's address.
@SandObserver SandObserver added the bug Something isn't working label Oct 20, 2026
@SandObserver
SandObserver merged commit 1ed3d65 into main Oct 20, 2026
6 checks passed
@SandObserver
SandObserver deleted the fix/demo-widget-cache branch October 20, 2026 19:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant