Elevate softphone to enterprise-grade with premium features
ENTERPRISE FEATURES: - Call Recording with visual indicator and pulsing animation - Call Transfer functionality for seamless handoffs - Call Notes with expandab...
Add expandable softphone panel to ChatBox
- Add PhoneInTalk icon button to ChatBox header for softphone toggle - Create comprehensive SoftphonePanel component with full UI - Implement dialpad with 0-9, ...
Remove connected check and add debug logging for STOMP activation
STOMP client was not activating because connected check was preventing it. Added debug logs to diagnose.
Activate STOMP client only after SockJS opens
Critical bug fix: STOMP client was being activated before SockJS opened, causing immediate disconnect. Now waits for SockJS onopen event before activating STOMP...
Activar os transportes de retorno do SockJS para a ligação WebSocket
Permitir xhr-streaming e xhr-polling como backback se a atualização do WebSocket falhar.
Enhance ChatBox with dynamic color system and increased height
- Increase message viewing area by 33% (DOCKED_HEIGHT: 360 -> 480) - Create ChatBoxStyles.tsx with dynamic CSS variable-based color system - Apply primary color...
Modernize o design ChatBox com polimento profissional
- Implementar fundo branco limpo com gradientes cinza sutis - Adicionar personalizado styling barra de rolagem integrado com esquema de cores primárias - Melhor...
Remover a verificação de propriedade 'activa' inválida no usoChatWebSocket
O tipo Cliente de @stomp/stompjs não tem uma propriedade 'ativa'. Removido a verificação inválida desde client.activate() é chamado imediatamente após a criação...
Aguarde que o SockJS abra antes de ativar o cliente STOMP
- Corrigir condição de corrida onde o cliente STOMP ativado antes da conexão SockJS estava pronto - Mover client.activate() para SockJS open callback - Isto dev...
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...
Como o que vês no transporte?
Tudo isso chega em seu espaço de trabalho por conta própria. Comece no plano gratuito e leia esta página novamente em um mês.
