Mudar a ligação WebSocket para a mesma origem
- Mudada de media.kamocrm.com para mesma origem (internal.kamocrm.com) - Evita problemas de conexão WebSocket de origem cruzada - Added Next.js rewrite rule to ...
Adicionar rotas de proxy da API para os endpoints WebRTC
- Adicionado /api/webrtc/config proxy para MediaService - Adicionado /api/webrtc/token proxy para a autenticação do Janus - Adicionado /api/webrtc/call/iniciate...
Remove @kubernetescrd suffix from serversTransport reference
- Traefik error: cross-namespace format not allowed when crossnamespace disabled - IngressRoute and ServersTransport are in same namespace (kamo) - Use simple n...
Remover a propriedade do codificador inválida do getDisplayMedia
- Usando vídeo simples: true para compartilhamento de tela - Construir agora deve ter sucesso
Resolver erro de compilação - substituir PhoneOff com CallEnd
- O ícone PhoneOff não existe em @mui/icons-material - Usando CallEnd que é o ícone MUI correto - Remover arquivos duplicados não utilizados (ChatBoxWithWebRTC,...
Chamada WebRTC de peer-to-peer completa com sinalização
- Adicionado usoWebRTC gancho com suporte de sinalização completa - Sinalização integrada WebSocket (ofertas, respostas, candidatos ICE) - Adicionadas notificaç...
Add WebSocket signaling for peer-to-peer calls
- Added WebRTCSignalingController for call signaling - Handles offer/answer exchange via STOMP - Forwards ICE candidates between peers - Manages call hangup not...
Adicionar integração Janus WebRTC para chamadas de áudio/vídeo
- Adicionado useJanusWebRTC gancho para gerenciamento de chamadas WebRTC - Adicionado componente VideoCallPanel para exibição de vídeo no chat - Integrado com C...
Add Janus WebRTC integration
- Added WebRTCController for token generation and call management - Configured Janus API URL and secrets (api, token, admin) - Configured STUN/TURN servers (kam...
Update TURN server credentials with secure values
- Updated turn-secret with secure random value - Updated turn-password for Janus authentication - Credentials match MediaService WebRTC configuration
Split port ranges to avoid conflicts
- Coturn relay: 52000-65535 (13,536 ports) - Avoids: Janus RTP (10000-49151) and WireGuard (51820-51821) - No overlap between services
Adjust relay port range to avoid WireGuard/VPN ports
- Changed max-port from 65535 to 51800 to avoid conflicts - Avoids WireGuard on UDP 51820 and other VPN services on 51821 - Provides 2,649 ports (49152-51800) f...
Resolve CrashLoopBackOff by fixing probes and config
- Replace netstat-based health probes with TCP socket checks (netstat not available in coturn/coturn:latest Alpine image) - Remove conflicting no-stdout-log dir...
Use full Kubernetes CRD provider name for ServersTransport reference
Traefik requires the @kubernetescrd suffix when referencing CRD resources like ServersTransport.
Add ServersTransport deployment to CI/CD workflow
Deploy traefik/serverstransport.yaml as part of Traefik deployment to both K1M1 and K2M1. This enables HTTP/1.1 backend connections for MediaService WebSocket s...
Add ServersTransport for MediaService WebSocket connections
Add media-websocket-transport ServersTransport resource to disable HTTP/2 for backend connections to MediaService. This is required for proper WebSocket upgrade...
Simplify MediaService WebSocket IngressRoute configuration
Remove media-websocket-upgrade middleware that was forcing headers and causing WebSocket handshake issues. Traefik automatically handles WebSocket upgrade when ...
Restaurar o transporte WebSocket em SockJS
- Reverter para usar o transporte websocket (não votação) - WebSockets são padrão e devem funcionar corretamente - Foco na fixação do problema de conexão WebSoc...
Ignorar o transporte WebSocket no SockJS para evitar problemas HTTP/2
- Usar transportes xhr-streaming e xhr-polling em vez de websocket - Estes transportes funcionam com HTTP/1.1 e HTTP/2 sem necessidade de atualizações WebSocket...
Add end anchor to WebSocket path regex pattern
- Add $ to end of PathRegexp to ensure exact match - Fixes regex parsing error in Traefik - /ws/info is now working (200 OK) but WebSocket upgrade route needs p...
Only apply WebSocket upgrade middleware to actual WebSocket paths
- Change route match from PathPrefix(/ws/) to **************** - /ws/info is a regular HTTP request, not a WebSocket upgrade - Adding Upgrade header to /ws/info...
Add Connection: Upgrade header to WebSocket upgrade middleware
- Add Connection: Upgrade header along with Upgrade: websocket - Both headers are required for proper WebSocket upgrade handshake - This ensures HTTP/2 Extended...
Add separate route for WebSocket paths with upgrade middleware
- Create separate route matching /ws/** paths with media-websocket-upgrade middleware - This ensures Upgrade: websocket header is added for WebSocket upgrade re...
Add media-websocket-upgrade middleware to force Upgrade header
- Add Upgrade: websocket header for WebSocket paths to fix HTTP/2 Extended CONNECT conversion - This ensures HTTP/2 WebSocket upgrade requests are properly conv...
Use ServersTransport to disable HTTP/2 for WebSocket connections
- Create ServersTransport resource with disableHTTP2: true - Reference ServersTransport in IngressRoute service configuration - Remove invalid disableHTTP2 fiel...
Desactivar o HTTP/2 para a ligação à infra- estrutura do MediaService
- Adicionar desactivarHTTP2: true to force HTTP/1.1 for backend connections - HTTP/2 Extended CONNECT não está corretamente convertendo cabeçalho Upgrade - Atua...
Configurar o esquema de serviço IngressRoute para suporte ao WebSocket
- Define esquema: http para garantir o tratamento HTTP/1.1 adequado para atualizações WebSocket - HTTP/2 Extended CONNECT precisa de conversão adequada para HTT...
Remova o manipulador de aperto de mão inválido e corrija a configuração do SockJS
- Remova o cancelamento do HandshakeHandler inválido (o método não existe) - Remover a chamada setSupressCors inválida (o método não existe) - Mantenha HttpSess...
Add WebSocket handshake logging and SockJS configuration
- Add handshake handler and interceptor logging to diagnose WebSocket connection issues - Configure SockJS to suppress CORS (handled by Spring Security) and dis...
Configurar os transportes SockJS para lidar com problemas de atualização HTTP/2 WebSocket
- Configure explicitamente a ordem de transporte SockJS para preferir WebSocket, em seguida, voltar para xhr-streaming/xhr-polling - HTTP/2 Atualizações WebSock...
Remove media-cors middleware from IngressRoute to allow WebSocket connections
- media-cors middleware was clearing CORS headers which interfered with WebSocket upgrades - WebSocket connections require direct pass-through without header mo...
Remove invalid Spring Security pattern /ws/**/info
- PatternParseException: No more pattern data allowed after {*...} or ** - /ws/** already covers all paths under /ws including /ws/info - This was causing 500 e...
Apply media-cors middleware to MediaService IngressRoute
- Apply media-cors middleware to allow CORS headers for WebSocket connections - Matches the pattern used for theme domains
Add media-cors middleware for media domain CORS support
- Add media-cors middleware matching theme-cors configuration - Allows CORS headers to be set for media.{domain} requests
Explicitly permit OPTIONS requests for CORS preflight
- Add explicit permit for OPTIONS method on all paths - Add explicit permit for /ws/info endpoint (SockJS handshake) - This ensures CORS preflight requests reac...
Make CORS configuration more permissive for WebSocket connections
- Explicitly handle '*' wildcard for origins, methods, and headers - Add WebSocket-related headers to exposed headers - Add logging to verify CORS configuration...
Add logging and configure SockJS heartbeat/disconnect settings
- Add logging to verify WebSocket endpoint registration - Configure SockJS heartbeat and disconnect delay - This should help diagnose why SockJS handshake isn't...
Revert IngressRoute changes - Traefik handles WebSocket automatically
Garantir rota de mensagens é reconhecido pela Next.js
- Adicionado registro para verificar rota está sendo atingido - O arquivo de rota existe e a estrutura está correta para Next.js 15
Remover propriedade 'activa' inexistente do STOMP Registo de clientes
- STOMP Cliente não tem uma propriedade 'ativa' - Apenas verifique a propriedade 'conectada' que é o indicador de estado correto
Remover o manipulador não suportado noWebSocketError do cliente STOMP
- onWebSocketError não é uma propriedade válida em ClientOptions - Os manipuladores de erros SockJS (onerror, onclose) já fornecem o tratamento de erros
Adicionar gerenciamento de erro abrangente WebSocket e registro
- Adicionados manipuladores de erro SockJS (onopen, onerror, onclose) para capturar falhas de conexão - Adicionado detecção de tempo- limite de conexão (10 segu...
Remove duplicate WebSocket endpoint registration and improve logging
- Removed duplicate /ws endpoint registration (SockJS already handles native WebSocket) - Added null check for payload in subscribeToSession - This may fix WebS...
Remove invalid Spring Security path pattern /ws/**/websocket
- Spring Security does not allow path segments after /** pattern - /ws/** already matches all paths under /ws including websocket endpoints - This fixes Pattern...
Remover a solução incorreta do agente HTTPS
- Alterações revertidas que ignoraram a validação do certificado - Os certificados são emitidos pelo serviço de certificado automático (Vamos criptografar), não...
Usar HTTPS com o agente que aceita certificados autoassinados
- Revertido para usar sempre HTTPS (não HTTP) - Adicionado agente HTTPS com rejeitNão autorizado: false para certificados auto- assinados - Isso permite que as ...
Use o nome de serviço do Kubernetes para o Serviço de Mídia para evitar problemas de certificados SSL
- As rotas da Next.Js agora usam... - Isso evita erros auto-assinados de certificado ao se conectar a https://media.kamocrm.com - Os pedidos do lado do cliente ...
Como o que vês no transporte?
Cada uma dessas atualizações pousa automaticamente em seu espaço de trabalho. Comece grátis e veja crescer semana após semana.