Korrekte Nachrichtenseiten in der Geschichte und behandeln Besuchernamen ändern Ereignisse
- Verwenden Sie messageType=VISITOR_MESSAGE von API, um links/rechts in der Historienlast zu bestimmen - NAME_CHANGED Systemereignis-Rendering in SystemMessage ...
Echtzeit-Chat-Lieferung, Nachrichtenseiten, Benachrichtigungen und Namenssynchronisation
- Halten Sie NATS-Abonnement am Leben auf Client Abmelden zu vermeiden, Broker Echtzeit-Lieferung - Besuchernachrichten mit messageType=VISITOR_MESSAGE in getMe...
************ verwendet Beispiel für MEMBER-Typ
Hibernate TYPE(m) = :type liefert 0 Ergebnisse, wenn an die Basis gebunden Mitgliedsklasse in JOINED-Erbschaft. Für MEMBER Typ, holen alle und filtern stattdess...
Resolve Mitglieder-Registerkarte leer durch Hibernate TYPE() Basis-Klasse-Problem
Hibernate's TYPE(m) = :type JPQL Filter liefert 0 Ergebnisse, wenn die gebunden -Parameter ist die Basis-Mitgliedsklasse (JOINED Vererbung). Dies wirkt sich auf...
Aktivieren Sie Hibernate SQL-Logging, um Mitgliederabfrage zu diagnostizieren 0
Vorübergehend aktiviert org.hibernate.SQL=DEBUG, um zu sehen, welche SQL TYPE() JPQL Abfrage generiert für den Mitglieder-Abonnenten Endpoint.
Besucherflagge, Land und IP in Ticket-Header anzeigen
- BesucherIpAddress, visitorCountryCode, BesucherCountryName zum SupportTicketDTO hinzufügen - Render Flag emoji + Landname + IP-Adresse in TicketHeader für öff...
Besucherflagge und Standort im Support-Ticket-Header anzeigen
- PublicChatVisitorRepository und GeoLiteLocationRepository in SupportTicketService injizieren - Populate visitorIpAddress, visitorCountryCode, visitorCountryNa...
Diagnostisches Protokollieren hinzufügen, umMembersAndSubscribers Endpoint zu erhalten
Logs orgId, Abfrageergebnis zählen und pro Mitglied isActive Status zu helfen diagnostizieren, warum Mitglieder Registerliste zeigt.
Tag Besuchernachrichten als VISITOR_MESSAGE Typ, fügen Sie senderName zu GET-Nachrichten hinzu
- PublicChatService: set messageType=VISITOR_MESSAGE so Frontend unterscheiden kann Besucher hallt von Agenten-Antworten zum Thema STOMP - MediaController.get...
Behandeln Sie VISITOR_MESSAGE Typ wie immer-von-them in TicketChat
Besuchernachrichten, die über PublicChatService veröffentlicht werden, tragen messageType=VISITOR_MESSAGE. Markieren Sie diese Explizit als Autor='siem' unabhän...
Überspringen VISITOR_MESSAGE Echos im LiveSupportPanel STOMP Handler
Visitor-Nachrichten werden jetzt vom Backend mit messageType=VISITOR_MESSAGE versehen. Überspringen Sie diese im STOMP-Abonnement, so dass die eigenen Nachricht...
native WebSocket mit STOMP/SockJS in LiveSupportPanel ersetzen
- @stomp/stompjs und sockjs-client Pakete hinzufügen - Verbindung zu Medien verbinden.{domain]/ws/public-chat über SockJS+STOMP statt raw WebSocket to api.{do...
End-to-End-Öffentlicher Chat in Echtzeit über STOMP/NATS
- Entfernen Sie internalAuth Anforderung von PublicChatWebSocketInterceptor damit Besucher sich direkt über ihre SessionToken verbinden können - Besucheranzei...
AbsenderName zu ChatMessageDto hinzufügen, um Chat-Display-Namen zu unterstützen
Status- und automatisch-seed benötigte Vorlagen auf der Liste aufbeeilen
- EmailTemplateController.list() akzeptiert jetzt ?status= param und filter Verwendung der vorhandenen findByOrgIdAndStatus-Abfrage - Auto-Samen erforderliche...
Auto-Open Support-Ticket Popup auf NEW_TICKET NATS-Benachrichtigung
Wenn ein neues Support-Ticket ankommt, sendet das Backend jetzt ein NEW_TICKET STOMP-Nachricht zusätzlich zu PENDING_COUNT. Der SupportCount-Kontext behandelt e...
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...
Erlauben Sie God-Mode-Nutzern, inhaberlose Orgs zur Verfügung zu sorgen; bevorzugen Sie FQDNs in der Domain-Auflösung
Triggern Sie immer Bereitstellungs-Themen auf Branding speichern; lassen Sie Backend Domain-Server-Seite lösen
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...
Getrennte Ticketnummer/Abzeichenreihe vom Titel in TicketHeader
Titel teilte eine jetzt rap flex Reihe mit der Ticket-Nummer und zwei Abzeichen, wodurch es abgeschnitten werden. Jetzt belegen Ticketnummer und Abzeichen ihre ...
Hinzufügen /Kontakt-bestätigte Seite mit animierten Helden, Timeline und CTAs
Inline-Erfolgsmeldung auf Kontaktformular durch eine dedizierte Prämie ersetzen Bestätigungsseite: animierte SVG-Kennzeichen mit Partikelausbruch, 'Was passiert...
Handle Tickets Schlüssel in Support-Ticket-Liste Antwort
MediaService gibt { Tickets: [...], totalElements - aber das Frontend nur auf data.content überprüft, wodurch die Liste immer leer wird.
Hinzufügen von PATCH /org/{id'/colors endpoint, um nur Farbpalettenfelder sicher zu aktualisieren
Korrektur MEDIASERVICE_URL Port von 443 bis 80 für Kontaktformular
ClusterIP-Dienst stellt nur Port 80 aus; mit 443 mit http verursacht ein ConnectTimeoutError auf jedem Kontaktformular Einreichung.
Redesign LabelManager - Inline-Sektion bearbeiten, gebrochen speichern, read-only default
Rewrites LabelManager.tsx mit pro-section read/edit Muster. Behebt den defekten Speicher Button (validateForm blockiert spart, weil Kontakt/Firmenfelder nie bev...
Fügen Sie .dockerignore hinzufügen, um den Build-Kontext zu reduzieren
KamoMail-Domain-Validator hinzufügen, um Cross-Denant-E-Mail-Adressen zu blockieren
Einführung der KamoMailDomainValidator-Komponente, die überprüft, auf Service-Schicht, ob die eingereichte E-Mail-Domain mit der verifizierten Standard-Domain d...
Bezwingen Sie KamoMail-Domain-Beschränkung auf Mailbox, Alias und gemeinsame Mailbox-Erstellung
Wenn KamoMail der E-Mail-Anbieter ist, können Mitglieder nur Mailboxen erstellen, Aliase und gemeinsam genutzte Mailboxen über die verifizierte Standard-Domain ...
Lesen Sie LogoFullExt von config.json; fix site.webmanifest Pfad zum Favicon-Unterverzeichnis
Org-Themenvorsorge - WebSocket Hook, Bereitstellungspanel, LabelManager-Verdrahtung, DNS-Trigger, bg-Größe, ThemeConfig-Kontext
Theme-Bestimmung hinzufügen . NATS Publisher, Bereitstellung-Thema-Endpunkt, Logo-Upload
LogoFullExt-Feld zur Organisation hinzufügen; listObjects zu MinIOStorageService hinzufügen
Ersetzen Sie Emoji-Symbole mit soliden SVG-Symbolen auf erstellen Assistent Stepper
Verstecken Sicherheitsmodell Satz für Mitglieder, fixe Abzeichenüberlappung auf Zweigtypkarten
Verwenden Sie memberID-Sitzungsschlüssel und beinhalten creatorType in creatable Zweig-Typen-Antwort
findBegrungsabfrage mit der abgeleiteten Anfrage von findByBranchType zu OrganizationRepository hinzufügen
Unterstützt den neuen /branch-types/{id'/usages Endpoint in SecurityService um zu überprüfen, ob ein Zweigtyp aktives Kind hat, bevor das Lösen gespeisten werde...
GET /branch-Typen/schöpfbar hinzufügen und /{id'/usages Endpunkte
/creatable Rückrufe Zweigtypen, gefiltert durch den Herstellertyp des Anrufers (OWNERS/TEAM_MEMBERS/MEMBERS) via AppliedModelEnforcementService. /{id"/usages g...
Wache Zweigtyp Löschung gegen aktive Org-Nutzungen
Vor dem Entfernen eines Zweigtyp-Chip, das Frontend ruft jetzt **************** Wenn irgendwelche orgs existieren, zeigt es ein Informationsdialog, der sie aufl...
Verwenden Sie korrekte Sitzungsschlüssel 'memberID' statt 'MID'
KSessionService speichert Mitgliedsausweis unter Schlüssel 'memberID' aber beide ************ und OrganizationController haben gelesen session.get("MID"), die i...
Wie, was Sie sehen Versand?
Jedes dieser Updates landet automatisch in Ihrem Arbeitsbereich. Starten Sie frei und beobachten Sie es Woche für Woche wachsen.