Registo de Mudança ao Vivo

Ver o que estamos a construir, em tempo real. Cada recurso, correção e melhoria enviados através da plataforma.

17,865
Total de Alterações
4,581
Características
4,512
Correcções
32
Projectos
Filtrar por projeto
Todos os Projetos17,865AIService110APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService348InitializerService299KBService74KlusterServices539MCPGatewayService43MediaService460RAGService61SecurityService1,519TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,553kamo-login318kamo-marketing584kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,320kamo-signer-monorepo50kamolos102
Filtro por tipo
Todos os TiposBuild24CI522Chore670Docs226Feature4,581Fix4,512Other6,781Performance136Refactor273Revert23Style48Test68Upgrade1
August 21, 2026
RefactorSecurityService

Delegar o AvatarObjectPaths para a biblioteca partilhada

MediaService agora nomeia objetos avatar também — a lista de chats de suporte mostra o foto do solicitante, e um solicitante de suporte está na organização de o...

Kamo·3w ago
Featurekamo-shared-library

Resolver o URL de foto de um membro da biblioteca partilhada

A lista de Chats → Suporte está prestes a mostrar o rosto do solicitante, e um suporte solicitante é — na própria mesa da plataforma — sempre membro de outra pe...

Kamo·3w ago
FeatureSecurityService

Devolver a contagem de cada membro aceite por produto

Gerenciar-Credits mostra Max Daily Spend mas nada sobre o quanto dele é usado, para que um gerente não pudesse dizer se um membro era um lead de seu cap ou tinh...

Kamo·3w ago
Featurekamo-shared-library

Conte o gasto de hoje em produtos de um membro em uma consulta

Gerenciar-Credits quer mostrar, por membro, quantos leads eles aceitaram muito hoje — o total em execução o Max Daily Spend cap é comparado com. * * * * * * * r...

Kamo·3w ago
Stylekamo-shared-library

Importações de gota não utilizadas removendo o @EntityGraph

Página, Especificação e EntityGraph só foram necessários pela sobreposição findAll que foi removido depois de tomar /leads para baixo. Deixando uma importação n...

Kamo·3w ago
FixSecurityService

Pare de cortar corpos de notas a 500 caracteres na linha do tempo

A página Todas as comunicações de um lead renderizou uma nota através LeadCommunicationMapper, que cobriu o corpo com 500 caracteres — sem Elipse e sem bandeira...

Kamo·3w ago
Fixkamo-internal

Pegue leads disponíveis a partir das contagens por produto do servidor

leadsByProduct foi derivado das linhas de colocação, que cobrem apenas produtos Alguém já tem uma regra de crédito. A grade lista produtos do vendedor catálogo,...

kamo·3w ago
FixSecurityService

Relatar leads disponíveis para produtos sem colocação

/manage construiu toda a sua resposta, looping sobre lootments, chamando contagemAtribuívelPool uma vez por linha. Mas a grade Gerenciar-Credits lista produtos ...

Kamo·3w ago
Featurekamo-shared-library

Conte o pool atribuível para cada produto do fornecedor de uma vez

contaAssignablePool respostas para um produto, para que um chamador só pode perguntar sobre produtos que já detém. Gerenciar-Créditos foi itering colotments par...

Kamo·3w ago
Fixkamo-internal

Devolver ao compositor o seu cuidado após cada envio

Cada caixa de bate-papo em uma janela de ferramenta se tranca enquanto uma mensagem se apaga — o a entrada carrega `disabled` para que nada digitado no meio do ...

kamo·3w ago
FeatureInitializerService

Índices compostos para geolite locations

Só o país foi o único índice numa tabela de 80.429 linhas. Medida na produção: resolução da cidade (país + subdivisão) índice digitalizado todas as 18.870 linha...

Kamo·3w ago
PerformanceSecurityService

Parar a digitalização de cada mercado x produto após a resposta é conhecida

/leades/disponível-síntese retorna três coisas — temAceitável, temAceitávelCredit e um exemplo de produto — mas visitou todos os mercados x par de produtos, ind...

Kamo·3w ago
Performancekamo-shared-library

Indexar as duas formas geolite locations é realmente consultado por

Só o país foi o único índice numa tabela de 80.429 linhas, e nenhuma consulta real Usaram-no bem. Medida na produção: resolução da cidade (país + subdivisão), ...

Kamo·3w ago
Featurekamo-internal

Mostre a org do solicitante e ofereça a porta do Usuário do Sistema ao seu agente

O cabeçalho de chat de suporte agora nomeia a organização de onde veio o pedido, para todos trabalhando a conversa e para ninguém mais — a pessoa que a criou Se...

kamo·3w ago
FeatureMediaService

Nomeie a org do solicitante e o acesso ao utilizador do sistema final quando o ticket se mover

Três coisas, tudo sobre uma mesa de apoio que responde a mais de um inquilino. O detalhe do bilhete agora carrega um veredicto per-viewer sobre se oferecer "ab...

Kamo·3w ago
FeatureSecurityService

Minta uma sessão do usuário do sistema para o ticket aberto de um agente de suporte

enter-as ganha uma segunda razão para dizer sim. SystemUserEntry Policy gira o chamador *** nos fatos que o SupportSystemAccessResolver compartilhado leva, e qu...

Kamo·3w ago
Featurekamo-shared-library

Deixe que um ticket aberto conceda ao seu agente a org do solicitante, e expire com ela

Um agente de suporte precisa olhar dentro do inquilino do cliente para responder ao ticket Eles estão a aguentar. Até agora, a única maneira de entrar era a pla...

Kamo·3w ago
DocsDaemonService

Registar que a alegação não processada está agora em lote

getUnprocessedPayloads() retornou cada carga útil não processada, e este trabalho mantém o texto cru e achatado de cada um para toda a sua execução — por isso a...

Kamo·3w ago
PerformanceSecurityService

Contar na base de dados em vez de hidratar cada commit

GET /changelog/public/stats carregado todos os 16.571 registros de commit como entidades e os comparou em um laço Java para produzir dois pequenos mapas e um to...

Kamo·3w ago
FeatureInitializerService

Indice member rights applicated on (member id, the right)

A tabela não tinha índices, enquanto cada localizador nele filtra por MEMBRO ID. Em 10.524 linhas um único membro da pesquisa dos direitos era uma varredura seq...

Kamo·3w ago
Stylekamo-shared-library

Restaurar CRLF em Direitos de MembroAplicado

O commit anterior reescreveu este arquivo com um script e converteu silenciosamente seu terminações de linha, então 53 linhas inalteradas mostraram-se modificad...

Kamo·3w ago
Performancekamo-shared-library

Indice member rights applied, encaminhe o pedido de admissão, estatísticas agregadas do changelog

Três resultados de uma auditoria endpoint-a-endpoint, cada uma medida contra produção em vez de inferida. member rights applicated declarou não haver índices e...

Kamo·3w ago
TestSecurityService

Uma sonda de opt-in que executa o SQL da grade, não apenas o seu HQL

/leaders caiu em 2026-08-20 com 'falta de entrada de From-clause para a tabela a2 1' e nenhum teste o captou, porque nenhum deles poderia: a biblioteca compila ...

Kamo·3w ago
Fixkamo-shared-library

Remova o @EntityGraph que quebrou /leades no Hibernate 6.2

A consulta da página da grade falhou na produção com: ERRO: Falta a entrada de FROM-cláusula para a tabela "a2 1" ... deixe-se juntar ao membro da equipa. esqu...

Kamo·3w ago
August 20, 2026
Performancekamo-internal

Obter uma página filtrada pelo servidor em vez de toda a organização

A grade obteve cada lead na org e reduziu-a em uma linha ~300 useMemo. Medida na produção 2026-08-20: 1.427 leads obtidos assim sete pode ser mostrado, 23,3 s a...

kamo·3w ago
PerformanceSecurityService

Page o ponto final da grade e leve a auditoria PHI para fora da linha de solicitação

O GET /api/security/leaders devolveu todas as pistas da organização. Agora. toma página/tamanho/sorte mais os filtros que a grade realmente usa, e retorna uma p...

Kamo·3w ago
Performancekamo-shared-library

Filtrar e páginar a grade na base de dados, lotear a pista de auditoria PHI

Carregar /leaders levou 23,3 s em 1.427 leads. 23,3 s destes foram os HIPAA trilha de auditoria: recordLeadList escreve uma linha phi access log por lead retorn...

Kamo·3w ago
FeatureInitializerService

Composite índices de lead e desbloqueie a execução que os cria

A grade /leades agora filtra e páginas no banco de dados em vez de envio toda a organização para o navegador. Com apenas IX LEADS ORG ID que seria realocar a va...

Kamo·3w ago
FixDaemonService

Marcar os resultados da carga útil por coluna, não através da entidade

payloadRepo.save() em uma carga separada faz Hibernate andar seu gráfico — organização puxa em org domínios — e que lê terras em uma transação que já escreveu, ...

Kamo·3w ago
FixSecurityService

Resolver cada carga útil do backlog como ele é processado

processBacklog refletiu os dois defeitos do trabalho agendado: mutou a carga útil status na memória e salvou-os em um lote no final, e salvou o entidade de endp...

Kamo·3w ago
Fixkamo-shared-library

Gravar o resultado de uma carga útil por coluna, não por entidade

Marcar uma carga útil IMPORTADA com carga útilRepo.save() faz Hibernate andar o grafo de entidade separada — incluindo organização, que puxa em domínio org e q...

Kamo·3w ago
FixDaemonService

Parar a sobreposição das execuções importando as mesmas cargas duas vezes

O gatilho dispara a cada minuto e cada execução de reivindicações funcionam selecionando cargas úteis Ainda em recepção. Um atraso que leva mais de um minuto, p...

Kamo·3w ago
FixDaemonService

Bater o contador processado em vez de reescrever o endpoint

O trabalho terminou um lote alterando o total Processado na entidade final carregado antes do lote começar e salvar toda a linha. Duas consequências: - escreve...

Kamo·3w ago
FixSecurityService

Nunca falha uma submissão porque sua contra- atualização perdeu uma corrida

storePayload já não bate com o contador de endpoint recebido; o receive controller agora chama recordReceipt separadamente, em sua própria transação, e engole o...

Kamo·3w ago
OtherKlusterServices

Preferir brotli no host do tema, e corrigir o raciocínio anterior

Duas coisas, uma delas uma correção para o compromisso antes disso. O commit anterior justificou `codificações: [br, gzip]` com uma sonda contra api.kamocrm.co...

Kamo·3w ago
OtherKlusterServices

Prefere brotli, pare de comprimir o que já está comprimido

O middleware 'compress' compartilhado foi 'compress: {}', que é três Separe os padrões e nenhum deles é o que queremos. Traefik escolhe gzip sempre que o clien...

Kamo·3w ago
Fixkamo-shared-library

Parar de perder cargas úteis para a contenção endpoint-counter

storePayload salvou a carga útil e depois bateu totalRecebido/últimoRecebidoAt por sujar a entidade de destino — na mesma transacção. Cada apresentação a endpoi...

Kamo·3w ago
Fixkamo-internal

Cada bandeira do país no aplicativo era uma imagem bloqueada

Mais oito telas tinham o defeito encontrado na gaveta de visitantes de marketing. A aplicação é servido sob img-src 'self' data: blob: https://theme.kamocrm.co...

kamo·3w ago
Performancekamo-marketing

Comprimir cada resposta, não apenas o documento

server-nonce.js pede upstream para `identity` para que o HTML possa ser carimbado com uma nonce CSP sem uma descompressão/recompressão ida e volta, então Recomp...

Kamo·3w ago
Performancekamo-marketing

Dreno de trabalho diferido um item por período de inactividade

Quatro componentes esperaram que o fio principal ficasse quieto antes de fazer seu trabalho — o pacote torrado/consent, o cromado de rolagem, o toque varrer o a...

Kamo·3w ago
Performancekamo-marketing

Leia a posição de rolagem de um observador, não da disposição

O estado rolado/no topo do navegador veio de um manipulador de rolagem que leu window.scrollY, e o efeito de montagem chamado aquele manipulador síncrono durant...

Kamo·3w ago
Fixkamo-internal

Bandeiras são emoji, porque o CSP bloqueia cada bandeira CDN

A gaveta do visitante pintou um glifo de imagem quebrado onde cada bandeira do país deve o modo `svg` do reacte-country-flag lê como um componente auto-contido ...

kamo·3w ago
ChoreMediaService

Reconstruir contra a biblioteca partilhada com kamo 811db57

Pega na correção createLead que move a disponibilidade de piscina recontar Depois de se comprometer. Antes disso, uma leitura-depois-escrita no hit da transação...

Kamo·3w ago
ChoreSecurityService

Reconstruir contra a biblioteca partilhada com kamo 811db57

Pega na correção createLead que move a disponibilidade de piscina recontar Depois de se comprometer. Antes disso, uma leitura-depois-escrita no hit da transação...

Kamo·3w ago
FixDaemonService

Persista no resultado de cada carga útil como acontece, não em um lote

processEndpointPayloads looped sobre os status de mutação em lote na memória e Salvou-os todos no fim. createLead commits por lead, então qualquer falha a poupa...

Kamo·3w ago
Fixkamo-shared-library

Mover a recontagem de disponibilidade da piscina após o commit

createLead salvou o lead e então, na mesma transação, foi executado countAssignablePool para transmitir a nova figura "Leads Available". Em YugabyteDB uma leitu...

Kamo·3w ago
Featurekamo-internal

Empresa de oferta Nome como um campo de importação mapeável

leadFields.ts é a lista de onde a tela de mapeamento tira, e deve espelhar o Interruptor de infra- estrutura no LeadImportController — um caminho ausente de amb...

kamo·3w ago
FeatureSecurityService

Empresa de mapas Nome para que uma planilha possa carregar o nome da empresa

setDirectFieldOnCreateRequest não tinha empresa Caso de nome, então o campo foi inatingível a partir do assistente de importação manual, mesmo que o CreateLeadR...

Kamo·3w ago
FeatureDaemonService

Deixe uma carga útil mapeada carregar a empresaNome e fonte

O interruptor de campo direto da tarefa de admissão parou no fornecedorLeadID, então um mapeamento na empresaNome ou fonte foi aceite pela UI, armazenada no end...

Kamo·3w ago
Performancekamo-marketing

Servir ativos estáticos como brotli de tempo de construção

O pedaço marcado é reactive-dom, e eu verifiquei-o corretamente antes de concluir qualquer coisa: é a construção de produção (sem marcadores dev, e os ganchos d...

Kamo·3w ago

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.

Começar Livre Para SempreVer Preços