Tambahkan tampilan nama anggota dan tombol unassign ke tab ekstensi per instance
Tampilkan nama anggota dan tambahkan aksi Unassign ke tab tingkat-org-
Konfigurasi Wire VOIP ke pemilih penyedia + ekstensi dengan penegakan tugas
Tambahkan DTOs yang diketik, unassign metoda API, dan perbarui tipe Anggota MisionsTab VOIP
Tambahkan penempatan titik akhir DELETE ke VoipExtensionsController untuk unassign
Tambahkan Anggota VoipConfigController untuk anggota konfigurasi VOIP dengan penempatan ekstensi
Tambahkan metode pencarian FindByAssignedDimberId ke Repositori EkstensionFoneId
Sembunyikan kartu ATF sepenuhnya ketika semua bidang terkunci oleh model terapan
Probe master model endpoint dan fix appliedModel org ID
- Ganti berlaku Model.source- berbasis gerbang dengan probe langsung dari / api / keamanan / master- model di mount; r.ok = false (409) berarti org diatur oleh ...
Gate censorship tab options by applied model constraints
- Hide EDIT MASTER MODEL button when org is governed by a branch type (use appliedModel.source instead of unreliable org context branchTypeID) - Hide ATF fiel...
Persist kotak-surat aktif dalam param pencarian URL
Mengganti kotak surat sekarang memutakhirkan URL (? mailboxType,? mailboxId,? mailbox) begitu menyegarkan browser restore kotak surat yang sama. Peramban Pesan ...
Mark-as-read and message fetch for shared/member mailboxes
Classic mode now loads shared mailbox messages via the correct /messages/{folder} endpoint (was calling the non-existent /conversations endpoint). Fetching a fu...
Mark-as-read for shared and member mailboxes
EmailController.setFlags now accepts an optional mailboxId query param and routes through resolveProviderWithMailbox so member-mailbox flags are set against the...
Show accurate provider connection status from isConnected field
Replaces the old logic that showed "Connected" for any provider with no sync error (including brand-new providers that were never tested). New three-state badg...
Persist connection test result to isConnected field
- test() endpoint saves isConnected=true/false to DB after every health check - update() resets isConnected to null when configJson changes (credentials may h...
Add isConnected field to VoipProviderInstance
Nullable Boolean: null = never tested, true = last test passed, false = failed. Requires KamoInitializerService schema migration to add IS_CONNECTED column.
Use extensionId as external ID, not Relay node id
FreePBX returns the same Relay id (ZXh0ZW5zaW9uOg== = "extension:") for every extension because the id field is not populated. Using it caused all extensions to...
Menangani IMAPInputStream dalam getMessage untuk mencegah Eksepsi Kelas
JavaMail dapat mengembalikan IMAPInputStream daripada String yang diterjemahkan dari part.getContent () ketika isi pesan belum pernah ada sebelumnya. The straig...
Tampilkan panji penawaran aktif dengan countdown milidetik hidup
Mengambil server promosi aktif pada halaman rumah dan membuat HeroOfferBanner antara subheadline dan bebas-selamanya callout. Banner menunjukkan jumlah diskon, ...
Switch yang tersedia / tak tersedia ke backend dan memperbaiki kutu kehadiran OFFLINE
- Ubah nama chip yang ditahan / aktif ke Tersedia / tidak tersedia di NavTop - Ambil ketersediaan awal pada kait dan perkuat toggles melalui baru me / avability...
Meningkatkan TTL dari 90-an sampai 300s untuk mencegah OCLINE salah pada pemintalan tab
Tambahkan Tersedia ke respon departemen dan saya / ketersediaan titik akhir
Tulis ulang semua kueri / mutasi GQL terhadap introspeksi skema hidup
Verifikasi setiap nama dan tipe lapangan terhadap skema FreePBX 17 yang sebenarnya. Set penuh koreksi: Query: - fetchAllExtensions: hapus daerah 'voicemail' da...
Lewati Folder yang dipilih ke ThreadDetailView sehingga surel: folder- mengubah kebakaran dengan folder yang valid
konversi. Folder selalu tidak terdefinisi karena Java ConversationEntity memiliki folderIds (teks []) bukan sebuah daerah string folder. Hal ini menyebabkan loa...
Nama ruas GraphQL yang benar untuk fetchAsteriskDetail
FreePBX API kembali "Apakah maksudmu fetchAsteriskDetail?" - ganti nama kesehatan periksa query dan data path yang sesuai.
Tambahkan header XHR / Terima dan respon String parsing ke klien GraphQL
Pola yang sama seperti FreePBXTokenCache: tambahkan X-Requested- Dengan + Terima: aplikasi / json untuk menekan respon redirect HTML FreePBX, dan menukar ketiga...
Selaraskan dropdown kotak-surat ke kotak-surat utama pada load
Dropdown digagalkan ke butir daftar pertama karena memilih kotak-surat yang diinisialisasi tanpa kotak surat, menyebabkan nilai mata uang untuk menyelesaikan 'p...
Naikkan batas ukuran berkas upload ke 500MB
Spring Boot default cap multipart bagian di 1MB, menyebabkan gambar latar belakang upload untuk gagal dengan 500 dalam request.getParts (). Match SecurityServic...
Galat permukaan HTTP sehingga kegagalan upload terlihat
Displaced diam konsole.warn dengan Galat dilemparkan pada status bukan-OK, sehingga pengguna melihat alasan kegagalan sebenarnya (tubuh status + respons) daripa...
Tambahkan tajuk + XHR dan raw-string respon parsing untuk tanda titik akhir
FreePBX kembali teks / html ketika disebut via cluster DNS karena Header host tidak cocok dengan PBX _ HOSTNAME yang dikonfigurasi. Menambahkan Terima: aplikasi...
Drive minimal-tab entri melalui kontrol animasi
Mengaktifkan animasi = {...} ke animasi = {tabControlls} memecah entri animasi: tabControlls tidak memiliki target antrian pada kait, sehingga tombol tetap pada...
Benang scope Oaut2 yang benar bagi API FreePBX
Scope FreePBX adalah identifier tingkat atas: 'gql' (semua GraphQL) dan 'rest' (all REST). Format 'gql: read' berarti GQL untuk sebuah modul bernama 'read', yan...
Siaran tidak terbaca badge + bounce pada pesan agen baru
- Keeps LiveSupportPanel dipasang di luar layar sementara widget diminimalkan (hanya ketika sesi dukungan ada) sehingga tetap langganan StoMP hidup dan onunread...
Tampilkan port 8088 secara langsung pada layanan ClusterIP
Layanan hanya memiliki port 80 £8088 pemetaan. Layanan internal memakai * * * * * * * * * * * * * * * (mis. token API VOIPService permintaan) adalah waktu kelua...
Backend Trust pendingCount, drop client offset
Backend pendingCount kini tidak terbaca-berbasis (dihitung sesi SUPPORT _ TIKET dengan pesan yang lebih baru daripada pemilik yang lastViewed). Ketika agen terb...
Broadcast tertunda jumlah + belum dibaca pada agen baca & pengunjung mengirim
- * * * * * * * * * * * * * * * * sekarang delegasi ke * * * * * * * * * * * * * * * * * sehingga menghitung mencerminkan sesi dengan pesan pengunjung yang belu...
Cacah unread- berbasis + lookup -by-session helper
Tambahkan * * * * * * * * * * * * * * * * * * sehingga navtop Lencana SupportButton dapat menghitung tiket dukungan yang benar-benar perlu perhatian (memiliki p...
Tambahkan fail2ban- config ConfigMap untuk k1m1
Pemindahan referensi kegagalan 2ban- config ConfigMap (jail.local + asterisk- security.conf) tetapi tidak ada, memblokir pod di MountVolume. Penyiapan dan pence...
Bangun ulang untuk menarik kamo- shared- perpustakaan
Meniup * * * * * * * * * * * * * * * * * * * query dan cabang SUPPORT _ TIKET dalam * * * * * * * * * * * * * * *
MarksRead setelah agen mengirim kemajuan yang lama
Pada tiket dukungan, baik pengunjung dan pesan agen disimpan di bawah Anggota Systemm yang sama, jadi permintaan yang belum dibaca adalah memberagnostik dan Sem...
Tiket dukungan membutuhkan jumlah yang tak terbaca anggota agnostik
Pesan pengunjung pada tiket dukungan disimpan di bawah system Anggota yang sama bahwa agen membuktikan sebagai, sehingga sesi CHAT- yang ada tidak dibaca query ...
Seperti apa yang Anda lihat pengiriman?
Semua itu tiba di ruang kerjamu sendiri. Mulailah dengan rencana gratis dan baca halaman ini lagi dalam sebulan.
