Hapus kerja parsing JSON untuk rentetan rencana ID berlangganan
Backend sekarang kembali arrays yang tepat bukan string JSON, jadi coba / parse / catch fallback logika tidak lagi dibutuhkan di add- on, bundle, dan para penye...
Use List<String> instead of manual JSON strings for promotion plan/cycle IDs
Update KamoCRMPricingLoader to use List.of() for applicablePlanIds and applicableBillingCycles, matching the shared library's migration from JSON strings to ent...
Migrasi berlangganan kolom JSON untuk hak berbasis @ ManyToMany hubungan
Ganti kolom string jsonb (CompatiblePlanid, termasuk InPlanid, applicablePlanids, applicableBillingCycles) dengan JPA @ ManyToMany bergabung dengan tabel dan @ ...
Merancang ulang pengaturan webinar dari dialog berbasis navigasi sub-page
Ganti dialog popup dan daerah akordion terpisah dengan tingkat dua aliran navigasi inline: - Level 1: bersihkan tabel tipe webinar dengan click- to- navigasi - ...
Set dukungan terpisah dari halaman dukungan level member- ke halaman pengaturan yang didedikasikan
- Hapus tab Pengaturan dari / halaman dukungan, hanya menyimpan tiket dan analisa - Tambahkan sub- tab ke Analytics: Overview dan Status & Response Times (pinda...
Titik akhir akun memakai ruas kontak langsung, tak diperlukan Pengguna
POST / pelanggan sekarang menyimpan First Name, lastName, email, telepon, alamat langsung pada Akun. PUT / pelanggan / {uid} memutakhirkan semua ruas langsung. ...
Manajer Akuntasi Terpisah dari TeamAnggota Manajer pada / halaman akun
3 tingkat tab: Klien & Pelanggan, Anggota, Anggota Tim. - Tab 0: komponen AccountManager baru - standalone, fetches real account data dari accusApi, tabel ag- g...
Mutakhirkan titik akhir pelanggan untuk memakai Akun (Panjang uid), hapus titik akhir alamat
Pelanggan / grup @ PathVariable berubah dari UUID ke Long untuk mencocokkan entitas Akun. Titik akhir alamat dihapus - alamat berasal dari Anggota Primary Akun ...
Ganti Pengubah Pelanggan dengan model pelanggan berbasis Account-
Account.java sudah entitas pelanggan perdagangan tapi terlalu minimal. RetailCustomer menduplikasi konsep ini. Commit ini: - Enhances Akun dengan bidang perdag...
Standardize merek penamaan di seluruh situs - Kamo Yaco KamoCRM / KamoCRM Inc.
Halaman legal (istilah, privasi, GDPR, footer hak cipta) sekarang gunakan "KamoCRM Inc". untuk entitas perusahaan. Referensi produk / merek di salinan pemasaran...
Migrasi semua komponen pipa dari commerceMarketApi ke commerceApi
Mutakhirkan 10 berkas untuk diimpor langsung dari commerceApi daripada yang dihapus CommerceMarketApi. Hapus compatibility shim dan mati CommerceMarketManager k...
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...
Strip SchemaCleanupRunner to only post-Hibernate fixups
Hibernate ddl-auto: update handles all table/column creation from JPA entities. Removed all redundant CREATE TABLE/ADD COLUMN statements that duplicated what Hi...
Split mailboxes tab into sub-tabs for primary, aliases, shared
Primary Mailboxes, Email Aliases, and Shared Mailboxes are now each under their own sub-tab within the Mailboxes settings page, matching the existing sub-tab pa...
Remove notes code, moved to KBService
Notes management (controller, service, encryption) has been relocated to KBService where it better aligns with knowledge and content management responsibilities...
Update internal entity ID types from number to string for UUID migration
Updates TypeScript types, hooks, and components to use string IDs for entities converted to UUID on the backend. User-facing entity IDs (User, Organization, Mem...
Update commerce product and market ID references from Long to UUID
Update calendar event and integration ID references from Long to UUID
Update version ID references from Long to UUID
Article IDs remain Long. Version IDs now use UUID.
Update KB media and version ID references from Long to UUID
Article IDs (KbArticle) remain Long. Version, media, pin, and review IDs now use UUID for improved CockroachDB write performance.
Update AI entity ID references from Long to UUID
Updates all controllers, services, and WebSocket handler to use UUID for AI entity IDs (providers, models, sessions, messages, folders, policies, MCP configs). ...
Update controllers and services for UUID entity IDs
Updates all controller @PathVariable and service method signatures to use UUID instead of Long for internal entity IDs (avatars, backgrounds, roles, departments...
Ubah ID entitas internal dari Long / unique _ rowid () ke UUID / gen _ random _ uuid ()
Meningkatkan CockroachDB menulis kinerja dengan menggunakan acak-didistribusikan UUID untuk kunci utama entitas internal daripada nilai sekuensial unik _ rowid ...
Ganti Sumber Tambah dengan dialog Sumber Kontak Kelola
- Ubah nama Dialog Alamat SourceSourceDialog dengan CRUD penuh (daftar sumber yang ada dengan status + remove, plus inline tambahkan bentuk) - Pindahkan "Manage...
Remove Client ID and Secret fields from RingCentral UI
These are platform-level credentials set once in the K8s secret. Customers only need to provide their JWT Key and main phone number.
Read RingCentral client-id/secret from platform config, not per-org DB
Client ID and Secret identify the Kamo app on RingCentral's platform — they are shared across all orgs. Inject them from Spring Boot properties (backed by the K...
Hapus clientId / clientSecret dari VoipProviderConfig
Ini adalah platform tingkat kredensial bersama di semua organ. Hanya jwtKey dan Telepon Utama yang per-org.
Extract resolveUserId helper, add ETag comment in KamoGroupwareProvider
Move AI to Enabled Apps section and remove settings slideout search/recents
Remove the search bar and recent items section from the settings slideout panel. Move Artificial Intelligence from main topics to the Enabled Apps section so it...
Sederhanakan halaman aplikasi dengan Tilikan tab / Inkubating tersedia dan list- saja
Hapus spanduk statistik, batang pencarian, penyaring kategori, jawaban kisi / daftar, dan dialog fitur. Aps kini diorganisir ke dua tab dan "Atur Bentuk" naviga...
Extract useOperatorLabels hook shared between useFilters and Funnel
Integrate New Message composer into tool window system
Replace the standalone fullscreen/mini composer windowing with the shared tool window infrastructure (minimize, maximize, hexheads). MessageSystem.openNewMessag...
Remove theme query param — Docs derives it from WOPISrc
Docs now has its own getThemePath() logic ported from kamo-internal's Theme.tsx, so DocsService no longer needs to pass the theme URL.
Migrate JPA entities and repos to kamo-shared-library
Entities and repositories moved to **************** in the shared library. All imports updated to reference shared lib.
Compact pipeline tab layouts for more datagrid vertical space
- Remove page titles from all pipeline tab components (tab already serves as title) - Remove market ID/label chips from tab headers - Move toolbar (filters, sea...
Replace hardcoded organization/network labels with dynamic branch labels
Use **************** from useUserInfo hook so the /network and /network/create pages respect the branch label configured on ****************
Remove Notes tabs from all pipeline detail pages
Notes functionality is replaced by the Communications component which is auto-appended by PipelineRecordLayout. Removed notes-related state, handlers, types, an...
Pecah ageReqType dan tambahkan rute pendaftaran anggota / tim
- Ganti ageReqTypeMember dengan AgeReqTypeTeamAnggota - Ekstrak komponen RegisterFlow dari page.tsx - Tambah / anggota dan / rute tim untuk arus pendaftaran ter...
Split ageReqType into member and team member fields
Update Organization type, PublicProvider, route schema, and BranchSetupManager with separate member/team member age requirement sections.
Return ageReqTypeMember and ageReqTypeTeamMember in org API response
Seperti apa yang Anda lihat pengiriman?
Semua pembaruan ini secara otomatis mendarat di ruang kerja Anda. Mulai bebas dan menontonnya tumbuh minggu demi minggu.