chore: Fix app

This commit is contained in:
2026-07-14 00:41:05 +02:00
parent 3e090933fd
commit edc4d935d8
98 changed files with 2878 additions and 155 deletions
@@ -0,0 +1,53 @@
# Push Notifications
> **Status:** Active
> **Last updated:** 2026-07-05
## Overview
Mobile remote push (FCM/APNs) and server-side device token storage. Desktop uses local/Electron notifications via the `notifications` domain.
## Responsibilities
| Layer | Owns |
|-------|------|
| Signaling server | `device_tokens` SQLite table; FCM/APNs dispatch |
| Capacitor client | Token registration via `MobilePushRegistrationService` |
| Server env | FCM service account + APNs key configuration |
## REST API (`/api/users/device-tokens`)
All routes require bearer; `userId` must match authenticated identity.
| Method | Path | Purpose |
|--------|------|---------|
| POST | `/` | Upsert `{ userId, platform: "android"\|"ios", token }` |
| GET | `/:userId` | List tokens for user |
| POST | `/:userId/dispatch` | Manual push `{ title, body, data? }` (ops/testing) |
## Server configuration
Repository-root `.env`:
| Variable | Purpose |
|----------|---------|
| `FCM_SERVICE_ACCOUNT_PATH` or `FCM_SERVICE_ACCOUNT_JSON` | Android FCM HTTP v1 |
| `APNS_KEY_PATH`, `APNS_KEY_ID`, `APNS_TEAM_ID` | iOS APNs HTTP/2 |
| `APNS_BUNDLE_ID` | Default `com.metoyou.app` |
| `APNS_USE_SANDBOX` | Development builds |
## Mobile client
- Optional Firebase: app starts without `google-services.json`; registration skipped when remote push not configured.
- See [mobile-capacitor.md](mobile-capacitor.md) for FCM/APNs setup, permissions, and in-call local notifications.
## Related
- [authentication.md](authentication.md) — bearer + userId match rules
- [mobile-capacitor.md](mobile-capacitor.md) — client registration and foreground service
## Changelog
| Date | Change |
|------|--------|
| 2026-07-05 | Initial push notification contract |