Per-integrare publică AI prompt + atribuirea sesiunii
Upgrade public-chat sistem-prompt cascada de la per-org la per-integrare: PublicAiChatController citește acum X-Public-Chat-Key-Hash antet (nullable) transmis d...
GET /api/public-chat/bootstrap gateway route
Adăugați obiectivul boottrap care reutilizează conducta proxyWithAuth existentă (validarea cheii + originea opt-in + domeniul de aplicare PUBLIC CHAT + limita r...
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...
Pictogramă de copilot stridentă + intrare NavPri goală
Adăugat un pictogramă.png (Glyph umple ~82% din cadru) și a subliniat casa pilula, NavPri intrare, Interacțiuni Center fila, și centrul QR la ea. Striptease Cut...
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)...
Adaugă coloane de atribuire WEB CHAT INTEGRATION ID pentru vizitatori/bilet/ai-sesiune
Entitatea de integrare WebChat + repo + DTO + configurare de proiectare implicită
Adaugă "Access Copilot Mobile App" puncte de intrare acasă + NavPri
Ambele suprafeţe expediază un eveniment de interacţiune deschisă pe care NavTop îl ascultă pentru a deschide Centrul de Interacţiuni în fila Setup Mobile App. A...
Poartă parola QR, fila cu o singură linie, antet stânga logo, cod 10 min
- Membrul trebuie să-şi reintroducă parola (server verificat prin /api/mobile-access-otk, care ments OTK numai pe succes) înainte de QR este dezvăluit la un ca...
POST *********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
Verifica parola apelantului propriu (passwordEncoder. meciuri împotriva sesiunii lor utilizator) fără a schimba nimic. Folosit de ruta mobil-acces-otk BFF astfe...
Reconstruiește împotriva lib comun pentru dreptul ALLOW MOBILE ACCESS
RoleRightsSyncService backfills noul drept general la toate rolurile pe boot.
Configurați tab-ul de acces mobil
Noua a treia filă în NavTopPanel (de culoare ALLOW MOBILE ACCESS dreapta): arată o marcă QR codarea unei legături profunde OTK de scurtă durată (kamocopilot://c...
Adaugă dreptul general al copilotului mobil la ALLOW MOBILE ACCESS (167)
Nou RolRightType (ServiceType=null → Grupul General) Gating 'Setup Mobile Access' interaction-center tab. RoleRightsSyncService îl completează la toate rolurile...
Defer obligatoriu-origine la faza 1
Widget-uri de fază-0 încă apel prin proxy lor server-side, astfel încât de origine-blocare nu Beneficiu încă și fiecare viu cheie publică-chat are o listă de pe...
Nu cache-invalidat chei pe erori tranzitorii în aval (numai pe invalid definitiv)
Pe-org publice prompt, om-mână pe nici un furnizor, anon zilnic mesaj capac
Adaugă o cerere de numărare a utilizării pentru cota de chat publică
Numai tastele cache-invalidate cu adevărat invalide, nenegate de origine (prevente valabile-cheie DoS)
Pe un Cache Redis rece, o cheie de chat public valid cu o origine greșită / absent a fost Cached ca INVALID pentru 60 de ani, negarea cererilor de origine corec...
Bind WS releu de strângere de mână la Origine + adăugați rece-cache tastă de validare toamna
Extrase PublicChatController's private validationViaDownstream() into a shared PublicChatKeyRezolver fasole astfel PublicChatWebSocketHandler poate refolosi la ...
Verificați *** PoW la marginea sesiunii publice crea (înființat atunci când sarcina utilă prezentă)
Fă obligatorie lista de permise a originii chatului public (negare a originii lipsă/listă goală)
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...
Adaugă publicDailyMessageCap la AiOrgSettings pentru cota de chat
Adaugă coloane de atribuire a cheii de creare la PublicChatVisitor + SuportTicket
Adăugați gindOrganizationOwners pentru per-org public-chat sistem membru
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...
Expune AIservice /ws/ai-chat via api.* gazde pentru clientii mobili
IngressRoute (prioritate 100, websecure, ws-upgrade middleware sans compress) rute wss://api.<domain>/ws/ai-chat to kamowsai-service:80 ruta WS. Auth rămâne ?t...
Accept X-***-Token pe REST + semnat ?st= jetoane pe obiective audio
OTKValidare Precedentul filtrului: X-OTK → X-***-Token → ?st= (GET, audio Numai căile de streaming, verificate prin StreamTokenCodec partajate cu intern.aut.sec...
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 ...
Device-token SSO *************** jetoane de flux, paritate antet X-***
- DispozitivAuthController: dispozitiv credibil durabil per (utilizator, dispozitiv) cu rotire pe schimb + 60s graţie; /dispozitiv/schimb menţiuni a per-org ***...
ENTITĂȚI DE ÎNREGISTRARE A DISPOZITIVULUI + ENTITĂȚI DE ÎNREGISTRARE PRELUCRATĂ, codec HMAC
secret hashed, grație de rotație, alunecare de expirare), împinge dispozitiv înregistrări (o destinație de împingere per dispozitiv+org+kind) și StreamTokenCode...
Dovedește convergența trainerului cu împrumut închis + retragere + contractare
Drives ClosedLoanTrainerService prin treceri succesive cu (pre-live) sârmă MeridianLink și vizualizare citit Stubbed, blocarea comportamentul proiectului depind...
Cache documente cu împrumut închis peste treceri; se retrag pe rezolva / exhaust
Antrenorul rafinează acum un împrumut pe mai multe trece în loc de unu-și-făcut: - TrainingDocStore este o cache PERSISTENT, cu chei de determinism (cheie = ha...
Multi-pass de formare închis-împrumut
Antrenorul cu împrumut închis recită acum un împrumut pe pase succesive până la Extracția reproduce rezultatul împrumutului, deci: - LeadLosLink.închisLoanPasse...
Trainer nu trebuie să-şi înăbuşe propria pretenţie sau pauză a unui operator
După mențiunea atomică () se actualizează în vrac rândul la RUNNING, se reflectă cel din entitatea în memorie În caz contrar, salvarea întregului rând ar fuzio...
Stare-conservarea de progres scrie pentru trainer cu împrumut închis
run este RUNNING, fără a atinge statutul. O pauză a operatorului (status → RĂZBOIUL) nu mai poate fi înfrânt printr-o salvare completă din piscină firul opreşt...
Harden inchis-împrumut trainer
- Convailment: in-process active Orgs guard + the DB reclamation() so this de exemplu, nu se dublează niciodată o org și două replici nu se pot suprapune; a rul...
Trainer cu împrumut închis Harden
- ClosedLoanTrainingRun.claim(): conditionate atomice UPDATE care ia dreptul de proprietate asupra unei curse numai atunci când nu este deja RUNNING sau bătăile...
Panou auto-trainer cu împrumut închis pe platforma Document AI tab
Proprietarii de nivel superior pot rula + monitoriza antrenorul MeridianLink cu loan închis pentru fiecare chiriaş din Setări → Platformă → Document AI. Rânduri...
Trainer automat cu împrumut închis + criterii finale de control al platformei
Un împrumut închis este adevărul: metadatele MeridianLink sunt răspunsul cheie, documentele sale sunt de intrare. ÎnchisLoanTrainerService merge fiecare Meridia...
Interogatoriul pentru registrul de credite al formatorului cu împrumut închis
- Nu. Da antrenor fiecare LOS-legate împrumut pentru un furnizor de org+, fiecare care transportă LoanName extern se citește stare + documente pentru.
Fundaţia auto-trainer cu împrumut închis (Adevărul de la sol MeridianLink)
Fundaţia pentru extracţia documentelor de formare împotriva împrumuturilor finanţate (cheiea de răspuns): - ÎnchisLoanTraining Rulează entitatea+repo - Extract...
E-mailul DOC REJECTAT poartă motivul în mod simplu
Ambele căi sunt respinse. E-mailul de respingere al împrumutatului în loc de enum literal brut.
Mesaje de împrumut în limba simplă pentru respingerea documentelor
RespingereReasonType a fost un enum gol (împrumutatul a văzut literalmente "ILLEGIBLE"). Fiecare valoare poartă acum un șir de remediere a debitorului () + un m...
Coada de revizuire a platformei din fila documentului AI
Documentul AI găzduiește acum coada de revizuire cross-tenant: încredere scăzută extrageri de la fiecare creditor, cea mai mică încredere mai întâi, cu linia co...
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ă.