Proactively create NATS consumer at session creation to prevent message loss

FixMediaService
Ya
25 Aprili 2026, 17:56 UTC
Mwandishi
Kamo
Ahadi ya
436811a

Previously the NATS JetStream push consumer was only created when a STOMP client sent /app/chat/subscribe. With DeliverPolicy.New, any messages published before a consumer exists are permanently lost — causing visitor messages and name changes to never appear in kamo-internal unless the agent happened to be subscribed first. - Extract NATS subscription logic into ChatSessionSubscriptionManager (idempotent ensureSubscription, fixes id serialized as String to avoid JS precision loss on CockroachDB unique_rowid IDs) - ChatWebSocketController delegates subscribeToSession() to the manager - PublicChatService calls ensureSubscription() immediately after creating the MediaSession (so the consumer exists before the first visitor message arrives) and again in sendSupportMessage() as a fallback

Mabadiliko yote

Je, unaona nini kuhusu usafiri?

Kila moja ya hizi updates ardhi katika nafasi yako ya kazi moja kwa moja. Kuanza bure na kuangalia kukua wiki baada ya wiki.

Kuwa Huru MileleMtazamo wa bei