Add CDR caller-ID columns to recordings table (order 40)
Adds caller_id_num, caller_id_name, call_direction, and call_result columns to the recordings table so the softphone history tab can display who called without ...
Add CDR caller-ID fields to Recording entity
Adds callerIdNum, callerIdName, callDirection, and callResult columns to the Recording entity so kamo-asterisk-support can store Asterisk CDR metadata alongside...
Surface imaging fallback when provider has no call history
KamoPBXProvider.getCallHistory now returns null instead of throwing **************** so the 501 response no longer bypasses the imaging fallback. The provider c...
Correct account list member/teamMember fallback labels and trigger redeploy
Restore NavPri panel labels and LeadHistory column headers
NavPri: salvage-keys grabbed href URLs as label values and swapped label/description pairs for Accounts, KB, and Notes nav panels. LeadHistoryPanel: MUI bgcolo...
Add COMP payment method option to subscription order wizard
COMP is a valid backend PaymentMethod enum value for complimentary platform-admin grants, but was missing from the frontend type and wizard UI — only INVOICE an...
Show platform domain context when no custom domain is set
Surface the active *.kamocrm.com hostname in the domain entry form so users can see their current platform domain instead of a blank entry screen. Also fixes ve...
Revert "chore(messages): add wave3 translation merge fragments (JSON)"
This reverts commit ****************
Revert "feat(setup-dns): show platform kamocrm domain on custom domain entry"
This reverts commit ****************
Show platform kamocrm domain on custom domain entry
Surface the active *.kamocrm.com hostname on the add-domain flow and detect custom domains by excluding kamocrm URLs instead of default-flag alone.
Checkpoint translations per chunk and per locale on main
Persist locale JSON after each API chunk so cancellation loses at most one batch. CI translates one locale per process and commits/pushes after each so finished...
Checkpoint translations per chunk and per locale on main
Persist locale JSON after each API chunk so cancellation loses at most one batch. CI translates one locale per process and commits/pushes after each so finished...
Disable Docker BuildKit cache so every pipeline run does a full rebuild
Sets no-cache on both image build steps so npm ci and npm run build always run, even when the source tree is unchanged.
Bust Docker BuildKit cache per commit so npm run build runs every push
Identical checkout trees (e.g. empty commits) reused cached layers and skipped a real Next build. Pass GIT_COMMIT from the workflow and label the image revision...
Tekan grep tidak cocok keluar dalam penangkapan OLD _ PID untuk menghindari pipefail dibatalkan
Ijinkan pemilik dan anggota sistem Top-level org untuk mengelola domain org manapun
Selaraskan keanggotaan surel ketika kotak surat primer diberikan, diubah, atau dihapus
Ketika kotak surat ditugaskan untuk anggota dalam KAMO _ MAIL org, members.email tidak pernah diperbarui, menyebabkan EmailCredentialService gagal untuk menyele...
Cegah domain root duplikat dan perbaiki tampilan domain primer
One _ DOMAIN _ PER _ ORG cek secara tidak benar dikecualikan .kamocrm.com web-alias domain, memungkinkan org untuk mengumpulkan multiple domain root (dan 10 ali...
Serialisasi anggota keamanan dan anggota PUT panggilan untuk menghindari konflik CockroachDB
Dua baris concurrent menulis ke baris 'anggota' yang sama menyebabkan sebuah serialisasi konflik isolasi - anggota keamanan membaca baris sementara anggota titi...
Tampilkan tombol Manage Domain bagi pemilik org tingkat atas dan anggota sistem
Mengurangi pembuatan org latensi dan memperbaiki kegagalan cascade terjemahan
- Kontroller Organisasi: ganti sewajarnya Tim Anggota ForAllOrgs (full org pemindaian tabel) dengan secara pasti TeamAnggota Org (single org) - menghilangkan ~ ...
Widen commit _ log _ translations.title ke TEXT untuk mencocokkan kolom DB
Kolomnya adalah VARCHAR (512) dalam kedua gangguan dan DB, menyebabkan terjemahan memasukan gagal untuk judul terjemahan panjang. Kolom DB sekarang STRING (dite...
Buka katalog dan perhitungan dari amplop respon backend
getSubscription Catalog returned {katalog: {...}} tapi cast secara langsung sebagai Katalog Subscription, meninggalkan catalog.plans undefined and the plan pili...
Tambahkan @ JsonProperty ke daerah DTO * -prefixed bool
Lombok menghasilkan isXxx () adalah - getters untuk bidang boolean bernama isXxx. Jackson strip 'adalah' dari is- getters dan serializes mereka sebagai 'xxx' da...
Gunakan SS daripada fuser untuk membunuh port- forward basi (fuser tidak pada k0m1)
fuser dan lsof tidak terpasang pada host pelari. Gunakan ss -tlnp dengan Grep untuk mengekstrak PID memegang port 18080 dan langsung membunuhnya. Juga switch pk...
Bersihkan port- forward basi sehingga membatalkan pekerjaan terjemahan tidak memblokir run berikutnya
Bash tidak meneruskan sinyal ke proses backgrounded, jadi kubectl Port-forward membatalkan arus kerja yang dibatalkan dan ditahan port 18080, memblokir setiap t...
Kembalikan semua nilai placeholder yang rusak ke seluruh halaman
Script Salvage- kunci telah meraih CSS clasnames, gaya inline, dan JS template literals bukan teks asli Inggris untuk 114 pesan kunci spanning catatan, kb, perd...
Tampilkan tombol Tata Tagihan bagi pemilik org tanpa akun
Ketika pemilik org membuka tab plans-billing dan tidak ada rekening penagihan ada, tampilkan bootstrap prompt daripada umum "kontak anda Pesan pemilik "org. Tom...
Mengembalikan judul pahlawan halaman utama dan subtitle dari sejarah git
hero Title was 'Hero Title' (placeholder), heroSub was 'flex gap-2' (Salvage- kunci sengaja meraih CSS yang berdekatan nama kelas). Nilai yang benar dipulihkan ...
Tambahkan bootstrap--billing titik akhir untuk format yang telah ada
POST * * * * * * * * * * * * * * * * memicu yang sama setup idempoten sebagai pengait penciptaan sub-org (Pengatur BilingSetupService .setupForSubOrganity Penci...
Aktifkan tombol Selesai dengan polling widget.getState () dan beralih ke auto = onload
Pendengar perubahan status tidak dapat diandalkan mengaktifkan tombol Selesai setelah verifikasi. Dua akar menyebabkan: Logika saluran membaca widget. keadaan ...
Termasuk subscription-target akun dalam daftar org
listForOrg sekarang juga mengembalikan akun yang subscriptions target diminta org - bukan hanya akun langsung dimiliki olehnya. Dalam multi- org model Akun Memb...
Tambahkan namespace status Jendela dan perbaiki semua placeholder
- Tambahkan * * * * * * * * * * * * * (50 tombol) sehingga pengaturan batang samping nav menampilkan teks real daripada path kunci - Fix branchTypesLabel format...
Wave 3 conversions, fallback fix, and auto- translate CI
- Ganti semua hardcode string Inggris dengan t () panggilan melintasi gelombang 3 komponen (chat, clubhouse, dukungan, catatan, pipeline, lead, nav, dsb.) - Mer...
Cocok dengan skema ukuran + warna jendela lain
- navoultSize and minSize now 320x650, resiviable: false (match Softphone, Chat, Kalkulator, SMS, AI Chat) - Beralih dari gradien gelap ke gradien cahaya standa...
Persempit kolom nama depan dan terakhir sehingga nama panggilan tetap pada satu baris
Tempatkan nama panggilan inline setelah akhiran nama pada baris nama legal
Wire next-intl dengan member.language sebagai sumber lokal
Tambahkan internasionalisasi berbasis selanjutnya ke kamo- internal tanpa URL locale prefix. Lokal aktif dibaca dari kamo- lokal cookie, yang mirror the authent...
Forward Range header so audio playback can scrub
Without this the VOIPService recording-streaming endpoint always returns the full file (Range header is dropped by buildForwardHeaders), which works for play-fr...
Seperti apa yang Anda lihat pengiriman?
Semua pembaruan ini secara otomatis mendarat di ruang kerja Anda. Mulai bebas dan menontonnya tumbuh minggu demi minggu.