Populate all EMAIL_VERIFICATION template variables
Was sending only {token, code} — template also needs orgName, firstName, verifyLink, and expiryMinutes. Load org and user to build the full vars map, and resolv...
Atualizar redirecionamento de /resend-verificação para /verificação no site de registro
Add internal.auth.secret to EmailService configmap
InternalAuthFilter was rejecting all service-to-service calls (send, seed-org) with 503 because internal.auth.secret was unconfigured. Matches the same INTERNAL...
Redirecionar EMAIL NOT Verified para registrar/reenviar-verificação
Remove o EmailVerifyCard em linha da página de login e todos os relacionados Estado/chamadas. No EMAIL NOT Verified, o utilizador é agora enviado para *********...
Adicionar /resend-verification página para redirecionamentos de login
Cria uma rota autônoma /reenviar-verificação que aceita ?email e ?userId consulta params, reutilizando PostCompletionScreen para um consistente verificação de e...
Cartão de verificação ampliado para 32rem para evitar o embrulho da etiqueta do botão
Allow transactional send on port-25 relay and auto-seed missing templates
Port-25 SMTP (postfix) requires no auth — transactionalCredentials() was throwing ProviderUnavailableException when user/pass were unconfigured, blocking all ve...
Use subdomain-aware SQL to match findByDomain JPQL logic
Org domain lookup in resendVerification was doing an exact-match query that failed for subdomains stored as child records (e.g. 'api' with parent 'kamocrm.com')...
Definir Host/X-Forwarded-Host para que o APIService resolva a org correta
APIService substitui X-Forwarded-Host com request.getServerName(), que lê do cabeçalho Host. Sem um cabeçalho Host explícito do serviço interno K8s o nome do ho...
Correct EmailService URL port in configmap (4203 -> 80)
EmailService K8s service exposes port 80, not 4203. Verification emails were timing out on every registration attempt.
Redesenhar tela de verificação de email + corrigir reenviar bug de email
- PostCompletionScreen: layout de página inteira com fundo org animado, cartão de vidromorfismo, logotipo, caixas de código visuais de 6 dígitos, estados de suc...
Bypass JPA org lookup to avoid Hibernate cascade flush error
**************** triggers **************** which causes a Hibernate auto-flush. That flush fails because Organization.features was previously replaced with a pl...
Remova o carregamento ansioso de recursos do getOrganizaçãoByDomain
Características são uma preocupação de nível de org não relacionada com a maioria dos ouvintes deste método (por exemplo, registo, resolução de domínio de login...
Mutate features colection in-place para evitar erro de remoção órfão em cascata
Chamando org.setCaracterísticas (newList) substitui o persistente rastreado por Hibernate coleção, causando JpaSystemException quando qualquer consulta dispara ...
Use getReferenceById to avoid cascade orphanRemoval flush error on registration
Loading Organization via findById inside @Transactional caused Hibernate to detect the features collection was de-referenced during auto-flush, throwing JpaSyst...
Reenviar verificação usando e-mail não userId, encaminhar X-Forwarded-Host
SecurityService /register/resend-verification espera email no corpo, não userId (que a resposta de erro de login nunca inclui). Avançar também X-Forwarded-Host ...
Coincidir com o armazenamento avatar interno do kamo — 3 tamanhos, MinIO, passo de envio separado
O diálogo de recorte agora produz três bolhas de PNG (50/150/350px) via tela, idênticas ao Avatar de Kamo-Internal. Após o registro retorna userId, os blobs Est...
Add register-photo endpoint for unauthenticated post-registration avatar upload
POST **************** accepts userId + file/fileSm/fileMd/fileLg without a session. Guards: user must be unverified and have no avatar yet, preventing abuse aga...
Substituir o erro EMAIL NOT Verified pelo rico cartão de verificação
Quando o login falha com EMAIL NOT VerifiED o cartão de login é agora substituído por um tela polida "Verificar sua caixa de entrada": envelope animado SVG com ...
Estenda o upload de fotos para suportar formatos AVIF e SVG
Adiciona imagem/avif e imagem/svg+xml à entrada do arquivo aceitar lista e validação regex. Atualiza o rótulo de dicas para listar todos os seis formatos. O kam...
Adicionar editor de fotos react-easy-crop à etapa de upload de registro
Mirrors the PhotoCropDialog from kamo-internal's AvatarManager: - janela de corte abre imediatamente após a seleção de arquivos - pan arrastando, zoom via rolag...
Add dao.repositories to JPA scan so EmailTemplateRepository is found
Same pattern as KamoInitializerService — explicit basePackages overrides default scanning and must include every package that has repositories.
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...
Align registration field names and response shape with frontend contract
Frontend sends nameFirst/nameLast but controller read firstName/lastName, causing 400 "First name is required". Success response now returns {status, userId, al...
Substituir o cache de sessão Redis com o retorno direto da API Java na rota org
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...
Add SecurityService and dao.repositories to EnableJpaRepositories scan
UserPhoneLookupRepository in recovery package was not picked up because EnableJpaRepositories only listed dao.repos and commerce. Added the SecurityService base...
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...
Adicionar autodetecção /api/geoip rota e país do fio
Proxies cliente IP to SecurityService GeoLite2 procura, em seguida, define o país detectado em FormMyCountry automaticamente na carga da página.
Add GET /api/security/geoip/me for client IP country lookup
Reads real client IP from X-Forwarded-For / X-Real-IP headers, does a GeoLite2 lookup, and returns { country_code, country_name }. Used by kamo-register's count...
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.
Add dao.repositories to EnableJpaRepositories scan
EmailTemplateRepository lives under dao.repositories.email, not dao.repos, so it was not picked up as a Spring bean.
Adicionar DEFAULT false à definição da coluna verificada por e- mail
O esquema migrador do Hibernate gera TABELA ALTER sem um padrão, falha em tabelas com linhas existentes. colunaDefinição força-o a incluir DEFAULT false para qu...
Remover h*** env var, apagar componente de demonstração capchta não utilizado
Corrigir a limpeza do ouvinte Capcha e reiniciar o estado verificado na saída do passo
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.