Add GET /sessions/{guid}/members endpoint with display-name priority
Returns member list with name resolved via usernameAlias → fullName → alias → username, matching the same priority as the chat sessions list. This feeds ChatBox...
Derive and dispatch tool window title from session members
Adds onMembersChange callback to ChatBox; ChatTool derives the title (single name for 1-on-1, or '<name> (+N more)' for groups) and dispatches tool:title to upd...
Lift search above tab strip, share query across Members and Chats tabs
Moves the search TextField from MemberList into NavTopPanel above the Tabs. Passes searchQuery as a prop to both MemberList and ChatsList so a single field filt...
Augment necitit transmision cu activitate sarcină utilă pentru actualizări chat-list
Actualizări live ale listei de chat-uri prin intermediul canalului NATS necitit
Compozitor cu drag-drop, în așteptare chips-uri de atașament, intrare multi-line
Proxy routes for find-or-create, members, attachments, imaging proxy, mute, revoke
Extract shared **************** helper to app/lib/mediaServiceUrl.ts. Add proxy routes: find-or-create, members, receipts, attachments (streaming), mutes, revok...
Paged chat list with previews, members, unread counts
that returns ChatListRowDto rows including last message preview, member summaries, per-session unread counts, and ownLastViewedAt.
Add countUnreadAfter(guid, memberId, since) to MediaObjRepository
Needed by paged chat-list endpoint to compute per-session unread counts when ownLastViewedAt is a LocalDateTime pointer rather than a message UUID.
Imaging proxy with HTTP Range support and per-member download tracking
Add MediaObjImgDownloadRepository with existsByObjImgIdAndMemberId
Required by ImagingProxyService (Task 10) to deduplicate per-member download tracking without a full table scan.
Add CHAT_ATTACHMENT assoc type with imaging-chat-attachments bucket
Service methods for exact-match find/create, member add, mute, revoke, read
Interogatorie depozit pentru găsirea exact-meci, lista paged, chitanțe
Adaugă dataUltimaVizualizare la MediaMembrie pentru timbrul de primire
Distinguish actively-translating vs queued messages
The translation queue was already sequential, but every queued bubble rendered "Translating…". Now the single in-flight message shows "Translating…" with a puls...
Distinguish actively-translating vs queued messages
The streaming queue was already strictly sequential (one fetch at a time), but every queued message rendered "Translating…" because they all shared the same pen...
Show error icon when a message fails to translate
When the per-message translate call returns translated:false, errors out, or times out, the chat bubble now renders an AlertTriangle icon in red with tooltip "F...
Show error icon when a message fails to translate
When the per-message translate call returns translated:false, errors out, or times out, the chat bubble now renders a small red ErrorOutline icon in place of th...
Stream translations newest-first for visitor history
When the visitor lands on a non-English locale and the support chat has existing English messages, every bubble flagged needsTranslation by the backend now show...
Stream message translations newest-first on language switch
When the user picks a new language (or opens an existing chat in a language different from the messages' source), every bubble that needs translation immediatel...
Auto-translate visitor and agent messages
Live agent replies arriving in a language other than the visitor's URL locale now show a "Translating…" bubble while the TranslateService call resolves, then sw...
Translate chat messages into the viewer's language
Adds a "My Language" flag picker in NavTop (left of the email tool, separated by a vertical rule). Selecting a language writes back to Member.language and syncs...
Proxy support-message translate endpoint
Adds a passthrough route for the new MediaService endpoint that translates a single support-chat message into the visitor's URL locale. The marketing-side chat ...
On-demand translation for chat and support messages
Captures the source language for every chat / support message and adds an optional ?lang=XX param on the message-fetch endpoints plus a per-message POST /transl...
Translation cache for chat messages
Adds the MediaObjMsgTranslation entity (one row per (message, language) pair) and an optional sourceLanguageId column on MediaObjMsg so chat messages can be tra...
Adaugă personal + Chat/Docs/Note/KB/HRS secțiuni
Indexul/setărilor nu a arătat nicio secţiune pentru non-admini pentru că fiecare secțiunea existentă a fost deschisă pe un dreapta admin (CONFIGURE SISTEM, Mana...
Rotește deschiderea obiectivului pe baza raportului de aspect al viewport
Cadrul de gol acum înclinați de atan2 (vizualportH, viewportW) astfel încât deschis partea dreaptă vizează spre viewport puncte de deschidere ~29° sud de est; p...
Throw-to-remove goal with score/miss celebrations
A 132×132 gol cadru apare în partea de sus-stânga ori de câte ori un cap este în solo-drag sau activ-aruncă, offset 56px de colț astfel încât capetele pot Dor d...
Arunca fizica cu coliziuni piscină-table și traseul cometei
Lovind cu capul de pragul aruncării, îl lansează prin teleportare. sub fizica explicita (frigitare, saritura margine, cap-vs-cap elastic coliziuni). Picături le...
Utilizați serverul-mentat OTK pentru a comuta în org nou
Preferați otk returnat de Post /api/security/org peste follow-up /api/security/enter-as round-trip. Serverul acum menteaza un proprietar nou sesiune ca parte a ...
Proprietar menta ***+OTK pe org crea
După ce a creatOwner de organizare, menta un *** proaspăt legat de noul proprietar Membru al echipei și returnați OTK-ul său alături de ID/membri. Fără asta... ...
Comenzi COMP nepreluate la pornire
Pe @PostConstruct, scanează toate comenzile APROBAT COMP și furnizează orice lipsa unui AccountSubscription. Idempotent Alerga în mod repetat.
Mută starea disponibilității în partea stângă înainte de My Businesses
Relocă pilula de stare de la bara de acțiune dreapta la secțiunea de bun venit stânga, plasarea-l între separatorul de salut și My Businesses cu un separator. E...
Adaugă țintăOrganizareId la tipuri de comenzi Abonare și creareAbonare Ordine
Adăugați criteriul de evaluare pentru a activa abonamentul COMP din ordinul aprobat
POST *************** apeluri ***********************************************************************************************************************************...
Comanda COMP auto-provizionare Cont Abonaţi şi atribuie licenţă
- SubscriptionOrder: add targetOrganization (nullable FK to orgs) - *************** adaugati tintaOrganizationId string - AccountRepository: add findByPrimaryMe...
Like what you see shipping?
All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.
