Escolha o agente para onde reatribuir um ticket, em vez de digitar seu id
Atribuir e reatribuir abriu uma caixa de texto na qual digitou um ID de membro bruto — na qual significa já saber o id da pessoa que você queria, para uma ação ...
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...
Projeto para o redesenho de faturamento da plataforma
Regista a verificação de que a medição, o direito e o dinheiro são três pipelines que foram construídos bem e nunca conectados, além dos 17 confirmados defeitos...
Verificar o modo deus contra a base de dados, não um cabeçalho forjado
ContaOrgScopeInterceptor curto-circuito cada org e membro verificar o cabeçalho X-God-Mode-Active e cópias de proxy de faturamento do kamo-internal que cabeçalh...
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...
Endpoints para a entrega automática de entrada
GET /sessions/chat/auto-open retorna as conversas de chat do cliente deste membro deve levantar; POST /sessions/{guid}/registros abertos automaticamente que ele...
Registro durável de uma conversa que o cliente levantou sozinho
MediaSessionMember ganha AUTO OPENED AT, ao lado do msgIdLastViewed porque é o o mesmo grão — um fato sobre a relação de um membro com uma sessão. Aquele. respo...
Renovar o painel de preferências
Quatro dropdowns e um interruptor em um painel lavado de cima para baixo no inquilino cor em plena força, então cada controle lutou seu próprio fundo. Cada sele...
Substituir os spinners da caixa de correio por um esqueleto que se reúne
Cada estado de carregamento em /mensagens era um Loader2 em um painel vazio de outra forma — o boot, a lista de mensagens, a árvore de pastas, o corpo da mensag...
Restaurar os finais CRLF nos tipos de calendário
O mesmo erro de normalização do script que o repositório de participantes: o arquivo foi reescrito através do Python, que converteu todas as linhas que terminav...
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...
Adicionar e remover os convidados da janela de eventos
A última coisa que o diálogo não pôde fazer. Podia mostrar quem já estava em um evento, mas não havia maneira de colocar alguém lá — o único controle convidado ...
Gerencie a lista de convidados de um evento
A janela poderia mostrar quem já estava num evento mas nunca adicionar ou remover alguém; a única operação convidada foi re-notificar pessoas que estavam de alg...
Restaurar as terminações CRLF no repositório de participantes
O commit anterior reescreveu o arquivo através de um script que normalizou seu terminações de linha, então uma adição de doze linhas chegou como uma reescrita d...
Procura de convidados e delete-por-evento
A janela do evento mostra com quem está um evento e o endpoint da lista devolve uma mês de eventos de cada vez. Pedir convidados por evento é uma consulta por l...
Diga ao membro com o que o evento colide, como eles definiram
A coisa mais útil que uma janela de agendamento pode dizer é "você já tem algo então", e o endpoint para respondê-lo existiu junto com Nada disso. O diálogo ago...
Deixar o endpoint de conflitos excluir o evento sendo editado
ConflictDetectionService sempre tomou uma exclusãoEventId; este endpoint Passou nulo. Sem ele, um evento se sobrepõe, então no momento em que o evento diálogo c...
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...
Reconstruir a janela do evento em torno de quando, não em torno de campos
Dez campos esboçados de forma idêntica numa coluna, na ordem em que colunas acontecem de sentar na tabela: título, descrição, localização, calendário, dia intei...
Estratégia de atribuição automática e abrir uma conversa atribuída automaticamente
As configurações dos tópicos ganham a quarta estratégia. As linhas da lista e a janela de edição compartilhar o mesmo rótulo, e a chave enviada para o dicionári...
AUTO ASSIGNMENT, e levantar uma conversa atribuída na tela do agente
Uma solicitação de chat e um ticket enviado são a mesma unidade de trabalho; A estratégia é a única coisa que decide como é entregue. A O caso especial PRE TICK...
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...
Estratégia AUTO ASSIGNMENT e um registro durável de uma entrega invisível
AUTO ASSIGNMENT(3) é anexado ao SupportAssignmentStrategyType — assign imediatamente para um agente que está genuinamente online, preferindo quem detém o menos ...
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...
O chip de um aplicativo preso lança o aplicativo, não suas configurações
O chip líder de uma faixa presa estava ligando para as configurações de pouso do aplicativo - O mesmo lugar onde a primeira entrada já vai. Ele agora pega empre...
Restaurar terminações CRLF nos três arquivos de sessão
O commit anterior reescreveu-os com LF, inflando uma mudança de linha ~56 em um Diff de 700 linhas. O conteúdo está inalterado; isto devolve as terminações o hi...
Um escritor do *** TTL, e é o rastreador de atividade
/api/user-info escreveu a sessão TTL diretamente para Redis, ignorando cada regra do lado do serviço — e useUserInfo faz pesquisas a cada cinco minutos para sem...
Ler uma sessão já não a renova
A expiração no registro Redis É a sessão; quando caduca o membro é Saiu. Este serviço detém sua própria cópia do KSessionService contra isso Chave compartilhada...
Ler uma sessão já não a renova
A expiração no registro Redis É a sessão; quando caduca o membro é Saiu. Este serviço detém sua própria cópia do KSessionService contra isso Chave compartilhada...
Ler uma sessão já não a renova
A expiração no registro Redis É a sessão; quando caduca o membro é Saiu. Este serviço detém sua própria cópia do KSessionService contra isso Chave compartilhada...
Fazer leituras apenas para leitura, deixando um escritor do *** TTL
A expiração no registro Redis É a sessão: quando caduca o membro é Saiu. Ler uma sessão já não lhe toca. Apenas interacção genuína estende-o, através da sessão ...
Sincronizar o calendário da organização com os telefones, sem abrir um buraco
O calendário compartilhado não tem proprietário, então a listagem de DAV com o escopo de conta poderia nunca devolvê-lo: os eventos da empresa estavam clarament...
Atualizar as estatísticas do planejador após a reconstrução semanal do GeoLite
O YugabyteDB não analisa automaticamente, e a troca de estadiamento + renomeia substitui geolite blocks atacado -- então, depois de todos os domingos sincroniza...
Adicionar e preencher contas. data criada
Hibernate não pode adicionar este em si: ddl-auto emite NÃO NULL, que BarataDB recusa em uma tabela que já tem linhas. Então é adicionado nulo Aqui, recheado, d...
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...
Gravar quando uma conta foi criada
A conta não carregava nenhuma data de criação — não uma coluna nula, nenhuma coluna. A lista de contas tem uma coluna Data Criada e ordens por ela, de modo que ...
Pin um aplicativo habilitado para o home launchpad
Cada tópico de aplicativos habilitados agora carrega uma opção de pino, na subopção Configurações menu e em seu cabeçalho de seção na landing page de configuraç...
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...
O índice de gama Geolite deve ser ASC, não o Hash padrão do YugabyteDB
A pesquisa IP é uma varredura de alcance: ONDE network start <= ? ORDEM POR network start DESC LIMIT 1 YugabyteDB partições da coluna de índice LEADING por HAS...
O índice de gama Geolite deve ser ASC, não o Hash padrão do YugabyteDB
A pesquisa IP é uma varredura de alcance: ONDE network start <= ? ORDEM POR network start DESC LIMIT 1 YugabyteDB partições da coluna de índice LEADING por HAS...
Dê ao Mobile Copilot configurar sua própria página de largura total
A superfície de telefone foi a terceira guia do Centro de Interação slideout, que o capped em um trilho 500px — demasiado estreito para mostrar a instalação cód...
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.