Utilice split Primera/Después de consultas para sesiones de chat página punto final
Direcciones vacías de chats pestaña por despacho a *************
Elerar tiempo de espera de lectura al cliente a 120s para mensajes largos
LibreTranslate ejecuta modelos de argos solo para CPU y un mensaje de chat de longitud de párrafo toma 20-30s para traducir, y los más largos pueden superar los...
Rastrear chat de apoyo público por sesión GUID en Redis
Los visitantes de marketing utilizan /ws/public-chat-native sin memberId; tickets still referencia el miembro del lugar de org como solicitante. Increment PRESE...
Expanda el escaneo del repositorio de JPA para incluir paquete de comercio
La nueva biblioteca compartida de kamo trae **************** que requiere **************** (in com.kamo.z.shared.commerce). MediaService sólo escaneado donotmod...
Restaurar importación de HashMap en ChatWebSocketController
El refactor anterior eliminó la importación de HashMap pero el mangoTyping método todavía construye un HashMap para la carga útil del evento de mecanización, ca...
Crean proactivamente consumidor NATS en creación de sesión para evitar pérdidas de mensajes
Anteriormente el consumidor de presión NATS JetStream sólo se creó cuando un cliente STOMP enviado /app/chat/suscribirse. Con DeliverPolicy.Nuevo, cualquier men...
Disposición temática de relevo del NATS básico
Match SecurityService core publicar: suscribirse con Dispatcher on seguridad.tema.provision.* en lugar de JetStream (corriente solo cubre chat).
Utilíceo PublicChatVisitor displayName para requestorName en las entradas de los visitantes
Billetes iniciados por visitante solicitud de código duro para el miembro del sistema org, así que el DTO estaba apareciendo el nombre del propietario de la or ...
Construye error en GeoLookupService y añadir NATS publicar mensajes de agente
- Asechar opcional vs List distch in **************** - Inject NatsMessageService en MediaController - Publicar para chat.session.-guid después de que el agente...
Entrega de chat en tiempo real, lados de mensajes, notificaciones y sincronización de nombres
- Mantenga viva la suscripción NATS al cliente darse de baja para evitar romper la entrega en tiempo real agente - Etiquetar mensajes de visitantes con messageT...
Etiquetar mensajes de visitante como tipo VISITOR-MESSAGE, agregue SenderName a los mensajes GET
- PublicChatService: set messageType=VISITOR-MESSAGE para que frontend pueda distinguir Reflexos del visitante de las respuestas de los agentes sobre el tema ...
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...
Añadir voip. a los sujetos de transmisión NATS y manejar IllegalStateException en VoipStompRelayController
La corriente NATS sólo cubrió chat. . . . . . . . . . . . . . . . IllegalStateException ([SUB-90007] Sin flujos a juego). Añadido voip. a los sujetos de la cor...
Mantenga VoipStompRelayController suscripción a suscripción a la conserje de la venta y añadir PreDestroy
Acepta *** de la consulta param para cross-subdomain WebSocket auth
Leer *** ID de ?***= parametro de la consulta primero, cayendo de nuevo a Cookie. Esto permite que el frontend en internal.kamocrm.com autenticen Conexiones Web...
Maneda de la unión al consumidor NATS con un tratamiento único de consumo
- Extracto del manipulador de mensajes en el método createNatsMessageHandler() - Añadir la lógica de repintar con nombre único del consumidor cuando "Consumidor...
Route WebSocket a través de Traefik en el puerto 443
- service.yaml: arreglar el puerto 80-8443 para que coince con el verdadero oporto de la cápsula - ingresssroute.yaml: sistema de uso https . puerto 8443 para b...
Utilíce el DNS interno de clúster para la conexión NATS
Camete la URL NATS predeterminada de WireGuard IPs (100.64.x.x) a nats.kamo.svc.cluster.local para el servidor local. Nodos remotos (k0m1, k2m1) permanecen en W...
Hacer opcional el certificado TLS en despliegue de MediaService
- Añadir opcional: fiel al volumen secreto wildcard-kamocrm-com - Actualizar el contenedor init de cert-converter para manejar el certificado falta de certifica...
Añadir la configuración de Buildx con la configuración de registro insecure para resolver errores 401 auth
Use getUsernameAlias() en lugar de método getName (en inglés) en Member
Añadir apiSecret a la respuesta de configuración de WebRTC para la autenticación de Janus
Desactivar CSRF para /ws/** endpoints y simplificar la configuración de seguridad para arreglar SockJS /ws/info 405 error
Deje explícitamente métodos GET/POST/HEAD para los endpoints /ws/** para arreglar el error SockJS /ws/info 405
Eliminar llamadas de método inválidos que causan errores de compilación (consedes en MediaSession, getStatusCode en ServerHttpResponse)
Añadir WebSocket middleware y ServidoresTransporte a IngressRuto
- Añadido middleware de actualización de media-websocket para las cabeceras de actualización WebSocket - Añadido medio-websocket-transport para desactivar HTTP/...
WebSocket entrega de mensajes en vivo - deshabilitar ChatMessageSuscripción a Huandler, mejorar el registro
- Disabled ChatMessageHandler suscripción a chat.session. que estaba consumiendo mensajes sin reenviar a WebSocket - Re-coche mejorado WebSocketConfig para rast...
WebSocket conexión persistente con agresivo keepalive
Tiempo de juego de 0, latidos del corazón 20s, desconexión retardo 30s, partido de tiempo frontend
Ajustes de Hardcode SSL en ConfigMap para la producción
- Bordeadores de lugares variables del entorno extraído - Puerto de codificado 8443, SSL habilitado, camino de teclado - Arregiza la Bota de Primavera no resolv...
Correcto Spring Boot SSL nombres de variables de entorno
- Cambió el SSL-ENABLED a SERVER-SSL-ENABLED - Cambió SSL-KEY-STORE a SERVER-SSL-KEY-STORE - Cambiado de SSL-KEY-STORE-PASSWORD a SERVER-SSL-KEY-STORE-PASSWORD ...
Utilícelo SSLHostConfig API para la configuración de Tomcat SSL
- Utilícelo SSLHostConfig y SSLHostConfigCertificate (correcto Tomcat API) - Configurar certificado a través de ************* - Arregija errores de compilación ...
Usar setAtributo para la configuración de Tomcat SSL
- Cambiado de setKeystoreFile/Pass/Type/Alias a setAttribute - Tomcat 10o usa setAtributo para propiedades SSL - Arregija errores de compilación
Como lo que ves enviaste?
Cada una de estas actualizaciones aterriza en su espacio de trabajo automáticamente. Empieza gratis y verlo crecer semana tras semana.