Roteie TODAS as solicitações de API WebRTC para a porta 8443
- Atualizado todas as rotas da API WebRTC para usar mídia.{domínio}:8443 - Não utilizar mais Traefik para os objectivos WebRTC - Corresponde à API de mídia e à ...
Route ALL MediaService requests to port 8443 (bypass Traefik)
- Atualizou todas as rotas da API de mídia para usar mídia.{domínio}:8443 - Não mais usando Traefik para MediaService - API e WebSocket vão diretamente para a p...
Conectar à porta 8443 (externa) que leva a NodePort 30843
- Roteador avança exterior 8443 para k1m1 NodePort 30843 - Navegador usa media.kamocrm.com:8443 - NodePort interno é 30843 (gama válido Kubernetes)
Conectar à porta MediaService 8443 para WebSocket
- Conexão atualizada WebSocket para usar media.kamocrm.com:8443 - Bypasses Traefik para tráfego WebSocket - Usa conexão HTTPS/HTTP1.1 direta ao MediaService - A...
Remover a restrição de transporte somente do WebSocket para compatibilidade HTTP/2
- Navegador WebSocket API não suporta HTTP/2 (RFC 8441 não implementado) - WebSocket nativo requer HTTP/1.1 Atualização que falha em HTTP/2 - Deixe o SockJS sel...
Usar o transporte WebSocket-only (desativar as sondagens XHR)
- Transporte alterado do SockJS de [websocket, xhr-streaming, xhr-polling] para [websocket] - Remove o retorno às sondagens XHR - Força conexão WebSocket pura -...
Conecte WebSocket diretamente para media.kamocrm.com
- Revertida para a abordagem original: conecte-se diretamente ao subdomínio media.* - Complexidade desnecessária da mesma origem removida - Removido /ws bypass ...
Remover a referência explícita do espaço de nomes do serviço kamowsmedia
- Ambos os serviços estão no mesmo espaço de nomes (kamo) - Referência explícita do espaço de nomes não necessária - Evita potenciais problemas de espaço entre ...
Remover /ws reescrever do próximo. configuração (manejada por Traefik)
- Removido Next.js reescrita para /ws caminhos - Roteamento WebSocket agora manipulado a nível Traefik IngressRoute - Rotas Traefik internal.kamocrm.com/ws -> M...
Rota /ws solicitações diretamente para MediaService via Traefik
- Adicionado rota dedicada para /ws caminhos em IngressRoute - Rotas internal.kamocrm.com/ws -> MediaService diretamente - Usa os mesmos ServidoresTransportes c...
Permitir terminais WebSocket /ws sem redirecionamento de autenticação
- Added /ws path to middleware bypass - SockJS precisa se conectar a /ws/info sem redirecionamento - As conexões WebSocket ainda terão *** cookie - Corrige prob...
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...
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ç...
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...
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...
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...
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...
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 ...
Remover rotas antigas /api/security/media/ que estavam interceptando pedidos
- Rotas antigas estavam encaminhando para o APIService que já não tem endpoints de mídia - Todas as solicitações de mídia devem passar por /api/media/ rotas dir...
Adicionar registro de erro detalhado para criação de sessão MediaService
- Log MediaService URL sendo chamado - Cabeçalhos de resposta de log - Registro de erro melhorado com detalhes completos de erro - Incluir URL na resposta de er...
Reverter para ações/checkout@v4 para corresponder a outros projetos Next.js
- Remova lógica de verificação manual complexa que estava causando travas - Usar ações/checkout padrão@ v4 como kamo- login e kamo- register - Simplifique o con...
Use clone raso com tempo limite para evitar enforcamento
- Use --profundidade 1 para clonagem mais rápida - Adicionar tempo limite (120s para raso, 300s para cheio) - Recuar para clone completo se falhar - Obter commi...
Mudar para diretório válido antes do git clone para evitar erros de diretório de trabalho
- Mudar para /tmp ou / antes de remover/clonar espaço de trabalho - Remova apenas o directório se existir mas não for um 'git repo' - Impede erro de 'Não é poss...
Use hardcoded repository URL and set GITHUB_WORKSPACE env var
- Use direct repository URL to avoid DNS/hostname resolution issues - Set GITHUB_WORKSPACE environment variable for subsequent steps - Use env var in Docker bui...
Use git clone directly instead of relying on empty workspace
- Clone repository using git directly with repository URL - Handle both fresh clone and existing repository cases - Use working-directory for Docker build actio...
Simplify all checkout steps - remove git operations that hang
- Remove git fetch/reset/clean from deploy jobs - Forgejo runner already has code checked out - Just verify GITHUB_WORKSPACE is valid
Simplify checkout step - remove git clone that was hanging
- Remove git clone logic that was causing 20+ minute hangs - Forgejo runner already has code checked out, just verify directory - Remove unnecessary git fetch/r...
Improve checkout and Docker build context handling
- Add proper repository cloning if not already checked out - Verify Dockerfile exists before building - Use absolute paths for Docker build context - Fix workin...
Replace actions/checkout with manual git checkout to avoid DNS issues
- Replace actions/checkout@v4 with manual git checkout commands - Forgejo runner already has code checked out, just need to ensure clean state - Fixes DNS looku...
Add direct MediaService routes via media.{domain} for WebSocket support
- Create new /api/media/* routes that forward directly to media.{domain} - These routes bypass APIService to allow secure WebSocket connections - MediaService r...
Add logging for subscription request to backend
- Log when subscription request is sent to /app/chat/subscribe - Helps verify if subscription requests are reaching the backend
Add detailed logging for subscribe function
- Log when subscribe() is called and current connection state - Log client existence and connection status - Helps diagnose why subscriptions aren't being creat...
Add detailed WebSocket connection logging
- Enhanced logging for WebSocket connection success/failure - Log connection frame details on successful connection - Log detailed STOMP error information - Hel...
Extract large IDs from raw JSON to prevent JavaScript precision loss
- Extract memberID, userID, orgID, and securityOrgId from raw JSON string before parsing - Prevents precision loss for IDs > Number.MAX_SAFE_INTEGER (9007199254...
Serialize memberID and other IDs as strings in user-info API to prevent JavaScript precision loss
Complete memberId type updates in useChatWebSocket for string/number compatibility
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.