Dois bugs reais reportados pelo usuário testando um ramal de verdade (teste@teste.com.br / ramal 1501): 1. widgetStorage.mergeConfig fazia `{...externalConfig, ...stored}` — um sip_config salvo de sessão/ramal anterior no mesmo navegador sempre vencia sobre as credenciais que o backend acabou de injetar via data-sip-* pro agente logado agora, então o widget tentava registrar com o ramal errado (ou senha vazia) pra sempre, sem erro visível. Invertido: externalConfig (sempre fresco, vindo do agente logado) vence; stored só preenche o que faltar. 2. crypto.subtle é undefined em contexto inseguro (HTTP puro, mesma classe de bug do botão de copiar da PHASE 71) — salvar a senha na aba Configurações do widget quebrava com "Cannot read properties of undefined (reading 'importKey')". Agora cai pra um fallback base64 reversível quando SubtleCrypto não está disponível. Testado com Playwright: config "errado" salvo no localStorage não sobrevive mais a um reload — o próximo connect() usa o ramal real do agente. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BFaBaBSQGhyXGEgtTYZGV8
934 KiB
934 KiB