Minta um id de visitante quando um código de referência chega sem um
RegisterFlow já leu `?discount=` para visitantes que chegaram ao formulário sem passar pelo middleware de marketing — um código colado num anúncio, um email ou ...
Prove a implantação por digest, não por tag
O commit anterior para `set image' sendo um no-op silencioso. Isto afirma que resultado: após o lançamento, a tag é resolvida para uma digest As cápsulas em exe...
A reconstrução do mesmo commit não implantou nada e relatou sucesso
A imagem é marcada com o commit SHA, então reconstruir o mesmo commit produz uma referência de imagem idêntica. `kubectl set image` então não muda nada, o A imp...
Diga ao servidor para qual organização o reenviar
O botão Reenviar da tela de verificação tem relatado sucesso e enviado Nada para cada organização, excepto a própria plataforma. `host` já monta no corpo da in...
As configurações de segurança de implantação tiveram que ir onde CI realmente lê-los
kamo-register é o único serviço na plataforma cujo CI gera sua implantação em linha, com heredoc, em vez de aplicar k8s/implantation.yaml. Duas consequências, a...
Dê a sala de lançamento para o 15s minReadySegundos agora custa
progressoDeadlineSegundos era 60. Essa é a janela que uma implantação tem de mostrar o progresso antes Kubernetes desiste e marca que falhou, e o commit anterio...
Deixe um lançamento terminar o que o velho pod estava fazendo
Implantes substituiu o único pod de cada serviço com nada para pegar os pedidos em Voo. Três configurações, aplicadas em toda a frota: - preStop dorme 10s ante...
Pinte uma tela de inscrição em branco da organização da máquina
O mesmo defeito que kamo-login a200fc6, mesma causa. Último recurso do getThemePath () deriva uma pasta de tema do nome da máquina - as pastas de nome tinham AN...
Cortar o carrossel de fundo para que o seu zoom-in pára de piscar uma barra de rolagem
O quadro de entrada anima-se a partir da escala 1.04 e seu invólucro não recorte, então a sobreescala pendurou ~2% do viewport depois da borda inferior. Uma tra...
Restaurar o papel de parede da tela de verificação, soltar seu ***, modernizar sua placa de status
Três coisas erradas com /verificação, tudo visível em uma tela. O papel de parede nunca carregou. PostCompletionScreen chamado Mas esse parâmetro é organização...
YearEst é opcional na org, então admita o nulo que chega
Ano estabelecido é nulo na entidade da Organização e Serviço de Segurança serializa o nulo explicitamente, então o `número` declarado nunca foi o todo Forma de ...
Marcar a tela de inscrição do apelido da org, não a máquina
register.kamocrm.com é a página de inscrição para cada organização sem registro host de sua própria, assim que uma pasta tema derivado do host pintou todos eles...
Mantenha os IDs int64 como dígitos, não como números
O KToken não pôde verificar um item real. Os quatro IDs que carrega são int64s, e o Java singer (kamo-shared-library KToken# canonicalForMac) adiciona cada um c...
Desbloqueie os telefones de retrato, adicione análise de funil de análise, corrija a entrega do plano
- Remover o portão de retrato-telefone e "rotar o seu telefone" diálogo que escondeu o assistente inteiro em telefones retrato; o assistente agora renderiza uma...
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...
Envie o nome de host do registante no corpo para que a conta caia sob o org direito
O org resolvido estava disponível no cliente, mas nunca foi enviado para a infra-estrutura — a org foi transmitida apenas implicitamente via X-Forwarded-Host, q...
Resolver o balde de org subdomínios para a sua própria pasta MinIO
getThemePath () estava reduzindo o nome da máquina para apex+tld para ambos os temas host e a pasta do balde, por isso os inquilinos do subdomínio como gnosia.d...
Mostrar somente o passo da frase da recuperação da conta para under-13
Por que: 13+ usuários já fornecem e-mail, telefone e questões de segurança como métodos de recuperação, tornando redundante a frase semente. Sob-13 contas não t...
Activar o botão Terminar através da votação widget.getState() e da mudança para auto=onload
O ouvinte de eventos de mudança de estado não estava a activar de forma fiável o botão Terminar após *** verificação. Duas causas raiz: 1. A lógica de drenagem...
Estreite colunas de primeiro e último nome para que o apelido permaneça em uma linha
URLs de logotipo do 'cache-bust' usando o temaRevision from config.json
DynamicMetaLoader agora armazena o temaRevisão em sessãoArmazenamento e incêndios KAMO THEME CONFIG LOADED após obter config.json. TemaLogo escuta para esse eve...
Envie o Avatar Creator avatar para o servidor após o registro
Avatar Creator avatars foram armazenados apenas como URLs de dados SVG no estado de forma local e nunca foi enviado para o servidor, deixando novos usuários sem...
Restaurar o layout da página de verificação ao zeroar as dimensões de entrada ocultas
MUI Box interpreta valores numéricos de largura/altura 0–1 como percentagens, portanto largura:1 fez a entrada escondida cobrir a carta completa. Alterado para ...
O link do item verifica automaticamente e redireciona para o login; adicione o indicador de foco de código
- /verification?token=xxx agora chamadas verificarEmailByToken na montagem e redireciona para o login no sucesso; retorna para a entrada de código no erro - Cai...
Levantar o elemento *** acima da sobreposição do clique para focar (z- index)
A sobreposição (posição:absoluto, índice z:0) estava cobrindo a Capcha widget porque ele apareceu mais tarde na ordem DOM. Adicionando índice z:1 ao *** o conte...
Redirecionar para /verificação após o registro em vez de renderizar em linha
Mantém a URL precisa — o navegador mostra /verificação não /member.
Passar o corpo de erro upstream através do proxy de segurança em vez da mensagem genérica
Anteriormente retornado {error: "Upstream error"} no non-2xx, perdendo o real mensagem de erro do SecurityService. Agora envia o código de estado e o corpo dire...
Previne que a cache ReqType da idade não mostre a verificação incorreta da idade
- Rota Org: reduzir o Redis TTL de 24h para 5min e adicionar idadeReqTypeMember Detecção lenta para que os campos de segurança permaneçam frescos após alteraçõe...
Definir o título da aba do navegador como 'Registrar - {nome do org}'
DynamicMetaLoader agora chama useThemeConfig e atualiza o documento. título para 'Register - {org.title}' uma vez que o org carrega. Regresso estático em layout...
Resolver erros TS das etapas utilizadas antes da declaração e do elenco de estilo Capcha
Mexe-te. useMemos acima do usoEfeitos que depende deles; importar CSSVariables tipo e usá-lo para o estilo Capcha-widget prop.
Corrigir a limpeza do ouvinte Capcha e reiniciar o estado verificado na saída do passo
Aplicar correções de qualidade de correção e implementação do SP6
C1: use NEXT PUBLIC H*** SITE KEY env var em vez de placeholder codificado C2: alterar RegisterResponse.userId e todos os parâmetros de API de número para strin...
Substituir o backback do KamoCRM codificado com o título dinâmico da organização
Invalide os campos de etiquetas da 'cache' do Redis faltando
Dados de org em cache de antes da atualização do SecurityService não membroTitleNonPlural field. Detecte isto e re-faça novos dados assim as etiquetas de membro...
Proxy todas as chamadas de API externas através do Next.js para evitar CORS
Adicionado catch-all /api/security/[...path] rota proxy e atualizado ThemeConfig, FormAccountRecovery, FormPassportID, FormPersonalInfo, e FormRecoveryEnforceme...
API de países proxy através de Next.js e modo de teste desabilitado
A busca direta para api.kamocrm.com falhou devido ao CORS. Adicionado /api/países rota proxy (mesmo padrão que /api/org) e use TESTING MODE desabilitado.
Use URLs GitHub completos para referências de ação no fluxo de trabalho do Forgejo
Os refs abreviados (por exemplo, acções/checkout@ v4) podem não resolver em Corredores Forgejo. Alinhado com o formato de trabalho kamo-internal.
Forçar o modo de luz para substituir o modo escuro externo CSS
- Definir Tailwind DarkMode para 'classe' para evitar que a preferência do sistema operacional acione utilitários escuros - Adicionar! importantes substituições...
Forçar o modo de luz independentemente da preferência do esquema de cores do SO
Removido prefere-color-scheme consulta de mídia escura para que o site sempre renderiza em modo de luz.
Adicionar sobreposição do punycode para resolver o aviso de deprecação
Adicionar configuração Buildx com configuração de registro inseguro para resolver erros de autenticação 401
Usar a instalação do npm em vez do npm ci para lidar com conflitos de dependência
Permitir a terminação imediata de pods presos (máx.Indisponível: 1)
Adicione ganchos preStop e aumente o período de tolerância de terminação para evitar timeouts de implantação
Remover as funções de ajuda não utilizadas e as declarações duplicadas do Theme.tsx
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.