Usar DNS de serviço MinIO de cluster; soltar IPs de WireGuard/CGNAT desactualizados e k2m1/k0m1 aposentados
Migrar para k1m1 (clone+registro+kubeconfig a partir do k1m1, soltar o k2m1, instalar o kubectl simples)
Bump for kamo-shared-library 1.5.0 snapshot update (Catálogo de programas M2)
Publique NATS CREATE event after transaction commit to fixe image attachment race
A mensagem NATS foi publicada dentro do corpo @Transactional, o que significava os destinatários poderiam receber o evento CREATE e solicitar a imagem via /imag...
Serialize attachments in WS relay and message history; allow attachment-only sends
Three bugs fixed: 1. ChatSessionSubscriptionManager was building the STOMP messageMap manually and omitting attachments, sourceLanguageId, readMemberId, msg...
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} ...
Como o que vês no transporte?
Cada uma dessas atualizações pousa automaticamente em seu espaço de trabalho. Comece grátis e veja crescer semana após semana.