Load org logos from MinIO theme public path like dashboard
Use getThemePublicBaseForDomain so logo URLs match getThemePath()/img/logo.svg instead of legacy /domain/.../kamosite paths that 404 and fell back to initials.
Add missing nav-top strings and scope translations
English messages listed components.navtop.* keys for Mail/Docs/Voip buttons but never defined hi/welcome, branches, account, credits, calendar, chat, etc., so n...
Resolve nav-pri labels showing raw i18n keys
Use namespaced next-intl translators for nav and components.nav.navPri so lookups resolve against the merged message trees; add panel aria strings under navPri;...
Add MessageBrowser i18n strings and restore load error copy
next-intl threw MISSING_MESSAGE for components.messages.browser.* keys missing from en.json, breaking /messages render. Add English strings, use loadMessagesFai...
Bangun rekaman kunci objek MinIO seperti stream pencitraan
Abaikan ekstensi ketika BERKAS _ EXT adalah null / kosong sehingga nama objek cocok Rekaman Layanan Gambar dan Pengendalian Gambar. Concat string Java dengan nu...
Batalkan panggilan jika Hang up dipanggil sebelum sdk.invite menyelesaikan
Kondisi balap: menutup () selama menghubungkan belum ada sesi untuk mengakhiri belum (sdk.invite ditunggu sebelum wisesi), sehingga panggilan tersambung pula. D...
Otomatis masukkan org baru setelah pembuatan sehingga anggota tanah dengan peran dan hak mereka sendiri
Setelah pembuatan org sesi tetap dalam konteks induk (tidak ada hak admin), Meninggalkan pemilik org baru tidak dapat melihat pengaturan. Sekarang para penyihir...
Ijinkan akhir panggilan saat menyambung, matikan asisten AI, hapus tab antrian
- Akhir tombol panggilan sekarang aktif dan merah selama kondisi menghubungkan sehingga panggilan dapat dibatalkan sebelum mereka terhubung - Dinonaktifkan tomb...
Selesaikan ekstensi riwayat panggilan dari anggota _ voip _ config, bukan phone _ extension
* * * * * * * * * * * * * itu NULL untuk beberapa ekstensi bahkan ketika anggota _ voip _ config benar dipetakan anggota ke ekstensi mereka. Menggunakan anggota...
Full touch support for softphone popup on tablets
- Add touch-action: manipulation + WebkitTapHighlightColor to iconBtnStyle so window control buttons (minimize/maximize/close) respond instantly on touch - Ad...
Add go-sql-driver/mysql v1.7.1 checksum to go.sum
go mod tidy without source files is a no-op, so the mysql checksum was never added. Generated the correct h1 hashes via a throwaway golang:1.22-alpine container...
Handle legacy ordinal string untuk CountryType via AttributeConverter
Baris DB memiliki negara yang disimpan sebagai integer ordinal (mis. "186" untuk UNITED _ STATES) bukan nama enum, menyebabkan IllegalArgumen Exception pada fin...
Batalkan menerjemahkan tugas seketika dengan menjalankan tsx di latar belakang
Ketika Forgejo membatalkan aliran kerja, bash menunggu untuk setiap anak latar depan untuk selesai sebelum memproses sinyal - sehingga menjalankan pekerjaan lok...
Pindahkan ASTERISK _ CDR _ DSN ke konfigurasi lokal. json, bukan rahasia CI / CD
CDR kredensial lokal untuk setiap server FreePBX dan tidak memiliki bisnis dalam baris pipa CI / CD. Operator tambahkan ASTERISK _ CDR _ DSN langsung ke mereka ...
Ijinkan akses tinggi pada getDomainById dan verify- dns titik akhir
Pemilik dan anggota sistem pada getDomainBy level-org Id dan verify- dns karena titik-titik akhir diperiksa adalah UmserMenof Org langsung. Tambahkan bantuan Ak...
Show existing org domain instead of entry form when no custom domain
Fall back to the org's platform subdomain as the display domain so DnsProgressView renders rather than DomainEntryForm when no custom external domain exists. Al...
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...
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...
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...
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...
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 ...
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...
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
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...
Rewrite /etc/odbc.ini to point at $MARIADB_HOST on every boot
The escomputers/freepbx:17 image bakes /etc/odbc.ini with Server=db (the docker-compose link target). On this Kubernetes deployment MariaDB lives at \$MARIADB_H...
Resolve member→extension before VM/CDR provider lookup
CallController was passing memberId where FreePBX (and other PBX-style providers) expect an extension number — voicemail listing returned empty because no PBX e...
Otomatis-assign kursi pertama, Bebas sebagai lantai, broader org invalidasi
Layanan BillingSetupService kini mengaktifkan slot lisensi terbuka pertama bagi sang pencipta ketika seeding sebuah sub-org berlangganan (dan sama untuk promoto...
Seperti apa yang Anda lihat pengiriman?
Semua itu tiba di ruang kerjamu sendiri. Mulailah dengan rencana gratis dan baca halaman ini lagi dalam sebulan.
