From 3d18dcf5f3e97045c818ae139442b039f995c654 Mon Sep 17 00:00:00 2001 From: SkateSpots Date: Thu, 1 Oct 2026 19:31:46 +0700 Subject: [PATCH] docs(agents): Google/FCM rejected - native push must be UnifiedPush or foreground service --- AGENTS.md | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index f75995a..92c1d2d 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -786,9 +786,16 @@ session with **no other memory of this project**. So: `https://push.skate-spots.org/health` → 200. ⚠️ 000 from this box = a **stale local resolver cache** (NXDOMAIN); confirm with `curl --resolve push.skate-spots.org:443:185.18.221.2 …`. **Remaining:** - Android FCM (Phase 2). ⚠️ Web push works in browsers; the Capacitor WebView - needs FCM for the APK. (Approach + tradeoffs came from the - Numo/Linky/BTCPay review this session.) + native closed-app push. ⚠️ **Google/FCM is REJECTED — owner decision + (2026-10-01).** The FCM/`@capacitor/push-notifications` work was reverted + (commit `68c12a2`); do NOT re-add Firebase/google-services. Web push + (VAPID) is live and unaffected. For the APK the only no-Google options are: + **(a) UnifiedPush** (FOSS distributor the user installs — e.g. ntfy / + NextPush; the app registers with the distributor, no Google) or **(b) a + foreground service** keeping the relay WebSocket alive (no server, but a + sticky notification + battery + custom native code). Both are unbuilt; pick + one before attempting native closed-app notifications. (Approach + tradeoffs + came from the Numo/Linky/BTCPay review this session.) - **Cordn coordinator support (client-side, 2026-09-29):** Cordn is an **MLS delivery coordinator** exposed as a **ContextVM server** over Nostr relays (E2EE; it sees ciphertext + *metadata* — who/when/which group). SkateSpots is