Sprawdź token routingu, utrzymaj leadUid, ponownie odpisz czat na przesunięciu ołowiu
- createSupSeession przyjmuje podpisany routingToken (nie preferowanyAgentMemberId); Sprawdzone za pośrednictwem ChatRoutingTokenCodec + klaster wewnętrzny.au...
Wyklucz nie-ACTIVE członków z uczestnictwa w czacie i routingu
Członek niebędący ACTIVE nie może się wydawać, lub być Celowy, jako uczestnik czatu na żywo. Brać każdą ścieżkę czatu na wspólnej lib - predykat: - DM create /...
Make WebChatIntegration create() - Transactional (brak osieroconego klucza do awarii integracji)
Id integracja Snapshot web-chat na support visitor + ticket
Rozwiązuje WebChatIntegration, tworzącKeyHash (włączone filtrowane, Zgodny z rozdzielczością bootstrap()/AI-prompt) raz w createSupportSession i stempluje swój ...
Publiczny bootstrap config resolver
Dodaje wewnętrzny GET - który rozwiązuje a WebChatIntegiration przez X-Public-Chat-Key-Hash i zwraca jego rozwiązanie Konfiskata projektowa/zachwyt (domyślnie w...
Przewód opcjonalny mediaservice-push secret dla poświadczeń FCM / APN
Montuje serwis FCM JSON + APNs .p8 z opcjonalnego "mediaservice-push" Tajna w /etc/kamo/push i ustawia APNs keyid/team-id z tego samego sekretu. Wszystko opcjon...
WebChatIntegration CRUD (klucz miny + integracja, lub g-scoped)
API zarządzania org-ucingu dla ustawień sieci Phase-2. Włączone twórz, mięczy leżące u podstaw PublicChatApiKey (takie to samo podejście key-gen jako PublicChat...
Bust APIService pamięć podręczna klucza natychmiast na kluczu / przełącznik / usuwanie klucza
Wytrwaj tworzenie key hash na gościu zamiatowym zamiatowo + bilet na atrybucję
Resolve public-chat system member per-org (upuść twardy kodowany pseudonim snadjafinia)
createSupportSession, createPublicTicket i powiadomienie właściciela Pomocnicy rozwiązali "członka systemu" orgi za pomocą zakodowania Nazwa użytkownika "Snadja...
Mobilna wysyłka push (dane FM + bezpośrednie APN) z bramką obecności
Czat przychodzący (MediaController), bilet pomocy technicznej (SupportNotificationService), SMS/vomail (VoipStompRelayController), social Wyraźne głady, podobni...
Zaakceptuj X-a-Token na REST; slajd TTL z timeoutem na sesji
OTKPreAuthFilter rozwiązuje X--Token, gdy nie występuje X-OTK (tak samo zadzwoń do MediaService REST bez BFF. KSessionService teraz przesuwa Redis TTL z własną ...
Skaż bezpośrednio do OWN oficera pożyczkobiorcy, bez bramy wsparcia-prawicę
Upuść wymóg AKCEPTUJE_TICKETS z przypisaniaToPreferredAgent: the Przydzielony pożyczkobiorca jest osiągalny niezależnie od tego, czy jest on a. Skonfigurowany a...
Bezpośrednie do przydzielone routing-LO + LO punktu końcowego
Wzmocnie włączenia wlotu LO/chat portalu pożyczkobiorcy: - bezpośrednie przypisanie do publicznego czatowania bilet do agenta SPECFIIC (przydzielonego pożyczk...
Przestań umieszczać treści wiadomości w wiadomościach e-mail o pominiętym wiadomościach
Usuń komunikatPreview computation, kiesza PREVIEW napisze, i Zmienna szablonu messagePreview; upuść w tym Preferencje podglądu. E-maile teraz przenoszą nadawcę ...
Powiadomienia e-mail o braku wiadomości (czat + wsparcie) z tłumieniem według źródła
Trwały czat-email-notifier NATS na chat.session.> karmienie MESSAGE_EMAIL_NOTICES kiełownik (PENDING/SENT, nadawca na czacie, na bilet dla podpory), 60s sweep z...
Przebudowa dla wspólnego-lib GeoLite ograniczonego odglądu (2-4ms hit+miss)
Podbiera kamo-shared-library 011a73e — GeoLookupService findByIpInRange teraz LIMIT-1 zamiast skanowania do wyczerpania na gap/wysokich adresach IP (mierzony 5-...
Odbuduj na poprawka do rozdławy współdzielonej (wypadek awaryjny: LenderProfileRepository)
Trwałe znaczniki czasu w ostatniej widza + masowy punkt końcowy
PRESENCE:-id' jest usuwany w momencie, gdy członek przechodzi w tryb offline, więc nic Nagrali, gdy byli ostatnio aktywni. Stamp PRESENCE_LAST_SEEN: (orgId + ts...
AI auto-tag + podpis za pośrednictwem dostawców org (P3)
MaterialAiController POST - weryfikuje własność, Mniszki krótkotrwały podpisany materialny adres URL i nazywa wewnętrzny punkt końcowy AIService (org's Własni d...
MaterialAnalyticsController — zdarzenia rekordowe + agregaty
POST (rekord) + GET /analityka (na materiałami według Typ + sumy org).
MaterialReviewController — mapa stanu + set-status
GET /api/media/materiały/recenzje (mapa o szerokości ujrzystany imgId-status) + POST, aby ustawić status materiału (walidowane, recenzent-sst z wertykiem).
MateriałCampaignController — CRUD + mapa elementów + add/usmoli
/api/media/materiały/kamania: lista/create/update/delete, GET /items (okolistra imgId-campaignId Mapa), POST /add + / usuń z kontrolami org-ownership.
MaterialTagController — tag CRUD + przypis/niepodpis + mapa zadań
/api/media/materiały/tagi: lista/utwórz/delete tagi, GET /assignments (obszeroko na cały uj. imgId-tagId Mapa obszaru roboczego łączy się ze stron klienta), POS...
Zarządzane punkty końcowe w linkach publicznych (twórz/lista/revoke) + śledzony serw
Dodaje POST/GET /api/media/materiały/materiały/linky i DELETE /links/A-powrócony przez MaterialShareLink, I determinuje najpierw zarządzane tokeny na publicznym...
Trwają zaplanowane flagi kciuka materiałowego za pomocą ukierunkowanej aktualizacji
Ta sama oderwana sierototodaUmorzenia, co rurociąg konwersji: bezgłowy lot Przetrzymywał oderwany ImgDat i save()/merge() kaskadował w kolekcji obrazów. Korzyst...
Materiały generowane zaplanowano miniatury w procesie
Bezgłowe zamiatanie nie może napędzać rurociągu miniaturowego ConversionService OTK, więc wygenerowanie miniatury strony-0 PNG za pośrednictwem ImageIO zaraz po...
Zaplanowana generacja - zamiatanie przepisów na kadencję
- CanvaScheduleKontroler: CRUD for org harmonogramy (recja + kadencja + godzina/dzień + opcjonalne cele społeczne), obliczanie nextRAt - CanvaGenerationServic...
Zapisane przepisy na autouzupełnianie CRUD (org-scoped)
CanvaRecipeController: GET/POST/api/media/canva/reciony + DELETE — Zapisywanie/lista/miękka-deletuj nazwę brand-template + mapowanie pola, zwiniek do - dzwoniąc...
Daj MediaService internal.auth.secret (mlos-internal-auth) na adres e-mail
MediaService -> EmailService /api/email/templates/send (spotkanie zbiorcze) INTERNAL_AUTH_SECRET do dopasowania do Internal.auth.secret.
Enterprise autofill — szablony marek scalania danych
- CanvaApiClient: szablony marki listy (dataset-non_empty), pobierz zestaw danych, Zadowolacz do ładowania aktywów, tworzenie / tworzenie / tworzenie automaty...
Krótkotrwałe podpisane publiczne adresy URL dla aktywów marketingowych
Pozwól dostawcom usług społecznych (Meta) i e-mailowi uzyskać konkretny materiał dla ograniczonego Okno bez wystawiania wiadra z prywatnymi materiałami obrazowy...
Importowanie pliku do Canva jako edytowalny projekt
- (przywóz do konstrukcji binarny) - CanvaController POST /imports (multiparta) - create+poll import job - editor Głęboki link z korelą_state dla nawilowej po...
Nagrywanie nagrywania, więc MediaService kompiluje
MinIOStorageService.upload rzuca sprawdzany wyjątek, który nie lub nie Złapany ani zadeklarowany – zbuduj przerwę na szczycie isGuest fix. Owiń to i Rzucanie ja...
Sprawdź podpis nanawczy powrotnej JWT; schludne odświeżenie tokena
- CanvaJwtVerifier: zweryfikuj podpis etyp e-brzeńczy_jwt's Ed25519 przeciwko Canva's JWKS (/connect/keys), plus aud/exp; klucze podręczne przez dziecko. Na...
SpotkanieParticipant.isGuest() (było getGuest, nie kompiluje); transkrypcja do ogólnego punktu końcowego
MeetingParticipant eksponuje isGuest() (prymitywny boolean getter), a nie getGuest(). Wskaż również na wywołanie transkrypcji podsumowania na wspólnym /api/konw...
Nagrywanie spożycia, retencji / kwotowania, zużycia magazynowania, doraźnego rurociągu
- MeetRecordingController: wewnętrzny (X-Internal-Auth) połknięcie punktu końcowego jibri Finalize.sh posty gotowe do nagrywania. - MeetRecordingService: prze...
Canva Connect OAuth + projekty / backendy eksportowe
- CanvaApiClient: PKCE autoryzuje, wymiana tokenów/refresh/revoke, użytkownicy, Projekty (zatwórz / lista), oferty eksportowe, byte fetch - CanvaTokenService:...
Zaplanowane przypomnienia o rozpoczęciu + wygaśnięcie linku gości
- SpotkanieReminderSweep: Schedulowana zamiłowanie, która strzela w czasie rzeczywistym Przypomnienie "spotkanie" do zaproszonych członków (start - przypomnie...
Uczestnicy zaproszeni do Persist, egzekwują MANAGE_MEET_SETTINGS, upuść ścieżkę podwójnego zaproszenia
- spotkanie: zaproszeni członkowie to numeryczne identyfikatory płatków śniegu, a nie struny UUID — Przekieruj je przez longToUUID jak twórca. Poprzednio UUID...
Ujednolicone kanały czatów w sesjach członkowskich / wsparcia / spotkań towarzyznych
GET /api/media/sessions/chat przyjmuje teraz filtr "kategorii" (czat, wsparcie, społecznościowe; wszystko niewypłacalne) i zwraca jeden na całym świecie najbard...
Surface parent-org podzieliły się tematami w popupie wspierającej zapytanie
Użytkownicy Child-org nie mogli zobaczyć wspólnych tematów wsparcia dla rodziców org (przypisToOwnOrg-false) podczas żądania wsparcia, ponieważ tylko wyskakując...
Org-guard the /topic/leads/rt/orgId ?subskrypcja w czasie rzeczywistym
Cross-tenant SUBSCRIBE strażniczny dla nowego głównego tematu w czasie rzeczywistym, odzwierciedlający Istniejąca/ostrzeżenia /topij/społeczna: członek może sub...
Ujednolicony zaplecza osi czasu (przetrwanie karmienia, adaptery, przekaźnik na żywo)
SocialFeedService utrzymuje posty/komrycenie w schemacie MediaSession/MediaObj (przestrzeganie modelu czatu); SocialFeedMapper buduje DTO drutowe; SocialTimelin...
X (Twitter) + adaptery Discord
- XAdapter: Account Activity webhook (wyzwanie CRC + x-twitter-webhooks-signature HMAC verify), normalizeInbound (direct_message_events, echo-skip), OAuth 1.0...
Rebuild with shared-lib MediaObjTransit date_created fix (acepty-hook member join)
M4 Meta adaptery + OAuth + 24h okno + hartowanie M2
- Meta adaptery (Messenger/Instagram): naprawić nieprawidłowy _caption send (caption teraz kontynuacja komunikat), przesyłanie bytes przez Graph Attachment Up...
Jak to, co widzisz żeglugę?
Każda z tych aktualizacji automatycznie ląduje w miejscu pracy. Zacznij za darmo i obserwuj, jak rośnie tydzień po tygodniu.