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...
Reindirizza EMAIL NOT VERIFIED per registrare/resend-verification
Rimuove la inline EmailVerifyCard dalla pagina di login e tutti i relativi State/callbacks. Su EMAIL NOT VERIFIED, l'utente è ora inoltrato E' il posto giusto. ...
Aggiungi /resend-verification pagina per reindirizzare il login
Crea un percorso standalone /resend-verification che accetta ?email e ?userId query params, riutilizzando PostCompletionScreen per una coerente verifica e-mail ...
Scheda di verifica Widen a 32rem per impedire il confezionamento dell'etichetta del pulsante
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')...
Impostare Host/X-Forwarded-Host così APIService risolve il corretto org
APIService sovrascrive X-Forwarded-Host con request.getServerName(), che legge dall'intestazione Host. Senza un intestazione Host esplicita il servizio interno ...
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.
Riprogettare la schermata di verifica dell'e-mail + correggere l'errore di email del risend
- PostCompletionScreen: layout a pagina intera con sfondo org animato, carta di vetro morfismo, logo, caselle di codice visive a 6 cifre, successo / stati verif...
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...
Rimuovere il carico di funzionalità impaziente da getOrganizationByDomain
Le caratteristiche sono una preoccupazione di livello org non correlata alla maggior parte dei chiamanti di questo metodo (ad esempio registrazione, risoluzione...
Mutate presenta la collezione in loco per evitare cascade orfano Errore di ritorno
Calling org.setFeatures (newList) sostituisce il persistente tracciato dall'ibernato raccolta, causando JpaSystemException quando qualsiasi query attiva automat...
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...
Invia la verifica utilizzando e-mail non userId, avanti X-Forwarded-Host
SecurityService /register /resend-verification si aspetta e-mail nel corpo, non userId (che la risposta di errore di login non include mai). Anche in avanti X-F...
Abbinamento di avatar kamo-internal — 3 dimensioni, MinIO, passo di caricamento separato
La finestra di dialogo Crop ora produce tre blobs PNG (50/150/350px) tramite tela, identico AvatarManager di kamo-internal. Dopo la registrazione restituisce us...
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...
Sostituisci l'errore EMAIL NOT VERIFIED con una ricca scheda di verifica
Quando il login fallisce con EMAIL NOT VERIFIED la carta di accesso è ora sostituita da una schermo lucido "Check your inbox": busta animata SVG con patta di ap...
Estendere il caricamento di foto per supportare i formati AVIF e SVG
Aggiunge immagine/avif e immagine/svg+xml all'elenco di accettazione dell'ingresso del file e convalida regex. Aggiorna l'etichetta di suggerimento per elencare...
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...
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.
Passare il corpo di errore a monte tramite proxy di sicurezza invece di un messaggio generico
Precedentemente restituito {error: "Upstream error"} su non-2xx, perdendo il reale messaggio di errore da SecurityService. Ora inoltra il codice di stato e il c...
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...
Sostituire la cache di sessione Redis con Java API fetch diretto in org route
Prevenire stale ageReqType cache da mostrare il controllo dell'età in modo non corretto
- Org route: ridurre Redis TTL da 24h a 5min e aggiungere etàReqTypeMember al rilevamento delle macchie in modo che i campi di sicurezza rimangano freschi dopo ...
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...
Imposta il titolo della scheda del browser su 'Register - {org name}'
DynamicMetaLoader ora chiama utilizzare il documento ThemeConfig e aggiornamenti. titolo a 'Register - {org.title}' una volta che l'org carica. Fallback statico...
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...
Risolvere gli errori TS dai passaggi utilizzati prima della dichiarazione e del cast in stile Capcha
Muovetevi! useMemos sopra l'usoEffetti che dipende da loro; importare CSSVariables tipo e usarlo per lo stile 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.
Aggiungere DEFAULT falso alla definizione della colonna email verified
Lo schema migratorio di Hibernate genera ALTER TABLE senza un default, fallire sui tavoli con righe esistenti. colonnaDefinizione lo costringe a includere i fal...
Rimuovere h*** env var, eliminare inutilizzato componente demo capchta
Corretto Pulitura dell'ascoltatore Capcha e reset stato verificato sull'uscita del passo
Come quello che vedi la spedizione?
Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.