Skip to content

Emergency revert to monolith + SW killer (site is down)#31

Merged
Varnasr merged 1 commit into
mainfrom
claude/revert-to-monolith
May 27, 2026
Merged

Emergency revert to monolith + SW killer (site is down)#31
Varnasr merged 1 commit into
mainfrom
claude/revert-to-monolith

Conversation

@Varnasr
Copy link
Copy Markdown
Owner

@Varnasr Varnasr commented May 27, 2026

Emergency revert — site is down

The v3.0.0 Tailwind/monolith split (PR #28) broke the site. PRs #29-#30 couldn't fix it because the service worker cached the broken HTML and the CDN lagged behind the fixes.

What this does

  • Restores the working v2.6.0 monolithic index.html (205KB, inline JS, Tailwind CDN) — the last version that worked
  • Adds an inline SW-killer at the top of <body> that unregisters all service workers and deletes all caches on page load. This runs even from cached HTML because 'unsafe-inline' is in the CSP.
  • Removes split artifacts: app.js, styles.css, src/inline.css, tailwind.config.js, package.json, package-lock.json
  • Keeps useful additions from the v3 era: og-preview.png, manifest.json, ROADMAP.md, .github/workflows/validate.yml (updated for monolith), sw.js (self-destruct stub)

Why

The monolith split needs to be done without a service worker in the same PR. Shipping both at once created an unrecoverable state: broken HTML cached by SW → user sees broken page → can't get fix because SW serves cached content → fix can't propagate.

Test plan

  • Site loads (the main thing)
  • Dark mode toggle works
  • All tabs render
  • No service worker listed in DevTools → Application → Service Workers (killed by inline script)

Generated by Claude Code

The Tailwind precompile + JS extraction (PR #28) introduced a
script-order bug and a service worker that cached the broken HTML.
PRs #29-#30 tried to fix it but the CDN lag + stuck SW cache made
the site unrecoverable without manual DevTools intervention.

This commit restores the working v2.6.0 monolithic index.html
(205KB, inline JS, Tailwind CDN) and adds an aggressive inline
SW-killer script that:
- Unregisters all service workers
- Deletes all caches
- Runs immediately on page load (even from cached HTML)

Split artifacts removed: app.js, styles.css, src/inline.css,
tailwind.config.js, package.json, package-lock.json.

Kept from the v3 era: og-preview.png, manifest.json, ROADMAP.md,
.github/workflows/validate.yml (updated for monolith), sw.js
(self-destruct stub).

The monolith split is a good idea but needs to be done without
a service worker in the same PR. Deferred to a future pass.
@Varnasr Varnasr merged commit 44da8d6 into main May 27, 2026
1 check passed
@Varnasr Varnasr deleted the claude/revert-to-monolith branch May 27, 2026 15:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants