feat(pwa): align the offline page with the permanent colour direction#872
Conversation
Rebuild public/offline.html's visual shell on mirrored Clinical White / Aegean Graphite tokens (annotated with their source token names), moving the canvas to pure white, aligning text/border/hover values, adopting the system UI font stack, and switching the focus ring to the clinical-accent focus token. Privacy copy, structure, forced-colors behavior, safe-area insets, and target sizes are unchanged. CACHE_VERSION bumps to 2026-07-18-v1 with the offline.html hash pairing updated in tests/pwa-manifest.test.ts (the Phase 1 binding guard enforcing exactly this discipline). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EXsJcLrbZUXwnBeG91cVo9
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EXsJcLrbZUXwnBeG91cVo9
|
This pull request has been ignored for the connected project Preview Branches by Supabase. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughThe offline PWA page now uses local design tokens for light and dark themes, including updated focus styling. The service-worker cache version and offline document SHA-256 pairing test were updated, with the change recorded in the branch review ledger. ChangesOffline PWA refresh
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
@copilot resolve the merge conflicts on this branch. |
1 similar comment
|
@copilot resolve the merge conflicts on this branch. |
Head branch was pushed to by a user without write access
Merge conflicts resolved in commit |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9fdaa017f3
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
The merge conflicts were already resolved in commit |
Addresses the Codex P2 on PR #872: the row now cites the PR number and the final reviewed branch head instead of the pre-ledger feature SHA that a squash merge would orphan. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EXsJcLrbZUXwnBeG91cVo9
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: dbdc83ba4b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Summary
Phase 3 of the approved PWA plan — the offline page's visual shell rebuilt on the settled Clinical White / Aegean Graphite contract, with the operational discipline Phase 1 installed now enforced for real:
public/offline.html: mirrored design tokens as local custom properties (each annotated with its source token fromdocs/redesign/permanent-colour-direction.md/globals.css) — pure-white canvas replacing the porcelain tint, aligned text/border/hover values,--surface-raisedcard, system-UI font stack (the app webfont cannot load on a zero-external-request page), and the clinical-accent focus ring replacing the off-contract amber. Privacy copy is byte-identical (test-locked), structure/ARIA unchanged, forced-colors block, safe-area insets, 320px minimum, ≥44px target all preserved.public/sw.js:CACHE_VERSIONbumped to the new, never-before-used2026-07-18-v1(rule 1/5), and the offline.html sha256 pairing intests/pwa-manifest.test.tsupdated — the Phase 1 binding guard blocked the change until both moved together, exactly as designed.Verification
npm run verify:cheap— 2778 passed / 1 failed: the known container-onlytests/pdf-extraction-budget.test.tsartifact (clean-main baselined; green on hosted CI for feat(pwa): retirement kill-switch, offline-version binding guard, and dev teardown flag #826/feat(pwa): manifest launch/display fallbacks, monochrome icons, iOS install hint #835).npm run ensure+npm run test:e2e:pwa— the cold-offline journey rendered the redesigned page through the new-version worker and passed every copy/cache-privacy assertion; the installability test fails only on the container-local"in-incognito"artifact (clean-main baselined; hosted CI authoritative).npm run verify:ui— 219 passed / 2 failed (5.2m): the same two clean-main-baselined container artifacts as Phases 1–2, both green on hosted CI previously. No new failures.npm run verify:pr-local— unit stage 2778 passed / 1 failed (same artifact); production build + bundle budget covered by this PR's blocking hosted CI Build job.Clinical Governance Preflight
Not applicable — visual-shell CSS on the public offline document plus the mandated cache-version bump. No clinical, privacy-boundary, data-access, or provider behavior changes; the privacy copy is verbatim and its lock tests pass.
Risk and rollout
CACHE_VERSION(never republish2026-07-15-v1— rule 5); the binding guard enforces the pairing on the revert too.Notes
.next/devroute types (cross-branch dev-server state) self-resolved after server regeneration; nothing was deleted.🤖 Generated with Claude Code
https://claude.ai/code/session_01EXsJcLrbZUXwnBeG91cVo9
Generated by Claude Code
Summary by CodeRabbit