feat(pwa): installeerbare PWA + robot-worker app-icoon #40

Merged
s4m-codex-reviewer merged 2 commits from claude/determined-shtern-f37673 into main 2026-06-10 13:11:22 +02:00
Owner

Maakt scrum4me-workers installeerbaar als PWA naar het patroon van de Scrum4Me-hoofdapp, met een eigen app-icoon in dezelfde familie-stijl (robot-worker: kop vervangt de neuskegel; blokken, vinnen en vlam blijven; paars met blauw accent — concept + kleurrichting door JP gekozen).

Wat

  • app/icon.svg (bron-vector) + app/apple-icon.png (180, full-bleed) + app/favicon.ico (multi-size) + public/icons/ 192/512 any en 512 maskable (art ~75% in safe-zone). Eenmalig gegenereerd met sharp; geen nieuwe dependencies.
  • app/manifest.ts/manifest.webmanifest (start_url /dashboard, standalone, bg #c8daed, theme #0061a4).
  • app/layout.tsx: applicationName + appleWebApp-metadata; viewport.themeColor #1976d2 (stale MUI-blauw) → #0061a4 (MD3 --primary).
  • proxy.ts: zes exacte publieke PWA-paden in PUBLIC_PATHS — de browser fetcht manifest/icons cookie-loos (Next zet geen crossorigin=use-credentials), dus zonder dit is de app nooit installeerbaar. Bewust geen /icons/-prefix; /favicon.ico blijft matcher-uitsluiting. +7 proxy-testcases.
  • Bewust géén service worker (hoofdapp-sw is push-only; workers heeft geen push).

Verificatie

  • npm run verify groen (80 files, 498 tests).
  • Standalone-productie-smoke (node server.js zoals de Dockerfile): manifest 200 application/manifest+json, alle 5 icon-paden 200, /dashboard zonder cookie 307→/login, /icons/zomaar.png 307→/login; /login-head linkt manifest/favicon/icon.svg/apple-touch-icon. Dev-parity idem.

Scrum4Me

Sprint S-2026-06-10-1 · PBI-8 · ST-011 (T-29/T-30/T-31). Plan vooraf gereviewd door mac:codex via s4m-queue (3 bevindingen verwerkt). PATTERNS-doc pwa-setup-workers toegevoegd (incl. enum-drift-deploynote van het /jobs-incident van vandaag).

🤖 Generated with Claude Code

Maakt scrum4me-workers installeerbaar als PWA naar het patroon van de Scrum4Me-hoofdapp, met een eigen app-icoon in dezelfde familie-stijl (robot-worker: kop vervangt de neuskegel; blokken, vinnen en vlam blijven; paars met blauw accent — concept + kleurrichting door JP gekozen). ## Wat - `app/icon.svg` (bron-vector) + `app/apple-icon.png` (180, full-bleed) + `app/favicon.ico` (multi-size) + `public/icons/` 192/512 `any` en 512 `maskable` (art ~75% in safe-zone). Eenmalig gegenereerd met sharp; geen nieuwe dependencies. - `app/manifest.ts` → `/manifest.webmanifest` (start_url `/dashboard`, standalone, bg `#c8daed`, theme `#0061a4`). - `app/layout.tsx`: `applicationName` + `appleWebApp`-metadata; `viewport.themeColor` `#1976d2` (stale MUI-blauw) → `#0061a4` (MD3 `--primary`). - `proxy.ts`: zes **exacte** publieke PWA-paden in PUBLIC_PATHS — de browser fetcht manifest/icons cookie-loos (Next zet geen `crossorigin=use-credentials`), dus zonder dit is de app nooit installeerbaar. Bewust geen `/icons/`-prefix; `/favicon.ico` blijft matcher-uitsluiting. +7 proxy-testcases. - Bewust géén service worker (hoofdapp-sw is push-only; workers heeft geen push). ## Verificatie - `npm run verify` groen (80 files, 498 tests). - Standalone-productie-smoke (node server.js zoals de Dockerfile): manifest 200 `application/manifest+json`, alle 5 icon-paden 200, `/dashboard` zonder cookie 307→`/login`, `/icons/zomaar.png` 307→`/login`; `/login`-head linkt manifest/favicon/icon.svg/apple-touch-icon. Dev-parity idem. ## Scrum4Me Sprint S-2026-06-10-1 · PBI-8 · ST-011 (T-29/T-30/T-31). Plan vooraf gereviewd door mac:codex via s4m-queue (3 bevindingen verwerkt). PATTERNS-doc `pwa-setup-workers` toegevoegd (incl. enum-drift-deploynote van het /jobs-incident van vandaag). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Concept A (robot-worker, paars + blauw accent), door JP gekozen uit drie
familie-concepten. Raster-assets eenmalig gegenereerd met sharp (density
300) + png-to-ico; geen permanente dependencies toegevoegd.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Manifest naar Scrum4Me-patroon (start_url /dashboard, standalone, theme
#0061a4 = MD3 --primary). De proxy is deny-by-default en de browser haalt
manifest/icons cookie-loos op, dus exacte PUBLIC_PATHS-uitzonderingen
(geen /icons/-prefix); /favicon.ico blijft via de matcher uitgesloten.
viewport.themeColor #1976d2 was stale MUI-blauw → #0061a4.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
janpeter/scrum4me-workers!40
No description provided.