From 0b9d8a65740476ad40616cfd779963460999ff00 Mon Sep 17 00:00:00 2001 From: Matthias Nott <mnott@mnsoft.org> Date: Sun, 22 Mar 2026 09:30:59 +0100 Subject: [PATCH] fix: flush messages before session switch to prevent data loss --- TODO.md | 12 ++++++++---- 1 files changed, 8 insertions(+), 4 deletions(-) diff --git a/TODO.md b/TODO.md index b2fc759..05ec6fc 100644 --- a/TODO.md +++ b/TODO.md @@ -14,10 +14,14 @@ - Deliver transcript + images together as one message to Claude - Ensures voice prefix sets reply channel correctly -### Push Notifications (iOS APNs) -- Notify when messages arrive while app is backgrounded/closed -- Requires Apple Developer Portal APNs key setup -- Server-side message queue for offline delivery +### Push Notifications (iOS APNs) — NEXT SESSION with user at computer +- **Step 1**: User creates APNs key in Apple Developer Portal (needs login) +- **Step 2**: Save `.p8` key to `~/.aibroker/apns-key.p8`, add env vars (key ID, team ID) +- **Step 3**: Server-side APNs HTTP/2 sender (`src/daemon/apns.ts`) with JWT auth +- **Step 4**: App sends device token on WebSocket connect +- **Step 5**: Gateway buffers messages when no WS clients, sends push notification +- **Step 6**: App receives push → user taps → opens app → catch_up drains messages +- Optional: silent push to wake app briefly for critical messages ### App Name Renaming (Runner → PAILot) - Rename Xcode target from Runner to PAILot (like Glidr did) -- Gitblit v1.3.1