Skip to content

feat(frontend): add mobile PWA install support#104

Merged
KyleTryon merged 3 commits into
mainfrom
feat/frontend/mobile-pwa-install
May 31, 2026
Merged

feat(frontend): add mobile PWA install support#104
KyleTryon merged 3 commits into
mainfrom
feat/frontend/mobile-pwa-install

Conversation

@KyleTryon
Copy link
Copy Markdown
Contributor

Summary

  • Adds mobile PWA metadata, app icons, service worker caching, and production registration.
  • Adds a mobile-only install nudge with native install prompt support and iOS add-to-home guidance.
  • Adds dashboard shortcuts for Dashboard, Sources, and Open Video.

Validation

  • pnpm preflight

@KyleTryon KyleTryon marked this pull request as ready for review May 31, 2026 06:29
@KyleTryon KyleTryon requested a review from Copilot May 31, 2026 06:29
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds Progressive Web App (PWA) install support to the frontend, including manifest/service worker infrastructure and a mobile-only “install” nudge surfaced on the dashboard, plus a shortcut that deep-links into opening local video.

Changes:

  • Add PWA runtime utilities (install prompt handling + production SW registration) and corresponding unit tests.
  • Introduce a mobile-only dashboard install nudge UI (native prompt on supported browsers; iOS add-to-home guidance otherwise).
  • Add PWA assets/metadata (manifest + icons + service worker caching) and a manifest shortcut that triggers openVideo=1, handled on the dashboard route.

Reviewed changes

Copilot reviewed 10 out of 13 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
apps/frontend/src/routes/_app.dashboard.tsx Opens the local video dialog when launched via the manifest shortcut query param and cleans up the URL.
apps/frontend/src/main.tsx Boots PWA install prompt listeners and registers the service worker in production.
apps/frontend/src/lib/pwa.ts Implements install prompt capture/subscription, dismissal persistence, environment detection, and SW registration.
apps/frontend/src/lib/pwa.test.ts Adds unit tests for install-mode resolution and dismissal persistence helpers.
apps/frontend/src/components/MobilePwaInstallNudge.tsx Adds the mobile-only install nudge component and a presentational card for testing.
apps/frontend/src/components/frontendWorkflow.test.ts Adds coverage for install nudge rendering and ensures it’s not present in default server markup.
apps/frontend/src/components/DashboardScreen.tsx Renders the install nudge on the dashboard header area.
apps/frontend/public/service-worker.js Adds basic app-shell + asset caching strategies and cache versioning/cleanup.
apps/frontend/public/manifest.webmanifest Defines PWA metadata and shortcuts (Dashboard, Sources, Open Video).
apps/frontend/index.html Adds manifest link and mobile/PWA meta tags (theme color, iOS web-app support).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread apps/frontend/src/lib/pwa.ts Outdated
Comment thread apps/frontend/src/lib/pwa.ts
Comment thread apps/frontend/src/components/MobilePwaInstallNudge.tsx
@KyleTryon KyleTryon merged commit 9e125b6 into main May 31, 2026
3 checks passed
@KyleTryon KyleTryon deleted the feat/frontend/mobile-pwa-install branch May 31, 2026 06:41
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