Fix NPE in getChatSessions from Map.of() rejecting null nextcoder
java.util.Map.of() throws NullPointerException when nextcoder is null (no more pages). Replace with HashMap that accepts null values. Also wrap entire handler i...
Add GET /sessions/{guid}/members endpoint with display-name priority
Returns member list with name resolved via usernameAlias → fullName → alias → username, matching the same priority as the chat sessions list. This feeds ChatBox...
Fix upload 500 (missing EmbRecordState) and empty chats tab (Timestamp cast)
Defect A: ChatAttachmentService.upload omitted **************** causing a NOT NULL violation on imgs.is_active. Added the default recordState. Also hardened Cha...
Prefer usernameAlias over User.name in memberDisplayName
Switches display name priority to: Member.usernameAlias → User.name → User.alias → User.username. Also includes the paged query dispatch fix from the previous c...
Use split First/After queries for chat sessions paged endpoint
Addresses empty Chats tab by dispatching to ****************
Reconstruir contra a biblioteca partilhada com kamo fc5ee35 (MediaObjTrait @ Maps Id)
Reconstruir o gatilho para obter a biblioteca kamo-shared- 094e80d (MediaObjTrait @IdClass)
Aumente a transmissão não lida com carga útil da ACTIVITY para atualizações da lista de chats
Paged chat list with previews, members, unread counts
that returns ChatListRowDto rows including last message preview, member summaries, per-session unread counts, and ownLastViewedAt.
Imaging proxy with HTTP Range support and per-member download tracking
Raise client read timeout to 120s for long messages
LibreTranslate runs CPU-only argos models — a paragraph-length chat message takes 20-30s to translate, and longer ones can push past 60s. The 8-second read time...
Cache-only bulk translate, FE handles fills
Bulk message-fetch endpoints now return only translations that are already cached and tag missing rows with needsTranslation:true. The chat UIs (kamo-internal C...
On-demand translation for chat and support messages
Captures the source language for every chat / support message and adds an optional ?lang=XX param on the message-fetch endpoints plus a per-message POST /transl...
Scope concurrency to build jobs, not Kubernetes deploys
Workflow-level concurrency serialized the whole pipeline (including kubectl rollouts). Move the group to the build job only so deploy jobs from different runs c...
Acompanhe o chat de suporte público por sessão GUID em Redes
Visitantes de marketing usam /ws/public-chat-native sem membroId; tickets ainda Referência ao membro de substituição da organização como solicitante. PRESENÇA ...
Adicionar pesquisa de presença do solicitante para agentes da lista de tickets
Aumente o TTL de 90s para 300s para evitar falsos OFFLINEs na frenagem de tabulações
Contagem pendente de transmissão + não- lida na leitura do agente & envio do visitante
- * **************** agora delegados para Então, o conde... reflete sessões com mensagens e decrementos de visitantes não lidos quando o Agente chama MarkAsRead...
Reconstruir para obter a biblioteca mais recente do kamo
Apanha o novo... consultas e A filial do SUPPORT TICKET em
Armazenar geo no ticket na criação, soltar GeoLite lê
**************** agora captura o geo do visitante uma vez (via GeoLookupService) e persiste ip/país/cidade/subdivisão em O próprio SupportTicket. SuporteTicket...
Visitantes em massa e ignorar a procura GeoLite na lista
O endpoint da lista /api/support/tickets foi executado, por página de 20 linhas: - 20 chamadas. - 20 chamadas para GeoLookupService.lookup, cada uma das quais é...
Adicionar /ws/public-chat-native WebSocket endpoint ao lado de SockJS
Regista um segundo objectivo STOMP sem o SockJS em /ws/public-chat-native assim que o frontend pode se conectar com um WebSocket nativo (brokerURL) sem precisar...
A transmissão não lida conta para o agente na mensagem do visitante
Depois de um visitante enviar uma mensagem de suporte, push the latest unread-counts Carga para a lista de bilhetes do agente. Emblema e atualização do contador...
Expandir a verificação do repositório JPA para incluir o pacote de comércio
A nova biblioteca da Kamo-compartilhada traz consigo que exige **************************** (com.kamo.z.commerce partilhado). MediaService apenas digitalizou do...
Restaurar a importação do HashMap no ChatWebSocketController
O refator anterior removeu a importação do HashMap, mas a manipulação método ainda constrói um HashMap para a carga útil do evento de digitação, causando a comp...
Proativamente criar consumidor NATS na criação de sessão para evitar perda de mensagem
Anteriormente, o consumidor de push NATS JetStream só foi criado quando um cliente STOMP enviado /app/chat/subscribe. Com a Política de Entrega. Novo, quaisquer...
Fornecer o tema de transmissão do núcleo NATS
Match SecurityService core publica: subscreva-se com o Dispatcher em security.theme.provision.* em vez de JetStream (stream só cobre chat).
Reconstruir para atualização de biblioteca compartilhada com kamo (remover OrganizationType, add isTopLevel)
Reconstruir para atualização de biblioteca compartilhada com kamo (remover OrganizationType, add isTopLevel)
Use PublicChatVisitor displayName para o solicitanteName nos tickets de visitante
Solicitador de código rígido de tickets iniciado pelo visitante para o membro do sistema org, então O DTO estava emergindo o nome do proprietário do org na colu...
Expor cidade e subdivisão no geo de visitantes
- Estender o registro GeoResult com cidades e campos de subdivisão - Switch SupportTicketService.toDTO() para usar o GeoLookupService (nível IP) pesquisa) em ve...
Erro de compilação no GeoLookupService e adicionar NATS publicar para mensagens de agente
- Corrigir o tipo opcional vs lista de descompasso em ********************** - Injectar NatsMessageService no MediaController - Publique no chat.session.{guid} ...
Real-time chat delivery, message sides, notifications, and name sync
- Keep NATS subscription alive on client unsubscribe to avoid breaking agent real-time delivery - Tag visitor messages with messageType=VISITOR_MESSAGE in getMe...
Mostrar a bandeira e a localização do visitante no cabeçalho do ticket de suporte
- Injete PublicChatVisitorRepository e GeoLiteLocationRepository em SupportTicketService - Popular visitanteIpAddress, visitorCode, visitorCountryName in toDTO(...
Marcar mensagens de visitante como tipo VISITOR MESSAGE, adicionar remetenteName para obter mensagens
- PublicChatService: set messageType=VISITOR MESSAGE para que o frontend possa distinguir visitante ecoa das respostas do agente sobre o tópico STOMP - MediaCon...
Corrigir chat público de ponta a ponta em tempo real via STOMP/NATS
- Remova a exigência interna de autenticação do PublicChatWebSocketInterceptor assim os visitantes podem se conectar diretamente usando apenas o seu item de ses...
Three support/chat issues — NATS relay, auto-popup, topic fallback
1. Switch SupportNotificationService and SupportStompRelayController from JetStream to core NATS — the CHAT_MESSAGES stream only covers chat.> so JetStrea...
Write contact form description as chat message on public ticket creation
The description was only stored on the ticket entity and never appeared in the chat window. Added writeTextMessage() helper and call it after the system event s...
Live pending support ticket count via NATS — notify org owner on new tickets, add pending-count REST endpoint
Como o que vês no transporte?
Tudo isso chega em seu espaço de trabalho por conta própria. Comece no plano gratuito e leia esta página novamente em um mês.
