Abilitare Hibernate SQL logging per diagnosticare i membri query di ritorno 0
Temporaneamente abilitato org.hibernate.SQL=DEBUG per vedere cosa SQL il TYPE() La query JPQL genera per l'endpoint dei membri-subscribers.
Mostra la bandiera, il paese e l'IP dell'intestazione dei biglietti
- Aggiungi visitatoreIpAddress, visitatoreCountryCode, visitatoreCountryName a supportoTicketDTO tipo - Render flag emoji + nome paese + indirizzo IP riga in Ti...
Mostra la bandiera e la posizione dei visitatori nell'intestazione dei biglietti di supporto
- Inject PublicChatVisitorRepository e GeoLiteLocationRepository in SupportTicketService - Popula visitatoreIpAddress, visitatoreCountryCode, visitatoreCountryN...
Aggiungi registrazione diagnostica per ottenereMembersAndSubscribers endpoint
Logs orgId, conteggio dei risultati di query e per-member isStato attivo per aiutare diagnosticare perché la scheda Membri mostra l'elenco vuoto.
Etichetta i messaggi dei visitatori come tipo VISITOR MESSAGE, aggiungi senderName ai messaggi GET
- PublicChatService: set messageType=VISITOR MESSAGE in modo che frontend possa distinguere echi visitatori dalle risposte degli agenti sull'argomento STOMP - M...
Trattare il tipo VISITOR MESSAGE come sempre da loro in TicketChat
I messaggi dei visitatori pubblicati tramite PublicChatService portano il messaggioType=VISITOR MESSAGE. Segnalitamente questi come autore= 'them' indipendentem...
Salta VISITOR MESSAGE eco in LiveSupportPanel STOMP handler
I messaggi dei visitatori sono ora contrassegnati dal messaggioType=VISITOR MESSAGE dal backend. Salta questi nell'abbonamento STOMP in modo che i messaggi prop...
Sostituire WebSocket nativo con STOMP/SockJS in LiveSupportPanel
- Aggiungere pacchetti @stomp/stompjs e sockjs-client - Collegare ai media.{domain}/ws/public-chat via SockJS+STOMP invece di crudo WebSocket ad api.{domain} ch...
Fissare la chat pubblica end-to-end in tempo reale tramite STOMP/NATS
- Rimuovere il requisito internoAuth da PublicChatWebSocketInterceptor così i visitatori possono connettersi direttamente utilizzando solo la loro sessioneToken...
Aggiungi senderName a ChatMessageDto per supportare i nomi di visualizzazione della chat
Filifica il filtro di stato e i modelli richiesti automaticamente nell'elenco
- EmailTemplateController.list() ora accetta ?status= param e filtri utilizzando la query del repository di findByOrgIdAndStatus esistente - Auto-seeds modelli ...
Biglietto di supporto automatico popup su NEW TICKET NATS notifica
Quando arriva un nuovo biglietto di supporto, il backend invia un NEW TICKET Messaggio STOMP oltre a PENDING COUNT. Il contesto di sostegno lo gestisce inviando...
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
Attivare sempre provvisione-teme su salvare di marca; lasciare che il backend risolva il lato server di dominio
Add @Transactional to provision-theme for lazy domain loading; remove hardcoded domain from provision request
Utilizzare url invece di href in BreadcrumbJsonLd per il contatto-confirmed
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...
Numero di biglietto separato / fila di cattivi dal titolo in TicketHeader
Il titolo stava condividendo una riga flex orarap con il numero del biglietto e due I distintivi, che l'hanno fatto tagliare. Ora il numero di biglietto e i dis...
Aggiungi /contact-confirmed page con eroe animato, timeline, e CTA
Sostituisci un messaggio di successo in linea sul modulo di contatto con un premio dedicato pagina di conferma: marcatura SVG animata con scoppio di particelle,...
Mantenere la chiave dei biglietti nella risposta della lista dei biglietti di supporto
MediaService restituisce { biglietti: [...], totalElements } ma il frontend solo controllati per i dati. contenuto, causando l'elenco di rendere sempre vuoto.
Utilizzare PATCH /org/{id}/colors per il branding salvare per evitare guasto di vincolo booleano nullable
Add PATCH /org/{id}/colors endpoint to safely update only color palette fields
Corretto porta MEDIASERVICE URL da 443 a 80 per modulo di contatto
Il servizio ClusterIP espone solo la porta 80; utilizzando 443 con http ha causato un ConnectTimeoutError su ogni presentazione del modulo di contatto.
Redesign LabelManager — editing di sezione in linea, correzione di salvataggio rotto, di default di sola lettura
Riscrive LabelManager.tsx con per-sezione letto/edit pattern. Risolve il salvataggio rotto pulsante (validateForm bloccato salva perché i campi di contatto/azie...
Aggiungere il validatore di dominio KamoMail per bloccare gli indirizzi email cross-tenant
Introduce il componente KamoMailDomainValidator che controlla, a livello di servizio, se il dominio email inviato corrisponde al dominio predefinito verificato ...
Enforce KamoMail restrizione di dominio sulla casella di posta, alias e creazione di casella di posta condivisa
Quando KamoMail è il provider di posta elettronica, i membri possono solo creare caselle di posta, alias, e caselle di posta condivise utilizzando il dominio pr...
Leggi il logoFullExt da config.json per l'estensione dinamica del logo
Leggi il logoFullExt da config.json; fix site.webmanifest path to favicon subdirectory
Add theme provisioning — NATS publisher, provision-theme endpoint, logo upload
Aggiungi logoFullExt campo a entità Organizzazione; aggiungi listaOggetti a MinIOStorageService
Sostituisci icone emoji con icone SVG solide su creare stepper wizard
Use memberID session key and include creatorType in creatable branch-types response
Aggiungere findByBranchTypeID query derivato a OrganizationRepository
Supporta i nuovi /branch-types/{id}/usages endpoint in SecurityService per verificare se un tipo di ramo ha un bambino attivo org prima della cancellazione.
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...
Cancellazione del tipo di ramo di guardia contro usi attivi org
Prima di rimuovere un chip tipo branch, il frontend ora chiama E' il momento giusto. Se esiste un org mostra una finestra di dialogo informativo che li elenca e...
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
Aggiungi campo di conteggio in sospeso a SupportAgentNotificationDTO e conteggi query a SupportTicketRepository
Come quello che vedi la spedizione?
Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.