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...
Paginated Recording lookup by (instance, extension, isVm)
Used by the softphone tabs as the canonical source of truth for call recordings and voicemails when the upstream provider can't list them — e.g. FreePBX 17 has ...
Jatuhkan komentar BillingGroup-era yang sudah basi + permintaan Pengelola Subscription
Strips sisa doc blok dalam AppliedModelEnprecebakal Layanan yang disebut konsep BillingGroup yang sudah lama hilang, dan dihapus Setelah konsolidasi * * * * * *...
Tingkat Atas org bypass + Free baseline fallback untuk orgs tanpa subs
Tingkat org- hak cek * * * * * * * * * * * * * * * * * berjalan langganan menargetkan org. Dengan model target _ org baru, orgs yang belum memiliki target Accou...
Pecah akun -level admin dari anggota per-sub; subs memperoleh target _ org
Tambahkan Anggota Subscription (per- subscription licensee + sub- manager flags) sehingga Akun pada org KamoCRM dapat menyimpan multiple subscriptions, masing-m...
AccountGroup - > AccountTier (segmentasi pelanggan, tidak penagihan)
Entitas penghitung-segmentasi (dengan potongan-potongan, digunakan oleh PriceList for tier- based pricing) bertabrakan dalam nama dengan sekarang- dihapus konse...
Buat Akun grup; ganti Pengguna ditata dengan Anggota - set + AccountAnggota
Akun sekarang sendiri "kelompok" - tidak ada billing- kelompok terpisah konsep. Anggota (org- scoped) milik Akun secara langsung melalui Anggota Akunting Baru b...
Migrasi dari BillingGroup ke Akun sebagai kepala sekolah penagihan
Rekening sekarang menjadi kepala sekolah pelanggan Stripe tunggal. Sebuah Anggota membutuhkan untuk membayar (mis. untuk berlangganan) otomatis membuat Akun; Ak...
Map external customer address blocks into AccountAddress on pull
Add AdapterAddressMapper helper that converts a JSON address node from any provider into an EmbAddress and attaches it to an Account as a typed AccountAddress (...
Catatan hidup orient ke profil alamat Akun, snapshot alamat historis
Catatan perdagangan hidup orient untuk mereferensikan profil rekening utama pengiriman / penagihan alamat, dengan snapshot diambil hanya ketika catatan menjadi ...
Ganti Account.java ke penggelapan; tambahkan Entiti AccountAddress untuk daftar pengiriman / penagihan
- Tambahkan AkuntAddressType enum (SHIPPING, BILLLING) - Tambahkan Entity AccountAddress (akun FK, tipe, label, EmbAddress, penanda waktu) - Tambahkan Repositor...
Penyedia tombol pencarian pada Perekam, arsip voicemail, jangkauan streaming MinIO
- Recording: tambahkan providerInstanceId + providerExternalId untuk bergabung dengan operator panggilan riwayat / voicemail baris kembali ke pencitraan aset - ...
Tambahkan log audit sejarah - entitas, registri, layanan, DTO, kait LeadService
- Entitas LeadHistory (UUID PK, FK panjang polos - tidak ada batasan FK untuk memungkinkan penghapusan / konversi memimpin) - LeadHistory EventType enum dengan ...
Selesaikan pemetaan duplikasi kolom dengan menimpa kolom alamat tertanam ke Mailling _ *
Mutakhirkan adaptasi RetailService dan penyedia untuk konversi Account.note dan rececyType
Tambahkan dukungan internasional - Memimpin negara / subdivisi / zona waktu, Bahasa Org, Provinsi Tipe KontryType
- CountryType: tambahkan PROVINCE _ NAMES set, isProvince (), getSubdivisionLabel () - Organisasi: tambahkan bahasa (LanguageType) field - Lead: tambahkan negar...
Recording + RecordingExt entitas, RecordingPicture Service menulisnya
- Entitas rekaman baru (UUID, IMG _ ID, IS _ MASTER, IS _ VM, EXTENSI, MEMBER _ ID, LENGTH, DATE _ RECORDED, DATE _ CREADTED [DB- digagalkan melalui @ CreationT...
Use @CreationTimestamp(source=DB) on ****************
The DB is the single source of truth for timestamps in this codebase. The canonical Hibernate pattern is @CreationTimestamp(source = SourceType.DB), which makes...
Let DB fill **************** via @Generated(INSERT)
INSERTs were failing with: null value in column "date_created" violates not-null constraint @ColumnDefault only declares the DB-side default for new rows; Hi...
Tambahkan Entitas dan repositori Nama Anggota CallFeatures untuk panggilan ke depan dan preferensi jawaban otomatis
Entitas staging Recording yang belum selesai, trek trek ImgDat, layanan pencitraan rekaman
- Perbaiki tabrakan ID Tipe ImageAst: VM _ RECORDING = 8, CALL _ RECORDING = 9 (keduanya duplikasi MY _ DOCS at 4). - Tambahkan * * * * * * * * * * * * * * * se...
Tambahkan IncludeCompany ke LeadMarket dan companyName ke Lead
- Entitas LeadMarket termasuk _ perusahaan (Boolean, nulable) - Entitas memimpin mendapat company _ name (String, max 50, nulable) - LeadMarketDTO, Create LeadM...
Serialisasi EkstensionDto.assignedDimberId sebagai string
overflow JS aman-integer range (misalnya 116856817423046 perjalanan sebagai 116848565817423000 sekali nomor JSON hits browser). Antarmuka telah mengetik field i...
Coerce is displalayOnIntake = true when isNeeded = true in CustomService
Tambahkan IsDisparlayOnIntake untuk membuat / memperbarui permintaan DTO
Tambahkan IS _ DISPLAY _ ON _ INTAKE kolom ke Entitas FormField
Tambahkan metode pencarian FindByAssignedDimberId ke Repositori EkstensionFoneId
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.
Cacah unread- berbasis + lookup -by-session helper
Tambahkan * * * * * * * * * * * * * * * * * * sehingga navtop Lencana SupportButton dapat menghitung tiket dukungan yang benar-benar perlu perhatian (memiliki p...
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 ...
Pengunjung Snapshot geo pada entitas tiket
Tambahkan VISITOR _ IP _ ADDRESS, VISITOR _ CODE, VISIITOR _ COME _ COME, VISITOR _ CITY, VISITOR _ SUBDIVISI kolom. Ditangkap pada pembuatan tiket sehingga daf...
Tambahkan findBySessionGuidIn untuk memuat massal
Digunakan oleh support- daftar titik akhir untuk mengambil semua pengunjung untuk halaman dalam satu query daripada N terpisah panggilan findBySesssionGuid.
JsonIdentity benar Properti info dari 'uniqueId' ke 'id'
Entitas anggota dideklarasikan @ JsonIdentityInfo (properti = "uniqueId") tapi ruas kunci primer sebenarnya bernama 'id'. Jackson melemparkan "tidak dapat menem...
Termasuk sesi SUPPORT _ TIKET dalam permintaan keanggotaan yang belum terbaca
find ChatChatMemberships ByMberId sekarang kembali keanggotaan untuk baik CHAT dan Tipe sesi SUPPORT _ TIKET, jadi tipe anggota perread- yang ada infrastruktur ...
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.
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...
Drop TimeUmpePayFeesSetting
Reaktor Grup BillingGroup menangani Tagihan per-kelompok, tidak melalui model keamanan. Menghilangkan Tim Anggota Tim FeesSetting kolom dari ChildOrgans Securit...
Tambah tanda kenampakan per- alias creator- tipe
Tambahkan kolom visibleToMembers / visibleToTeamMembers boolean ke ChildOrvors SecurityModelAlias sehingga admins dapat membatasi alias induk yang mana muncul p...
Terapkan sambungan / tulis / baca waktu ke MinioClient via OkHttpClient
Tanpa timeout, sebuah bited jatuh - replikasi peer (k2m1) menyebabkan makeBucket dan putObject memanggil untuk memblokir tanpa batas, muncul sebagai tak terbata...
Tambah entitas, cipher, dan alias / DNS log scaffolding
Tambahkan creds per-org GoDaddy (AES-GCM dienkripsi), sebuah flag allowRootSubdomains dan kumpulan anak-org alias pada model keamanan, sebuah provisioning DNS a...
Drop RegistrationPhoneCode + repositori
Register layanan self tidak lagi menggunakan verifikasi kode SMS-untuk field telepon - formulir register mengumpulkan nomor telepon sebagai teks biasa dan menyi...
Tambahkan * * * * * * * * * * * * * * untuk enter-as pemeriksaan
Tambah Flag Pengguna Sistem + access-grant entitas
Memperkenalkan model Sistem Sistem-lebar platform: sebuah flag Pengguna User.isSystemUser (Indeks parsial unik memaksa singleton), ditambah tabel SystemUserAcce...
Tambahkan entitas RegistrationPhoneCode + repositori
Tabel baru 'registrasi _ phone _ codes' toko satu - ditembak kode verifikasi SMS diterbitkan selama pendaftaran layanan diri sendiri, sebelum entitas Pengguna a...
Tambahkan AgeReqType.allowsUnder13 () pembantu
Digunakan oleh Tambah Anggota / Tambah Aliran Anggota Tim untuk melewati koleksi email untuk orgs yang usia persyaratan memungkinkan pengguna di bawah 13 (ALL _...
Seperti apa yang Anda lihat pengiriman?
Semua pembaruan ini secara otomatis mendarat di ruang kerja Anda. Mulai bebas dan menontonnya tumbuh minggu demi minggu.