Sostituire h*** con inline kamo-capcha-widget nella fase di finitura
Aggiungere il fornitore kamo-capcha-widget, rimuovere i pacchetti h***
Resolve duplicate emailTemplateServiceClient bean conflict
**************** and **************** were identical @Components with the same default bean name, causing **************** at startup. Delete the duplicate in r...
Bump kamo-shared-library to 1.4.0
Docker Stage 1 builds kamo-shared-library main (now 1.4.0) and installs it to the local .m2; the service pom still referenced 1.0.0 which Maven could not find, ...
Applicare la correttezza e l'implementazione SP6 correzioni di qualità
C1: utilizzare NEXT PUBLIC H*** SITE KEY env var invece di segnaposto hardcoded C2: cambiare RegisterResponse.userId e tutti i param API dal numero alla stringa...
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...
Address 4 code-review findings in registration and login paths
- Hide raw exception message in /register 500 path; log instead - Fail-closed (503) on email-verified DB check failure in login - verifyEmailToken throws if use...
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...
Eliminare inutilizzato EmailGeneralManager.tsx (~560 righe di codice morto)
Il componente non è mai stato importato da nessuna parte. I suoi occhiali (bunce handling, annullare l'iscrizione, il tracciamento delle consegne, il default da...
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...
Append Z to dateCommitted so JS parses it as UTC
LocalDateTime.toString() produces no timezone designator, causing JavaScript's new Date() to treat the UTC value as local time and display timestamps 7-8 hours ...
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 ...
Convert PT midnight cutoff to UTC for today-count query
Commits are stored in UTC but the cutoff was a naive LocalDateTime in PT, causing yesterday-evening PT commits (00:00–06:59 UTC) to be counted as today.
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...
Bump kamo-shared-library versione a 1.2.0 per SP1 aggiunte
Aggiunge EmailTemplate, EmailTemplateCategory, TemplateStatus, TemplateKeys, CanonicalTemplate, CanonicalTemplateLoader e risorse HTML canoniche.
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.
Rinominare mailboxId→id e providerStatus→status nella risposta della mailbox
Allineare i nomi dei campi con le aspettative di frontend per gli elenchi delle caselle di posta dei membri.
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...
Come quello che vedi la spedizione?
Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.