feat: add webchat pwa push subscription support
This commit is contained in:
@@ -158,6 +158,12 @@ Exceptions (handled by their own trust/auth model and therefore bypass gateway t
|
||||
- `POST /google-chat/events` (Google Chat event callback, optional webhook token check)
|
||||
- `POST /bluebubbles/events` (BlueBubbles iMessage webhook callback, optional webhook token check)
|
||||
|
||||
WebChat PWA push-subscription endpoints (auth-protected):
|
||||
- `GET /webchat/push/public-key` (returns enabled/configured push metadata)
|
||||
- `GET /webchat/push/subscriptions` (returns current subscription count/cap)
|
||||
- `POST /webchat/push/subscriptions` (registers/updates one browser subscription)
|
||||
- `DELETE /webchat/push/subscriptions` (removes one browser subscription by endpoint)
|
||||
|
||||
## Message Format
|
||||
|
||||
### Request (Client → Server)
|
||||
|
||||
+28
-2
@@ -5323,10 +5323,36 @@
|
||||
"docs/plans/state.json"
|
||||
],
|
||||
"test_status": "pnpm test:run src/commands/builtin/index.test.ts src/daemon/routing.test.ts + pnpm typecheck passing"
|
||||
},
|
||||
"webchat-pwa-push-subscriptions-tier-b3": {
|
||||
"status": "completed",
|
||||
"date": "2026-02-18",
|
||||
"updated": "2026-02-18",
|
||||
"summary": "Implemented Tier B3 WebChat PWA baseline with service worker + manifest, browser push enable/disable controls in WebChat settings, and authenticated gateway subscription endpoints (`/webchat/push/*`) for storing/removing browser push subscriptions with VAPID public-key discovery.",
|
||||
"files_modified": [
|
||||
"src/config/schema.ts",
|
||||
"src/config/schema.test.ts",
|
||||
"src/daemon/services.ts",
|
||||
"src/gateway/server.ts",
|
||||
"src/gateway/server.test.ts",
|
||||
"src/gateway/static.ts",
|
||||
"src/gateway/ui/index.html",
|
||||
"src/gateway/ui/app.js",
|
||||
"src/gateway/ui/sw.js",
|
||||
"src/gateway/ui/manifest.webmanifest",
|
||||
"src/gateway/ui/flynn-icon.svg",
|
||||
"src/gateway/ui/lib/pwa.js",
|
||||
"src/gateway/ui/pages/settings.js",
|
||||
"config/default.yaml",
|
||||
"README.md",
|
||||
"docs/api/PROTOCOL.md",
|
||||
"docs/plans/state.json"
|
||||
],
|
||||
"test_status": "pnpm test:run src/gateway/server.test.ts src/config/schema.test.ts + pnpm typecheck passing"
|
||||
}
|
||||
},
|
||||
"overall_progress": {
|
||||
"total_test_count": 1911,
|
||||
"total_test_count": 1913,
|
||||
"all_tests_passing": true,
|
||||
"p0_completion": "3/3 (100%)",
|
||||
"p1_completion": "4/4 (100%)",
|
||||
@@ -5346,7 +5372,7 @@
|
||||
"gmail_auth_cli": "flynn gmail-auth command implemented with OAuth2 flow, doctor check, config routed to Telegram",
|
||||
"native_audio_support": "completed — smart routing for native audio (Gemini/OpenAI/GitHub) vs Whisper transcription fallback",
|
||||
"remaining_phases_completion": "Phase 1: 3/3 (100%) — context levels, command registry, memory structure. Phase 2: 3/3 (100%) — component registry, confidence routing, history index. Phase 3: 2/2 (100%) — adaptive memory/compaction, truthfulness/autonomy hardening",
|
||||
"next_up": "Implement Tier B3 progressive web app push notifications for WebChat"
|
||||
"next_up": "Implement Tier B1 guided onboarding improvement"
|
||||
},
|
||||
"soul_md_and_cron_create": {
|
||||
"date": "2026-02-11",
|
||||
|
||||
Reference in New Issue
Block a user