Changelog
Histórico completo de atualizações do ZapVox.
Correções
- Phase 7 — retry estendido para áudios em grupos — em grupos movimentados, o WhatsApp demora mais para hidratar metadados de áudio via Mobx. Adicionada uma fase extra de retry com 8s de espera adicional após todas as outras estratégias falharem, antes de exibir erro de carregamento.
- Mensagem de erro de áudio mais amigável — sugere clicar de novo manualmente antes de pedir F5.
- Diagnóstico melhorado em logs (inclui flags
isGroup e msgType).
Testes
- 397/397 testes verdes (4 novos para cobrir patterns de erro v3.4.14).
Resumos em voz impessoal
- Resumo e tópicos não atribuem mais ações a nomes próprios — antes: "Rafael precisa fazer X". Agora: "É necessário fazer X". Evita confusão (leitor não sabe se ele é o sender/destinatário/observador em grupo) e elimina erros de atribuição.
- Nomes próprios são preservados quando críticos ("Ligar para Dr. Silva às 15h", "Pagamento via PIX para Loja XYZ").
- Edge Functions
summarize v14 e topics v17 deployadas.
Marco
- ZapVox aprovado pela Google e oficialmente publicado na Chrome Web Store. Disponível para todos os usuários — instale grátis em chromewebstore.google.com.
Correções
- Bug fix copy: watermark duplicada — ao copiar transcrição manualmente, a marca d'água "🎙️ zapvoxia.com.br" era duplicada. Agora usa fonte única determinística com voz impessoal.
- CSS contrast fix — em modo escuro, transcrições ficavam com texto ilegível por
color: #111 hardcoded. Corrigido para contraste WCAG AAA em ambos os temas.
- Manifest source consistency — host_permissions Supabase alinhado no source e dist.
Novidades
- Glass morphism universal no card de transcrição — funciona em qualquer tema do WhatsApp e qualquer wallpaper custom (foto, gradiente, cor sólida). Fundo quase opaco com
backdrop-filter: blur(14px) saturate(1.4) garante legibilidade em 100% dos cenários.
- Contraste WCAG AA 7:1 forçado.
- Adaptação automática via
prefers-color-scheme + body[data-theme].
Novidades
- Cache de sentimento — análise sobrevive a F5 (TTL 7 dias, sem custo de API no re-render).
- Badge BETA no popup.
- Tema adaptativo via CSS variables nativas do WhatsApp.
UI cleanup
- Botão Sentimento 🎭 inline — análise de tom direto no card do áudio. Resultado em chip separado, não contamina copy/auto-send.
- Botão "Em Tópicos" removido (estava órfão desde v2.2.1 que mergiu tópicos no resumo).
Correção crítica
- Bug: transcrição PT saindo em EN. Em "Automático (SmartLang)" o Service Worker caía em
navigator.language que retornava en-US em Chromes com UI em inglês — forçando Whisper a transcrever áudio PT em inglês estranho. Corrigido para deixar Whisper auto-detectar pelo áudio.
Correções
- GET_USER_PLAN handler corrigido — Pro era bloqueado em "Agendamento exclusivo do plano Pro" mesmo pagantes porque o handler estava ausente.
- UX de mensagens apagadas mais amigável — em vez de substituir conteúdo apagado automaticamente, exibe botão opt-in "🔓 Ver original (ZapVox)". Mais respeitoso e alinhado com Single Purpose Policy da CWS.
Cascade robusto
- Cascata 5-fase determinística para carregamento de áudio (Phases 1a/1b/2/3/5) — substituiu polling com tentativa-e-erro por primitivas internas do próprio WhatsApp.
- Phase 5 — manual decrypt no Service Worker — último recurso quando todas as outras fases falham. SW faz fetch no CDN do WhatsApp, derivação HKDF-SHA256, verificação HMAC e decriptação AES-256-CBC.
- Telemetria opt-in (cliente) — eventos sanitizados via whitelist explícito.
Mudanças estruturais
- Recuperação de mensagens apagadas (texto + imagens + vídeos + áudios) via cache local IndexedDB com TTL de 7 dias. Opt-in no popup.
- Análise de sentimento como post-transcription action (BYOK + Cloud).
- Tópicos mergidos no Resumo — agora resumo inclui automaticamente os pontos-chave.
- Whisper local removido — produto 100% cloud-first (cascata BYOK Groq → BYOK OpenAI → Cloud Edge).
- Free agora tem 10 transcrições cloud/dia + BYOK ilimitado.
Correções
- transcrição local agora é gratuito e ilimitado para todos os usuários
- Limite diário de 3/dia agora aplica apenas para operações cloud (resumo, tópicos)
- verificação de limite movido para após transcrição local na cascata de transcrição
Segurança
- Removido handler handler de debug administrativo — permitia escalar para Pro indevidamente
- Removido handler handler de debug — mesma vulnerabilidade
Governança
- Versão unificada em todos os arquivos (manifest, package.json, popup, docs)
- CHANGELOG reconstruído com histórico completo v1.0–v1.7.7
Melhorias
- Imutabilidade de toggles críticos protegida
- Consolidação de web_accessible_resources no manifest
- Melhorias de estabilidade na detecção de áudio
Novidades
- Resumo em tópicos — além do resumo livre, agora com extração de pontos-chave
- Edge Function
topics para processamento server-side
- Seletor resumo/tópicos no popup
Melhorias
- BYOK Groq — sua chave Groq como Strategy 2 na cascata
- Criptografia AES-GCM 256-bit para chaves BYOK (PBKDF2 600k iterações)
- 7 camadas de exclusão + 5 estratégias positivas para detecção de áudio
- Página de compatibilidade de hardware
Correções
- PDF/documentos não confundidos com áudio
- Notificação nativa sempre ativa
- Tradução auto-refresh token
- Transcrição duplicada corrigida
Lançamento
- Extensão Chrome MV3 para WhatsApp Web
- Transcrição local com Whisper WASM
- Login Google via Supabase Auth (PKCE)
- Planos Free/Pro com Stripe
- 4-strategy transcription cascade
- 6 Edge Functions (auth, translate, summarize, topics, checkout, webhook)