diff --git a/.planning/REQUIREMENTS.md b/.planning/REQUIREMENTS.md index 34239e6d..3fb930b2 100644 --- a/.planning/REQUIREMENTS.md +++ b/.planning/REQUIREMENTS.md @@ -59,13 +59,13 @@ ### PWA & Mobile (8) - [x] **PWA-01** — Service worker for offline capability: cached UI loads instantly, queues messages until back online -- [ ] **PWA-02** — Web App Manifest: installable on iOS, Android, macOS, and Windows as a standalone app +- [x] **PWA-02** — Web App Manifest: installable on iOS, Android, macOS, and Windows as a standalone app - [x] **PWA-03** — Responsive layout: adapts to phone, tablet, and desktop screen sizes - [x] **PWA-04** — Mobile-optimized input: large touch targets, sticky input bar at bottom, keyboard-aware resize - [x] **PWA-05** — Pull-to-refresh on the mobile conversation list - [x] **PWA-06** — Push notifications (where supported): agent mentions, task completions, handoff requests - [x] **PWA-07** — App icon and splash screen with Nexus branding, theme-aware -- [ ] **PWA-08** — "Add to Home Screen" prompt on first mobile visit +- [x] **PWA-08** — "Add to Home Screen" prompt on first mobile visit ### Theme Integration (3) @@ -153,13 +153,13 @@ The following are explicitly deferred: | HIST-05 | Phase 21 | Complete | | HIST-06 | Phase 21 | Complete | | PWA-01 | Phase 26 | Complete | -| PWA-02 | Phase 26 | Pending | +| PWA-02 | Phase 26 | Complete | | PWA-03 | Phase 26 | Complete | | PWA-04 | Phase 26 | Complete | | PWA-05 | Phase 26 | Complete | | PWA-06 | Phase 26 | Complete | | PWA-07 | Phase 26 | Complete | -| PWA-08 | Phase 26 | Pending | +| PWA-08 | Phase 26 | Complete | | THEME-01 | Phase 21 | Complete | | THEME-02 | Phase 21 | Complete | | THEME-03 | Phase 22 | Complete | diff --git a/ui/vite.config.ts b/ui/vite.config.ts index ab33ce9e..09ddb586 100644 --- a/ui/vite.config.ts +++ b/ui/vite.config.ts @@ -18,7 +18,9 @@ export default defineConfig({ rollupOptions: { output: { manualChunks: { - "vendor-react": ["react", "react-dom"], + // Note: react/react-dom cannot be split via manualChunks — @vitejs/plugin-react + // injects the JSX runtime before Rollup processes chunks, so they stay in the entry. + // The 37 lazy-loaded page chunks are the primary performance lever. "vendor-router": ["react-router-dom"], "vendor-query": ["@tanstack/react-query"], "vendor-markdown": ["react-markdown", "remark-gfm"],