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...
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...
SP6 refactor de assistente de registro — divida PersonalInfo, adicione API de registro real
- Substituir FormPersonalInfo com FormName (campos de nome) e FormAvatar (gerador Criador Avatar com modos de geração/carga/skip para 13+) - Excluir FormRecover...
SP5 migrate KamoCRM agereq to ALL_WORK_ELIGIBLE
Add KamoCRMAgeReqUpdateRunner (order 10) — conditional idempotent UPDATE on startup; WHERE clause checks old value so re-runs are no-ops. Errors are swallowed s...
Implement SP4 email verification and registration wiring
- Delete legacy email/VerificationEmail.java (hardcoded SMTP stub) - Add **************** (mirrors recovery package pattern) - Add **************** — token gene...
Adicionar verificação de e- mail Entity Token + repo + User.alias/emailVerified + UserRepo questions; bump 1.4.0 (SP4)
Add SP4 email_verification_tokens DDL + User alias/email_verified columns
Adicionar páginas de configurações de conta para perguntas de telefone + segurança (SP3)
Adiciona ************* com fiação API para Serviço de Segurança /api/conta/*. Sincroniza navegação em todos os 3 locais.
Fio real chamadas API em / recuperar página (SP3)
Substitui todos os stubs fakeSubmit() por chamadas de recuperaçãoApi. Adiciona SMS OTP verificar a fase, a entrada de e-mail de semente, o passo da nova palavra...
Add AccountSettingsController + Service for phone + security questions (SP3)
Allows logged-in users to set/verify phone and configure 3 security questions. Routes to /api/account/* (session-authenticated via KSESSION_DATA).
Add BulkTextSmsClient + EmailTemplateServiceClient + PasswordRecoveryController (SP3)
Full password recovery flow: email-link, SMS OTP, security questions, seed phrase. Routes to /api/recover/* (unauthenticated). Uses SP1 email pipeline + VOIPSer...
Add InternalAuthFilter + POST /api/bulktext/send for service-to-service SMS (SP3)
Adicionar entidades de recuperação + acordos de recompra; aumento para 1.3.0 (SP3)
Adiciona senhaResetToken, SmsOtp, RecoverySession, AccountVerificationCode Entidades JPA com repositórios correspondentes para o fluxo de recuperação SP3.
Adicionar SegurançaQuestionCatalog enum + sq1/2/3 + seedPhraseHash to User (SP3)
Add SP3 recovery table DDL + User column additions to SchemaCleanupRunner
Previsão da rota através do modal renderizado pela infra- estrutura do navegador (parte de SP2)
O E-mailTemplateBrowser agora possui o modo de visualização diretamente, então o O gestor já não precisa de interceptar pedidos de antevisão em linha e redireci...
Email de FioTemplateEdit para API real
Hidrata do templateApi.get, salva via templateApi.update. Categoria dropdown é baseado em API com categoria inline-criar affordance. Variáveis Selector lê de va...
Email de FioTemplateBrowser para API real + adicionar guia Padrão de Sistema
Substitui ~140 linhas de dados simulados por chamadas templateApi.list(). Condicional quinta aba 'System Defaults' aparece apenas para administradores e renderi...
Adicionar e- mailTemplatePreview modal
Abre na antevisão da acção da linha. Renderização da infra-estrutura via templateApi.preview(); resultado exibido em um iframe sandboxed para isolamento de esti...
Adicionar modeloApi + categoriaApi + variávelContrata módulos do cliente
Embrulha o SP1 /api/email/templates/* e ************************* endpoints com helpers TypeScript digitados. variávelContratos espelhos SP1 TemplateKeys Javado...
Wire EmailTemplateSeedClient into ****************
Thin RestTemplate client that POSTs to EmailService's **************** after an org + owner TeamMember are persisted. Retries twice with backoff; failure throws...
Add EmailTemplateCategoryController REST endpoints
**************** CRUD. Delete response includes reassignedCount — the number of templates that became uncategorized as a result of removing the category. Sessio...
Add EmailTemplateController REST endpoints + DTOs
Exposes /api/email/templates/* CRUD + preview + duplicate + reset-to-default + service-to-service /send + /seed-org/{orgId}. Top-level orgs (no parent) addition...
Add InternalAuthFilter for service-to-service endpoints
Validates X-Internal-Auth header on /api/email/templates/send and /api/email/templates/seed-org/* paths. Other paths bypass this filter (user session auth handl...
Adicionar o EmailTemplateCategoryService — CRUD para categorias de org-scoped
Nome único por org aplicado na camada de serviço (combina o índice único parcial no DB). Supressão nula categoria id nos modelos afetados antes de remover a lin...
Adicionar EmailTemplateService — CRUD + send + seed + reset-to-default
Orquestrador principal para e-mail transacional. SendToUser resolve o modelo, torna sujeito/corpo, escolhe o domínio primário da organização. domínios, e entreg...
Adicionar NoReplySenderService para 'NoReply@ {domain}' do endereço
Fonte única de verdade para e-mail transacional de endereços. Aceita uma string de domínio, minúscula-normaliza-lo, retorna "NoReply@<domínio>". Os ouvintes dev...
Adicionar Renderador de Modelos para substituição {{var}}
Renderizador de regex sem estado. Faltam vars para substituir o texto vazio e emite um registro WARN com templateKey + orgId para atribuição. Sem fuga de HTML e...
Add EmailTemplateSeedRunner for SYSTEM + per-org seeding
Runs at @Order(20) on KamoInitializerService startup. Loads canonical templates from kamo-shared-library resources; upserts SYSTEM rows (no clobber); backfills ...
Add partial unique indexes + CHECK constraints for email_templates
Hibernate ddl-auto can't generate partial unique indexes or computed-CHECK constraints. This commit adds them via the existing idempotent DDL runner pattern aft...
Adicionar CanonicalTemplateLoader + CanonicalTemplate record
Lê os três modelos exigidos (WELCOME, PASSWORD RESET, EMAIL VERIFICAÇÃO) de recursos de caminhos de classe em **************************** Consumido por KamoIn...
Adicionar HTML canônico + JSON para WELCOME, PASSWORD RESET, EMAIL VERIFICAÇÃO
Conteúdo da fonte de verdade para linhas do SISTEMA. Carregado no KamoInitializerService inicialização por CanonicalTemplateLoader e upsertado em e-mail templat...
Adicionar E-mailTemplate entity + repositório
Armazena uma linha do SISTEMA por modelo chave (org id NULL, is system TRUE) mais um clone por org por template key. Soft-reference org id/category id. DB... ti...
Adicionar EmailTemplateCategory entity + repositório
Categorias org-scoped para modelos de email. Soft BIGINT org id (sem FK) corresponde aos padrões existentes. Caso-insensível nome unicidade per-org é aplicado a...
Adicionar TemplateStatus enum + TemplateKeys constantes para modelos transacionais
Declara os estados de ciclo de vida requeridos/aDUANEIRO/ARCHIVED e os três chaves de modelo exigidas (WELCOME, PASSWORD RESET, EMAIL VERIFICAÇÃO). Contratos v...
Seed KamoCRM with ALL_WORK_ELIGIBLE on fresh installs
The createOrg() helper applies this single argument to both ageReqTypeMember and ageReqTypeTeamMember; consistent with platform convention. Pairs with KamoCRMAg...
Add one-time runner to migrate KamoCRM agereq to ALL_WORK_ELIGIBLE
Conditional idempotent UPDATE runs on service startup; WHERE clause checks the expected old value so re-runs are no-ops. Errors are logged and swallowed — start...
Adicionar Powered by KamoCRM backlink para / welcome landing page
A landing page real meet.{domain} é bem-vinda/índice. html — uma estática Página HTML servida diretamente pelo nginx que lida com o fluxo pré-auth (capture exib...
Logótipos de integração + metadados precisos /integrações
Páginas de integração e hub agora exibem logotipos de fornecedores (reusando o existente ******************* de activos que a homepage TechStackBanner já usa). ...
Expandir /integrações para todos os fornecedores listados na página inicial
Alinha a página /integrações com as integrações reais expostas por a página inicial (TechStackBanner). Adiciona 28 novas páginas de integração correspondentes o...
Adicionar Home Brokers de hipoteca página indústria
Nova página de solução da indústria em /solutions/mortgage-brokers para hipoteca corretores e cedentes de empréstimos. Segue o enquadramento da plataforma hones...
Adicione 92 páginas de SEO — indústrias, integrações, glossário
Implementa Tier 1 do plano de expansão de conteúdo SEO: três novos conteúdos subsistemas com um total de 92 novas URLs rastreáveis mais 3 páginas hub. 1. /Solu...
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.