Periksa tanda routing, tahan leadUid, atur kembali percakapan pada langkah utama
- Create Supportment takes a signed routingToken (not preferred Agentters MmberId); Diverifikasi via Chatting Token Codec + cluster proceal.mest.secret, enforce...
Termasuk anggota bukan AKTIF dari partisipasi percakapan & routing
Sebuah anggota non-ACTIVE * * * * * * * * * * * * * * * anggota tidak harus muncul sebagai, atau menjadi ditargetkan sebagai, peserta live chat. Gate setiap jal...
ID integrasi Snapshot web- chat pada pengunjung dukungan + tiket
Menyelesaikan Integrasi WebChatChingby creatingKeyHash (disaring, konsisten dengan bootstrap () / AI- prompt resolusi) sekali dalam create Supportment dan prang...
Public- chat bootstrap config resolver
Menambahkan sebuah GET internal * * * * * * * * * * * * * * * * * yang menyelesaikan WebChatIntegrasi oleh X- Public- Chat- Key- Hash dan kembali diselesaikan k...
Wire opsional mediaservice- push rahasia untuk FCM / APNs kredensial
Mounts layanan FCM -account JSON + APNs .p8 dari sebuah opsional 'mediaservice- pushin' rahasia pada / etc / kamo / push dan set kunci APNs -id / team- id dari ...
WebChatIntegration CRUD (mints key + integrasi, org- scoped)
Organ-menghadap API manajemen Phase-2 tab pengaturan web-chat. Hidup buat, cetak yang mendasari PublicChatApiKey (pendekatan tombol -gen sama Sebagai PublicChat...
Bust APIService cache kunci segera pada public -chat key toggle / delete
Persist membuat hash kunci pada pengunjung public-chat + tiket untuk atclate
Resolve public-chat anggota sistem per-org (drop kasar snadjaminia alias)
create Supportment, createPublicTicket, dan pemberitahuan pemilik pembantu semua diselesaikan org "sistem anggota" melalui hardcode nama Alias = "snadjaminia" l...
Mobile push dispatch (FCM data + direct APNs) dengan kehadiran gerbang
percakapan masuk (MediController), tiket dukungan (Layanan ApportNotificationService), SMS / voicemail (VoipStompRelayController), sosial * * * * * * * * * * * ...
Terima X- * * * -Token pada REST; geser TTL dengan timeout per- sesi
OTKPreOtorisasi menyelesaikan X- * * -Token ketika tidak ada X-OTK ada (sama) Panggil MediaService REST tanpa BFF. Layanan KSesi sekarang geser Redis TTL dengan...
Mencapai petugas peminjam sendiri secara langsung, tidak ada dukungan-gerbang kanan
Drop AKSEPT _ SUPORT _ TIKETS persyaratan dari Engkau ToprereAgent: Pinjaman yang ditugaskan perwira terjangkau terlepas dari apakah mereka dikonfigurasi agen d...
Direct--to -assigned-LO routing + LO kehadiran endpoint
Powers portal peminjam bergabung LO / chat widget: - * * * * * * * * * * * * * * direct-assigns sebuah public -chat tiket ke agen SPECIFIC (si peminjam ditugask...
Berhenti memasukkan isi pesan ke dalam email pesan yang hilang
Hapus komputasi pratinjau pesan, buku besar PREVIEW menulis, dan variabel template pratilik pesan; tinggalkan preferensi includePreview. Email sekarang membawa ...
Pemberitahuan email pesan yang salah (chatting + support) dengan penekanan per-source
Konsumen% s yang dapat didupkan chat-email-notifier pada chat.session. > feed MESSAGE _ EMAIL _ NOTICES buku besar (PENDING / SENT, per- sender untuk chatting, ...
Bangun ulang untuk shared- lib GeoLite pencarian berbatasan (2- 4ms menekan + miss)
Picks up kamo- shared-library 011a73e - GeoLookuUpService 's find ByIpInRange sekarang LIMIT- 1-bounded daripada memindai kelelahan pada gap / tinggi IP (diukur...
Bangun ulang pada hotfix resolver-lib (kecelakaan boot: LenderProfileRepositori)
Durable last- terlihat penanda waktu + titik akhir massal
PRESENCE: {id} dihapus saat anggota sedang offline, jadi tidak ada direkam ketika mereka terakhir aktif. Stamp PRESENCE _ TERAKHIR _ SEEN: {id} (orgId + ts, 400...
AI auto- tag + caption via org penyedia (P3)
POST MaterialAiController * * * * * * * * * * * * * * * memverifikasi kepemilikan, menanamkan sebuah URL material bertanda tangan pendek, dan memanggil titik ak...
MaterialAnalanticController - peristiwa rekaman + agregat
POST * * * * * * * * * * * * * * * * (record) + GET / analytics (per-material jumlah oleh tipe total + org).
MaterialReviewController - peta status + set-status
GET / api / media / material / reviews (org-wide imgId peta status) + POST untuk mengatur status material (validasi, reviewer- stamped, upsert).
MaterialCampaignController - CRUD + item map + add / remove
/ api / media / material / kampanye: list / create / update / delete, GET / items (org- wide imgId emportigId peta), POST / add + / remove dengan pemeriksaan ke...
MaterialTagController - tag CRUD + assign / unassign + assignment map
/ api / media / material / tag: daftar / create / delete tag, GET / tugas (org- wide imgId noptagId peta area kerja bergabung sisi-klik), POST / assign + / unas...
Mengelola titik akhir sambungan-publik (buat / daftar / revoke) + melayani yang dilacak
Tambahkan POST / GET / API / media / material / links dan DELETE / links / {id} didukung oleh MaterialShareLink, dan menyelesaikan token yang dikelola di GET pu...
Persist penjadwalan-material thumb flags via target update
Detached-entitas isu emoval sebagai pipeline konversi: menyapu tanpa kepala mengadakan ImgDat dan menyimpan () / merge () terpisah ke dalam koleksi gambar. Guna...
Tembnail penjadwalan bahan yang dihasilkan dalam proses
Penyapuan tanpa kepala tidak dapat mendorong pipa thumbnail Percakapan, jadi buat sebuah pawai-0 cap jempol melalui ImageIO tepat setelah menyimpan ekspor - bah...
Generasi terjadwal - menyapu berjalan resep pada irama
- CanvaScheduleController: CRUD untuk jadwal org (resep + irama + jam / hari + target sosial opsional), komputes nextRunAt - Pembatalan Generasi Layanan: tanpa ...
Simpan resep autofill CRUD (org- scoped)
CanvaRecipeController: GET / POST / API / media / canva / reseples + DELETE / {id} - save / list / soft-delete sebuah brand- template + field pemetaan, scoped k...
Berikan MediaService progreal.mest.secret (mlos- progreal- auth) untuk ringkasan email
MediaService - > EmailService / api / email / templates / send (meeting-ringkasan) perlu INTERNAL _ AUTH _ SECRET untuk mencocokkan nikmat EmailService.
Isi otomatis Enterprise - data- gabungan template merek
- CanvaAPiClient: tampilkan template merek (dataset = non _ empty), ambil dataset, aset-upload pekerjaan, buat / dapatkan pekerjaan otomatis - CanvaController: ...
URL publik yang ditandatangani pendek untuk aset pemasaran
Memungkinkan penyedia sosial (Meta) dan email mengambil bahan tertentu untuk dibatasi jendela tanpa mengekspos pribadi imajinasi-bahan ember. - MaterialUrlSign...
Impor berkas ke Canva sebagai desain yang dapat disunting
- * * * * * * * * * * * * * * (Impor desain biner) - CanvaController POST / imports (multipart) GNU buat + poll impor job penyunting deep- link dengan korelasi ...
Lipat upload rekaman sehingga Kompiles MediaService
MinIOStorageService.upload melemparkan Eksepsi yang diperiksa bahwa menelan () baik tertangkap atau dinyatakan - membangun istirahat di atas memperbaiki isGuest...
Verifikasi return-nav JWT signature; secure token refresh
- CanvaJwtVerifier: verifikasi korelasi _ jwt 's Ed25519 tanda tangan terhadap JWKS Canva (/ connect / keys), plus aud / exp / type; kunci cached oleh anak-anak...
MeetingParticipant.isGuest () (adalah getGuest, tidak akan kompile); repoint translate ke titik akhir umum
MeetingParticiant exposes is Guest () (primitif getter boolean), bukan getGuest (). Juga arahkan ringkasan transkripsi panggilan di shared / api / conversion / ...
Merekam yang tak masuk akal, menahan / quota, penggunaan penyimpanan, ringkasan pipeline
- MeetRecordingController: internal (X-Internal -Auth) titik akhir paling buruk jibri postingan finalize.sh selesai rekaman ke. - MeetRecordingService: upload r...
Backend Canva Connect OAuth + design / export
- CanvaApiClient: Otorisasi PKCE, pertukaran token / refresh / revoke, pengguna, design (create / list), expor jobs, byte fetch - CanvaTokeenService: dienkripsi...
Jadwal rapat mulai pengingat + guest- link kadaluarsa
- MeetingReminderSweep: @ Scheduled penyapu yang kebakaran realtime "Pertemuan dimulai" Pengingat kepada anggota yang diundang di (mulai mengingatkan MinutesBef...
Persist mengundang partisipan, instance manvage _ MEET _ SETTINGS, drop double- invite path
- Pertemuan penciptaan: anggota yang diundang adalah ID numerik kepingan salju, bukan string UUID - rute mereka melalui LongTouUID seperti pencipta. Sebelumnya ...
Bersatu memberi makan seluruh anggota / dukungan / sesi sosial
GET / api / media / sessions / chat sekarang menerima sebuah filter 'catetations' (chat, dukungan, sosial; default semua) dan mengembalikan satu global paling-b...
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 -or...
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 Ar...
Backend timeline terunified (persistensi makan, adaptor, relay hidup)
SosialFeedService tetap memposkan / komentar ke dalam skema MediaObj / MediaObj (Menggunakan kembali model obrolan); SosialFeedMapper membangun kawat DTOs; Sosi...
X (Twitter) + Discord adaptor
- XAdapter: Tanda tangan HMAC Activity (CRC challenges + x-twitter -webhooks- signature HMAC verify), normalizeInbound (direct _ message _ event, echo-skip), OA...
Bangun kembali terhadap shared- lib MediaObjTransit tanggal _ create fix (accect- hook anggota bergabung)
M4 Meta adaptor + OAuth + 24h window + M2 hardening
- Meta adaptor (Messenger / Instagram): fix invalid _ caption send (caption now a follow-up pesan), bytes-upload via Graph Attasemen Upload API, URI encode fix ...
Seperti apa yang Anda lihat pengiriman?
Semua pembaruan ini secara otomatis mendarat di ruang kerja Anda. Mulai bebas dan menontonnya tumbuh minggu demi minggu.