KamoCRM

Log Perubahan Langsung

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

17,500
Total Perubahan
5,986
Fitur
5,284
Perbaikan
30
Proyek
Filter menurut projek
Semua Projek17,500AIService251APIService174BillingService157ConversionService110DaemonService138DocsService223ESigService91EmailService576InitializerService329KBService151KlusterServices740MCPGatewayService251MediaService602RAGService79SecurityService1,847TranslateService62VOIPService249VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,349kamo-login335kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,657kamo-signer-monorepo56kamolos114
Filter berdasarkan tipe
Semua JenisBuild16CI523Chore774Docs3,254Feature5,986Fix5,284Other994Performance165Refactor278Revert23Style42Test160Upgrade1
March 30, 2026
FixKlusterServices

Disable Jicofo auth module to prevent 1-minute participant kick

Jicofo's AbstractAuthAuthority has a hardcoded 1-minute auth session lifetime that ignores the config file setting. After 60 seconds, Prosody demotes participan...

Kamo·7mo ago
FixKlusterServices

Use room names (not full JIDs) for all brewery MUC configs

Both Jicofo and JVB Docker images append @XMPP_INTERNAL_MUC_DOMAIN to the brewery room name automatically. Using full JIDs like **************** caused double-d...

Kamo·7mo ago
FixKlusterServices

Use TCP probe on port 9090 for JVB health checks instead of HTTP on 8080

JVB's REST API port 8080 conflicts with CockroachDB's admin UI on the same hostNetwork. The JVB_OHTTP_SERVER_PORT env var is not recognized by this JVB image ve...

Kamo·7mo ago
FixKlusterServices

Selesaikan loop crash JVB - salah MUC JID + port 8080 konflik

Dua masalah menyebabkan JVB jatuh dalam satu lingkaran selama 43 + jam: 1 JVB _ BREWERY _ MUC adalah * * * * * * * * * * * * * (JID penuh) tetapi JVB menambahk...

Kamo·7mo ago
FixKlusterServices

JVB_BREWERY_MUC should be room name only, not full JID

Was **************** which caused JVB to construct a double-domain JID **************** with an @ in the domain part — crashing JVB with XmppStringprepException...

Kamo·7mo ago
FixSecurityService

Query avatar_photos extension via SQL instead of Hibernate proxy

avatarRepository.findById() returns a Hibernate proxy (Avatar$HibernateProxy) that fails instanceof AvatarPhoto check. This caused the file extension to always ...

Kamo·7mo ago
Featurekamo-internal

Tambahkan penjadwalan tanggal / waktu ke dialog Awal Pertemuan

Tambahkan pil Toggle Sekarang / Jadwal ke dialog penciptaan pertemuan. Kapan Jadwal dipilih, suatu MUI DateTimePicker slide dalam dengan 15 menit interval dan s...

kamo·7mo ago
FixSecurityService

Store full avatar relative path in session instead of bare file hash

The login SQL now also fetches avatar_type and file_extension from avatar_photos so the session stores a complete relative path like **************** or *******...

Kamo·7mo ago
FeatureMediaService

Include org static background images in meet virtual backgrounds

Fetch backgroundImageCount from the org's theme config.json and generate URLs for /img/bg/{n}.webp so org-level static backgrounds appear alongside meet-specifi...

Kamo·7mo ago
FeatureSecurityService

Add first name, last name, and avatar hash to *** session

Include memberFirstName, memberLastName, and memberAvatarUrl in Redis session data so cross-domain services like KamoMeet can display proper user identity witho...

Kamo·7mo ago
Fixkamo-internal

Menangani pertemuan Kembali mengarahkan untuk mengirim pengguna kembali ke pertemuan setelah log masuk

- Deteksi param query return di home page (dari KamoMeet auth redirect) - Hasilkan OTK dan redirect pengguna terotentikasi kembali untuk memenuhi dengan token -...

kamo·7mo ago
FixMediaService

Resolve org theme backgrounds not appearing in meet virtual backgrounds

- Add domain-based theme URL resolution for internal K8s service-to-service calls - getPublicBackgrounds now accepts optional domain param to derive correct the...

Kamo·7mo ago
FixMediaService

Upload meet backgrounds to public MinIO bucket with hash-based naming

Was uploading to private 'imaging-meet-recordings' bucket via **************** which caused: - MinIO region mismatch errors on the primary node - Connection tim...

Kamo·7mo ago
March 29, 2026
Fixkamo-internal

Hapus klien - sisi OTK dari upload multipart, tambahkan upload logging debug

Klien telah menghasilkan sebuah OTK yang terbuang sebelum mengunggah (rute Next.js menghasilkan sendiri server-side OTK untuk backend). Menghapus klien OTK untu...

kamo·7mo ago
FixMediaService

Return serialization-safe Maps instead of raw JPA entities in MeetConfigController

All config/background endpoints were returning raw JPA entities with @ManyToOne(fetch=LAZY) Organization references. Jackson failed to serialize the Hibernate p...

Kamo·7mo ago
Fixkamo-internal

Sederhanakan tampilan nama NavTop dan skema URL MediaService yang benar

- Hapus pencarian nama pengguna Alias dari getDisplayName, gunakan catatan anggota secara langsung - Perbaiki URL MediaService K8 dari https: 8443 ke http: 80

kamo·7mo ago
Fixkamo-internal

Gunakan forwardToApi untuk memenuhi background uploads daripada manual fetch

Penurunan manual dengan FormData melanggar batasan multipart. Sekarang rekonstruksi FormData dan menggunakan forwardToApi yang menangani header dengan benar.

kamo·7mo ago
Fixkamo-shared-library

Gunakan subquery untuk menemukan latar belakang tema org oleh keanggotaan pengguna daripada anggota langsung bergabung

JOIN INNER sebelumnya pada tb.member dikeluarkan latar belakang di mana anggota NULL, yang merupakan latar belakang paling tingkat. Sekarang gunakan sub-query m...

Kamo·7mo ago
FeatureMediaService

Add public config and backgrounds endpoints for sidecar consumption

GET /api/meet/public-config?domain= returns org meet config by domain. GET **************** returns combined virtual backgrounds. Both endpoints are unauthentic...

Kamo·7mo ago
FixMediaService

Remove duplicate endpoints from MeetController, add org-themes to MeetConfigController

MeetConfigController already handled config/background endpoints. The duplicate endpoints in MeetController caused ambiguous mapping. Added org-theme background...

Kamo·7mo ago
FeatureMediaService

Add config CRUD, background management, and org-theme endpoints

All endpoints enforce MANAGE_MEET_SETTINGS privilege. Config auto-creates with defaults on first access per org. Background uploads go to MinIO with SHA-256 has...

Kamo·7mo ago
Featurekamo-internal

Tambahkan latar belakang tema org ke memenuhi pengaturan dan hapus ruas yang sudah ditinggalkan

- Tambahkan rute GET untuk latar belakang tema org * * * * * * * * * * * * * * * - Update meets Api.ts: hapus whoCancreate and email InvitesEnabled from MeetCon...

kamo·7mo ago
Fixkamo-internal

Ambil templat tanda tangan langsung dari EmailService dengan OTK auth, tambahkan pencatatan debug

forwardToApi for / api / email / signature- templates pergi melalui APIService gateway daripada proksi email Next.js. Sekarang ambil langsung dari EmailService ...

kamo·7mo ago
Fixkamo-internal

Baca sesi dari Redis secara langsung (sama dengan / api / user-info), gunakan forwardToApi untuk semua layanan panggilan

Akar penyebab: profil pengirim menunjukkan 'Rekan Anda' karena session fetch called a not-existent SecurityService endpoint. Tanda tangan salah bentuk karena la...

kamo·7mo ago
Fixkamo-internal

Replicate exact email composer data flow for meeting invite emails

The previous implementation only filled 8 of 20+ SignatureContent fields, causing malformed signatures with no images, name, or contact info. Now replicates th...

kamo·7mo ago
Fixkamo-internal

Bersihkan rapat mengundang email - hapus logo, perbaiki subjek / host, embed pesan gubahan dengan benar

Perubahan template: - Gambar logo move ulang (tanda tangan penanganan template pada branding) - Dihapus 'Hi, rekan Anda telah mengundang Anda' - diganti dengan ...

kamo·7mo ago
Fixkamo-internal

Lipat pertemuan mengundang surel dengan templat tanda tangan org (header / footer / signature) dan menyertakan pesan gubahan

Sekarang mereplikasi surel yang sama persis dengan yang dibungkus komposer surel: 1. Mengambil template tanda tangan dari EmailService (jangkauan USER, KOMPUSI ...

kamo·7mo ago
FixMediaService

Update health probes to HTTP port 80 to match new server config

Startup, readiness, and liveness probes were still pointing to port 8443 with HTTPS scheme, causing pod restart loops.

Kamo·7mo ago
Fixkamo-internal

Kirim pertemuan mengundang email DIRECTLY ke EmailService, bukan melalui gateway APIService

Akar menyebabkan: rute forwardToApi melalui gerbang Java APIService yang tidak melestarikan batasan multipart FormData dengan benar. Surel komposer bekerja kare...

kamo·7mo ago
Fixkamo-internal

Gunakan tint latar belakang halus pada kalender halaman header dan batang sisi

Cocok dengan halaman lead / allotments styling dengan warna terang -mix latar belakang bukan warna primer jenuh.

kamo·7mo ago
FixMediaService

Switch MediaService to HTTP port 80 — TLS termination at Traefik

Internal cluster traffic doesn't need HTTPS. Traefik handles TLS for external clients. This aligns MediaService with all other services.

Kamo·7mo ago
Fixkamo-internal

Bersihkan hxheads basi pada halaman menyegarkan daripada mengembalikan keadaan yatim

Jendela alat minimal tidak dapat bertahan, jadi mengembalikan posisi hexhead membuat kepala yatim dengan ikon yang hilang dan penangan klik yang tidak fungsiona...

kamo·7mo ago
Refactorkamo-internal

Tulis ulang penempatan HexHead sistem dengan mesin deterministik tata letak

Mengganti tabrakan buggy - sistem penghindaran (spiralSearch, resolveCollisions, flying ToHomeRow, dock / group RAF loops) dengan satu deterministik reflow () f...

kamo·7mo ago
Featurekamo-internal

Tambahkan indikator mengetik ke percakapan AI ketika menunggu jawaban

Gelembung streaming hanya menunjukkan ketika isi sudah sedang diperjelas, tidak meninggalkan umpan balik visual selama tunggu REST. Ditambah titik memantul indi...

kamo·7mo ago
Fixkamo-internal

Sembunyikan tab spesifik anggota ketika memberID adalah "baru" untuk mencegah galat BAD _ REQUEST

URL baru / pengaturan / anggota / baru (dari tombol "Tambah Anggota Tim") tertangkap oleh [memberID] rute dinamis, menyebabkan AccountAccountActivityTab, Anggot...

kamo·7mo 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