Skip to content

BLD-6: add web app manifest + offline service worker to the three web… - #55

Open
patrickunterwegs wants to merge 1 commit into
mainfrom
claude/spectacled-code-review-followup
Open

BLD-6: add web app manifest + offline service worker to the three web…#55
patrickunterwegs wants to merge 1 commit into
mainfrom
claude/spectacled-code-review-followup

Conversation

@patrickunterwegs

Copy link
Copy Markdown
Member

… apps

Makes the Journals/Notes/Tasks web targets installable PWAs with offline shell support, using the same webMain/resources serving mechanism DAT-6 already relies on.

Per app:

  • manifest.webmanifest: name/short_name, standalone display, start_url/scope '.' (relative, so it works under the /journals|/notes|/tasks deploy paths), the variant's brand theme_color (#006896 / #994c2c / #296f23), and a 512x512 icon copied from the app's existing ic_launcher-playstore.png.
  • service-worker.js: network-first for same-origin GETs of static shell assets, cache only as an offline fallback. Deliberately conservative - it never caches non-GET, cross-origin, or non-shell requests, so CalDAV/proxy traffic and the sql.js persistence worker are untouched, and nothing is served stale while online. Versioned cache, cleaned on activate.
  • index.html: , apple-touch-icon, theme-color meta, and a guarded service-worker registration (no-op where unsupported / on plain HTTP).

BLD-6 was blocked on DAT-6 (web persistence), which has landed. Needs one live browser pass to verify install + offline reload before calling it done - service workers, like DAT-6, tend to only reveal issues in a real browser.

Claude-Session: https://claude.ai/code/session_01Xt7MRuFpW1jtcHX1MPC4EN

… apps

Makes the Journals/Notes/Tasks web targets installable PWAs with offline shell
support, using the same webMain/resources serving mechanism DAT-6 already relies on.

Per app:
  - manifest.webmanifest: name/short_name, standalone display, start_url/scope '.'
    (relative, so it works under the /journals|/notes|/tasks deploy paths), the
    variant's brand theme_color (#006896 / #994c2c / #296f23), and a 512x512 icon
    copied from the app's existing ic_launcher-playstore.png.
  - service-worker.js: network-first for same-origin GETs of static shell assets,
    cache only as an offline fallback. Deliberately conservative - it never caches
    non-GET, cross-origin, or non-shell requests, so CalDAV/proxy traffic and the
    sql.js persistence worker are untouched, and nothing is served stale while
    online. Versioned cache, cleaned on activate.
  - index.html: <link rel=manifest>, apple-touch-icon, theme-color meta, and a
    guarded service-worker registration (no-op where unsupported / on plain HTTP).

BLD-6 was blocked on DAT-6 (web persistence), which has landed. Needs one live
browser pass to verify install + offline reload before calling it done - service
workers, like DAT-6, tend to only reveal issues in a real browser.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Xt7MRuFpW1jtcHX1MPC4EN
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