SeaMeet Desktop chegou — Grave tudo, não perca nada. Download gratuito →

Recuperação, Armazenamento e Solução de Problemas

Capítulo 6: Recuperação, Armazenamento e Solução de Problemas

O Chrome vai interromper a extensão. Não é uma questão de se — service workers dormem em ociosidade, abas são fechadas, o Chrome recupera memória sob pressão. Este capítulo é sobre como a extensão sobrevive, e o que fazer quando as costuras aparecem.

O modelo de recuperação em um parágrafo

Toda gravação escreve seus pedaços de áudio e metadados no IndexedDB (o banco de dados local do navegador) conforme acontece. Se o Chrome mata a extensão no meio da gravação, os pedaços permanecem. Na próxima vez que você abrir o painel lateral, eles aparecem em uma lista saved on this device com um botão Upload all — usuários logados podem tentar novamente o upload interrompido de onde parou, graças aos uploads resumíveis em múltiplas partes. Usuários anônimos podem Download do áudio para o computador ou fazer login e enviá-lo depois. Nada é perdido silenciosamente.

Esta seção é um resumo; as notas de versão para as versões 1.6 a 1.9 têm o histórico completo das classes de bugs que isso substituiu.

A lista "saved on this device"

Abre no topo do painel lateral quando há alguma gravação armazenada localmente. Cada linha mostra:

  • O título da reunião (ou "Untitled — <date>" para gravações que nunca receberam um título).
  • A duração capturada.
  • O status (Ready to upload / Uploading / Failed / Finalized).
  • Botões: Upload (logado) ou Download / Delete.

Upload all no topo da lista drena a fila. Ele sai assim que a varredura de replay sinaliza conclusão, em vez de esperar o prazo completo de quatro minutos, então parece responsivo.

Quando o Chrome mata a extensão no meio da gravação

Qualquer um destes pode acontecer e é tratado:

  • A aba que você está gravando é fechada. O service worker recebe um evento tabs.onRemoved e dispara um Stop normal + drenagem de upload antes que o Chrome possa colocar o service worker para dormir.
  • A aba de gravação trava. O relay do content-script do microfone morre; após 5 segundos sem frames PCM, o painel lateral mostra um aviso "microphone signal was lost". A gravação é parada e os pedaços capturados até esse ponto são armazenados para recuperação.
  • O service worker é reciclado pelo Chrome. Na próxima inicialização a frio, a extensão faz ping no documento offscreen; se ele responde, a gravação continua sem falhas; se não, o offscreen é abandonado e o painel retorna à configuração com os pedaços armazenados intactos.
  • O documento offscreen é reclamado sob pressão de memória. Seu handler pagehide força a parada da gravação. Um backstop de 30 segundos de estagnação de sinal do microfone dentro do offscreen também para a gravação se todos os sinais externos forem perdidos.
  • O navegador é fechado durante a gravação. A gravação aparece na lista "saved on this device" na próxima vez que você abrir o Chrome.

O único caso que costumava ser silenciosamente perda de dados — uma reunião do Google Meet terminando em uma navegação single-page-app — é tratado pelo service worker observando a aba deixar a URL do código da reunião diretamente, independentemente do content script.

Quando um upload falha

Uploads usam transferência resumível em múltiplas partes. Se uma parte falha, apenas ela é retentada. Se o upload inteiro morre no meio da transferência:

  1. Os pedaços armazenados permanecem no IndexedDB.
  2. A gravação aparece na lista "saved on this device" com status Failed.
  3. Logado: Upload naquela linha retoma a transferência da última parte bem-sucedida. Para reuniões longas, isso não é um re-upload completo.
  4. Anônimo: Download salva o áudio no seu computador como um arquivo .webm; você pode reproduzi-lo localmente ou enviá-lo depois de fazer login.

Gerenciamento de armazenamento

Gravações locais não são mais auto-excluídas após 30 dias. Se você trata a extensão como um gravador autônomo — gravando reuniões, mantendo os arquivos localmente, nunca fazendo login — gravações antigas costumavam sumir silenciosamente. Isso foi corrigido.

Apenas duas categorias são auto-limpas com segurança:

  • Órfãos finalizados — o upload confirmou que a gravação está seguramente no R2, e a cópia local agora é redundante.
  • Órfãos de 0 bytes — a gravação morreu antes que qualquer áudio fosse capturado; nada para recuperar.

Em 500 MB de gravações locais armazenadas, um aviso amarelo de armazenamento aparece no topo do painel lateral. É apenas informativo — nenhum dado é excluído — mas é um incentivo para fazer login e enviar, ou baixar e limpar.

Para limpar uma gravação específica: clique em Delete na sua linha da lista "saved on this device". Se a gravação tem notas ao vivo não enviadas, a exclusão pede confirmação.

Problemas comuns

"O ícone da extensão está esmaecido em chrome://, edge:// ou na Chrome Web Store."

O Chrome proíbe extensões de rodar em páginas chrome://, páginas edge:// e na própria Chrome Web Store. Esta é uma restrição em todo o navegador; nada que o SeaMeet possa fazer. Abra a reunião em uma aba normal.

"Tab capture falhou com 'Cannot access a chrome:// URL' ou 'Extension not allowed for this tab'."

A aba estava aberta antes de você instalar a extensão. O Chrome se recusa a anexar tab-capture a uma aba que não tem concessão de permissão. Recarregue a aba e tente novamente.

"Gravações aparecem como 0:00 na lista de recuperação."

Isso era um bug em versões mais antigas — a duração era escrita apenas no momento da parada, então uma gravação interrompida não tinha nenhuma. Agora é persistida durante a gravação, então isso só acontece se a gravação terminou antes da primeira atualização de duração. Cai para quando desconhecida.

"O arquivo enviado toca mas mostra duração desconhecida / infinita."

Gravações de até 100 MB têm seus metadados de duração reescritos antes do upload concluir, então isso está corrigido para elas. Gravações maiores ou retomadas mantêm o fallback do patch Part-1 — o arquivo toca, mas um pequeno número de players pode não fazer seek corretamente. Tente o VLC como alternativa.

"A reunião do Meet terminou mas a gravação continuou."

Essa classe de bug foi corrigida em 1.9. Se acontecer em 1.9 ou posterior, por favor reporte — com o número da versão de chrome://extensions/ e uma nota sobre a plataforma da reunião.

"As legendas pararam no meio da reunião."

O fala-para-texto ao vivo se reconecta automaticamente algumas vezes; quando esgota, o banner "Retry captions" aparece acima da transcrição. Clique nele. A gravação continua o tempo todo — nenhum áudio é perdido.

"Uma gravação de uma chamada do Meet tem o título errado (o título da aba)."

Isso foi corrigido em 1.8 — gravações da extensão agora começam como "Untitled — <date>", combinando com a proteção de nome padrão do aplicativo web, para que o título de reunião gerado por IA corretamente o substitua após o upload. Se você ver isso em 1.8 ou posterior, o rename por IA normalmente acompanha em um minuto.

Quando abrir um bug

  • A gravação não apareceu na lista "saved on this device" após uma interrupção.
  • Upload all afirma sucesso mas a gravação não está na sua biblioteca web.
  • A extensão trava o Chrome (em vez de apenas falhar graciosamente).
  • Qualquer perda silenciosa de dados.

Abra no repositório do aplicativo desktop (seasalt-ai/seameet-app-desktop) com a versão da extensão, a versão do navegador e, se possível, uma captura de tela do painel lateral.

Referência Rápida

SintomaTente
Extensão não gravouRecarregue a aba, então tente novamente
Gravação faltando após travamentoVerifique a lista "saved on this device" no painel lateral
Upload travadoClique em Upload novamente na linha — resumível em múltiplas partes
Legendas pararamClique em Retry captions no banner acima da transcrição
Aviso de armazenamento em 500 MBFaça login e Upload all, ou Download e Delete
Reunião continuou gravando após o fimAtualize para 1.9+ se ainda não estiver

Última atualização: 2026-08-27

← Capítulo 5: Fazer Login e Sincronizar com o Aplicativo Web

Publicado: