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 ...
Preserve DB domain case in NoReply from address
Removed toLowerCase() — the domain already comes from resolvePrimaryDomain which reads org_domains from the database, so case is canonical from DB.
Serialize HTML de e- mail completo com moldura externa no modelo salvar
- serializeFullEmailHtml envolve blocos internos no quadro exterior de marca ( logotipo do cabeçalho, título/subtítulo, área de conteúdo, logotipo do rodapé + n...
Adicionar quadro externo de marca ao modelo canônico de verificação por e-mail
Envolve o conteúdo interno com uma shell de e- mail adequada: cabeçalho com nome org, área de conteúdo almofadada, e rodapé. Usa {{orgName}} como identificador.
Add code-based email verification path to /verify-email endpoint
The endpoint now handles both token (link click) and userId+code (manual 6-digit entry). Token path unchanged; code path hashes the supplied code and matches ag...
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...
Remove nonexistent postfix-lmdb package, install lmdb library instead
postfix-lmdb is not a valid Alpine package; lmdb support is built into the base postfix package. The pod was CrashLoopBackOff due to apk failure.
Add weekly image prune and journal vacuum CronJob for k1m1
CronJob runs every Sunday 3am, privileged, pinned to k1m1. - crictl rmi --prune removes unused container images - nsenter journal vacuum enforces 500MB cap - CI...
Fix Docs image registry, add Recreate strategy to coturn/postfix, increase qdrant memory
- Docs: fix wrong image registry (redis.kamo.svc... → **************** add Recreate strategy - coturn: add Recreate strategy to prevent rolling update port conf...
Compactar o cabeçalho do editor — remover grandes títulos/tabs, mover as ações para a linha de navegação
Remove o cartão de cabeçalho pegajoso (título, legenda, Salvar/Cancelar/Preview botões, barra de tabulação Editar/Preview) do EmailTemplateEdit para recuperar ~...
Requer *** na página de verificação antes de cada verificação/reenviar tentativa
*** é reiniciado após cada ação (sucesso ou falha) de modo que seja fresco resolver é necessário para cada tentativa subsequente.
Switch Postfix sasl_passwd from hash to lmdb format
Alpine postfix build does not include hash support — postmap and smtp_sasl_password_maps were silently failing, deferring every outbound relay attempt through s...
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.
Resolve root domain for NoReply from-address instead of bare subdomain
resolvePrimaryDomain() was returning the first domain entry (e.g. "www") which produced NoReply@www. Now prefers root domains (parent == null) so transactional ...
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.
Como o que vês no transporte?
Tudo isso chega em seu espaço de trabalho por conta própria. Comece no plano gratuito e leia esta página novamente em um mês.
