03 / Messaging & network
Messagerie directe et réseau temps réel
La messagerie XERA1 permet d'établir des échanges directs (DMs) entre builders, créateurs et Pages Professionnelles. Elle facilite les discussions B2B/B2C autour de preuves concrètes de travail.
1. Messagerie Directe 1:1 (DMs)
La présence de la messagerie directe est confirmée et fonctionnelle en base de données :
- Conversations (`dm_conversations`) : Stocke les fils de discussion actifs entre deux utilisateurs ou entre un utilisateur et une Page PRO.
- Messages (`dm_messages`) : Contient l'ensemble des messages horodatés, les identifiants d'expéditeur/destinataire et le statut de lecture.
Modèle DB Messagerie
- Table conversations : `dm_conversations` (id, participant_a, participant_b, updated_at)
- Table messages : `dm_messages` (id, conversation_id, sender_id, content, created_at, is_read)
2. Architecture Temps Réel (Supabase Realtime)
La messagerie s'appuie sur une infrastructure réactive garantissant la réception instantanée des messages :
- Écoute Realtime (`postgres_changes`) : Abonnements WebSocket aux événements `INSERT` sur la table `dm_messages` pour actualiser l'interface sans rechargement.
- Fallback par Polling : En cas d'interruption du canal WebSocket (ex: réseau instable), un mécanisme de polling automatique prend le relais de façon transparente.
3. Système de Notifications
Afin d'assurer la réactivité des échanges, XERA1 intègre deux niveaux de notification :
- Notifications In-App : Badges et alertes visuelles instantanés dans l'application lors de l'arrivée d'un nouveau message.
- Push Notifications Web (`web-push`) : Notifications navigateur distantes envoyées à l'utilisateur même lorsque l'onglet XERA1 n'est pas actif.