KamoCRM

Live Change Log

Every feature, fix and improvement, posted as it ships. Nothing is held back for a launch.

17,500
Total Changes
5,986
Features
5,284
Fixes
30
Projects
Filter by project
All Projects17,500AIService251APIService174BillingService157ConversionService110DaemonService138DocsService223ESigService91EmailService576InitializerService329KBService151KlusterServices740MCPGatewayService251MediaService602RAGService79SecurityService1,847TranslateService62VOIPService249VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,349kamo-login335kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,657kamo-signer-monorepo56kamolos114
Filter by type
All TypesBuild16CI523Chore774Docs3,254Feature5,986Fix5,284Other994Performance165Refactor278Revert23Style42Test160Upgrade1
November 26, 2025
Otherkamo-internal

Invalidate existing session before validating OTK

- Check for existing *** cookie in validate request - Clear and delete any existing session before validating OTK - Verify session data is not empty JSON (clear...

snadjafinia·11mo ago
OtherSecurityService

Invalidate existing session before creating new one during login

- Check for existing *** cookie in login request - Delete/invalidate existing session before creating new one - Prevents reusing old session cookies when loggin...

snadjafinia·11mo ago
Otherkamo-internal

Disable activity tracking and session extension during logout

- Add disableClientActivityTracker() function to stop activity tracking - Stop session monitor when logout is initiated - Prevent screen movement/activity from ...

snadjafinia·11mo ago
Otherkamo-login

Curățați datele sesiunii înainte de ștergerea cheii în obiectivul de logare

- Setează datele de sesiune pentru a goli JSON înainte de ștergerea cheii - Asigură sesiunea este inutilizabilă chiar dacă ștergerea nu reușește sau există deca...

snadjafinia·11mo ago
Otherkamo-internal

Clear session data before deleting key in logout endpoint

- Set session data to empty JSON before deleting the key - Ensures session is unusable even if deletion fails or there's replication lag - Add error handling wi...

snadjafinia·11mo ago
OtherSecurityService

Clear session data before deleting key to ensure session is unusable

- Set session data to empty JSON ({}) before deleting the key - Ensures session is unusable even if deletion fails or there's replication lag - Add error handli...

snadjafinia·11mo ago
OtherSecurityService

Improve logout cookie clearing - clear cookies across all domain/path combinations

- Clear cookies with base domain (e.g., .kamocrm.com) to cover all subdomains - Clear cookies for current hostname without domain attribute - Clear cookies unre...

snadjafinia·11mo ago
Otherkamo-internal

Clear existing *** cookies before setting new one during validate

- Clear all possible *** cookie variations before setting new cookie - Prevents reusing old session cookies from previous logins - Ensures validate always uses ...

snadjafinia·11mo ago
Otherkamo-login

Șterge cookie-urile *** existente înainte de a seta unul nou în timpul autentificării

- Curățați toate variantele cookie posibile *** (domeniul de bază, numele gazdei, niciun domeniu) - Prevenirea reutilizării cookie-urilor de sesiune vechi din l...

snadjafinia·11mo ago
Otherkamo-login

Fixare de logare: apel SecurityService deconectare pentru sesiunea de invalidare completă

- Call SecurityService /api/security/logout pentru a invalida sesiunea de pe suport Java - Aceasta asigură eliminarea sesiunii, eliminarea jetoanelor CSRF şi cu...

snadjafinia·11mo ago
Otherkamo-internal

Fix logout: call SecurityService logout endpoint to fully invalidate session

- Call SecurityService /api/security/logout to properly invalidate session on Java backend - This ensures session is deleted, CSRF tokens are removed, and sessi...

snadjafinia·11mo ago
Otherkamo-login

Fixarea fluxului de logare: cookie-uri clare, dar încă încearcă auto-login

- Eliminați logica sari AutoLogin (auto-login ar trebui să funcționeze întotdeauna) - Adăugaţi clarCookies param pentru a redirecţiona logout - Pagina de autent...

snadjafinia·11mo ago
Otherkamo-login

Fixează problema de logare: preveni auto-login după logare

- Adăugaţi parametru de interogare SkipAutoLogin pentru a redirecţiona logout - Skip auto-login check when skipAutoLogin=true is present - Clearing cookie îmbun...

snadjafinia·11mo ago
Otherkamo-internal

Replace PersonIcon with user avatar in NavTop My Account link

- Fetch member avatar using fetchMemberAvatar utility - Display Avatar component with user's image or initials fallback - Matches design pattern used in other c...

snadjafinia·11mo ago
Otherkamo-shared-library

Adaugă câmp avatarType la entitatea Avatar pentru verificarea simplă a tipului

- Adaugă coloană tip pentru a stoca "foto" sau "Avatar Creator" - Elimina constructorii duplicati care au intrat in conflict cu Lombok @NoArgsConstructor - Set ...

snadjafinia·11mo ago
OtherSecurityService

Use avatarType field instead of complex proxy detection

- Check avatarType field directly for simple type checking - Set avatarType when creating new avatars - Much simpler and more performant approach

snadjafinia·11mo ago
Otherkamo-shared-library

Adaugă câmp avatarType la entitatea Avatar pentru verificarea simplă a tipului

- Adaugă coloană tip pentru a stoca "foto" sau "Avatar Creator" - Setati automat constructorii - Evita necesitatea, de exemplu, de controale și probleme proxy

snadjafinia·11mo ago
FixSecurityService

Interoghează toate avatarele de utilizator pentru a obține entitate reală în loc de proxy

- Obțineți userId de la avatar, apoi interogare găsiByUserId (returnează entități reale) - Găsiți potrivire avatar de pe listă și caz de verificare - Acest lucr...

snadjafinia·11mo ago
OtherSecurityService

Utilizați filtru simplu pentru a verifica dacă avatarul este foto sau Avatar Creator

- Elimina logica complexa de detectare proxy - Pur și simplu filtru găsiById rezultat pentru a verifica dacă este AvatarFoto - Dacă nu este vorba despre fotogra...

snadjafinia·11mo ago
FixSecurityService

Utilizați Hibernat LazyInitializer pentru a obține clasa entității reale de la proxy

- Acceseaza HibernateProxy LazyInitializer pentru a obtine clasa persistenta - Verificaţi dacă clasa persistentă este AvatarFoto sau AvatarAvatar Creator - Iniţ...

snadjafinia·11mo ago
FixSecurityService

Utilizaţi distribuţia directă pentru a determina tipul de avatar în loc de reflexie

- Încercați turnare la AvatarFoto primul pentru a forța inițializarea proxy - Access getFileExtension () direct dupa distributie - Retrageţi-vă la AvatarAvatar ...

snadjafinia·11mo ago
FixSecurityService

Îmbunătățește detectarea tip proxy prin capturarea InvocationTargetException

- Manipulați clasaCastExcepție atunci când invocați metode pe proxy pentru a determina tipul real - Încercaţi să obţineţi FileExtension primul (foto), apoi obţi...

snadjafinia·11mo ago
FixSecurityService

Îmbunătățește manipularea proxy hibernat pentru detectarea de tip avatar

- ierarhie clasa de căutare și interfețe pentru metoda getFileExtension - Utilizaţi reflecţia pentru a detecta AvatarFoto vs AvatarAvatar Creator atunci când in...

snadjafinia·11mo ago
FixSecurityService

Reîncarcă avatarul din depozit pentru a rezolva instanța proxy hibernată a problemei

- Entităţile Avatare încărcate din relaţii pot fi proxies hibernare care eşuează instanţa de verificare - Reîncarcă avatarul din depozit pentru a obține tipul r...

snadjafinia·11mo ago
Fixkamo-internal

Asigurați-vă că inițialele SVG este întotdeauna creat atunci când avatarul lipsește în HexHeadGroup

- Adăugaţi eroare de manipulare toamna pentru a crea iniţiale SVG în cazul în care Avatar aduce eşuează - Consolidarea inițialelor SVG creație logică - Asiguraț...

snadjafinia·11mo ago
OtherSecurityService

Adaugă logare detaliată la generarea URL-ului avatar pentru depanare

- Jurnal atunci când sunt generate URL-uri avatar, ce URL-uri sunt create - Jurnal atunci când lipsesc avatare sau URL-urile sunt nule - Acest lucru va ajuta la...

snadjafinia·11mo ago
Fixkamo-internal

Reîmprospătează lista avatarelor după setarea avatarului ca activ

- După setarea avatar ca activ, reîmprospătați lista completă avatare pentru a obține actualizat esteActive steaguri - Găsiți și setați avatarul activ din lista...

snadjafinia·11mo ago
FixSecurityService

Determină avatar activ prin verificarea utilizatorului.getAvatar() în loc de RecordState

- Platforma marchează acum corect ce acţionează avatarul prin compararea cu utilizatorul.getAvatar() - Acest lucru asigură steagul isActive în răspunsul API ref...

snadjafinia·11mo ago
Fixkamo-internal

Încarcă avatar activ din lista avatarelor pe pagina de profil

- Adu lista avatarelor si gaseste-l pe cel marcat ca activ - Set activAvatar din obiect Avatar complet în listă (are toate detaliile și URL) - Eliminați creația...

snadjafinia·11mo ago
Otherkamo-internal

Fix avatar not displaying on Profile page after refresh

- Ensure avatar URL from member profile is preserved when setting activeAvatar - Update profileData with avatar URL when avatar is loaded - Preserve URL in sync...

snadjafinia·11mo ago
Otherkamo-internal

Add detailed logging for avatar selection debugging

- Log full avatar object when handleSelectAvatar is called - Add validation for avatar.id before processing - Log API URL being called - Better error messages f...

snadjafinia·11mo ago
Otherkamo-internal

Fix TypeScript type error - handle null body in apiProxy

- Convert null to undefined for BodyInit type compatibility - Fixes: Type 'null' is not assignable to type 'BodyInit | undefined'

snadjafinia·11mo ago
Otherkamo-internal

Fix PUT request body handling for set-active endpoint

- Explicitly set body to undefined for PUT requests without body - Improve body handling in apiProxy to gracefully handle empty requests - Prevents body consump...

snadjafinia·11mo ago
Otherkamo-internal

Improve error handling for set-active avatar endpoint

- Forward actual backend error messages instead of generic message - Better error parsing in frontend (handle both JSON and text responses) - Enhanced logging t...

snadjafinia·11mo ago
Otherkamo-internal

Use static imports instead of dynamic imports for avatarUtils

- Replace dynamic imports with static imports at top of file - Avoids module resolution issues with TypeScript moduleResolution node16 - Functions are always ne...

snadjafinia·11mo ago
Otherkamo-internal

Fix path alias - use @/lib/avatarUtils instead of @/app/lib/avatarUtils

- @/ maps to project root, so @/lib/avatarUtils is correct path - @/app/lib/avatarUtils was incorrect (would look for app/app/lib/avatarUtils)

snadjafinia·11mo ago
Otherkamo-internal

Fix dynamic imports - use path alias @/app/lib/avatarUtils for Next.js webpack resolution

- Schimbarea căi relative pe calea alias @/app/lib/avatarUtils - Next.js webpack nu poate rezolva .js extensii pentru fișiere .ts în importuri dinamice - aliasu...

snadjafinia·11mo ago
Otherkamo-internal

Fix TipScript Importuri dinamice ESM - adăugați extensia .js necesară pentru rezoluția modulului nod16/nodenext

- TipScript cu modulNodul de rezoluție16/nodenext necesită extensii explicite .js în importuri dinamice - TipScript va rezolva .js importuri la .ts fișiere în t...

snadjafinia·11mo ago
Otherkamo-internal

Fix remaining .js extension in HexHeadGroup dynamic import

snadjafinia·11mo ago

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing