Jump to content
KAMOUniverse

Changelog

Ada kabar baru.

Setiap perbaikan pada platform, sebagai kapal.

  1. · kamo-shared-library

    Tambahkan Entitas LeadCallback, status enum, dan repositori

    Backs fitur callback lead-view: a lead- dimiliki callback record (PENDING / CONTACTED / CANCELED) keluar dari leadUid, dengan referensi lembut ke peristiwa kalender EmailService tercermin.

  2. · kamo-internal

    Buat sesi untuk obrolan grup dibuka oleh anggota

    ChatTock mengabaikan props.memberid: sebuah grup terbuka tiba dengan kosong UserId dan tidak ada sesionGuid, sehingga kreatement 1: 1 ditebus awal dan jendela tidak pernah mendapat sesi. Sekarang ketika anggota menjadi anggota ChatTool menyelesaikan sesi melalui POST / session / chat / find-or-create {memberids} (ujung yang sama Chatbox 's initialAnggota path menggunakan; backend menambahkan Sesungguhnya neraka itu api murni yang bergejolak dan akan melepas kedua tangan, kaki dan seluruh sendimu dengan keras. Neraka itu memanggil nama orang yang berpaling dari kebenaran, tidak taat serta mengumpulkan harta dan menyimpannya tanpa melaksanakan hak Allah di dalamnya. Daftar anggota diurutkan sebagai string stabil sehingga efek tidak membakar pada identitas array, dan aliran guid diselesaikan melalui writeback yang ada sehingga jendela grup diletakkan untuk [Dedup].

  3. · APIService

    Paste Publik untuk surel penyedia OAuth

    Teruskan GET * * * * * * * * * * * * * * * ke EmailService sessionesly (Strip auth, no redirect follow), mencerminkan panggilan ringCentral OAuth. Ini adalah URI redirect publik tetap yang terdaftar dengan Microsoft / Google / Zoho.

  4. · EmailService

    Tetap direct publik + gateway-diteruskan callback

    Platform email OAuth (Microsoft 365 / Google / Zoho) tidak memiliki publik yang valid redirect URI: redirect diturunkan dari host permintaan, yang dalam prod adalah alamat layanan internal cluster-, dan handler callback hanya Hanya kuat. Tambahkan URI redirect tunggal yang dapat diakses oleh publik yang dipakai untuk keduanya permintaan otorisasi dan pertukaran token, dan panggilan publik penyedia mengarahkan peramban ke (org dibawa dalam keadaan, jadi tidak ada sesi diperlukan). Mengembalikan halaman HTML.

  5. · kamo-internal

    Kontekt- info memimpin gerbang dengan penempatan + hak privasi baru

    Cermin tiga hak CRM baru. Pada halaman detail utama, mask / lock Kontak primer, ruas Alamat dan Properti untuk petunjuk tidak diberikan ke anggota saat ini kecuali mereka memegang tampilan / edit hak kontak (dan, untuk lead tidak ditentukan, VIEW _ UNASSIGNED _ LEADS); state field selalu terlihat. Tukar Perangkat - panel atur ulang gerbang ke ASSIGN _ LEADS. Pada kisi / lead, gerbang pilihan filter Unassign by VIEW _ UNASSIGNED _ LEADS, drop the now-empty email / street filter and nilai kolom surel, dan tampilkan keadaan surat-surat yang benar melalui flip.

  6. · SecurityService

    Memaksa konteks-info hak privasi

    getAllLeads now returnthe leadLimstDTO lean and hide unassign lead dari anggota tanpa kontak topeng VIEW _ UNASSIGNED _ LEADS getLeadById Al-Qur 'ân ini tidak disentuh kecuali oleh mereka yang tersucikan dari kotoran dan hadas, diturunkan dari Allah, Tuhan semua makhluk. tahan VIEW _ LEAD _ CONTACT _ INFO _ OTHERS, dan 403 tidak ditugaskan memimpin bagi mereka kurang VIEW _ UNASSIGNED _ LEDS. updateLead gerbang manual penempatan (ASSIGN _ LEADS) dan konteks-info edits * * * * * * * * * * * * * * * menghitung daerah properti hipotek hanya ketika benar-benar berubah. Tuhan memotong.

  7. · kamo-shared-library

    Lead contact- info hak privasi + lean list DTO

    Tambahkan tiga hak CRM (161-163): "Ditujukan Ke Lainnya: Lihat / Sunting Lead Info Kontak "dan" View Unassign Leads ". Tambah LeadListdto - a lean proyeksi untuk jaringan / lead tidak membawa info kontak kecuali State Field. Tambahkan * * * * * * * * * * * * * * * * ke telepon strip / e-mail / mailing + properti alamat (state diawetkan) untuk pembaca gated.

  8. · kamo-register

    Kirim tipe keanggotaan dari jalur anggota dan tim

    / tim signups membuat TEAM _ MEMBER (membuat PROSPECT, menunggu aktivasi admin); / anggota sign-up create a MEMBER. RegisterFlow mengambil suatu prop memberType yang disediakan oleh setiap path wrapper dan termasuk dalam tubuh permintaan register; backend menciptakan pencocokan tipe keanggotaan.

  9. · SecurityService

    / tim membuat sebuah TEAM _ MEMBER (PROSPECT), / anggota membuat sebuah MEMBER

    Pendaftaran publik sekarang menghormati keanggotaan situs pendaftaran mengirim (dari anggota / anggota Path vs / team): / team create a TEAM _ MEMBER - as PROSPECT, so an admin must activable them sebelum mereka dapat masuk (per gerbang login) - dan / anggota membuat dasar MEMBER. Diapan untuk kedua pengguna-baru dan existing-user- menggunakan jalur melalui createRegistration Menmbership (). The cermin secuityProvider tidak berubah (selalu basis MEMBER, dan lewati ketika org adalah nya penyedia keamanan sendiri). Sebelumnya setiap pendaftaran membuat basis MEMBER, sehingga pelamar tim mendarat sebagai MEMBER dan kemudian tidak dapat ditambahkan sebagai anggota tim melalui UI (409 already-a- anggota).

  10. · SecurityService

    Expose team-member work phone extension in team-members-kontraktor

    Filter Agen / lead membutuhkan ekstensi work- telepon untuk melabelinya sebagai Nama (ext 8080). Ekstensi telah ada pada Anggota Tim (getPhoneWorkExtension) tetapi tidak serialisasi - hanya nomor kosong itu.

  11. · kamo-internal

    Permintaan-dukungan popup menunjukkan topik bersama -org

    Titik centang-pembuatan topik dropdown di baru / api / support / topik / titik akhir tersedia (own -org + parent- shared topics) sehingga anak-org pengguna dapat menghubungi dukungan org induk mereka melalui topik orang tua yang dikonfigurasi.

  12. · MediaService

    Antarmuka parent-org berbagi topik dalam popup kebutuhan-dukungan

    Pengguna Child-org tidak dapat melihat topik dukungan bersama induk org mereka (ToOwnOrg = salah) ketika meminta dukungan, karena popup saja diambil sendiri -org topik. Tambahkan GET / api / support / topik / tersedia (sendiri + parent- shared, tidak ada mantuage _ SUPPORT gerbang) dan perbaiki getEntOrganization Topics untuk digunakan Permintaan Palsu AssignToOwnOrganic yang dikoreksi. Bersumpah melawan orang tua-bersama topik sudah rute tiket ke induk org melalui createTicket.

  13. · SecurityService

    Anak baru mewarisi securityProvider induk mereka

    Ketika membuat anak org dari kamo-internal, atur securityProvider org baru ke induk org 's secuityProvider (org itu dibuat dibawah) daripada membiarkannya default ke diri sendiri. Pasangan dengan data backfill yang menunjuk setiap org yang ada secuityProvider di tingkat atas KamoCRM org, jadi keanggotaan merefleksikan keterlibatan untuk semua orgs dan anak-anak masa depan mereka.

  14. · kamo-login

    Tampilkan catatan terkait pada? Taut = 1

    Ketika register menghubungkan akun yang ada ke org baru, itu mengarahkan kembali di sini dengan ? terkait = 1. Tampilkan "Anda sudah memiliki akun Kamo - kami telah menambahkan organisasi ini ke itu. Masuk dengan kata sandi yang sudah ada ". dan sebelum isi email. Cermin yang ada ? email _ verified handling.

  15. · kamo-register

    Menangani akun-terhubung respon bagi pengguna yang ada

    Ketika dimasukkan email sudah milik akun ACTIVE, backend link ini Untuk itu dan kembali ACCOUNT _ LINDING. Route pengguna tersebut langsung untuk sign-in (? terkait = 1) daripada aliran e-verifikasi - mereka masuk dengan mereka yang ada password. Pengguna baru dan placeholder- klaim pendaftaran menjaga jalur verify- email.

  16. · kamo-internal

    Kawat anggota / anggota-tim buat + Prospect- gerbang UI

    - Tambahkan hilang proksi rute POST / api / keamanan / anggota / buat dan / kreat--anggota tim (405d sebelumnya, jadi penciptaan tidak pernah mencapai backend). Tubuh Status + JSON melewati sehingga bentuk 409 "sudah menjadi anggota" menggunakan kembali penanganan Bekerja. - MenmberCreateForm: perbaiki kolom Status Keanggotaan dimana label mengambang overlapped "Pilih sebuah status" placeholder (label menyusut + nodled OutlinedInput), dan tambahkan catatan bahwa hanya "Active" anggota tim dapat masuk.

  17. · SecurityService

    Gunakan kembali pengguna yang ada, cermin untuk mengamankan Provider, gerbang data-anggota-masuk

    Pakai ulang (tidak ada akun duplikat untuk orang yang sama): - Anggota CreateController sekarang menggunakan kembali pengguna yang ada oleh email pribadi kasus - INTENSITIVIGHT (adalah - sensitif, hilang warisan campuran - email kasus). - SecurityController.register reuses sebuah akun yang sudah ada bukannya selalu membuat pengguna baru: sudah sebuah anggota dari org - > 409 SUDAH _ MEMBER ("tolong tanda di"); akun ACTIVE yang ada - > link org, simpan password mereka, kembalikan ACCOUNT _ LINDING; placeholder tidak diaktifkan (tidak pernah diverifikasi DAN tidak pernah login) - > klaim dengan mengetik kata sandi. Formulir publik tidak dapat menimpa sandi global akun yang aktif. Cermin secuityProvider: - Baik anggota internal / tim-anggota penciptaan dan register publik sekarang panggilan Jadi setiap keanggotaan baru juga mendarat di bawah securityProvider org (sebagai dasar Anggota). Gerbang aktivasi anggota tim: - Login memblokir Anggota Tim yang status keanggotaan! = AKTIVE dengan "Akun Anda ada tetapi tidak aktif saat ini. "Anggota reguler dan anggota tim aktif lulus. Resolusi organik mengeras (X- Forwarded- Host bersaudara): - getExternalProviders dan PortalController.resolveOrg menggunakan alias- fallback resolver dan drop getServerName () terbuka (gagal ditutup daripada membocorkan platform org).

  18. · kamo-shared-library

    SecurityProvider keanggotaan cermin + reuse / patch groundwork

    - * * * * * * * * * * * * * userId): cermin pengguna ke securityProvider org sebagai dasar Anggota (deduped; no- op ketika org Aman sendiri atau pengguna sudah ada). Backs the rule that every new keanggotaan juga mendarat di bawah platform / security-provider org. - * * * * * * * * * * * * * * Case- sensitif, multiquality-safe pencarian email untuk cross- org akun reuse (email tidak global unik, sehingga single-Opsional finder akan melempar). - * * * * * * * * * * * * * * berhenti menata ulang securityProvider untuk self on setiap org sunting (hanya backfill ketika null), jadi anak org menyimpan link ke provider platform cermin tergantung pada.

  19. · kamo-internal

    Tab Tugas kabel ke backend nyata + hapus aksi + jumlah hidup

    Tambahkan rute proksi berikutnya untuk / lead / {id} / tasks [/ {taskId}] (getTugas tab / addTask / updateTask / completeDuty panggilan adalah 404ing), sebuah aksi deleteTask dalam grid tugas, dan mengambil status 'Buka Tugas' dari daftar tugas langsung sehingga tetap saat ini sebagai TASK _ CHANGED peristiwa merebut kembali tugas.

  20. · SecurityService

    Tugas utama REST API + real-time TASK _ CHANGED

    Implan backend tab Tasks / leads / view telah memanggil tapi tidak pernah ada: GET / POST / PUT / DELETE * * * * * * * * * * * * * * * (LeadTaskController + LeadTaskService), org- dijaga seperti endpoint kunci. Setiap create / update / delete memancarkan TASK _ CHANGED sehingga tampilan timbal terbuka menyegarkan hidup.

  21. · kamo-shared-library

    Entitas LeadTask untuk memimpin tugas-tugas

    Backs tab Tasking / leads / view (sebelumnya a frontend-only stub dengan tidak Ketekunan). LeadTask (table leAD _ TASK) mirror the frontend TaskItem shape * * * * * * * * * * * * * * * + LeadTaskDTO dan repositori. Mutasi tugas disiarkan TASK _ CHANGED pada pemimpin saluran waktu yang ada.

  22. · kamo-internal

    Real- time datagrid + live lead view dengan per- panel edit kunci

    / lead grid sekarang sepenuhnya hidup atas websocket (NAS STOMP): baris tambah / hapus / update terhadap filter aktif secara otomatis dan perubahan sel berkedip sekali untuk yang lain anggota 'edits; tombol refresh mati dihapus. / leads / view / [id] berlaku langsung tajuk / riwayat / tugas / statistik pemutakhiran dan memperoleh kunci sunting secara eksklusif di panel dengan 'Editing' daftar, countdown langsung, dan auto-save pada idle / disnect. Tambahkan kait 'LeadsRealtime', rute proksi leadLocksApi + Berikutnya, dan dapat digunakan kembali Anggota Kontak (ekstensi nama + kerja, klik-to-call softphone / open-chat). Pemutakhiran timbal menggabungkan null- preseringly sehingga sebagian payloads tidak pernah kosong sel.

  23. · MediaService

    Jaga pola / topik / lead / rt / {orgId} subscription real time

    Penyeberang-penyewa SUBSCRIBE penjaga untuk topik utama real time, mencerminkan ada / topik / penjaga sosial / feed: anggota hanya boleh berlangganan sendiri Arus timah org. Sudah ada. relay secuity.leads.rt. * to / topic / lead / rt / *, jadi tidak ada perubahan relay dibutuhkan.

  24. · SecurityService

    Per- panel edit- kunci REST API + auto- simpan penyapu

    Tambahkan / api / keamanan / lead / {id} / kunci * * * * * * * * * * * * * * didukung oleh LeadLockService: Reservasi panel per eksklusif, draft-buffering heartbeats yang reset sebuah 5-min idle TTL, dan penyapu dijadwalkan yang otomatis menyimpan buffered draft dan rilis pada idle-expired atau presence- grace timeout. Idle--expired adalah Dikeluarkan sebagai emoch milliis mutlak. Config under lead.lock. * (configmap).

  25. · kamo-shared-library

    Real- waktu NAS menerbitkan + per- panel edit- lock entitas

    Diterbitkan org- scoped peristiwa utama pada secuity.leads.rt. {orgId} (dibuat / diperbarui / terbaru / dihapus dengan tombol-field-berubah, riwayat-ditambahkan) sehingga kisi / leads dan / lead / view halaman dapat memutakhirkan langsung. Sekarang kembali kunci registry yang diubah yang digunakan untuk drive berkedip UI. Tambahkan entitas LeadPaneLock (table LEAD _ PANE _ LOCK, unik (LEAD _ UID, PANE) dan repositori mengembalikan kunci penyuntingan panel per- eksklusif; penerbit memancarkan idle- expiry sebagai extenry epoch milliis absolut (nomor tirzone-safe) untuk hitung mundur.

  26. · kamo-internal

    Integrasikan tab primer ke dalam header pada halaman gaya A yang tersisa

    Follow-up to the Style A £B menyapu, meliputi halaman yang tidak rute melalui Penyelesaian Tampilan: - / kb: KbNavBar menjadi header pahlawan gradien dengan Artikel / Sumber Daya / Ulasan tab terintegrasi dan Aksi Artikel Baru diurutkan dengan benar; tata letak mendapat berbagi latar belakang radial. - * * * * * * * * * * * * * * mini back- panah header + General / Domains MUI tab menjadi seorang header pahlawan gradien dengan tab terintegrasi. - / lead / view / [id]: catatan utama tab bergerak ke gradien HeaderBar tajuk; penyunting status / sub- status inline ditambahkan ke penyunting header tindakan right- aligned (styled untuk gradien), mengganti yang terpisah kartu tab.

  27. · kamo-internal

    Pindahkan batang perhitungan bawah ke kepala pada tab sosial, impor

    Applies pengobatan vendors- tab ke konfigurasi CRM saudara muncul sehingga standalone "x 1by" ringkasan bar di bagian bawah tidak lagi makan halaman real estate: - Koneksi Sosial & Impor Otomatis: aksi header bottom-align dan hitung stack baris langsung di atas tombol Refresh + Tambah / Buat. - Impor Manual sub- tab (Impor Masa Lalu, Impor Templat): jumlah bergerak ke kiri dari ikon Refresh tunggal (spasi antara), menjatuhkan batang bawah.

  28. · kamo-internal

    Pindahkan vendor / produk di atas aksi header, bottom-align Refresh + Tambahkan Vendor

    Merebut kembali halaman real estate batang ringkasan bawah standar yang digunakan untuk menempati - baris "vendor x = produk grub" sekarang menumpuk di atas aksi tombol dalam header, dan tombol bottom- align dengan blok judul.

  29. · kamo-internal

    Integrasikan tab primer ke kepala halaman (Gaya B) di seluruh Style A pages

    Setiap halaman gradient- pahlawan yang diberikan tab primer dalam kartu terpisah di bawah header sekarang merender mereka di dalam gradien header itu sendiri, cocok / akun dan dukungan. - SettingsView: tab bar dipindahkan ke kepala gradien (konversi seluruh ~ 23 / settings / * pages sekaligus); help kolom, headerAction, backHref, dan Ikon tab / glow / alignRight ekstra diawetkan; Peredam masih menyimpan tab-nya. - / lead / laporan: laporan tab pindah ke header. - / commerce (PipelineView): tab per- pasar (dengan ikon vertikal) pindah ke tajuk; tunggal-pasar / onboarding keadaan tidak berubah.

  30. · kamo-internal

    Panah balik pada header kembali ke / leads

    Tambahkan suatu backHref / backTooltip ke SettingsView yang menghasilkan white panah belakang kiri dari judul, dan transfer halaman pengaturan CRM untuk mengirim anggota kembali ke / lead. Tooltip memakai kembali lokal yang ada leads.viegg.header.backToBrowser ('Kembali ke lead') string.

Alam semestamu menunggu.

Mulai gratis dalam beberapa menit. Tambahkan produk kapanpun Anda siap — tidak ada migrasi, tidak ada login baru.

Gratis selamanya — tidak diperlukan kartu kredit