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...
Decide o login automaticamente aberto no servidor, não nesta aba
A sessão Per-tabStorage flag não era um registro de nada. Assinatura segundo dispositivo repetiu cada conversação que o primeiro já tinha estourado, e A limpeza...
Não deixe que uma requisição falhe em silenciar a auto- abertura da sessão
Os chats não lidos são abertos automaticamente uma vez por sessão de tabulação, guardados por uma sessãoStorage bandeira. Essa bandeira foi escrita na frente, a...
Parar de escrever uma sessão de suporte invisível como uma conversa simples
Um quadro de atividade ao vivo para uma sessão que ainda não está na lista sintetizou uma linha código rígido para "CHAT". Para um ticket de suporte que colocou...
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 ...
Parar um ticket de suporte abrindo uma janela de chat simples cheia de JSON
Duas falhas, um sintoma. A atribuição faz do agente um membro do ticket sessão de mídia, então a notificação de mensagem recebida chegou a eles e ChatNotificati...
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. ...
Declare os tokens do calendário em: root, e reconstrua a janela do evento
Os tokens foram declarados no elemento envoltório do calendário, que lê como o coisa arrumada para fazer e é errado. Janelas e menus MUI renderizam através de u...
Substituir a tinta do rótulo do operador
A tentativa anterior levantou especificidade, que foi o diagnóstico errado: tailwind.config.js define `importante: true', então cada declaração em .operador-lab...
Ampliar o tópico de suporte assignation strategy range CHECK para 0..3
SuporteAssignmentStrategyType is @Enumerado(ORDINAL), assim Hibernate emitido VERIFICAÇÃO (atribuição estratégia >= 0 E atribuição estratégia <= 2) na TABELA DE...
Tornar legível cada linha do herói
O kicker e os três rótulos de leitura foram pintados pelo próprio .operator-label tinta escura, não pela cor definida ao seu lado: uma classe e uma regra sx mes...
Tornar a sobrancelha presa-app realmente branca
A tentativa anterior sobrepujou a tinta do operador com um sx qualificado. regra, que nunca poderia ter funcionado: tailwind. config.js conjuntos `importante: t...
Devolve a data de criação da conta à lista de contas
buildAccountResumo data nunca emitidaCriada, então o campo data da lista As leituras da coluna criada estavam simplesmente ausentes da resposta. Agora essa Cont...
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...
Retire a chamada da sessão, não da sequência de consultas
GET /api/calendar/calendars tomou userId como parâmetro de solicitação, então mudando um número no URL leu os calendários de qualquer pessoa — e porque os calen...
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...
Dê a cada página da conta a ordem padrão em que deverá abrir
As três abas abertas em qualquer ordem que a API tenha retornado, que para os membros significaram que as mais novas inscrições foram enterradas e para os membr...
Parar a sobrevivência de todos os logins futuros
Logout escreve AWAY e login limpa-lo, então AWAY é um estado que o sistema coloca você Entra e tira-te de dentro. Nada limpou o busy. Um membro que o definiu um...
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 ...
SegurançaO esgotamento da piscina causou mortes de vida
O Hikari não tinha nenhum tamanho de pool-máximo explícito, então ele correu no padrão de 10 enquanto fronting org/rights procura por cada serviço e o site inte...
Escopeie o banner de prontidão de fonte padrão para mercados de hipotecas residenciais
A aba fornecedores/produtos mostrou o "Terminar a hipoteca vertical para designar um aviso de fonte de chumbo padrão" em cada guia de mercado, incluindo Produto...
Centralizar a barra de selecção na lista de contactos, não na página
A barra que aparece quando as linhas são selecionadas está absolutamente posicionada em esquerda 50% com um translateX(-50%), mas o seu antepassado posicionado ...
Fazer com que o MKCOL crie um livro que possa ser armazenado
mkCol construiu um ContactBook que não transporta nem uma organização nem um proprietário e retornou 201 independentemente, então criando um livro de endereços ...
PublicChatApiKey.scopes jsonb binding
Um campo com um inicializador foi ignorado pela varredura jsonb anterior, então isso um ainda ligado como varchar: 'column escopos é do tipo jsonb mas a express...
Parar a omissão de novos contactos no livro de orgs partilhado
A janela de criação teve como alvo o livro marcado isOrgDefault, de modo que cada membro os contactos desembarcados num livro que a organização inteira poderia ...
SQL somente para barataDB que o PostgreSQL rejeita
BarataDB soletra o tipo de texto STRING; PostgreSQL e YugabyteDB usam TEXTO. 25 moldes através de consultas nativas ainda emitiam CAST(x AS STRING) e ::STRING, ...
SQL somente para barataDB que o PostgreSQL rejeita
BarataDB soletra o tipo de texto STRING; PostgreSQL e YugabyteDB usam TEXTO. 25 moldes através de consultas nativas ainda emitiam CAST(x AS STRING) e ::STRING, ...
SQL somente para barataDB que o PostgreSQL rejeita
BarataDB soletra o tipo de texto STRING; PostgreSQL e YugabyteDB usam TEXTO. 25 moldes através de consultas nativas ainda emitiam CAST(x AS STRING) e ::STRING, ...
SQL somente para barataDB que o PostgreSQL rejeita
BarataDB soletra o tipo de texto STRING; PostgreSQL e YugabyteDB usam TEXTO. 25 moldes através de consultas nativas ainda emitiam CAST(x AS STRING) e ::STRING, ...
Escopo livros de endereços para o membro que os possui
Os contactos foram explorados apenas pela organização. listBooks(orgId) foi findByOrganizaçãoId(orgId), e a consulta de lista de contatos aberta ONDE c.contactB...
@Lob String deve pin LONGVARCHAR ou PostgreSQL lê-lo como um OID
O dialeto PostgreSQL de Hibernate mapeia @Lob String para um OID (grande objeto referência) e lê-lo com getLong(). Dialeto de Barata mapeou o mesmo anotação par...
Permitir a saída do YugabyteDB 5433 na saída de cílios de segurança
Um CiliumNetworkPolítica de seleção app=kamowssecurity permitido host/remote-node Egresso apenas em 26257, 4222 e 9000. Após o corte, a base de dados foi transf...
Permitir a saída do YugabyteDB 5433 na saída de cílios de segurança
Um CiliumNetworkPolítica de seleção app=kamowssecurity permitido host/remote-node Egresso apenas em 26257, 4222 e 9000. Após o corte, a base de dados foi transf...
Corrigir a lógica em esquemas pré-criados
KamoInitializerService faz definir ********************** verdade, por isso cria estes esquemas em si. O comentário anterior alegou que não tinha. O arquivo per...
Corrigir a lógica em esquemas pré-criados
KamoInitializerService faz definir ********************** verdade, por isso cria estes esquemas em si. O comentário anterior alegou que não tinha. O arquivo per...
Painéis de barras de administrador renderizaram os seus caminhos chave, não a sua cópia
TipPanel pegou o ID DOM do painel em um prop chamado `id` e, em seguida, construiu seu chaves de mensagem desse mesmo 'id', então cada painel pediu * **********...
Deixe o log de acesso preencher seu painel e página do servidor
A barra de tabulação já diz "System Access Logs", então o h4 acima das estatísticas foi O nome da página duas vezes. Largando- o também permite que o painel use...
Parar a lista de rolagem quando já se encaixa
Três coisas adicionaram altura que não era conteúdo, então uma lista suficientemente curta para caber ainda tem uma barra de rolagem: - a sentinela-escrola inf...
Restaurar as alterações da barra de administrador revertidas por 3926d1d8
3926d1d8 levou o AdminQuickLinks.tsx de volta para a sua ae45fc9c^ blob, desfazendo a org etiqueta plural, os nomes de Blocos/Logs curtos e a remoção de gap. Me...
IDs da linha de texto, controles coloridos de org, ícone da página, barra de erro centrada
Criando um livro e selecionando-o respondeu "Não encontrado". BarataDB unique rowid () ids são 64 bits — um real é 1200081912680906758 — e JSON.parse rodadas Qu...
Publique IDs de linha como strings — um novo livro 404'd no momento em que você o selecionou
O BarataDB unique rowid() produz ids de 64 bits. Um real de contact books é 120008191268096758; JSON.parse do JavaScript roda qualquer coisa passada Número. MAX...
Parar de renovar o *** TTL compartilhado para usuários inativos
Quinto serviço com sua própria cópia do KSessionService, e o quinto deslizamento o compartilhado *** TTL em cada leitura. Cada um sozinho foi suficiente para ma...
Parar de renovar o *** TTL compartilhado para usuários inativos
Esta cápsula estava a emitir GET + PEXPIRE contra um *** chave cujo proprietário esteve ocioso por mais de uma hora, segundos após o SecurityService tinha corre...
Parar /api/user-info renovando o TTL para usuários inativos
Esta rota escreve a *** TTL directamente para Redis, por isso desviou a ligação em SecurityService, MediaService e ChatService inteiramente — e useUserInfo pesq...
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...
Recuperar um anexo recebido cujo primeiro pedido foi rejeitado
Um vídeo que chegasse numa conversa não pôde ser reproduzido até que a página fosse recarregada, enquanto um vídeo que o membro tinha acabado de enviar sempre r...
Dar a cada organização um limite real de transação
ArmazenamentoSnapshotSweep.catchUp transportado @Transactional(REQUIRES NEW) e foi chamado do mesmo feijão. Spring aplica @Transactional através de um proxy, en...
Gravar os tamanhos das mensagens em vez de escrever zero
SearchIndexService writed sizeBytes = 0 para cada mensagem indexada, sob o comentário "Não disponível no envelope". Ela estava disponível — a busca O perfil sim...
Popover X fecha a janela, não apenas a popover
Demitindo o popover já tinha dois recursos (clique fora, Escape), então um X que só descartou era uma duplicata e não deixou nenhuma maneira de se livrar do cab...
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.