O lobby de uma criança org oferece seus próprios fundos, não a plataforma
A pasta que contém fundos de reunião de uma org e configuração do tema foi derivada de um nome de máquina — o pedido, ou o domínio org que o sidecar passou — to...
O aplicativo de assinatura recebe a marca do remetente, não Kamo
A mesma suposição errada apareceu de duas formas diferentes. A URL do logotipo da página de assinatura era https://<org fqdn>/theme/logo-full.<ext>, que não é ...
Compilar o URL do logo org a partir do seu alias, não do seu domínio
E-mail transacional é enviado para caixas de entrada reais, então os logotipos cabeçalho e rodapé têm para resolver sem qualquer tema do lado do cliente JavaScr...
A edição de linhas de topo já não apaga as linhas de cada opção
Quote.lineItems é órfãoRemoval=true e as linhas de opção definem aspas e opção — é por isso que o QuoteMapper filtra no getOption() == null duas vezes. A desob ...
Uma cotação opção mantém o imposto e pessoal de transporte inserido
recalcular zero impostoTotal e envioTotal sempre que uma cotação tinha opções. Ambos ainda foram armazenados na linha e ainda renderizados pelo QuoteMapper, ent...
Guardas terminais ao cancelar e revisar, e parar de engolir entrada ruim
cancel() e review() não tinham nenhum isTerminal() guard, então uma citação ACCEPTED poderia ser virado para CANCELADO ou REVISADO enquanto aceitoAt e aceitoByN...
Não foi possível editar um mercado de cuidados de saúde
A tela de edição ainda construiu seu selecionador mapeando sobre uma matriz codificada de sete verticais. SAÚDECARE não estava entre eles, então um mercado de s...
Gate as superfícies de população em seus próprios direitos
EXPORT PATIENT DATA, VER QUALIDADE MÉDIAS E GESTÃO PATIENT PORTAL para Java em agosto e nunca espelhado na enum cliente, então RoleRightType.THE RIGHT foi simpl...
Pare de largar o mercado e a conta do cliente
CreateQuoteRequest sempre declarou marketUid e accountUid e QuoteService.create também nunca leu, então Quote.market e Quote. CustomerAccount foram NULL em cada...
Os direitos clínicos eram ingratos
Os editores de permissões renderizam uma seção por aplicativo habilitado e filtram cada função direitos por essa seção de serviçoTipo. Não havia nenhuma seção d...
Remover os parâmetros de avaliação não revistos
Emparelhado com a remoção kamo-internal do crachá AI não lido: a contagem nunca disse nada acionável ao membro (sem push canal volta, então "Você minimizou a ja...
Remova inteiramente o indicador de contagem não lida de IA
Ele nunca disse ao membro nada acionável: AIService não tem um canal push para respostas de assistente, então uma contagem nonzero só significava "você minimizo...
O novo espaço de trabalho é aberto por um clique, da /rede
Criando uma org desativou o formulário, fez o trabalho, e então pareceu não fazer nada: nenhuma aba nova, e o botão de volta para ler "Criar organização". wind...
Aplica o guid de uma sessão criada automaticamente nos adereços da janela
Quando aberto sem uma sessãoGuid (launcher / nav / paleta de comandos), AiChatTool POSTe uma nova sessão e chama setSessionGuid(guid) mas nunca disse o tool-win...
A coluna do switcher opta por fora da presença que não pode mostrar honestamente
Passes showPresence={false} to your Conversations Pane Mount. Esta coluna renderiza sob ToolDock, um irmão de (veja o próprio comentário doc do ToolProviders.ts...
Mostrar o tópicoPresença às linhas e porta o estado vazio no prefsLoaded
- Adiciona 'showPresence' (default true), encaminhado a todas as Conversações a metade do lado do painel da fixação de presença do interruptor-coluna (ver Conve...
Row homenageia showPresence, e formata uma prévia de TEXT E.164 remetente
Dois resultados de revisão de ramo inteiro contra este componente: - Conversação. Montado dentro da coluna do interruptor (um irmão do PresenceProvider/ Availa...
Dê à aba Chats uma altura definida, não apenas a altura mínima
O movimento chats-tab.div tinha 'altura: indefinido' (apenas 'minHeight: '100%'), Assim, o seu bloco de contenção foi auto-altura e conversas Do próprio Pane `a...
Fechar revisão rodada 1 na coluna bate-papo
- ChatSwitcherColumn: mova a preferência de colapso definir actualizador colapsado no próprio manipulador de cliques. O updater foi impuro (ele disparou uma bus...
Parar o flash back-bucket, guardar o duplo-clique
A revisão descobriu que o painel tinha deixado cair o componente anterior da lista de chats gate: ativoBucket iniciado no bucket inicial/DEFAULT BUCKET e foi en...
Uma janela maximizada restaurada lembra de onde ela veio
Um instantâneo gravado enquanto uma janela foi maximizada usado para perder o que isso a janela retornaria, então a primeira sessão restaurada Deixou-o cair no ...
Parar a tempestade de repetição do ramo de texto, colocar o observador re-root
voipApi.getConversas passam pelo apiCall, que lança sobre qualquer não-2xx — diferente dos outros dois branches do loadMore, que fetch() diretamente e check Res...
Colunas de junção do Pin ServiceJob para INT8
Exportando o DDL da tabela mostrou org id, engagement id e customer uid cada emitido como INT8 DEFAULT unique rowid() — herdado da chave referenciada. Três tecl...
Parar a reescrita CRLF do membroColor do commit anterior
A edição do documento de uma palavra do commit anterior (descartando o ChatsList referência) reescreveu a função inteira do membroColor de LF para CRLF: este ar...
Parar de descartar alterações de status e responder 200
updateWorkOrder analisou o status solicitado dentro da captura (Excepção ignorada), salvou a entidade inalterada, e retornou 200 com um DTO mostrando o valor an...
Pare de derivar o domínio do tema da org e congele o formulário enquanto funciona
O assistente deriva o domínio do novo org de GET /org/{id}. Esse ponto final devolve a entidade, e os seus «domínios» são LAZY — serializado como nulo fora de u...
Criar retorna o domínio em que seu tema é fornecido
O ouvinte não pode resolver isto e tem de parar de tentar. GET /org/{id} respostas com a entidade, cujo `domínios' é LAZY e serializa como nulo fora de uma tran...
Parar o link de rastreamento cortando seu próprio texto
Ferramentas de Marketing -> Códigos de rastreamento desenharam a faixa de ligação do membro com a sobrancelha cortar através de suas capitais, o ícone fatiado e...
Dê ao codificador de texto-conversas um tiebreaker para que as datas amarradas não sejam deixadas cair
lastActivityAt, então uma conversação compartilhando que o timestamp exato foi excluído do perdido da lista permanentemente, não apenas desordenado. Atingível n...
O novo espaço de trabalho abre uma vez, pronto e como ele próprio
Três falhas com uma causa, relatada após criar Carl's Jr: a nova aba disse ?org=kamocrm.com, mostrou o logotipo de Kamo e nenhuma das cores da org — enquanto se...
Excluir findConflictingEvents, que nunca retornou uma linha
Quatro defeitos independentes, um dos quais esvaziou o conjunto de resultados: filtrado e.user.id enquanto ambas as chamadas passam um ID de membro e as duas co...
Detecção de conflitos agora encontra conflitos
Delegados para encontrarBusyForMemberInRange e exclui o evento sendo editado em Java, onde uma exclusão nula não pode envenenar um predicado SQL. O teste que s...
Remova o controle de recorrência, que descartou o que coletou
A mudança, seleção de frequência e contagem de ocorrência renderizadas no calendário página e não chegou a qualquer carga útil: compowerDraft nunca os leu e onS...
Resolver o portão de carga no portão, não em uma bandeira "carga começou"
Dois acompanhamentos para a loja de sessões, um deles um verdadeiro defeito. gareLoaded decidiu primeiro plano-vs-background de uma bandeira 'everLoaded' defin...
Um token de push pode ser reivindicado por uma linha do dispositivo, não por cada login passado
Companheiro para MediaService 8a809b3, que parou os membros de obter o mesmo Mensagem de chat três vezes mais no telefone. Essa alteração fez a expedição colaps...
Um telefone, um alerta — colapso de destinos push duplicados
Os membros estavam recebendo a mesma mensagem de chat três vezes mais no telefone. As inscrições são únicas em (dispositivo token id, org id, push kind), NÃO n...
Uma aba apenas nomeia uma organização que ela realmente tem
Abrindo TacoBell de /network colocar ?org=kamocrm.com na nova aba. A aba pousa em /validate, que renderiza dentro desta shell ANTES de sua sessão existe — então...
Recuperar uma contagem de fundo perdida das próprias imagens
commitBackgroundOrder escreve as imagens para STAGING, e imageBgCount é apenas um registro de como muitos escreveram — o que fez dessa coluna um único ponto de ...
Gate os nove terminais de trabalho de serviço à direita
Eles enviaram verificar apenas que o chamador teve uma sessão, então qualquer membro de um org poderia ler e mutar cada ordem de trabalho nele independentemente...
Retirar os nove parâmetros de trabalho de serviço da linha de base não protegida
Eles são fechados a partir de e6e1d02, por isso as suas entradas de base já não correspondem a um O objectivo não vigiado e... Linhas. Requerendo a remoção é o ...
Pare o cliente. direitos de ler as linhas de cada inquilino
Cada endpoint que aceitou um VEZ OWN * direito como um OR-alternativo carregado seu gravar apenas pela chave primária, nunca verificando a quem pertencia: getSu...
A referência org pertence ao proxy.ts, não a um segundo arquivo middleware
O próximo 16 substituiu middleware por proxy, e este repo já tinha proxy.ts — assim adicionando middleware.ts ao lado falhou o build outright: "Ambos os arquivo...
A sessão de assinatura torna-se per-tab
analytics.auth viveu em localStorage, que cada aba desta origem compartilha. Análise é alcançada por uma entrega OTK de um espaço de trabalho e cada entrega men...
A identidade de um membro e suas orgs deixam de vazar entre tabulações
meet.<plataforma> é compartilhada por cada organização sem um anfitrião próprio, e localStorage é por ORIGEM. O nome do membro assinado, e-mail e avatar foram e...
Os ativos do tema vêm de uma máquina que resolve
A tela de login pinta a marca de uma organização a partir do tema.<seu próprio domínio>. Esse domínio pode não resolver: uma org pode existir e ser assinada ant...
Uma aba, um inquilino — pare de resolver a org do cookie compartilhado
Abra KamoCRM em uma aba e outra organização em um segundo, refresque a primeira, e ela renderizado como o segundo. Feche a aba, refresque novamente, e ele volto...
Servir os ativos de um inquilino de um anfitrião que resolve, e parar de excluir seus fundos
Duas falhas encontradas ao descobrir por que uma nova org abriu sem logotipo e sem cores. Entrega Tema. Os ativos foram solicitados do tema.<domínio próprio da...
Parar a carga de trabalho de piscar a aba do navegador para sempre
TabAttention alimentado navGrandTotal em um flasher título 1100ms. Quatro dos seus oito addends são profundidade de fila que nunca atinge zero quando um membro ...
Marca de fioSmsRead/markAiRead/social mark-read para suas janelas
Avaliação final encontradoSmsRead and markAiRead had zero callers, and SocialChatWindow nunca chamou markAsRead/beginViewing em tudo — três de cinco superfícies...
Gate the voicemail nav conta com View VOiceMAIL
Entreguei qualquer membro autenticado mantendo uma linha do MemberVoipConfig com a contagem de mensagens de voz não lidas sem direitos, mesmo que VoipVoicemailC...
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.