Criar um tópico requer CREATE SUPPORT TOPICS, não o seu pai
O portão já estava lá e recusava chamadas — no GESTÃO SUPPORT, o pai — assim CREATE SUPPORT TOPICS lido como decorativo em cada editor enquanto sendo exatamente...
Os materiais e a linha do tempo social assumem direitos, não apenas a propriedade
MATERIAIS DE GESTÃO E MEDIA DE GESTÃO O site era um ficheiro .tsx. Atrás deles 29 endpoints verificados propriedade e nenhum direito: seis Controladores de mate...
O lembrete da reunião é uma notificação, não um popup próprio
A varredura publicou um evento sob medida em /topic/meet/reminder/{memberId} que um Snackbar dedicado desenhou no canto da tela. Aquele popup foi todo o lembret...
A lista de tickets sobrevive a um indicador quebrado
A leitura não lida jogou e levou toda a lista de tickets com ela — a página voltou vazio, que é um resultado muito pior do que uma página sem marcadores sobre e...
A lista de bilhetes marca os mesmos itens que o crachá conta
countForMember dimensionou um conjunto construído em privado, então a lista não tinha como perguntar quais tickets estavam nele e aproximados em vez disso — mar...
Um bilhete nunca pode ser respondido pelo membro que o levantou
Uma conversa de apoio tem dois lados — alguém perguntando e alguém respondendo — e nada obrigava que fossem pessoas diferentes. Um membro que detém ACEPT SUPPOR...
Enviar um anexo de saída para o endpoint ao qual o seu tipo pertence
Cada anexo social saiu através do sendImage do adaptador, que em Telegram é /sendPhoto. Um PDF ou um zip postado lá é rejeitado pelo provedor, e a rejeição cheg...
Declare o segredo objeto-armazenamento que o ConfigMap não carrega mais
A tecla MinIO foi movida para fora do ConfigMap para os minio-app-credenciais secreto, mas o envDe que suprimentos só foi aplicado para os vivos implantação — n...
Parar o envio de uma credencial compartilhada como padrão de configuração
A senha compartilhada da plataforma foi criada como o retorno para DB PASSWORD e MINIO ROOT PASSWORD, então ele viveu neste repo e na imagem construída, bem com...
A atribuição à mão não deve consumir o status PRE TICKET
atribuir aoAgente e reatribuir ao Agent set DESIGNADO incondicionalmente, que silenciosamente fez um pedido de chat impossível de converter depois — converterPr...
Validar a quem um ticket pode ser entregue à mão
assignToAgent e reasignAgent apenas verificou se o id resolveu para um membro. A atribuição adiciona esse membro à sessão de chat do ticket, então um id de outr...
A atribuição automática oferece o ticket, ele não aloca
Páginas de atribuição automática cada agente de suporte disponível e vai para o primeiro que Aceita. Foi implementado como "silenciosamente escolher o agente me...
Execute também a estratégia do tópico para chats de widgets
Uma conversa aberta no widget web é a mesma unidade de trabalho que uma app, mas este caminho pulou completamente a estratégia de atribuição do tópico — o único...
Coloque o tipo de sessão no frame de atividade também
A transmissão não lida/ATIVITY é publicada para cada tipo de sessão e transportada não indicação da qual. A lista de chats, sem nada para continuar, digitou um ...
Diga ao cliente que tipo de conversa chegou uma mensagem
Cada membro de uma sessão de mídia recebe a notificação de mensagem de entrada, e atribuir um ticket de suporte faz do agente um membro da sessão desse ticket. ...
Um chat ao vivo é reivindicado através do popup, nunca alocado
Rotear pedidos de chat através de round-robin foi o modelo errado e quebrou o O que foi feito para consertar. Um ticket atribuído sai da fila de pedidos (Suppor...
Parar falhas de atribuição destruindo o ticket que os desencadeou
O roteamento de um novo ticket foi executado dentro da transação de criação, então qualquer coisa foi atingida rolou o bilhete de volta com ele e o membro pedin...
Roteie uma solicitação de chat através da estratégia de atribuição do tópico
Um pedido de chat de suporte é arquivado como um PRE TICKET, e createTicket pulou responsabilidade para aqueles de imediato. O guarda foi escrito para o widget ...
Parar de renovar o *** TTL compartilhado para usuários inativos
Este serviço mantém sua própria cópia do KSessionService, e ele deslizou o TTL em Cada leitura. Gating SecurityService sozinho não fixou nada: kamo-internal pon...
Falha um carregamento morto em minutos em vez de o segurar durante uma hora
connectionUploadTimeout é o SILENCE tolerado entre leituras, não um orçamento para o Toda a transferência. Configurando-o para uma hora para 'match Traefik' con...
Pare o tempo limite de conexão dos anos 60 do Tomcat matando um upload longo
Um anexo de chat GiB 2 falhou após quase quatro minutos de transferência bem sucedida com MultipartException envolvendo um SocketTimeoutException nu, e o membro...
Nomeie o verdadeiro dialeto Barata, e reporte a elegibilidade do agente honestamente
Captura OptimisticLockException, o tipo 40001 realmente envolve como
Resenha da 3a ronda: Hibernate-core teste LockAquisiçãoExcepção (para o que SQLState 40001 converte) contra quatro tipos específicos em ordem, nenhum dos quais ...
Pegue o tipo de exceção que o conflito de reivindicação realmente lança
Round 2 correção de revisão: o nível de instrução 40001 (o caso comum, detectado inside executeUpdate() em vez de no commit) **************************** via Hi...
Retornar 409 em cada corrida de reivindicação perdida, adicionar caminho de reivindicação do gerente
Fixação da revisão da primeira ronda para o objetivo de aceitação da alegação: - uma corrida perdida ordinária (a perda é ClaimablePor já falso pós-compromisso)...
Digitalizar os repositórios de e- mail DepartmentService agora precisa
Crash MediaServiceLooped on every pod since shared-lib 1.5.0: DepartmentService is a @Service, então o wildcard @ComponentScan("com.kamo") o constrói aqui, quer...
Aceitar o filtro do provedor de linha do tempo como parâmetros repetidos
O cliente web enviou ?providers=facebook,x como um valor CSV. Uma vírgula numa consulta VALUE tem que viajar como% 2C, e um salto que re- codifica transforma is...
Enviar e- mails perdidos para a conta do utilizador, não para a caixa de correio org
O aviso existia para dizer "você tem uma mensagem esperando, assinar e ler", e estava sendo entregue na caixa de correio esta organização designou o membro — qu...
Dar a cada agente um crachá ao vivo em vez de um proprietário uma contagem não lida
O crachá de navegação e/support?tab=tickets responderam a diferentes perguntas. A página lista todos os tickets na org; o crachá contou mensagens de bate- papo ...
Deixar o cliente ENVIAR para tópicos protegidos e reparar a construção no HEAD
Duas coisas, ambas as quais impedem o serviço de mídia principal de transporte. 1. main não compila. MediaController:1361 chamadas Que não existe. o método no ...
Anuncie uma mensagem uma vez, quando estiver completa
Ambas as chamadas que terminam de construir uma mensagem após a linha ser salva agora tell createMessage para não anunciar: MediaController fixa as imagens e pu...
Guarda os anexos através do gasoduto de desdup em vez de um objecto por envio
Os anexos escreveram seu próprio objeto "<imgId>/<fileName>" em cada upload, ignorando o loja inteiramente endereçada ao conteúdo — o mesmo logo-draft.png anexa...
Digitalizar os repositórios MFA partilhados
O MfaEnrollmentService é um @Service na biblioteca compartilhada com kamo, então o wildcard @ComponentScan("com.kamo") nesta aplicação constrói-se isto ou não s...
Endureça o download do kubectl contra a saída flácida [skip ci]
dl.k8s.io sobre a saída do corredor diminui intermitentemente no meio da transferência: curl: (56) OpenSSL SSL read: a descriptografia falhou ou o mac de regist...
Montar o certificado ao vivo por host em vez do segredo wildcard expirado
O container init certificado-conversor construiu sua chaveria PKCS12 de wildcard-kamocrm-com, um legado multi-SAN segredo que cert-manager órfão quando o seu ce...
Rejeitar agentes de vendas cross-org; aumentar o busting cache bootstrap
vendasAgentId foi persistido a partir do corpo pedido sem verificação, por isso um cross-org ou O ID do agente pendente pode ser armazenado numa WebChatIntegrat...
Excluir membros não-ACTIVE da participação no chat e roteamento
Um membro não-ACTIVO não deve aparecer ou ser um participante de chat ao vivo. Gate cada caminho de conversação na lib compartilhada ***************************...
Tornar WebChatIntegration create() @Transactional (sem chave órfã na falha do salvamento de integração)
Resolver o membro do sistema de chat público por-org (alias snadjafinia de código rígido)
createSupportSession, createPublicTicket e a notificação do proprietário helpers todos resolveram o "membro do sistema" da org através de um codificado nome de ...
Parar de colocar o conteúdo da mensagem em e-mails de mensagens perdidas
Remover a mensagemPreview computation, o livro de registros PREVIEW write, e o mensagemPreview template variable; solte a preferência includePreview. Os e-mails...
Persistir bandeiras de polegar de material programado através de atualização direcionada
O mesmo órfão desvinculadoRemover o problema do oleoduto de conversão: a varredura sem cabeça realizou um ImgDat e save()/merge() em cascata na coleção de image...
Quebrar o envio da gravação para que o MediaService compile
MinIOStorageService.upload lança uma exceção verificada que ingere () nenhuma das duas capturados ou declarados — construir ruptura em cima do isGuest fixar. En...
MeetingParticipant.isGuest() (foi getGuest, não compila); repoint transcription to generic endpoint
MeetingParticipant expos isGuest() (primitive boolean getter), não getGuest(). Aponte também a chamada sumária transcrita no /api/conversion/transcribe comparti...
Persistir participantes convidados, impor MANAGEM MEET SETTINGS, soltar caminho de dupla-convite
- createMeeting: os membros convidados são IDs numéricos de flocos de neve, não strings UUID - encaminha-os através de LongToUUID como o criador. Anteriormente ...
Usar DNS de serviço MinIO de cluster; soltar IPs de WireGuard/CGNAT desactualizados e k2m1/k0m1 aposentados
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...
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...
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.