Aggiungi reag-easy-crop photo editor per la fase di upload di registrazione
Specchi il PhotoCropDialog di AvatarManager di kamo-internal: - finestra di dialogo raccolto si apre immediatamente dopo la selezione del file - padella trascin...
Aggiungi /api/geoip route e wire country auto-detection
Proxies client IP to SecurityService GeoLite2 lookup, quindi imposta il paese rilevato in FormMyCountry automaticamente sul carico di pagina.
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...
Sostituire h*** con inline kamo-capcha-widget nella fase di finitura
Aggiungere il fornitore kamo-capcha-widget, rimuovere i pacchetti h***
SP6 registro wizard refactor — diviso PersonalInfo, aggiungere reale registrazione API
- Sostituire FormPersonalInfo con FormName (campi di nome) e FormAvatar (generatore di Avatar con modalità di generazione/upload/skip per 13+) - Eliminare FormR...
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...
Aggiungi e-mailVerificazione Token entità + repo + User.alias/emailVerified + UserRepo querys; urto 1.4.0 (SP4)
Add SP4 email_verification_tokens DDL + User alias/email_verified columns
Aggiungi pagine delle impostazioni dell'account per domande di telefono + sicurezza (SP3)
Addirittura... Servizio di sicurezza /api/account/*. Syncs nav in tutte le 3 posizioni.
Filo reale API chiama in /recuperare pagina (SP3)
Sostituisce tutte le stube falseSubmit() con recuperoApi chiamate. Aggiunge SMS OTP verifica fase, ingresso di e-mail di seme, passo di nuova password e atterra...
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)
Aggiungere entità di recupero + repos; urto a 1.3.0 (SP3)
Aggiunge PasswordResetToken, SmsOtp, RecoverySession, AccountVerificationCode entità JPA con corrispondenti repository per il flusso di recupero SP3.
Aggiungi SecurityQuestionCatalog enum + sq1/2/3 + seedPhraseHash all'utente (SP3)
Add SP3 recovery table DDL + User column additions to SchemaCleanupRunner
Anteprima del percorso attraverso il backend di Browser-rendered modal (parte di SP2)
Il EmailTemplateBrowser ora possiede l'anteprima modale direttamente, quindi il Manager non ha più bisogno di intercettare richieste di anteprima a livello di r...
Wire EmailTemplateEdit to real API
Idrata da templateApi.get, salva tramite templateApi.update. Categoria dropdown è API-driven con la garanzia di creazione di categoria in linea. Variabili picke...
Wire EmailTemplateBrowser a API reale + aggiungere la scheda Default di sistema
Sostituisce ~140 linee di dati mock con le chiamate templateApi.list(). Condizione quinta scheda 'System Defaults' appare solo per gli amministratori e i render...
Aggiungi EmailTemplatePreview modal
Si apre su Anteprima azione riga. Backend-rendered tramite templateApi.preview(); risultato visualizzato in un iframe sabbiato per isolamento stile. Corrisponde...
Aggiungi templateApi + categoriaApi + variabiliContraccia i moduli client
E' una specie di... endpoints con helper TypeScript digitati. variabiliContratti specchi SP1 TemplateKeys Javadoc così il raccoglitore variabile dell'editor mos...
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...
Aggiungi EmailTemplateCategoryService — CRUD per le categorie org-scope
Caso-insensibile nome unicità per org applicato a livello di servizio (scelga l'indice unico parziale nel DB). Cancellazione nulls categoria id sui modelli inte...
Add EmailTemplateService — CRUD + send + seed + reset-to-default
Core orchestrator for transactional email. sendToUser resolves the template, renders subject/body, picks the org's primary domain from Organization.domains, and...
Aggiungi NoReplySenderService per 'NoReply@{domain}' dall'indirizzo
Singola fonte di verità per e-mail transazionale da indirizzi. Accetta un stringa di dominio, abbassare-normalizza, restituisce "NoReply@θdomain>". I chiamanti ...
Aggiungi TemplateRenderer per la sostituzione {{var}}
Render basato su regex senza stato. I vars mancanti sostituiscono la stringa vuota e emettere un registro WARN con templateKey + orgId per attribuzione. Nessuna...
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...
Aggiungi CanonicalTemplateLoader + CanonicalTemplate record
Legge i tre modelli REQUIRED (WELCOME, PASSWORD RESET, EMAIL VERIFICAZIONE) dalle risorse dei percorsi di classe E' il momento giusto. Consumato da KamoInitiali...
Aggiungi HTML canonica + JSON per WELCOME, PASSWORD RESET, EMAIL VERIFICATION
Contenuto fondamentale per le righe SYSTEM. Caricato su KamoInitializerService avvio da CanonicalTemplateLoader e UPSERTed in email templates. Parte della SP1.
Aggiungere EmailTemplate entità + repository
Memorizza una riga SYSTEM per template key (org id NULL, is system TRUE) plus un clone per org per template key. Riferimento morbido org id/category id. DB... t...
Aggiungi EmailTemplateCategory entità + repository
Le categorie Org-scoped per i modelli di posta elettronica. Soft BIGINT org id (no FK) corrisponde a modelli esistenti. L'unicità del nome Case-insensibile per-...
Aggiungi TemplateStatus enum + TemplateKeys costanti per modelli transazionali
Dichiara il ciclo di vita REQUIRED/CUSTOM/ARCHIVED e i tre chiavi di modello richieste (WELCOME, PASSWORD RESET, EMAIL VERIFICATION). Contratti variabili per og...
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...
Aggiungi Powered by KamoCRM backlink to /welcome landing page
La pagina di atterraggio reale incontra.{domain} è benvenuto/indice. html — una statistica Pagina HTML servita direttamente da nginx che gestisce il flusso pre-...
Integrazione logo + accurato /integrazioni metadati
Le pagine di integrazione e hub ora visualizzano i loghi dei fornitori (riutilizzando l'esistente # I beni che la homepage # TechStackBanner utilizza già). Il l...
Espandere /integrazioni a tutti i fornitori di homepage-list
Allinea la pagina /integrazioni con le integrazioni effettive esposte da la homepage (TechStackBanner). Aggiunge 28 nuove pagine di integrazione che cosa il pro...
Aggiungi Home Mortgage Brokers industria pagina
Nuova pagina di soluzione del settore a /solutions/mortgage-brokers per ipoteca intermediari e promotori di prestiti. Segui l'onesta configurazione della piatta...
Aggiungere 92 pagine SEO — industrie, integrazioni, glossario
Livello 1 del piano di espansione dei contenuti SEO: tre nuovi contenuti sottosistemi con un totale di 92 nuovi URL crawlable più 3 pagine hub. 1. /soluzioni —...
Come quello che vedi la spedizione?
Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.