Levé le temps de lecture du client aux 120 s pour les messages longs
LibreTranslate exécute des modèles d'argos uniquement CPU et un message de discussion sur la longueur du paragraphe Il faut 20 à 30 secondes pour traduire, et l...
Suivre le soutien public par la session GUID à Redis
Utiliser les visiteurs en commercialisation /ws/public-chat-native sans memberId; billets encore référencer le membre de l'org-titre en tant que demandeur. PRES...
Augmenter TTL des années 90 à 300 pour éviter les faux OFFLINE lors de l'étranglement de la languette
Étendre l'analyse du référentiel JPA pour y inclure le module de commerce
La nouvelle bibliothèque kamo-shared introduit qui nécessite (dans le com.kamo.z.shared.commerce). MediaService n'a scanné que donotmodify.dao.repos, de sorte q...
Restaurer l'importation de HashMap dans ChatWebSocketCutteur
Le réfactoracteur précédent a supprimé l'importation de HashMap mais la manipulationTypage Une méthode continue de construire une HashMap pour la charge utile d...
Créer de manière proactive le consommateur NATS lors de la création de session pour éviter la perte de messages
Auparavant, le consommateur de poussée NATS JetStream n'était créé que lorsqu'un client STOMP envoyé /app/chat/s'abonner. Avec DeliverPolicy.Nouveau, tous les m...
Disposition thématique relais de la NATS de base
Match SecurityService de base publie: abonnez-vous à Dispatcher on Security.theme. provision.
Utiliser PublicChatVisitor displayNom pour requestorName sur les billets pour les visiteurs
Demandeur de code-du dur à l'organe de l'org, donc le DTO faisait surface sur le nom du propriétaire de l'organisation dans la colonne Demandeur. Chute Retour a...
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...
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...
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...
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...
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...
Add debug logging and robust rights parsing for webinar controller
Adds info/warn logging for session data and rights on POST /types to diagnose 403 errors. Also adds fallback parsing for rights stored as JSON strings in Redis ...
Resolve org theme backgrounds not appearing in meet virtual backgrounds
- Add domain-based theme URL resolution for internal K8s service-to-service calls - getPublicBackgrounds now accepts optional domain param to derive correct the...
Upload meet backgrounds to public MinIO bucket with hash-based naming
Was uploading to private 'imaging-meet-recordings' bucket via **************** which caused: - MinIO region mismatch errors on the primary node - Connection tim...
Return serialization-safe Maps instead of raw JPA entities in MeetConfigController
All config/background endpoints were returning raw JPA entities with @ManyToOne(fetch=LAZY) Organization references. Jackson failed to serialize the Hibernate p...
Remove duplicate endpoints from MeetController, add org-themes to MeetConfigController
MeetConfigController already handled config/background endpoints. The duplicate endpoints in MeetController caused ambiguous mapping. Added org-theme background...
Update health probes to HTTP port 80 to match new server config
Startup, readiness, and liveness probes were still pointing to port 8443 with HTTPS scheme, causing pod restart loops.
Switch MediaService to HTTP port 80 — TLS termination at Traefik
Internal cluster traffic doesn't need HTTPS. Traefik handles TLS for external clients. This aligns MediaService with all other services.
Send chat invites to correct WebSocket topic /topic/chat/incoming/{memberId}
Was publishing to /topic/chat/member/{id} but kamo-internal subscribes to /topic/chat/incoming/{id}. Also fixed Member entity field access **************** inst...
Ajouter voip à NATS stream sujets et traiter IllegalStateException dans VoipStompRelayContrôleur
Le flux NATS ne couvrait que le chat. ' donc abonnant à voip. Illegal StateException ([SUB-90007) Pas de flux correspondants). Ajout de voip. aux sujets de flux...
Maintenir VoipStompRelayRelayAbonnement du contrôleur et ajouter PreDestroy
Accepter le paragraphe de l'adresse de l'internaute param pour le sous-marin WebSocket auth
Lire d'abord le paramètre d'interrogation à partir de l'identifiant de l'identifiant, retomber à cookie. Cela permet au frontend sur internal.kamocrm.com d'auth...
Fixation de consommateur NATS rassis avec un réessai unique pour le consommateur
- Élément de traitement de message dans la méthode createNatsMessageHandler() - Ajouter une logique d'essai avec un nom de consommateur unique lorsque "Consomma...
Route WebSocket via Traefik sur le port 443
- service.yaml: port de fixation 80-8443 pour correspondre au port d'écoute réel de la pod pod - ingressroute.yaml: schéma d'utilisation https et port 8443 pour...
Utiliser un DNS interne de cluster pour la connexion NATS
Changer l'URL NATS par défaut à partir des IP WireGuard (100.64.x.x) à nats.kamo.svc.cluster.local pour le serveur local. Noeuds distants (k0m1, k2m1) reste sur...
Rendre le certificat TLS facultatif dans le déploiement de MediaService
- Ajouter facultatif: fidèle au volume secret wildcard-kamocrm-com - Mettre à jour le convertisseur de cert-convertisseur init pour gérer gracieusement le certi...
Ajouter la configuration de Buildx avec la configuration de registre non sécurisée pour résoudre les erreurs 401 auth
Améliorer le traitement des messages d'initiation aux appels et la recherche des membres - Ajouter une diagraphie complète pour les messages d'initiation d'appel - Simplifier MediaSession Logiciel de recherche de la logique de recherche - Fix getSessionId() erreur dans la création de session de Janus
Utiliser getUsernameAlias() au lieu de la méthode getName() inexistante sur le membre
Ajouter apiSecret à la réponse de configuration WebRTC pour l'authentification Janus
Configuration appropriée de la sécurité de ressort pour WebSocket - désactiver complètement CSRF, activer la création de session
Désactiver CSRF pour /ws/- et simplifier la configuration de sécurité pour corriger l'erreur SockJS /ws/info 405
Permettre explicitement les méthodes GET/POST/HEAD pour les points d'extrémité /ws/- pour corriger l'erreur SockJS /ws/info 405
Ajouter l'intergiciel WebSocket et ServersTransport à IngressRoute
- Ajout d'un middleware de mise à niveau multimédia-websocket pour les en-têtes de mise à niveau WebSocket - Ajout d'un transport par prise de presse pour désac...
WebSocket livraison de messages en direct - désactiver l'abonnement à ChatMessageHandler, améliorer l'enregistrement
- Abonnement à ChatMessageHandler à chat.session, c'est-à-dire consommer des messages sans être transmis à WebSocket - Reconnexion améliorée de WebSocketConfig ...
Utiliser des noms de consommateurs uniques NATS par session de chat - Chaque session utilise désormais le nom de consommateur: chat-consumer-session--session--gestion-gestion-gestion-gestion-gestion-gestion--session------------------------------------------------------------------
Connexion persistante de WebSocket avec un maintien agressif
Temps d'allumage réglé à 0, rythme cardiaque 20s, retard de déconnexion 30s, synchronisation frontale de match
Paramètres SSL à code dur dans ConfigMap pour la production
- Éliminer les espaces réservés à l'environnement - Port à code dur 8443, activé SSL, chemin de clé-stock - Fixe la botte de ressort ne résout pas correctement ...
Noms de variables d'environnement SSL à ressort corrects
- Changement de SSL-ENABLED en SERVER-SSL-ENABLED - Changement de SSL-KEY-STORE en SERVER-SSL-KEY-Storer - Changement de SSL-KEY-Store-PASSWORD en SERVER-SSL-KE...
Utiliser l'API SSLHostConfig pour la configuration Tomcat SSL
- Utiliser SSLHostConfig et SSLHostConfigCertificate (API Tomcat correct) - Configurer le certificat via - Fixe les erreurs de compilation avec setAttribute/set...
Utiliser setAttribute pour la configuration Tomcat SSL
- Passage de setKeystoreFile/Pass/Type/Alias en setAttribut - Tomcat 10' utilise l'ensembleAdiffure pour les propriétés SSL - Correction des erreurs de compilat...
Exécuter MediaService sur les deux ports 80 (HTTP API) et 8443 (HTTPS WebSocket)
- Service redéversé.yaml et ingressroute.yaml pour utiliser le port 80 - Enlèvement de SERVER-PORT pulsés et de SSL-ENABLED env vars - Ajout de DualPortConfig p...
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.