Fixează chat public de la un capăt la altul în timp real prin STOMP/NATS
- Elimina cerintele interne de la PublicChatWebSocketInterceptor astfel încât vizitatorii să se poată conecta direct folosind doar sesiunea Token - Include afiș...
Adaugă numele expeditorului la ChatMessageDto pentru nume de chat suport
Filtru de stare sârmă și șabloane auto-semințe necesare pe listă
- EmailTemplateController.list() acceptă acum ?status= param și filtre folosind interogarea depozitului existent ByOrgIdAndStatus - Seminte auto necesare modele...
Auto-deschis bilet de suport popup pe notificarea NEW TICKET NATS
Când ajunge un nou bilet de sprijin, platforma trimite acum un NEW TICKET Mesaj STOMP în plus față de Pending COUNT. SuportContContext se ocupă de ea prin instr...
Three support/chat issues — NATS relay, auto-popup, topic fallback
1. Switch SupportNotificationService and SupportStompRelayController from JetStream to core NATS — the CHAT_MESSAGES stream only covers chat.> so JetStrea...
Allow god-mode users to provision ownerless orgs; prefer FQDNs in domain resolution
Declanşează întotdeauna furnizarea-tema pe branding salva; permite backend rezolva domeniul server-side
Add @Transactional to provision-theme for lazy domain loading; remove hardcoded domain from provision request
Utilizaţi url în loc de href în BreadcrumbJsonLd pentru confirmarea contactului
Write contact form description as chat message on public ticket creation
The description was only stored on the ticket entity and never appeared in the chat window. Added writeTextMessage() helper and call it after the system event s...
Separat număr bilet/caiete rând de la titlu în TicketHeader
Titlul a fost schimbul unui rând flex nowrap cu numărul biletului și două insigne, ceea ce face să fie tăiat. Acum numărul biletului şi insignele ocupă propriul...
Adăugați / pagina de contact-confirmat cu erou animat, cronologie și CTA
Înlocuiți mesajul de succes inline pe formularul de contact cu o primă dedicată pagina de confirmare: animat SVG semn de verificare cu spargere de particule, "C...
Cheia pentru gestionarea biletelor în răspunsul la lista de bilete de sprijin
MediaService returnează {bilet: [...], totalElemente } dar frontend Am verificat doar datele. conținut, ceea ce determină lista să facă întotdeauna gol.
Utilizați PATT /org/{id}/colore pentru branding, cu excepția evitării eșecului de constrângere boolean anulabil
Add PATCH /org/{id}/colors endpoint to safely update only color palette fields
Correct MEDIASERVICE URL port de la 443 la 80 pentru formularul de contact
Serviciul ClusterIP expune doar portul 80; folosind 443 cu http a provocat ConecteazăTimeoutError pe fiecare formular de contact.
Redesign LabelManager
Rescrie LabelManager.tsx cu model de citire / editare per secțiune. Repară salvarea ruptă buton (validatForm blocat salvează deoarece câmpurile de contact/compa...
Adaugă validator domeniu KamoMail pentru a bloca adresele de email cross-tenant
Introduce KamoMailDomainValidator componentă care verifică, la nivelul de serviciu, dacă domeniul de e-mail transmis corespunde domeniului implicit verificat al...
Enforce KamoMail domeniu restricție pe cutia poștală, alias, și crearea de căsuță poștală comună
Când KamoMail este furnizorul de e-mail, membrii pot crea doar cutii poștale, pseudonime și cutii poștale partajate utilizând domeniul implicit verificat al org...
Citește logoFullExt de la config.json pentru extensie dinamică logo
Citește logoFullExt de la config.json; fix site.webmanifest cale către subdosarul favicon
Add theme provisioning — NATS publisher, provision-theme endpoint, logo upload
Adăugaţi logoFullExt la entitatea Organizaţiei; adăugaţi listaObiective la MiniOStorageService
Înlocuiți icoane emoji cu icoane SVG solide pe crea stepper vrăjitor
Ascunde fraza model de securitate pentru membri, fixați suprapunerea insignei pe carduri de tip ramură
Use memberID session key and include creatorType in creatable branch-types response
Adaugă căutareBranchTypeID interogare derivată la OrganizationRepository
Sprijină noile/tipurile de ramuri/{id}/utilizare în serviciul de securitate pentru a verifica dacă un tip de ramură are orgi active pentru copii înainte de șter...
Add GET /branch-types/creatable and /{id}/usages endpoints
/creatable returns branch types filtered by the caller's creator-type (OWNERS/TEAM_MEMBERS/MEMBERS) via AppliedModelEnforcementService. /{id}/usages returns th...
Ștergere tip ramură de pază împotriva utilizării org active
Înainte de a elimina un cip de tip ramură, frontend acum apeluri - Nu. Dacă există vreo orgi ea arată un dialog informativ care le enumeră și instruiește admini...
Use correct session key 'memberID' instead of 'MID'
KSessionService stores member ID under key 'memberID' but both **************** and OrganizationController were reading session.get("MID") which always returned...
Live pending support ticket count via NATS — notify org owner on new tickets, add pending-count REST endpoint
Set org owner usernameAlias on creation and fix website-contact member alias
Adăugați câmpul de numărare în așteptare pentru a SupportAgentNotificationDTO și numără interogarea pentru SuportTicketRepository
Exclude master model from models list; add debug log to child-org creation check
SecurityModelController now filters out the org's master model (identified by org.getMasterModelID()) from the /api/security/models response — it is managed exc...
Read session rights as List<String> names, not CSV of integer IDs
Session rights are stored as a JSON array of RoleRightType name strings. Both **************** and OrganizationController were casting them to String (causing C...
Nu mai comuta dublu pe checkbox-uri de vârstă în BranchSetupManager
Box onClick și Checkbox onChange ambele trase la fiecare click, comutare de două ori şi lăsând starea neschimbată. Opri propagarea pe FormControlLabel astfel nu...
Utilizați MUI v7 Grid size prop în StackingOrdersManager
MUI v7 Grid2 a înlocuit xs/sm/md cu obiectul de dimensiune prop.
Eliminați recuzita MUI Grid element în StackingOrdersManager
MUI Grid v2 a scăzut recuzita produsului; utilizați recuzita de dimensiune direct pe Grid.
Adaugă domeniu nume domeniu la magician creație org
Adaugă un domeniu necesar la etapa de bază cu www. automat. Dezbracă-te. Validată, inclusă în încărcătura utilă API și prezentată în etapa de revizuire.
Adaugă apelare modificare API la pagina de referință kamo-api
Afișat numai pe /kamo-api-reference, motivează utilizatorii să depună modificarea API cereri prin /cereri sau acces prin /contact.
Add GET /branch-types/creatable endpoint with creator-type filtering
Returns only the branch types the calling member is permitted to create a child org under, based on their OWNERS/TEAM_MEMBERS/MEMBERS classification against the...
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ă.