KamoCRM

Log Perubahan Langsung

Setiap fitur, perbaikan dan perbaikan, diposting sebagai kapal. Tidak ada yang ditahan untuk peluncuran.

17,497
Total Perubahan
5,985
Fitur
5,283
Perbaikan
30
Proyek
Filter menurut projek
Semua Projek17,497AIService251APIService174BillingService157ConversionService110DaemonService138DocsService223ESigService91EmailService576InitializerService329KBService151KlusterServices738MCPGatewayService250MediaService602RAGService79SecurityService1,847TranslateService62VOIPService249VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,349kamo-login335kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,657kamo-signer-monorepo56kamolos114
Filter berdasarkan tipe
Semua JenisBuild16CI523Chore773Docs3,254Feature5,985Fix5,283Other994Performance165Refactor278Revert23Style42Test160Upgrade1
November 26, 2025
Otherkamo-login

Bersihkan data sesi sebelum menghapus kunci dalam titik akhir log keluar

- Set data sesi ke JSON kosong sebelum menghapus kunci - Pastikan sesi tidak dapat digunakan bahkan jika penghapusan gagal atau ada lag replikasi - Tambahkan ke...

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

Bersihkan cookie * * * yang ada sebelum menata yang baru selama log masuk

- Hapus semua kemungkinan * * * variasi cookie (domain dasar, hostname, tanpa domain) - Prevents menggunakan ulang kue sesi lama dari log masuk sebelumnya - Pas...

snadjafinia·11mo ago
Otherkamo-login

Perbaiki log keluar: panggil Layanan SecurityService log out titik akhir ke sesi sepenuhnya invalidate

- Call SecurityService / api / security / logout untuk benar invalidate sesi di backend Java - Ini menjamin sesi dihapus, token CSRF dihapus, dan sesi sepenuhny...

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

Perbaiki aliran log keluar: bersihkan cookies tetapi masih mencoba auto-login

- Hapus logika skipAutoLogin (auto- login harus selalu bekerja) - Tambahkan param clearkies ke logout redirect - Halaman log masuk membersihkan cookies ketika c...

snadjafinia·11mo ago
Otherkamo-login

Perbaiki masalah logout: mencegah login otomatis setelah log keluar

- Tambahkan parameter permintaan skipAutoLogin untuk logout redirect - Lewati pemeriksaan auto-login ketika skipAutoLogin = true ada - Enhanced cookie cleaning ...

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

Tambahkan avatarType ke Entitas Avatar untuk pemeriksaan tipe sederhana

- Tambahkan kolom TIPE untuk menyimpan 'foto' atau 'Avatar Creator' - Hapus konstruktor duplikat yang bertentangan dengan Lombok @ NoArgsConstructor - Set avata...

snadjafinia·11mo ago
OtherSecurityService

Gunakan ruas avatarType daripada deteksi proksi kompleks

- Periksa daerah avatarType langsung untuk pemeriksaan tipe sederhana - Set avatarType ketika membuat avatar baru - Jauh lebih sederhana dan pendekatan lebih pe...

snadjafinia·11mo ago
Otherkamo-shared-library

Tambahkan avatarType ke Entitas Avatar untuk pemeriksaan tipe sederhana

- Tambahkan kolom TIPE untuk menyimpan 'foto' atau 'Avatar Creator' - Set dalam konstruktor otomatis - Avoid perlu untuk instanceof pemeriksaan dan masalah prox...

snadjafinia·11mo ago
FixSecurityService

Query semua avatar pengguna untuk mendapatkan entitas nyata bukan proxy

- Dapatkan userId dari avatar, kemudian query findByUserId (kembali entitas nyata) - Cari avatar yang cocok dari daftar dan periksa instanceof - Ini menghindari...

snadjafinia·11mo ago
OtherSecurityService

Gunakan filter sederhana untuk memeriksa apakah avatar adalah foto atau Pembuat Avatar

- Hapus logika deteksi proksi kompleks - Penyaring sederhana hasil findById untuk memeriksa apakah itu GrafarPhoto - Jika bukan foto, baku untuk Avatar Maker - ...

snadjafinia·11mo ago
FixSecurityService

Gunakan Hibernate LaszyInisializer untuk mendapatkan kelas entitas aktual dari proxy

- Akses HibernateProxy 's LazyInitializer untuk mendapatkan kelas gigih - Periksa apakah kelas persisten adalah Photo atau Pembuat Avatar - Kekuatan inisialisas...

snadjafinia·11mo ago
FixSecurityService

Gunakan cast langsung untuk menentukan jenis avatar daripada refleksi

- Coba casting ke Photo untuk memaksa inisialisasi proxy - Akses getFileExtension () langsung setelah cast - Kembali ke Pemain Pembuat Avatar jika foto gagal - ...

snadjafinia·11mo ago
FixSecurityService

Improve deteksi tipe proksi dengan menangkap InvocationTargetException

- Handle ClassCastException ketika memanggil metode pada proxy untuk menentukan tipe sebenarnya - Coba getFileExtension pertama (foto), lalu getStyle (Avatar Cr...

snadjafinia·11mo ago
FixSecurityService

Atur penanganan proksi Hibernate untuk deteksi tipe avatar

- Cari hirarki dan antarmuka kelas untuk metode getFileExtension - Gunakan refleksi untuk mendeteksi Photo vs Avatar Pencipta ketika instanceof gagal - Tambahka...

snadjafinia·11mo ago
FixSecurityService

Muat ulang avatar dari repositori ke masalah proksi Hibernate

- Entitas Avatar dimuat dari hubungan Mungkin proksi Hibernasi yang gagal instanceof cek - Muat ulang avatar dari repositori untuk memperoleh tipe entitas aktua...

snadjafinia·11mo ago
Fixkamo-internal

Pastikan inisial SVG selalu dibuat ketika avatar hilang dalam HexHeadGroup

- Tambahkan kesalahan penanganan fallback untuk membuat inisial SVG jika avatar pengambilan gagal - Konsolidasikan inisial logika penciptaan SVG - Pastikan avat...

snadjafinia·11mo ago
OtherSecurityService

Tambahkan logging rinci ke pembuatan URL avatar untuk debug

- Log ketika URL avatar dihasilkan, URL apa yang dibuat - Log ketika avatar hilang atau URL kosong - Ini akan membantu mengidentifikasi mengapa avatar tidak men...

snadjafinia·11mo ago
Fixkamo-internal

Segarkan daftar avatar setelah menset avatar sebagai aktif

- Setelah mengatur avatar sebagai aktif, segarkan daftar avatar penuh untuk mendapatkan bendera isaktif yang dimutakhirkan - Cari dan set avatar aktif dari daft...

snadjafinia·11mo ago
FixSecurityService

Determine active avatar by checking user.getAvatar() instead of RecordState

- Backend now correctly marks which avatar is active by comparing to user.getAvatar() - This ensures the isActive flag in the API response reflects the actual a...

snadjafinia·11mo ago
Fixkamo-internal

Muat avatar aktif dari daftar avatar pada halaman Profil

- Ambil daftar avatar dan temukan yang ditandai sebagai aktif - Set activeAvatar dari objek lengkap avatar dalam daftar (memiliki semua rincian dan URL) - Hapus...

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

- Change relative paths to path alias @/app/lib/avatarUtils - Next.js webpack can't resolve .js extensions for .ts files in dynamic imports - Path aliases work ...

snadjafinia·11mo ago
Otherkamo-internal

Fix TypeScript ESM dynamic imports - add .js extension required for node16/nodenext module resolution

- TypeScript with moduleResolution node16/nodenext requires explicit .js extensions in dynamic imports - TypeScript will resolve .js imports to .ts files at bui...

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
OtherSecurityService

Add avatar URLs to members by-department endpoint with override mechanism

- Include avatar URL in each member response from **************** - Respect override mechanism: member avatar (if exists) → user avatar (default) - Frontend ...

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

Seperti apa yang Anda lihat pengiriman?

Semua itu tiba di ruang kerjamu sendiri. Mulailah dengan rencana gratis dan baca halaman ini lagi dalam sebulan.

Mulai Bebas SelamanyaTampilkan Harga