WebSocket server temps réel #38

Closed
opened 2026-04-06 14:33:26 +00:00 by maximus · 0 comments
Owner

Contexte

Ajouter un serveur WebSocket au projet Next.js pour les notifications temps réel sur le web.

Ref: spec-simpl-liste-web.md

Taches

  • Custom server (server.ts) : Next.js + ws sur le même port
  • Auth WebSocket par ticket éphémère (valider et invalider le nonce au handshake)
  • Validation du header Origin contre l'allowlist
  • Broadcast par userId sur chaque mutation API (type + id seulement, pas de payload)
  • Re-validation de session toutes les 15 min (fermer si expirée + message auth_expired)
  • Heartbeat 30s + reconnexion auto côté client avec backoff exponentiel
  • Ne pas logger les query params sur la route /ws
  • Mettre à jour le Dockerfile pour utiliser le custom server

Dépendances

Depends on #37

## Contexte Ajouter un serveur WebSocket au projet Next.js pour les notifications temps réel sur le web. Ref: `spec-simpl-liste-web.md` ## Taches - [ ] Custom server (`server.ts`) : Next.js + `ws` sur le même port - [ ] Auth WebSocket par ticket éphémère (valider et invalider le nonce au handshake) - [ ] Validation du header `Origin` contre l'allowlist - [ ] Broadcast par userId sur chaque mutation API (type + id seulement, pas de payload) - [ ] Re-validation de session toutes les 15 min (fermer si expirée + message `auth_expired`) - [ ] Heartbeat 30s + reconnexion auto côté client avec backoff exponentiel - [ ] Ne pas logger les query params sur la route `/ws` - [ ] Mettre à jour le Dockerfile pour utiliser le custom server ## Dépendances Depends on #37
maximus added this to the spec-simpl-liste-web milestone 2026-04-06 14:33:26 +00:00
maximus added the
status:ready
type:feature
source:human
labels 2026-04-06 14:33:26 +00:00
maximus removed the
status:ready
label 2026-04-06 15:55:58 +00:00
maximus added the
status:review
label 2026-04-06 15:55:58 +00:00
maximus added
status:approved
and removed
status:review
labels 2026-04-06 15:59:52 +00:00
Sign in to join this conversation.
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: maximus/simpl-liste#38
No description provided.