Erro no Mastodon ‘Statuses Could Not Be Downloaded’ ao Reimportar: Correção
🔍 WiseChecker

Erro no Mastodon ‘Statuses Could Not Be Downloaded’ ao Reimportar: Correção

Ao exportar seu arquivo do Mastodon e tentar reimportá-lo na mesma instância ou em outra, o processo pode falhar com a mensagem de erro “Statuses could not be downloaded.” Esse erro ocorre geralmente porque o arquivo está malformado, o servidor de importação não consegue acessar a instância original ou o arquivo referencia status deletados ou privados. A funcionalidade de reimportação foi projetada para restaurar suas postagens públicas, mas depende de a instância original estar online e do arquivo conter dados JSON válidos. Este artigo explica a causa raiz desse erro, fornece correções passo a passo para resolvê-lo e aborda padrões de falha relacionados que você pode encontrar.

Principais conclusões: Correção do erro de reimportação de status do Mastodon

  • Configurações > Importar e exportar > Importar: O local exato onde você faz upload do arquivo para restaurar os status.
  • Verificação da validade do JSON do arquivo: Os arquivos outbox.json e actor.json do arquivo devem estar bem formados e conter URLs válidas para status baixáveis.
  • Disponibilidade da instância original: O servidor de importação deve conseguir acessar os endpoints ActivityPub da instância original para buscar cada status.

ADVERTISEMENT

Por que o erro “Statuses Could Not Be Downloaded” aparece

O processo de reimportação no Mastodon não faz upload dos seus status diretamente do arquivo. Em vez disso, o Mastodon lê o arquivo outbox.json, que contém uma lista de IDs de status e suas URLs originais. O servidor então tenta buscar cada status da instância original usando ActivityPub. Se alguma etapa dessa cadeia falhar, toda a importação para e exibe o erro.

Arquivos malformados

Ao exportar seus dados em Configurações > Importar e exportar > Exportar, o Mastodon gera um arquivo ZIP contendo arquivos JSON como outbox.json, actor.json e anexos de mídia. Se o processo de exportação foi interrompido, o ZIP pode estar incompleto ou os arquivos JSON podem conter erros de sintaxe. Uma única vírgula faltando ou colchete não fechado no outbox.json impede que o parser de importação leia a lista de status.

Instância original inacessível

O servidor de importação precisa contatar a instância original para baixar cada status. Se a instância original estiver offline, tiver mudado de domínio ou bloquear o endereço IP do servidor de importação, a busca falha. Essa é a causa mais comum ao migrar de uma instância pequena ou desativada.

Status deletados ou privados

O arquivo pode incluir status que foram deletados após a exportação ou que são marcados como seguidores apenas. O servidor de importação não consegue buscar status deletados porque a instância original retorna um erro 404. Status privados retornam um erro 403. O Mastodon trata ambos como falhas e exibe o erro de download.

Passos para corrigir o erro de reimportação de status

Siga estes passos em ordem. Teste a importação após cada passo. Se o erro persistir, vá para o próximo passo.

  1. Reexporte o arquivo da instância original
    Faça login na sua instância original do Mastodon. Vá em Configurações > Importar e exportar > Exportar. Clique no botão Exportar para “Seu arquivo.” Aguarde o download ser concluído sem fechar o navegador. Não renomeie nem edite manualmente nenhum arquivo dentro do ZIP.
  2. Verifique a integridade do arquivo
    Abra o arquivo ZIP com uma ferramenta como 7-Zip ou o utilitário de arquivos integrado do Windows. Extraia os arquivos e abra o outbox.json em um editor de texto. Confirme se o JSON começa com uma chave de abertura e termina com uma chave de fechamento. Use um site validador de JSON para verificar erros de sintaxe. Se houver erros, exclua o arquivo e reexporte a partir do passo 1.
  3. Verifique se a instância original está online
    Abra um navegador e acesse o domínio da instância original (por exemplo, mastodon.social). Se a página carregar, a instância está acessível. Se você vir um timeout ou um erro de servidor, aguarde a instância voltar ao normal antes de tentar a importação.
  4. Remova status deletados e privados do arquivo manualmente
    Abra o outbox.json em um editor de texto. Localize o array orderedItems. Cada entrada tem um object com um campo id (a URL do status) e um campo to. Remova qualquer entrada onde to contenha “https://www.w3.org/ns/activitystreams#Public” mas o status retorne 404 ou 403 quando visitado. Para testar, cole a URL do id em um navegador enquanto desconectado. Se o status não for exibido, exclua a entrada inteira do array. Salve o arquivo e recrie o ZIP.
  5. Altere o domínio de importação no outbox.json
    Se você moveu sua conta para um novo domínio, o arquivo pode conter URLs de status antigas. Abra o outbox.json, encontre todas as ocorrências do domínio antigo e substitua pelo novo domínio. Por exemplo, substitua “https://oldinstance.social” por “https://newinstance.social”. Salve o arquivo e recrie o ZIP.
  6. Faça upload do arquivo corrigido
    Vá em Configurações > Importar e exportar > Importar na instância de destino do Mastodon. Selecione o tipo de arquivo “Arquivo do Mastodon.” Clique no botão Escolher arquivo e selecione seu arquivo ZIP corrigido. Clique em Upload. Aguarde a conclusão da importação. Verifique o log de importação para erros restantes.

ADVERTISEMENT

Se o erro ainda aparecer após a correção principal

Alguns problemas exigem solução de problemas adicional além da correção padrão. Os cenários a seguir cobrem os casos extremos mais comuns.

A importação falha em um arquivo grande com muitos anexos de mídia

O Mastodon tem um limite no lado do servidor para o tamanho de arquivos enviados, tipicamente 50 MB. Se seu arquivo exceder esse limite, a importação para sem um erro específico. Para reduzir o tamanho, exclua a pasta de mídia dentro do ZIP antes de fazer upload. Status sem mídia ainda são importados corretamente. Após a importação, você pode reenviar a mídia separadamente usando a API de upload de mídia, se necessário.

A importação é bem-sucedida, mas os status aparecem como deletados na nova instância

Isso acontece quando o arquivo contém status que foram deletados na instância original antes da exportação, mas ainda foram incluídos no arquivo. O Mastodon os importa como status deletados. Para evitar isso, exclua quaisquer status que você não deseja na instância original antes de exportar. Após a importação, exclua manualmente os status indesejados na nova instância.

O erro persiste mesmo após corrigir o arquivo

A instância de destino pode ter um tempo limite de busca ActivityPub mal configurado. Entre em contato com o administrador da sua instância e peça para verificar os logs do Mastodon em busca do erro “Fetching status failed: Net::ReadTimeout.” O administrador pode aumentar o valor do tempo limite na variável de ambiente FETCH_TIMEOUT (padrão 10 segundos). Alternativamente, tente importar durante horários de menor movimento, quando a instância original estiver menos carregada.

Item Arquivo Original Arquivo Corrigido
Sintaxe JSON Pode conter erros de exportação interrompida Validada e corrigida com um validador JSON
URLs dos status Apontam para domínio antigo ou offline Atualizadas para o novo domínio, se aplicável
Status deletados Incluídos e causam falhas de busca Removidos do array orderedItems
Status privados Incluídos e retornam erros 403 Removidos do array orderedItems
Tamanho do arquivo Pode exceder o limite de 50 MB Pasta de mídia removida para ficar abaixo do limite

Agora você pode reimportar seu arquivo do Mastodon com sucesso, garantindo que o JSON seja válido, a instância original esteja acessível e o arquivo contenha apenas status públicos. Após uma importação bem-sucedida, verifique se seus status aparecem na sua linha do tempo do perfil. Para arquivos grandes, considere importar em lotes dividindo o arquivo outbox.json em arrays menores. Como dica avançada, use o endpoint da API do Mastodon POST /api/v1/import com um token Bearer para importações programáticas se a interface web continuar falhando.

ADVERTISEMENT