- Backend: room creation for live streams, permissions CanJoin/CanSend/CanRead for stream rooms - LiveViewChat: useLiveStreamChat hook, WebSocket connection, stream_id as room - LiveViewPlayer: real-time viewer count via polling (5s) - Media Session: seekbackward/seekforward handlers (10s step) - GoLiveView.stories.tsx: Default, Loading, Error, StreamKeyVisible - Docs: API_REFERENCE, CHANGELOG, PROJECT_STATE, FEATURE_STATUS, RETROSPECTIVE_V0703 - SCOPE_CONTROL, .cursorrules: update to v0.801 - Archive V0_703_RELEASE_SCOPE.md
23 lines
1.3 KiB
Markdown
23 lines
1.3 KiB
Markdown
# Rétrospective v0.703 — Go Live & Streaming Complet
|
|
|
|
## Ce qui a bien fonctionné
|
|
|
|
- **Go Live page** : /live/go-live avec formulaire, stream key, instructions OBS/Streamlabs
|
|
- **Backend** : Endpoints GET/POST /live/streams/me/key, GET /live/streams/me, PUT /live/streams/:id
|
|
- **Room creation** : Chat room auto-créée lors de la création d'un stream (stream_id = room_id)
|
|
- **Permissions** : CanJoin/CanSend/CanRead permettent l'accès public aux rooms live stream
|
|
- **LiveViewChat** : Connecté au WebSocket via useLiveStreamChat, stream_id comme conversation
|
|
- **Viewer count** : Polling GET /live/streams/:id dans LiveViewPlayer (5s)
|
|
- **Media Session** : seekbackward/seekforward (10s) dans useMediaSession
|
|
- **Stories** : GoLiveView.stories.tsx (Default, Loading, Error, StreamKeyVisible)
|
|
|
|
## Points d'attention
|
|
|
|
- **Chat token** : useLiveStreamChat fetch le token uniquement quand wsStatus === 'disconnected' — si l'utilisateur a déjà visité ChatPage, le token peut être présent
|
|
- **Room creation** : En cas d'échec (ex: table rooms manquante), le stream est créé mais le chat ne fonctionnera pas
|
|
- **Viewer count** : Polling 5s — WebSocket events (listener_joined/left) seraient plus réactifs pour une future version
|
|
|
|
## Prochaines étapes (v0.801)
|
|
|
|
- À définir selon V0_801_RELEASE_SCOPE.md
|
|
- Pistes : Themes, accessibilité WCAG AA
|