Hapus duplikasi CorsFilter bean yang menyebabkan double Access- Control- Allow- Origin header
The eksplisit CorsFilter kacang menyebabkan filter CORS kedua bersama Spring Pembangunan keamanan dalam dukungan CORS (yang menggunakan CorsConfigurationSource)...
Hapus laporan debug console.log dan tambahkan rute yang hilang
Hapus semua penelusuran sementara yang ditambahkan selama pelacakan WebSocket dari ChatBox, TicketChat, MenmberItem, ChatTool, dan Use ChatChWebSocket; tambahka...
Mencegah header pesan dari memperluas kolom pada alamat panjang
Kepala kiri anak fleks tidak memiliki email yang tidak bisa dipecahkan alamat dalam From / To / Cc memaksa lebar min- konten untuk tumbuh, seret tajuk (dan tata...
Hoist ChatWebSocketProvider di atas ToolProviders
ToolDock (dan perangkat jendelanya seperti SupportTicketWindow £TicketChat) adalah dipasang di dalam ToolProviders, yang terletak ABOVE PresenceWrapper dalam po...
Jatuhkan Shadow DOM dalam perender email sehingga overflow-x-auto kebakaran
Shadow DOM adalah penyebab akar. Isi surel lebar (tabel fixed- lebar) di dalam pohon bayangan melukis melewati host tanpa berkontribusi kotak tata letak host, s...
Align Path impor ChatWebSocketContext yang cocok dengan penyedia
TicketChat dan ChatNotificationListener diimpor konteks via '@ / app / contexts /...' alias ketika PresenceWrapper (penyedia) impor itu melalui jalur relatif '....
Sementara console.log untuk melacak jalur berlangganan TicketChat
Tambahkan log konsol di setiap tahap baris pipa berlangganan (efek api, penjaga lulus, subscribe () panggilan, atatSessSubscription, klien. Berlangganan, / app ...
Paksa penahanan host bayangan dengan gaya inline + berisi: tata letak
Kelas berdasarkan overflow-x-auto pada host bayangan tidak dipercaya menang terhadap bayangan ': host {all: initial}' reset, so wide email isi (tabel fixed- wid...
Scroll isi email lebar di dalam bayangan DOM, bukan di luar
Upaya sebelumnya untuk menambahkan overflow-x-auto ke moyang DOM ringan tidak dapat menangkap isi email lebar karena visual pohon bayangan cat overflow tidak be...
Gunakan getHasAttachments () untuk mencocokkan tipe pembungkus Boolean
* * * * * * * * * * * * * adalah Boolean (wrapper), begitu Lombok menghasilkan getHasAttachments () bukan isHasAttachments (). Yang terakhir saja ada untuk bool...
Pemindaian repositori Expand JPA untuk memasukkan paket perdagangan
Kamo- shared- perpustakaan baru membawa dalam * * * * * * * * * * * * * * * * * yang membutuhkan * * * * * * * * * * * * * * * (dalam com.kamo.z.shared.commerce...
Kembalikan impor HashMap dalam ChatWebSocketController
Reaktor sebelumnya menghapus impor HashMap tapi handleTyping metode masih membangun sebuah HashMap untuk muatan peristiwa mengetik, menyebabkan Forgejo build un...
Tambahkan min-w-0 ke isi email div sehingga overflow-x-auto kebakaran
Tanpa min-w-0, anak flex-col baku lebar: otomatis menyelesaikan ke min-content, membiarkan tabel email lebar memperluas div melewati kolom lebar. Overflow-x-ter...
Hapus duplikasi connectStomp panggilan dalam sendMessage
Ketika pesan pertama menciptakan sesi baru, alat peraga pemutakhiran onSessionmade yang memicu use Effect untuk memanggil connectStomp. Panggilan pesan masuk it...
Proaktif membuat konsumen NAS pada pembuatan sesi untuk mencegah hilangnya pesan
Sebelumnya NATS JetStream mendorong konsumen hanya dibuat ketika klien STOMP dikirim / app / chat / berlangganan. Dengan DeliverPolicy. Baru, ada pesan yang dit...
Tutup jeda reconnect menyebabkan pesan real-time jatuh
Hapus 'tersambung' dari kotak penggunaan efek langganan dalam TicketChat dan ChatBox. Sebelumnya, setiap reconnect WebSocket memicu efek membersihkan yang diseb...
Ijinkan pengguna sistem untuk mengelola branding org dan memperbaiki logo auth
- Tambahkan sistem pengguna bypass sebagai penjaga pertama dalam canManageOrganic Branding sehingga platform pengguna sistem memiliki percabangan penuh kontrol ...
Berisi overflow horisontal dalam panel tilikan email ke kolom 3
- Tambahkan overflow-x-tersembunyi ke MessageBrowser luar kontainer sebagai batas keras - Tambahkan overflow-x-hidden ke kolom 3 pembungkus dan overflow-x-auto ...
Kegagalan Produksi dengan penjara PJSIP dan keadaan persisten
- Tambahkan fail2ban- configmap.yaml dengan [asterisk] dan [freepbx-web] penjara, eskalasi larangan peningkatan (1h Aver24h 130d), dungu LAN, dan custom asteris...
Ganti Coqui TTS dengan Piper TTS (en _ US-norman- medium)
Model Coqui VCTK tidak memiliki speaker bernama - menggantikan dengan Piper TTS yang memiliki suara norman [sedang] tepat. biner Piper (~ 3 MB) dan model (~ 60 ...
Reset stale hasAttachments on sync and accumulate correctly
- Reset has_attachments=false at start of bulk sync so stale true values from old false-positive MIME detection are cleared before re-indexing - Accumulate ha...
Add resetHasAttachmentsForFolder query to ConversationRepository
Allows sync to reset stale has_attachments flags before re-indexing so corrected MIME detection can rebuild the field from actual attachment data.
Integrate Coqui TTS with norman voice (VCTK p267)
- Deploy coqui-tts server (VCTK VITS model, CPU-only) as ClusterIP service on port 5002 with model cache at /var/lib/coqui-tts on k1m1 - Inject coqui_tts.agi ...
Pre-populasi DARI pada reply / forward dan perbaiki kirim dari Alamat
- DraftMessage sekarang membawa dari Alamat sehingga mengalir dari bukaan Pesan Baru melalui ke komposer - MessageBrowser menyimpan alamat surel aktif (termasuk...
Dukungan dari override Alamat saat mengirim
Tambahkan FromAddressRequest ke EmailSendRequest sehingga antarmuka dapat menentukan alamat alias / shared / mailbox untuk dikirim. SmtpOnlyProvider sekarang me...
Add LAN DNS pod for split-DNS on k1m1
Deploys a dnsmasq pod with hostNetwork on k1m1 that listens on 192.168.4.22:53. Overrides pbx.k1.kluster.kamocrm.com -> 192.168.4.22 so LAN phones reach the PBX...
Tambahkan lokal _ net untuk split- DNS / LAN perbaikan klien RTP
Telepon pada LAN yang sama dengan koneksi k1m1 via split DNS (domain resolve ke 192.168.4.22 internal). Tanpa lokal _ net, Asterisk masih mengiklankan domain ek...
Persist magic contact = memory fix and block SIP scanner in startuppsh
- Suntikkan [res _ pjsip] kontak = memori ke penyihir.conf sebelum Asterisk dimulai; backend SQLite secara diam-diam menjatuhkan semua kontak REGISTER - Block d...
Sub-tab content fills full content-area width
Drop the centered max-width constraint (was 920 / 1200 / 680 / 720 depending on tab) on SubTabShell. The page already lives inside SettingsView's content column...
Fix attachment parsing and hasAttachment false positives
Three fixes to EmailImapService: 1. toEnvelope: narrow multipart check to multipart/mixed only — plain HTML+text emails (multipart/alternative) no longer sh...
Add download button to classic view attachment section
The classic view (MessageBrowser) had its own attachment list that was missing the download button — only the conversation view was fixed previously. Also align...
Add com.kamo.z.shared.commerce to EnableJpaRepositories scan
**************** (required by **************** in the shared library) lives under com.kamo.z.shared.commerce but was not included in the JPA repository scan, ca...
Tata letak, padding, dan logos penyedia
Tata letak / ruang perbaikan: - Semua enam tab (Penyedia, Ekstensi, Pengguna Telepon, Perangkat, Voicemail, Kesehatan) now wrap their content in a TabShell with...
Correct field name and type in getFromAddresses response
Backend was sending 'email' key but frontend expected 'address', and sent type 'shared_mailbox' when frontend expected 'shared'. Also fixes hasMailboxes flag wh...
Load FROM addresses from accessible mailboxes and aliases
Replaces the broken getFromAddresses() endpoint (which sent 'email' instead of 'address') with getAccessibleMailboxes() + listMemberAliases(), matching the same...
Gunakan cockroachDB- kompatibel DROP INDEX CASCADE sintaks
CockroachDB menolak ALTER TABLE... DROP CONSTRAINT untuk batasan UNIQUE dengan: tidak terimplementasi: tidak dapat menjatuhkan batasan UNIQUE "uk _ org _ oauth...
Drop stray VOIPService spec md dari repo
Per konvensi projek (.md berkas tidak mengirimkan dengan layanan).
Sertakan com.kamo.z.shared.commerce dalam pemindaian repositori
Kamo- berbagi-terakhir perpustakaan menyebarkan * * * * * * * * * * * * * * * (donotmodufy.dao.services) yang memiliki ketergantungan konstruktor pada * * * * *...
Tab konfigurasi platform (Jenderal / VOIP & SMS / Sistem Pengguna / Lanjutan)
Wraps * * * * * * * * * * * * * * dalam SettingsView dengan empat tab: - Umum: read-only platform overview - total orgs, aktif server telepon instance count, a...
Tambahkan tombol unduh lampiran dan lepaskan tanda-jalan dan baca
- Tambahkan ikon Unduh ke setiap baris lampiran sehingga pengguna dapat memaksa unduh berkas daripada hanya membuka tab baru - Decouple markConversationRead dar...
Global VOIP sync job (admin- tunable interval)
VoipGlobalSyncJob kutu setiap menit dan, pada setiap kutu, membaca SystemConfigure singleton untuk menentukan apakah sinkronisasi global jatuh tempo: - Jika voi...
Sistem--config + platform- overview titik akhir
Permukaan konfigurasi Platform-lebar, digated oleh pemilik tingkat atas yang ada Penjaga (cocok dengan SystemUserConfigController 's RequreLevelOwner pola). Ti...
Per- instance resource controller + org kumpulan + internal sync
Misalnya sumber daya CRUD (ekstensi / pengguna / perangkat / voicemail): - VoipExtensionsController at * * * * * * * * * * * * * * * - VoipUsersController at / ...
Reaktor penyedia multi- instance + penuh FreePBX + Flowroute SMS
Perubahan model inti: satu org plug banyak VoipProviderInstances (adalah: satu per org). Setiap operator API panggilan sekarang instance- scoped. Antar muka Ph...
Migrasi penyedia telepon / SMS multiinstance
Runs after Hibernate ddl-auto: update create new tables (VOIP _ PROVIDER _ INSTANCE, BULK _ TEXT _ PROVIDER _ INSTANCE, PHONE _ EXTENSI, PHONE _ END _ USER, PHO...
Pondasi skema penyedia telepon / SMS multiinstance
- Ubah nama VoipProviderConfig GNU VoipProviderInstance; drop UNIQUE (org _ id), add instance _ name, config _ json, last _ sync _ at, last _ sync _ error. - Ub...
Pindahkan jalur host dari MinIO (rclone FUSE) ke lokal / var / lib / pbx
MinIO via rclone FUSE tidak mendukung POSIX chmod atau symlink () - keduanya dibutuhkan oleh sistem modul FreePBX. Mengubah semua FreePBX dan MariaDB volume hos...
Lipat fwconsole / amportal via php for MinIO FUSE hostPath
/ var / lib / asterisk didukung oleh MinIO melalui rclone FUSE yang tidak mendukung chmod POSIX, sehingga skrip fwconsole tidak dapat dibuat dapat dieksekusi pa...
Tambahkan kail preStop dan terminal GracePeriodSeconds
Kontainer terjebak di Terminating karena latar belakang Asterisk proses terus berjalan setelah apache2ctl (PID 1) keluar. Kirim kait preStop SIGTERM ke Asterisk...
Tambahkan bootstrap.php membutuhkan regenerasi / etc / freepbx.conf
Pemasang menulis freepbx.conf dengan datasource = "dan suatu request _ once untuk bootstrap.php, yang config.php tergantung pada untuk memuat kelas FreePBX. Ver...
Seperti apa yang Anda lihat pengiriman?
Semua pembaruan ini secara otomatis mendarat di ruang kerja Anda. Mulai bebas dan menontonnya tumbuh minggu demi minggu.