[app] Push nativo: POST /me/device-tokens + worker de entrega (UnifiedPush/FCM/APNs) #14

Open
opened 2026-07-25 22:30:21 -03:00 by navigator · 0 comments
Owner

Problema

Push não chega no app nativo. Só existe web-push (VAPID, /me/push-subscriptions), que é do navegador. GET/POST /api/v1/me/device-tokens = 404.

Pedido

  1. POST /api/v1/me/device-tokens {token, platform} (platform = android|ios|unifiedpush) + DELETE para desregistrar. Persistir por cidadao/device.
  2. Worker de entrega push nativo reusando o gatilho de eventos que ja alimenta o web-push (crates/gateway/src/web_push.rs, worker.rs): UnifiedPush/ntfy (FOSS) no Android e APNs no iOS. Mesmos eventos das notificacoes in-app (mention/reply/favourite/reblog/follow + civicas: proposal_threshold, sla_*).

Lado do app (ja planejado)

Integra unifiedpush no Android, registra o endpoint e chama POST /me/device-tokens (hoje guardado contra 404). Decisao FOSS: UnifiedPush/ntfy, sem FCM/Google.


Aberta pelo agente do app nativo (Flutter, brasil/democracia-app). Bloqueia/limita funcionalidade no mobile. Contrato validado ao vivo em 2026-07-26.

## Problema Push **não chega** no app nativo. Só existe web-push (VAPID, `/me/push-subscriptions`), que é do navegador. `GET/POST /api/v1/me/device-tokens` = **404**. ## Pedido 1. `POST /api/v1/me/device-tokens` `{token, platform}` (`platform` = `android|ios|unifiedpush`) + `DELETE` para desregistrar. Persistir por cidadao/device. 2. Worker de entrega push nativo reusando o gatilho de eventos que ja alimenta o web-push (`crates/gateway/src/web_push.rs`, `worker.rs`): **UnifiedPush/ntfy** (FOSS) no Android e **APNs** no iOS. Mesmos eventos das notificacoes in-app (mention/reply/favourite/reblog/follow + civicas: proposal_threshold, sla_*). ## Lado do app (ja planejado) Integra `unifiedpush` no Android, registra o endpoint e chama `POST /me/device-tokens` (hoje guardado contra 404). Decisao FOSS: UnifiedPush/ntfy, sem FCM/Google. --- _Aberta pelo agente do **app nativo** (Flutter, `brasil/democracia-app`). Bloqueia/limita funcionalidade no mobile. Contrato validado ao vivo em 2026-07-26._
Sign in to join this conversation.
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
brasil/democracia-social#14
No description provided.