KamoCRM

Live Change Log

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

17,662
Total Changes
6,080
Features
5,341
Fixes
30
Projects
Filter by project
All Projects17,662AIService261APIService174BillingService158ConversionService110DaemonService138DocsService223ESigService91EmailService587InitializerService329KBService151KlusterServices744MCPGatewayService261MediaService604RAGService79SecurityService1,874TranslateService62VOIPService250VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,413kamo-login340kamo-marketing642kamo-nowww20kamo-register213kamo-shared-library1,682kamo-signer-monorepo57kamolos114
Filter by type
All TypesBuild16CI523Chore776Docs3,257Feature6,080Fix5,341Other998Performance165Refactor278Revert23Style42Test162Upgrade1
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
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-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
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-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-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
Fixkamo-internal

Забезпечити ініціали SVG завжди створені при відсутності аватара в HexHeadGroup

- Додайте зворотний зв'язок, щоб створити ініціали SVG, якщо аватар fetch не зникає - Консолідувати ініціали SVG створення логіки - Забезпечити avatarSrc ніколи...

snadjafinia·11mo ago
Fixkamo-internal

Відновити список аватарів після встановлення аватара як активний

- Після встановлення аватара як активний, освіження повного списку аватарів, щоб отримати оновлений - Знайти і встановити активний аватар з оновленого списку - ...

snadjafinia·11mo ago
Fixkamo-internal

Завантаження активного аватара з списку аватар на сторінці профілю

- Список аватарів Fetch і знайти один позначений як активний - Встановіть активнийAvatar з повного об'єкта аватара в списку (всі деталі та URL) - Видаліть непра...

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

Виправлення динамічного імпорту - використання шляху alias @/app/lib/avatarUtils для дозволу webpack Next.js

- Зміна відносних шляхів до шляху alias @/app/lib/avatarUtils - Наступний.js webpack не може вирішити розширення .js для .ts файлів в динамічних імпортах - Шлях...

snadjafinia·11mo ago
Otherkamo-internal

Fix TypeScript ESM динамічний імпорт - додати розширення .js, необхідний для роздільної здатності модуля node16/nodenext

- TypeScript з модуляResolution node16/nodenext вимагає явного розширення .js в динамічних імпортах - TypeScript вирішить імпорт .js до .ts файлів у час створен...

snadjafinia·11mo ago
Otherkamo-internal

Fix remaining .js extension in HexHeadGroup dynamic import

snadjafinia·11mo ago
Otherkamo-internal

Fix TypeScript module resolution - remove .js extension from dynamic imports

- Change dynamic imports from avatarUtils.js to avatarUtils (no extension) - Fixes build error: Module not found: Can't resolve '../../lib/avatarUtils.js' - Typ...

snadjafinia·11mo ago
Otherkamo-internal

Fix avatar display with override mechanism support

- ProfileTab: Always show USER avatar (no override mechanism) - MembershipPermissionsTab: Always show MEMBER avatar (no override mechanism) - Site-wide displays...

snadjafinia·11mo ago
Fixkamo-internal

Detect member avatar override on page load even if returned as 'avatar'

- Add logging to see what API returns on initial load - Check if member has avatarId/memberAvatarId set to detect member override - If avatar ID matches memberA...

snadjafinia·11mo ago
Fixkamo-internal

Ensure avatarId is always sent when activeAvatar exists

- Use corrected useDefaultUserAvatar value directly in save logic - If activeAvatar exists, always send avatarId (member override) regardless of flag - Improved...

snadjafinia·11mo ago
Fixkamo-internal

Preserve avatar URL when saving and add defensive check

- Preserve profilePicture from activeAvatar when updating profileData after save - Add warning if activeAvatar exists but useDefaultUserAvatar is incorrectly tr...

snadjafinia·11mo ago
Otherkamo-internal

Add detailed logging to track avatar state during save

- Log current state (useDefaultUserAvatar, activeAvatar, avatarIdToSend) before save - Log API response after save (memberAvatar, avatar) - Log refreshed profil...

snadjafinia·11mo ago
Fixkamo-internal

Preserve avatar state after save to prevent revert

- Fixed save logic to properly send avatarId when avatar is selected - Preserve current activeAvatar and useDefaultUserAvatar state before refresh - If refresh ...

snadjafinia·11mo ago
Fixkamo-internal

Update avatar state after saving profile to prevent revert

- After saving profile, refresh and update activeAvatar state from API response - Update useDefaultUserAvatar flag to match saved state - Ensures avatar remains...

snadjafinia·11mo ago
Fixkamo-internal

Prevent avatar from switching to empty avatar when selecting

- Immediately set selected avatar in UI for instant feedback - Only update with refreshed data if it has a URL and is the same avatar - Prevents overwriting sel...

snadjafinia·11mo ago
Fixkamo-internal

Keep avatar manager dialog open and fix profile avatar display

- Removed handleClose() calls when selecting, creating, or uploading avatars - Dialog now stays open so users can continue selecting/managing avatars - After cr...

snadjafinia·11mo ago
Fixkamo-internal

Ensure avatar URL is properly preserved and displayed from database

- Changed URL handling to preserve empty strings (use ?? instead of ||) - Updated MemberHeader props to prioritize profileData.profilePicture which contains the...

snadjafinia·11mo ago
Fixkamo-internal

Ensure avatar is properly set from database on profile tab load

- Fixed URL handling to use original API response URL instead of potentially null transformed value - Added synchronization between activeAvatar and userAvatars...

snadjafinia·11mo ago
November 25, 2025
Fixkamo-internal

Resolve avatar display and persistence issues in profile tab

- Fix initial avatar display to show correct primary avatar instead of default initials - Fix avatar selection from list to properly update member avatar and pe...

snadjafinia·11mo ago
Fixkamo-internal

Add .js extension to remaining dynamic import

snadjafinia·11mo ago
CIkamo-internal

Trigger pipeline

snadjafinia·11mo ago
Docskamo-internal

Add script to pre-cache GitHub Actions for Forgejo runner

snadjafinia·11mo ago
Fixkamo-internal

Use GitHub actions directly instead of code.forgejo.org to avoid 503 errors

- Changed actions/checkout@v4 to **************** - Changed docker/login-action@v3 to **************** - Changed docker/build-push-action@v5 to ****************...

snadjafinia·11mo ago
Fixkamo-internal

Fetch security provider organization directly by ID instead of from networks array

- Created new API route /api/security/org/[id] to proxy SecurityService organization by ID endpoint - Updated SettingsView to fetch security provider org direct...

snadjafinia·11mo ago
Otherkamo-internal

Додавання комплексного входу для пошуку домену безпеки

- масив і всі ідентифікатори організації - Увійдіть детальне порівняння ID org з SecurityOrgId - Видобуток доменного імені та етапів побудови URL-адрес - Це доп...

snadjafinia·11mo ago
Fixkamo-internal

Use same URL pattern for security provider logo as current org logo

- Replace the first folder in the current org logo URL path with security provider domain - Replace dots with dashes in security provider domain for folder name...

snadjafinia·11mo ago
Fixkamo-internal

Спрощуйте створення URL-адреси логотипів, щоб відповідати шаблонам ThemeLogo та мережевих сторінок

- Для поточного org (Membership & Permissions): Використовуйте getThemePath() безпосередньо, як ThemeLogo does - Для провайдера безпеки (Profile): Використовуйт...

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