Verificați jetonul de rutare, persistă leadUid, reasign chat în mișcare plumb
-creeazăSessiunea de susţinere ia o rută semnatăToken (nu este preferatAgentMemberId); verificat prin ChatRoutingTokenCodec + cluster intern.auth.secret, aplică...
Excludeți membrii non-activi de la participarea la chat și rutarea
Un membru non-activ ************* nu trebuie să apară sau să fie vizate ca, un participant live chat. Poarta fiecare cale de chat pe comun-lib Nu-ţi face griji....
Creați WebChatIntegration () @Transacțional (nici o cheie orfană privind eșecul integrării-salvare)
Snapshot web-chat de integrare id pe suport vizitator + bilet
Rezolva integrarea WebChat prin crearea KeyHash (enabled-filtrate, consistent cu boottrap() / AI-prompt rezoluție) o dată în creareSuportSesssion și timbre ID-u...
Rezolvator de configurare a bootstrap public-chat
Adaugă un GET intern *** *** *** *** *** *** care rezolvă o WebChatIntegration by X-Public-Chat-Key-Hash and returns its resoluted design/comportament config (c...
Wire opțional mediaservice-push secret pentru acreditările FCM/APN
Mounts the FCM service-cont JSON + APNs .p8 from an optional secret la /etc/kamo/push și stabilește tasta APNs-id / echipa-id din același secret. Toate opționa...
WebChatIntegration CRUD (minte cheie + integrare, org-scoped)
Managementul cu vedere spre Org API pentru fila de setări faza-2. On creați, menționați PublicChatApiKey (aceeași abordare cheie-gen ca publicChatKeyController)...
Bust APIService cheie cache imediat pe tasta de chat public pentru a comuta / șterge
Persist crearea hash cheie pe public-chat vizitator + bilet pentru atribuire
Rezolvarea membrilor sistemului de chat public per-org
creareSession de susţinere, crearea Bilet public şi notificarea proprietarului helpers toate rezolvat "membru de sistem org" printr-un hardcoded nume de utiliza...
Dispersie de împingere mobilă (date FCM + APN-uri directe) cu poarta de prezență
chat entry (MediaController), support ticket (SuportNotificationService), SMS/voicemail (VoipStompRelayController), social *************** Prezență-Gated ca con...
Accept X-***-Token pe REST; Slide TTL cu pauză pe sesiune
OTKPreAuthFilter rezolvă X-***-Token atunci când nu este prezent niciun X-OTK (la fel Sună la MediaService REST fără BFF. Serviciul KSession alunecă acum Redis ...
Ajunge la ofițerul propriu împrumutatului direct, nici o poartă de sprijin-dreapta
Drop the ACCEPT SUPPORT TICKETS requirement from asignationTo PreferateAgent: the Ofițer de împrumut atribuit împrumutatului este accesibil indiferent dacă aces...
Traseu direct-la-alocat-LO + obiectiv de prezență LO
Powers portalul împrumutatului fuzionat LO / chat widget: - *************** transmite direct un chat public bilet către un agent SPECIFIC (funcționarul de împru...
Nu mai pune conținutul mesajului în e-mail-urile de mesaje omise
Eliminați mesajulPrevizualizare calcul, registrul PREVIEW scrie, și @ info: whatsthis E-mail-uri transporta acum expeditor + număr + CTA doar conținutul este ci...
Notificari e-mail ratate (chat + suport) cu suprimare pe sursa
Comment Registrul MESAJ EMAIL NOTICES (PEND/SENT, per-sender for chat, per-ticket) pentru sprijin), 60s matura cu poarta de prezență, ore liniștite, fereastra d...
Reconstruiește pentru GeoLite cu bandă comună căutare delimitată (2-4ms hit+miss)
Picks up kamo-shared-library 011a73e Limita 1 în loc să se scaneze până la epuizare pe distanțe/ IP ridicate (măsurată 5-13s pe date prod-scale; suport-bilet +...
Reconstruiește pe hotfix shared-lib (accident de boot: LenderProfileRepository)
Ștampile cu timp ultima vedere durabil + obiectivul final în vrac
Se şterge momentul în care un membru se deconectează, deci nimic. înregistrate atunci când acestea au fost ultima activă. Ștampila PRESENCE LAST SEEN: {id} (org...
Etichetă automată AI + titlu prin intermediul furnizorilor de org (P3)
MaterialAiController POST Nu-ţi face griji. verifică dreptul de proprietate; mentă un URL de material semnat de scurtă durată, și solicită obiectivul de vedere ...
MaterialAnalyticsController
POST *************** (înregistrare) + GET /analytics (în funcție de material totaluri de tip + org).
MaterialReviewController
GET /api/media/materials/reviews (org-wide imgId→status map) + Post to set a material's status (validat, recenzor-timbru, upsert).
MaterialCampaignController
/api/media/materiale/campanii: lista/creare/actualizare/dezlipire, GET /posturi (org-wide imgId↔campaignId harta), POST /Add + /eliminare cu cecuri de proprieta...
Material TagController tag CRUD + atribuie/inssign + harta de atribuire
/api/media/materiale/etichete: liste/create/delete tags, GET /asignments (org-wide imgId↔tagId harta spatiului de lucru se alatura client-side), Post / Assign +...
Criterii de evaluare a legăturii publice (creare/listă/revoke) + serviciu urmărit
Adds Post/GET /api/media/materials/links and DELETE /links/{id} supported by MaterialShareLink, şi soluţiile au reuşit jetoanele publice GET primul (verificare ...
Indicatoare ale degetului mare cu material programat prin actualizare țintită
Acelaşi orfan detaşatEmisiunea de recuperare ca şi conducta de conversie: matura fără cap a avut loc un ImgDat detaşat şi de a salva() /merge() cascadat în cole...
Materialele generate în timpul procesului
O matura fără cap nu poate conduce conducta OTK a serviciului miniatură, așa genereaza o pagina-0 PNG miniatura prin ImageIO imediat dupa stocarea exportului Ma...
Generație programată
- CanvaScheduleController: CRUD pentru programe org (rețetă + cadență + oră/zi + obiective sociale opţionale), calculează următorulRunAt - CanvaGeneration Servi...
Retete de autofillare salvate CRUD (org-scoped)
CanvaRecipieController: GET/POST /api/media/canva/rețete + DELETE / {id} salva/lista/soft-șterge un nume de marcă-templu + cartografiere câmp, domeniu de aplica...
Oferă MediaService intern.auth.secret (mlos-intern-auth) pentru e-mailuri sumare
MediaService -> EmailService /api/email/templels/send (şedinţa-rezumariu) necesităţi Intern AUTH SECRET pentru a se potrivi EmailService intern.auth.secret.
Enterprise autofill
- CanvaApiClient: listează șabloane de marcă (set de date=non gol), obține seturi de date; locuri de muncă active-încărcare, crearea/obținerea de locuri de munc...
URL-uri publice semnate de scurtă durată pentru active de marketing
Permite furnizorilor sociali (Meta) și e-mailului să aducă un material specific pentru o limitare fereastra fără a expune găleata privată de materiale imagistic...
Importă un fișier în Canva ca un design editabil
- *************** (import de design binar) - CanvaController POST / Importuri (multipart) → Creare+poll import job → editor link adânc cu corelation state for r...
Înregistrare Wrap upload astfel MediaService compilează
MiniOStorageService.upload aruncă o excepție verificată care ingerează () nici prins, nici declarat, să construiască pauza pe partea de sus a dispozitivului isC...
Verificați semnătura JWT return-nav; reîmprospătare jeton ordonat
- CanvaJwtVerifier: verifica corelatia jwt's Ed25519 semnatura contra Canva JWKS (/connect/keys), plus aud/exp/type; chei cached by child. Return-nav nu reușeșt...
MeetingParticipant.isComentariu() (a fost obtinerea Guest, nu se va compila); repunct transcrie la criteriul final generic
ÎntâlnireParticipant expune esteComentarii () (primitiv boolean getter), nu a lua Guest(). De asemenea, punctul apel transcriere rezumat la shared /api/conversi...
Înregistrare ingerare, reținere/contingent, utilizare stocare, conductă rezumat
- MeetRecordingController: intern (X-Normal-Auth) ingerarea obiectivului jibri Terminare.sh posturi terminat înregistrări la. - MeetRecordingService: uploads re...
Canva Connect OAuth + suport de proiectare/export
- CanvaApiClient: PKCE autorizează, token schimb/refresh/revoke, utilizatori, design (creare/listă), locuri de muncă la export, octet bring - CanvaTokenService:...
Întâlnire programată de începere a memento- urilor + data expirării legăturii de oaspeți
- MeetingReminderSweep: @Scheduled mater that fires a realtime memento pentru membrii invitaţi (start − mementoMinutesÎnainte) la ************* apoi trece la în...
Persist participanți invitați, pune în aplicare Manage MEET SETTINGS, drop double-invite cale
- creeMeeting: membrii invitați sunt ID-uri de fulg de nea numerice, nu siruri de caractere UUID Traseu-le prin LongTouID ca creatorul. Anterior UUID. from Stri...
Conversațiile unificate se transmit între membri/sesiuni de sprijin/sociale
GET /api/media/sessions/chat acceptă acum un filtru de sprijin, social; implicit all) și revine la nivel global la primul nivel; fuzionarea întrebărilor pe tip...
Tematici comune pentru părintele de suprafață în popup-ul de susținere a cererii
Utilizatorii Child-org nu au putut vedea subiectele de suport comune ale org-ului părinte (atribuitTownOrg=fals) atunci când solicită sprijin, deoarece popup nu...
Org-guard abonamentul în timp real /topic/liders/rt/{orgId}
Paza subscribe cross-tenant pentru noul subiect de plumb în timp real, oglindind actual /topic/social/feed guard: un membru poate abona doar la propria lor Flux...
Platformă unificată a liniei temporale (persistență a hranei pentru animale, adaptoare, releu live)
SocialFeedService persistă posturi/comentarii pe schema MediaSession/MediaObj (refolosind modelul de chat); SocialFeedMapper construiește DTOs sârmă; SocialTime...
X (Twitter) + adaptoare de discordie
- XAdapter: Contul Activitatea webhook (CRC provocare + x-twitter-webhooks-signature HMAC verifica); normalizeInbound (direct message events, echo-skip), Oauth ...
Reconstruiește împotriva MediaObjTransit data created fix (accept-hook member join)
Adaptoare M4 Meta + OAuth + fereastra de 24 de ore + întărire M2
- Adaptoare Meta (Messenger/Instagram): fixați caption send invalid (caption now a follow-up mesaj), bytes-upload via Graph Attachment Upload API, URI encode f...
Ca ceea ce vezi de transport maritim?
Fiecare dintre aceste actualizări aterizează automat în spațiul de lucru. Începe gratuit și urmăriți-l crească săptămână după săptămână.