Créer de manière proactive le consommateur NATS lors de la création de session pour éviter la perte de messages

FixMediaService
Expédié
25 avril 2026 à 17:56 UTC
Auteur
Kamo
Commite
436811a

Auparavant, le consommateur de poussée NATS JetStream n'était créé que lorsqu'un client STOMP envoyé /app/chat/s'abonner. Avec DeliverPolicy.Nouveau, tous les messages publiés avant un le consommateur existe est définitivement perdu, ce qui entraîne des modifications de messages de visiteur et de nom. ne jamais apparaître en kamo-interne à moins que l'agent ne soit abonné en premier. - Extraire la logique d'abonnement NATS dans ChatSessionAbonnementManager (idempotent s'assurer l'abonnement, fixe l'identifiant sérialisé en chaîne pour éviter la perte de précision de JS sur ID uniques de CockroachDB) - ChatWebSocketDélégués à l'adhésion à ToSession() au gestionnaire - Appels PublicChatService s'assurent l'abonnement() immédiatement après la création du MediaSession (donc le consommateur existe avant l'arrivée du premier message de visiteur) et à nouveau dans sendSupportMessage() en tant que solution de secours

Tous les changements

Comme ce que tu vois expédier ?

Chacune de ces mises à jour atterrit automatiquement dans votre espace de travail. Commencez gratuitement et regardez-le grandir semaine après semaine.

Commencez gratuitement pour toujoursPrix de visualisation