Montrer la ville et la subdivision en géo-marée de visiteurs de billets
Affichage en tant que "Ville, Région, Pays (PI)" - les nuls sont filtrés de sorte qu'il dégrade gracieusement lorsque seules des données par pays sont disponibl...
Expose ville et subdivision en géorecherie des visiteurs
- Étendre le bilan de GeoResult en ce qui concerne les domaines de la ville et des subdivisions - Switch SupportTicketService.toDTO() pour utiliser GeoLookupSer...
Ajouter visiteorCity et visiteur Subdivision à SupportTicketDTO
Ajouter l'onglet URL params à /account page pour liens profonds et persistence de rafraîchissement
L'état de l'onglet est maintenant synchronisé avec - donc les liens à des onglets spécifiques fonctionnent et l'onglet correct reste sélectionné sur le rafraîch...
Intégréer dans GeoLookupService et ajouter NATS publish pour les messages d'agents
- Réparation de l'inadéquation optionnelle ou du type de liste - Injecter NatsMessageService dans MediaController - Publier sur chat.session. l'agent et le vi...
Corriger les aspects du message dans l'histoire et gérer les événements de changement de nom de visiteur
- Utiliser messageType-VISITOR-MESSAGE de l'API pour déterminer la charge gauche/droite dans l'historique - Ajouter NOM - Rendement de l'événement système CHANG...
Livraison en temps réel du chat, aspects du message, notifications et synchronisation des noms
- Maintenir l'abonnement NATS en vie chez le client se désabonner pour éviter la rupture de l'agent en temps réel - Marquez les messages de visiteur avec messag...
Utilisations par exemple pour le type MEMBRE
TYPE(m) Hibernate: type retour 0 résultats lorsqu'il est lié à la base Classe de membre en héritage JOINED. Pour le type MEMBRE, aller chercher tous et Filtrer ...
Résoudre l'onglet Membres en vide du fait de la question de la classe de base Hibernate TYPE()
Le filtre JPQL de Hibernate TYPE(m) '':type' 's' TYPE(m) ''s' TYPE(m) ''' paramètre est la classe de membre de base (héritage JOINED). Cela a une incidence sur ...
Permettre à la connexion SQL Hibernate pour diagnostiquer les requêtes des membres en retour 0
temporellement activé par org.hibernate.SQL-DEBUG pour voir quel SQL le TYPE() La requête JPQL génère pour le point d'extrémité des membres-abonnés.
Montrer le drapeau, le pays et l'IP en tête de billet
- Ajouter visiteorIpAdresse, visiteurCountryCode, visiteurNim Payson à SupportTicketDTO type - Render flag emoji - Nom du pays - liste IP ligne dans TicketHeade...
Montrer le drapeau des visiteurs et l'emplacement dans l'en-tête du ticket d'assistance
- Injecter PublicChatVisitorRepository et GeoLiteLocationRepository dans SupportTicketService - Populate visitorIpAddress, visiteurCountryCode, visiteurName en ...
Ajouter la journalisation diagnostique pour obtenirMembersAndScribers endpoint
Logs orgId, le nombre de résultats de requête et le statut actif par membre pour aider diagnostiquer pourquoi l'onglet Membres affiche la liste vide.
Tag les messages de visiteurs en tant que type de VISITOR-MESSAGE, ajouter ernderName to GET messages
- PublicChatService: paramétrer le messageType-VISITOR-MESSAGE pour que frontend puisse distinguer échos des visiteurs provenant des réponses des agents sur l...
Traiter le type de VISITOR-MESSAGE comme toujours à partir d'un tel type dans TicketChat
Les messages de visiteurs publiés via PublicChatService transportent messageType-VISITOR-MESSAGE. Marquez explicitement ceux-ci en tant qu'auteurs ''the'', indé...
Sautez les échos de 'S'accrocher's 'sèchez dans le gestionnaire LiveSupportPanel'PSMP
Les messages de visiteurs sont maintenant étiquetés messageType-VISITOR-MESSAGE par le backend. Sautez-les dans l'abonnement STOMP pour que les messages du visi...
Remplacer WebSocket natif par STOMP/SockJS dans LiveSupportPanel
- Ajouter des emballages de sockjs et de sockjs-clients - Se connecter aux médias. WebSocket brut à api.-domain qui était un mauvais hôte et un mauvais protoc...
Réparer le chat public de bout en bout en temps réel via STOMP/NATS
- Supprimer l'exigence d'autoth intérieure de PublicChatWebSocketInterceptor de sorte que les visiteurs peuvent se connecter directement en utilisant uniqueme...
Ajouter expéditeurName à ChatMessageDto pour les noms d'affichage de discussion de soutien
Filtre d'état du fil et modèles d'auto-amorçage requis sur la liste
- EmailTemplateCroller.list() accepte désormais le système et les filtres de statut à l'aide de la requête start-série findByOrgIdAndStatus - Moteurs d'auto-a...
Pop-up du ticket d'assistance à l'auto-ouverture sur la notification NATS NEW-TICKET NATS
Lorsqu'un nouveau ticket d'assistance arrive, le backend envoie maintenant un NEW-TICKET Message STOMP en plus de PENDING-COUNT. Le soutienCountContext Le manip...
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...
Utiliser l'url au lieu de href dans BreadcrumbJsonLd pour les contacts confirmés
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...
Numéro de billet/badges séparés du titre dans TicketHeader
Le titre partageait une ligne de flex nowrap avec le numéro de billet et deux badges, ce qui provoque sa coupure. Maintenant, le numéro de ticket et les badges ...
Ajouter une page confirmée par contact avec héros animés, chronologie et CTA
Remplacer le message de succès en ligne sur le formulaire de contact par une prime dédiée page de confirmation: coiffe animée SVG avec éclat de particule, 'Quel...
Poignée de tickets clés dans la réponse de la liste des tickets d'assistance
Retours de MediaService et billets: [..., total Eléments, mais le frontend n'est vérifiée que pour les données.content, ce qui fait que la liste ne doit toujour...
Port correct MEDIASERVICE-URL du 443 au 80 pour le formulaire de contact
Le service ClusterIP ne fait que exposer le port 80; l'utilisation de 443 avec http a provoqué un ConnectTimeoutError sur chaque formulaire de contact soumis.
Redesign LabelManager - Édition de la section en ligne, correction de sauvegarde, lecture seule
Rewrites LabelManager.tsx avec le modèle de lecture/dite par section. Fixe la rupture, sauf bouton (validateForm bloqué sauvegarde car les champs de contact/com...
Ajouter KamoMail validateur de domaine pour bloquer les adresses e-mail entre les locataires
Introduit le composant KamoMailDomainValidator qui vérifie, au niveau de la couche de service, si le domaine de courrier électronique soumis correspond au domai...
Appliquer la restriction du domaine KamoMail sur la boîte aux lettres, l'alias et la création de boîtes aux lettres partagées
Lorsque KamoMail est le fournisseur de courrier électronique, les membres ne peuvent créer que des boîtes aux lettres, aliass, et boîtes aux lettres partagées u...
Lire le logoFullExt de config.json pour l'extension dynamique du logo
Lire le logoFullExt de config.json; fixer le chemin site.webmanifest vers favicon subdirectory
Ajouter la provisionnement de thèmes - Éditeur NATS, point d'extrémité de fourniture-thème, téléchargement de logo
Ajouter des critères d'évaluation de la redimensionner et de la génération de favicon
Ajouter un glaqueur de migration pour logo-full-ext column on orgs
Ajouter le logoFullExt champ à l'entité de l'organisation; ajouter listeObjects à MinIOStorageService
Remplacer les icônes emoji par des icônes SVG solides sur le créateur d'ordinateur à pas
Comme ce que tu vois expédier ?
Chacune de ces mises à jour atterrit automatiquement dans votre espace de travail. Commencez gratuitement et regardez-le grandir semaine après semaine.