Jurnal de schimbări
Ce e nou.
Fiecare îmbunătățire a platformei, pe măsură ce se livrează.
· kamo-shared-library
Se adaugă 7 drepturi de acces la module (AINS 112-118)
ACCESS COMMERCE, VIEW CALENDAR, ACCESS CHAT, ACCESS MAIL, ACCES VOIP, VIEW SUPPORT, VIEW ANALITICS
· SecurityService
Pass human-readable expiry time to email verification template
Add humanizeMinutes() helper that formats minutes as days/hours/minutes (e.g. "1 day" for 1440 min). Pass as {{expiryText}} to match updated canonical template variable.
· kamo-shared-library
Îmbunătățește șablonul de verificare a e-mailului
- Adăugați link-ul de verificare text simplu de mai jos buton ca copie-pastă de rezervă - Comutarea variabilei de expirare de la {expiryMinutes}} la {expiryText} pentru format lizibil pentru om (de exemplu, "1 zi" în loc de "1440 minute") - Actualizare subiect "Verificaţi email-ul asociat cu contul dvs. {{orgName}} "
· kamo-internal
Searalize full email HTML cu cadru exterior pe șablon salva
- serializeFullEmailHtml infasoara blocuri interioare in cadrul exterior marcat (sigla antetului, titlu/subtitrare, zona de conținut, logo-ul subsolului + denumirea org) folosind URL-uri absolute astfel încât clienții de e-mail pot aduce imaginile - Setări cadru exterior (opţiuni logo, titlu, subtitrare) sunt salvate BodyBlocks.outerFrame și restaurat pe sarcina șablon - mânerSalvați acum folosește serializeFullEmailHtml astfel trimis e-mailuri meci Previzualizare constructor
· SecurityService
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 against the active token for that userId.
· KlusterServices
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/CD step added to deploy-services workflow
· KlusterServices
Add Docs deploy step to workflow
· kamo-register
Necesită *** pe pagina de verificare înainte de fiecare încercare de verificare/retrimitere
*** este resetat după fiecare acțiune (succes sau eșec) astfel încât un nou rezolvarea este necesară pentru fiecare încercare ulterioară.
· kamo-register
Redenumește pagina de verificare/retrimitere către /verificare
· kamo-register
Adaugă /resend-verification page for login redirections
Creează o rută independentă /resend-verificare care acceptă ?email și ?userId interogare params, reusing PostCompletionScreen for a consistente verificare e-mail UX. Face RegistryResponse. pagina funcționează fără alias de înregistrare disponibile.
· kamo-register
Redesign email screen de verificare + fix resend email bug
- PostCompletionScreen: full-page layout cu fundal animat org, card de sticlorfism, logo, cutii de coduri vizuale cu 6 cifre, stări de succes/verificate - resendVerification: pass e-mail in request body (backend requires it)
· kamo-register
Meci de stocare kamo-internal avatar
Dialog cultură produce acum trei PNG pete (50/150/350px) prin pânză, identice la Avatar Manager kamo-intern. După înregistrare returnează utilizatorId, petele Sunt postate la *************** (noul criteriu final neautentic păzit prin e-mailVerified=fals). avatarUrl nu mai este trimis în înregistrare Corpul JSON. Eşecul de încărcare Avatar nu este letal, aşa că înregistrarea este încă completă.
· SecurityService
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 against existing accounts. Stores files to MinIO with the same path structure and sized variants as the authenticated /avatars/photo endpoint.
· kamo-login
Înlocuiește eroarea EMAIL NOT VERIFICATĂ cu cardul bogat de verificare
Atunci când login-ul nu reușește cu EMAIL NOT VERIFICAT cardul de autentificare este înlocuit acum cu un lustruit "Verificați ecranul inbox": animat plic SVG cu clapa de deschidere și scântei plutitoare, ecran de email mascat, buton resend-email cu 30 de secunde Inel de numărare inversă SVG, alerte de succes/eroare/limitare a ratei de feedback și un "Înapoi la Semnează link-ul. Toate tranziţiile folosesc AnimatePresence cu scala+fade. - app/api/login/route.ts: treceţi toate câmpurile de eroare backend (nu doar mesaj) userId ajunge la client - *************** noul proxy al Serviciului de Securitate Nu-ţi face griji. - app/page.tsx: EmailVerify Componentă card, emailVerifyState / resendLoading / ResendCooldown / resendStatus state, resendVerification callback, 30-secunde Utilizarea răciriiEfect, detectarea EMAIL NOT VERIFICATĂ în efectuareaLogin
· kamo-register
Extindeți încărcarea fotografiilor pentru a suporta formatele AVIF și SVG
Adaugă imagine/avif și imagine/svg+xml în lista de intrare a fișierului accepta și Regulamentul de validare. Actualizează eticheta indiciu pentru a lista toate cele șase formate. kamo-internal acceptă deja imagine / * astfel încât nu sunt necesare modificări acolo.
· kamo-register
Adăugați editorul foto react-easy-crop la etapa de încărcare a înregistrării
Oglinzi PhotoCropDialog de la Avatar Manager kamo-intern: - dialogul de cultură se deschide imediat după selectarea fișierului - tigaie prin tragere, zoom prin defilare sau slider (1 - ghidul circular de supraînălțare prezintă zona tăiată - panza produce 400×400 PNG stocata ca baza64 avatarUrl - butonul re-crop pe previzualizare permite utilizatorului să se adapteze după salvarea
· kamo-register
Adaugă /api/geoip traseu și sârmă țară auto-detecție
Proxies client IP la SecurityService GeoLite2, apoi stabilește țara detectată în FormMyCountry automat pe încărcare pagină.
· SecurityService
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 country auto-detection step.
· kamo-register
Înlocuiți h*** cu kamo-capcha-widget în etapa de finisare
· kamo-register
Adaugă /api/capcha/procuroare
· kamo-register
Adăugați kamo-capcha-widget vânzător, eliminați h*** pachete
· kamo-register
SP6 înregistrare vrăjitor refactor
- Inlocuiti FormPersonalInfo cu FormName (nume campuri) si FormAvatar (Generator Creator Avatar cu moduri de generare/upload/skip pentru 13+) - Șterge formularulRecoveryConsolidare (câmpuri de recuperare eliminate din flux) - Refactor FormPassportID layout dual-field: alias afişat întotdeauna, e-mail numai pentru 13+; apelbacks înlocui fereastra global - Adăugaţi registruApi.ts cu tastat *************** - Adăugaţi PostCompletionScreen pentru e-mail de verificare cod de intrare şi SEMNED IN redirecționare - Refactor RegisterFlow: dinamica lista pasului bazata pe ar trebuiIncludeAgeCheck si isUser13Plus, inlocuieste manerul*** Trimite ciot cu apel API real, read PostCompletionScreen despre succes
· InitializerService
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 so startup is not blocked. Update DataLoader to seed ALL_WORK_ELIGIBLE on fresh installs.
· SecurityService
Implement SP4 email verification and registration wiring
- Delete legacy email/VerificationEmail.java (hardcoded SMTP stub) - Add **************** (mirrors recovery package pattern) - Add **************** — token generation/SHA-256 hashing, send/verify/resend flows backed by **************** - Add **************** — alias+email uniqueness checks, User creation, triggers verification email on register - SecurityController: wire RegistrationService into /register endpoint, add EMAIL_NOT_VERIFIED (403) gate on login, add POST /verify-email and POST /register/resend-verification endpoints - Bump kamo-shared-library to 1.4.0
· kamo-shared-library
Adaugă e-mailVerificare Token entity + repo + Utilizator.alias/emailVerified + UserRepo interogări; buck 1.4.0 (SP4)
· InitializerService
Add SP4 email_verification_tokens DDL + User alias/email_verified columns
· kamo-marketing
Adaugă disclaimer marca comercială la textul legal de subsol
· kamo-internal
Adaugă pagini cu setările contului pentru telefoane + întrebări de securitate (SP3)
Adds ***************** cu cabluri API la Serviciul de Securitate /api/cont/*. Sincronizează navigarea în toate cele 3 locații.
· kamo-login
Telefoane API reale în pagina /recoperă (SP3)
Înlocuiește toate falsSubmit () coturi cu apeluri de recuperareApi. Adaugă SMS OTP verifica faza, de intrare e-mail semințe, nou pas de parolă, și token aterizare prin intermediul ?token= URL param.
· kamo-login
Add /api/recover proxy + recuperare client Api (SP3)

Universul tău te așteaptă.
Începeți gratuit în câteva minute.Adăugați produse oricând sunteți pregătit — fără migrare, fără autentificări noi.
Gratuit pentru totdeauna — nu este necesar un card de credit