Skip to content

Add PWA support #7

Description

@nktrjsk

Goal

Make the flyer editor installable as a Progressive Web App so it can be launched from the home screen / app dock and run in a standalone window.

Why

The app is already local-first (Evolu/SQLite in the browser, syncs via mnemonic) — it behaves like an offline app but can't be installed like one. PWA support would give it an app icon, standalone chrome-less window, and reliable offline loading of the app shell.

Scope / notes

  • Web app manifest — name, icons (multiple sizes + maskable), display: standalone, theme_color/background_color matching the dim-studio chrome, start_url/scope under the /flyer-editor/ base.
  • Service worker for the app shell — precache the built assets so the editor loads offline. Must coexist with the existing coi-serviceworker (which injects COOP/COEP for SharedArrayBuffer). Care needed so two service workers don't conflict — likely fold the caching into a single SW, or ensure the COI worker keeps controlling the COOP/COEP path.
  • Install affordance — optional beforeinstallprompt handling / install button.
  • Vite: vite-plugin-pwa is the obvious tool, but verify it plays nicely with the hand-rolled coi-serviceworker and the /flyer-editor/ base path on GitHub Pages.

Open questions

  • One combined service worker vs. two? (COI headers + precache)
  • Icon source — reuse the brass accent / an "A5 page" mark?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions