Synchronisation des conversations entre plusieurs Onglets

À propos de fix(conversation): Spread chat messages to same user open tabs by cicoub13 · Pull Request #1051 · GladysAssistant/Gladys · GitHub
qui corrige Spread own chat messages to other opened window of the same user (websocket) · Issue #553 · GladysAssistant/Gladys · GitHub

Je pense qu’il faut qu’on discute un peu plus avant de corriger :slight_smile:

J’avais imaginé ce diagramme de séquence pour résoudre le problème mais l’histoire d’IDs est un peu confusante. Les IDs générés par le Front et ceux de la base de données n’ont rien à voir.
C’est le Front initiateur du message qui doit savoir quel message il a envoyé (pour ne pas avoir de doublon lorsque le back distribue ce même message à tous les fronts pour les synchroniser).

Est-ce que vous voyez une autre approche ?

Je suis d’accord ça vaut mieux d’en parler :slight_smile:

C’est ça le problème, à mon avis on pourrait générer un ID côté client et utiliser ce même ID côté DB :slight_smile: ça réglerait le problème non ?

Je n’ai pas l’habitude de générer des IDs de base côté Front mais ça résoudrait le problème effectivement. Vu que c’est du UUIDV4, c’est bon (pas de collision et on peut le générer depuis le front).

C’est assez courant dans les systèmes comme ça ou il y a des états à synchroniser à différent endroits (clients multiples, serveur, DB) de générer un UUID côté client, qui permet d’identifier une ressource de bout en bout :slight_smile: