Documentation › Messaging
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.