Ao migrar sua conta do Mastodon de uma instância para outra, seus seguidores não seguem automaticamente a nova conta. A transferência depende de uma mensagem ActivityPub específica chamada atividade Move. Muitos usuários esperam que a migração seja instantânea, mas o processo envolve um aperto de mão entre servidores que pode levar horas ou até dias para ser concluído. Este artigo explica exatamente como a atividade Move se propaga pelo fediverso, incluindo as etapas técnicas, o tempo e os pontos comuns de falha.
Principais Conclusões: Como a Atividade Move do Mastodon Viaja Entre Servidores
- Preferências > Conta > Mudar de uma conta diferente: Inicia a atividade Move no servidor antigo, que gera uma mensagem ActivityPub.
- Servidor antigo envia Move para cada servidor de seguidor: A instância antiga enfileira e entrega a atividade Move para cada servidor que hospeda um de seus seguidores.
- Servidor do seguidor processa o Move: O servidor receptor valida os aliases, atualiza a relação de seguir e pode enfileirar a nova conta para busca.
Como a Atividade Move do ActivityPub Funciona no Mastodon
O protocolo ActivityPub define uma atividade Move como uma forma de indicar que um ator (sua conta) se mudou para um novo ator (sua nova conta). O Mastodon implementa isso através de um processo de verificação de alias em duas etapas. Antes que a atividade Move seja enviada, você deve primeiro definir um alias na sua conta antiga apontando para a nova conta, e um alias separado na nova conta apontando de volta para a conta antiga. Esse alias bidirecional garante que apenas o proprietário legítimo de ambas as contas possa iniciar a migração.
Uma vez que os aliases estão definidos, a instância antiga do Mastodon gera um documento JSON-LD em conformidade com a especificação ActivityPub. O documento inclui o campo type definido como Move, o object referenciando a conta antiga e o target referenciando a nova conta. O servidor antigo assina este documento com sua chave privada e o envia para cada servidor que possui um de seus seguidores.
A Fila de Entrega
O Mastodon não envia a atividade Move para todos os servidores simultaneamente. Em vez disso, a instância antiga coloca a mensagem em uma fila de entrega. A fila processa as mensagens uma a uma, respeitando limites de taxa e políticas de repetição. Se o servidor de um seguidor estiver temporariamente inacessível, o Mastodon tenta a entrega novamente até cinco vezes com backoff exponencial. O intervalo inicial de repetição é de 30 segundos, dobrando após cada tentativa falha. Após cinco falhas, o servidor descarta a mensagem e registra o erro. Esse mecanismo de fila é a principal razão pela qual as migrações podem levar horas para serem concluídas para contas com muitos seguidores.
Validação no Lado do Servidor
Quando o servidor de um seguidor recebe a atividade Move, ele realiza várias verificações de validação. Primeiro, verifica a assinatura HTTP para confirmar que a mensagem veio do servidor da conta antiga. Segundo, verifica se a propriedade alsoKnownAs da conta antiga contém a URI da nova conta. Terceiro, verifica se a propriedade alsoKnownAs da nova conta contém a URI da conta antiga. Se todas as três verificações passarem, o servidor atualiza a relação de seguir: ele deixa de seguir a conta antiga e passa a seguir a nova conta. Se alguma verificação falhar, o servidor ignora a atividade Move e registra um aviso.
Etapas que a Atividade Move Segue do Início ao Fim
A propagação da atividade Move envolve uma sequência de ações nos servidores antigo e novo. Siga estas etapas para entender o caminho completo que a mensagem percorre.
- Definir o alias na conta antiga
Na sua conta antiga do Mastodon, vá para Preferências > Conta > Mudar de uma conta diferente. Insira o identificador da sua nova conta (por exemplo,@usuario@novoservidor.social). Isso define a propriedadealsoKnownAsna sua conta antiga. - Definir o alias na nova conta
Faça login na sua nova conta do Mastodon. Vá para Preferências > Conta > Mudar para uma conta diferente. Insira o identificador da sua conta antiga. Isso define a propriedadealsoKnownAsna sua nova conta e completa o alias bidirecional. - Iniciar o Move a partir da conta antiga
Volte para sua conta antiga. Clique no botão Mover seguidores. O servidor antigo gera a atividade Move e a adiciona à fila de entrega. - Servidor antigo entrega o Move para a caixa de entrada de cada seguidor
O servidor antigo itera pela sua lista de seguidores. Para cada servidor único, ele envia uma requisição HTTP POST contendo a atividade Move assinada para o endpoint da caixa de entrada desse servidor. - Servidor do seguidor valida e processa
O servidor receptor verifica as assinaturas e os aliases. Se forem válidos, ele atualiza a relação de seguir. O servidor também busca o perfil público e o avatar da nova conta para armazenar em cache localmente. - Novo servidor recebe solicitações de seguir
À medida que o servidor de cada seguidor processa o Move, ele envia uma atividade Follow padrão para a nova conta. O servidor da nova conta adiciona o seguidor à lista de seguidores da nova conta.
Pontos Comuns de Falha na Propagação da Atividade Move
Mesmo com a configuração correta de alias, a atividade Move pode falhar ao se propagar para todos os seguidores. Entender esses pontos de falha ajuda a diagnosticar problemas rapidamente.
Servidor do Seguidor Rejeita o Move Devido a Alias Ausente
A falha mais comum é um alias ausente ou incorreto. Se você esquecer de definir o alias na nova conta, o servidor receptor não pode verificar a relação bidirecional. O servidor descarta a atividade Move e o seguidor permanece inscrito na conta antiga. Para corrigir isso, verifique se ambas as contas têm a propriedade alsoKnownAs definida inspecionando a representação JSON de cada conta (adicione .json ao URL do perfil).
Servidor Antigo Não Consegue Alcançar o Servidor de um Seguidor
Se o servidor de um seguidor estiver offline, com limite de taxa ou bloqueando o IP do servidor antigo, a entrega falha. O Mastodon tenta novamente cinco vezes, mas se o servidor permanecer inacessível, o Move não é entregue. O seguidor deve manualmente deixar de seguir a conta antiga e seguir a nova conta. Você pode verificar os logs do servidor antigo para erros de entrega. Administradores de servidor podem ajustar o limite de repetições no arquivo de configuração do Mastodon.
Seguidores Perdidos Após Migração de Conta Entre Instâncias
Se os seguidores parecem ter sido perdidos, verifique se a nova conta não está definida como privada. Uma conta privada exige aprovação manual para cada solicitação de seguir. A atividade Move envia uma atividade Follow padrão, que é enfileirada como uma solicitação pendente. O proprietário da nova conta deve aprovar cada seguidor manualmente. Defina a nova conta como pública durante a janela de migração para automatizar esse processo.
Atividade Move do ActivityPub vs. Re-Seguir Manual: Diferenças de Propagação
| Item | Atividade Move do ActivityPub | Re-Seguir Manual |
|---|---|---|
| Iniciação | Servidor antigo envia uma única atividade Move | Cada seguidor deve pesquisar e seguir a nova conta |
| Velocidade de propagação | Minutos a horas dependendo do tamanho da fila | Imediata para cada seguidor que agir |
| Esforço do seguidor | Zero — transferência automática | Alto — cada seguidor deve agir manualmente |
| Confiabilidade | Depende do tempo de atividade do servidor e da correção do alias | Depende da conscientização do seguidor |
| Carga no servidor | Alta — servidor antigo envia N mensagens | Baixa — cada seguidor envia uma atividade Follow |
A atividade Move do ActivityPub automatiza a migração de seguidores, mas introduz dependências no lado do servidor. O re-seguir manual dá controle aos seguidores, mas exige esforço. Para contas com mais de 100 seguidores, a atividade Move é o único método prático.
Agora você pode rastrear exatamente como a atividade Move viaja do seu servidor antigo para o servidor de cada seguidor. Após iniciar a migração, verifique os logs do servidor antigo para confirmações de entrega. Para máximo sucesso, mantenha ambas as contas ativas por 48 horas após a mudança. Um próximo passo prático é verificar a propriedade alsoKnownAs em ambas as contas usando a API do Mastodon antes de clicar no botão Mover.