Skip to content

PWA support: manifest + service worker for offline reading #12

Description

@satsdisco

Summary

Samizdat is a perfect PWA candidate — writers should be able to draft offline, and readers should be able to read cached articles without connectivity. This is especially important for a freedom press tool (censorship resistance includes network resilience).

Implementation

  • Add manifest.json with app name, icons, theme colors, display: standalone
  • Service worker for:
    • Cache app shell (HTML, CSS, JS) for offline access
    • Cache read articles for offline reading
    • Queue publish actions when offline, sync when back online
  • Use Vite PWA plugin (vite-plugin-pwa) for easy setup
  • "Install app" prompt on supported browsers

Acceptance Criteria

  • App installable as PWA on Chrome/Safari
  • Previously read articles available offline
  • Editor works offline (draft saved locally)
  • Graceful offline state indicator
  • Lighthouse PWA score > 90

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions