Error ‘failed to fetch’ en la línea de tiempo federada de Mastodon: pasos para solucionarlo
🔍 WiseChecker

Error ‘failed to fetch’ en la línea de tiempo federada de Mastodon: pasos para solucionarlo

Cuando abres la línea de tiempo federada en Mastodon y ves un error persistente Failed to fetch, tu cliente no puede alcanzar los servidores remotos que alojan publicaciones de otras instancias. Este error suele aparecer porque tu instancia bloquea las conexiones salientes a ciertos servidores remotos, o porque esos servidores han limitado la velocidad o bloqueado tu instancia en respuesta. En este artículo, aprenderás las causas exactas de este error y las soluciones paso a paso que restauran tu línea de tiempo federada.

Puntos clave: Cómo solucionar el error de carga de la línea de tiempo federada

  • Administración > Federación > Bloqueos de dominio: Comprueba si tu instancia ha bloqueado el servidor remoto al que intentas acceder.
  • Administración > Sidekiq > Reintentos: Inspecciona y borra los trabajos en segundo plano atascados que no logran obtener contenido remoto.
  • Tu propia cuenta de Mastodon > Preferencias > Filtros: Verifica que ningún filtro personalizado oculte líneas de tiempo completas por accidente.

ADVERTISEMENT

Por qué la línea de tiempo federada no logra obtener publicaciones remotas

Las instancias de Mastodon se comunican entre sí mediante el protocolo ActivityPub. Cuando abres la línea de tiempo federada, tu instancia envía una solicitud a cada servidor remoto cuyas publicaciones ha almacenado previamente o que se mencionan en publicaciones locales. Si alguno de esos servidores remotos no está disponible, la solicitud completa de la línea de tiempo puede fallar.

La causa raíz casi siempre es una de estas tres cosas:

Conexión saliente bloqueada por tu instancia

Los administradores de la instancia pueden bloquear dominios completos a nivel de servidor. Si un servidor remoto está bloqueado, tu instancia no le enviará ninguna solicitud. El cliente entonces muestra Failed to fetch porque los datos de la línea de tiempo de ese servidor nunca llegan.

El servidor remoto limita la velocidad o bloquea tu instancia

Las instancias grandes a veces limitan la velocidad o bloquean instancias más pequeñas que envían demasiadas solicitudes. Si tu instancia está en la lista de bloqueo de un servidor remoto, ese servidor rechazará las conexiones. La carga de la línea de tiempo falla para las publicaciones de ese servidor específico.

Trabajos en segundo plano atascados en Sidekiq

Mastodon usa Sidekiq para procesar tareas en segundo plano, como obtener publicaciones remotas. Si un trabajo se atasca o falla repetidamente, Sidekiq pondrá en cola los reintentos. Cuando la cola de reintentos se llena, los nuevos trabajos de obtención no pueden iniciarse y la línea de tiempo federada deja de cargarse.

Pasos para eliminar el error Failed to fetch en la línea de tiempo federada

Sigue estos pasos en orden. Cada paso resuelve una causa específica. Prueba la línea de tiempo federada después de cada paso para ver si el error desaparece.

Paso 1: Comprobar los bloqueos de dominio en tu instancia

  1. Abrir el panel de Administración
    Inicia sesión en tu cuenta de Mastodon como administrador. Haz clic en Preferencias en el menú superior derecho, luego selecciona Administración en la barra lateral.
  2. Navegar a Federación > Bloqueos de dominio
    En la sección Administración, haz clic en Federación, luego en Bloqueos de dominio. Verás una lista de todos los dominios que tu instancia bloquea.
  3. Eliminar cualquier bloqueo que afecte a la línea de tiempo federada
    Si ves un dominio que corresponde a un servidor cuyas publicaciones quieres ver, haz clic en el botón Eliminar junto a ese dominio. Confirma la eliminación. La instancia ahora permitirá conexiones salientes a ese servidor.

Paso 2: Borrar los trabajos atascados de Sidekiq

  1. Abrir el panel de Sidekiq
    Ve a https://your-instance.example.com/sidekiq. Es posible que necesites iniciar sesión con tus credenciales de administrador.
  2. Hacer clic en la pestaña Reintentos
    En el panel de Sidekiq, haz clic en Reintentos. Esto muestra todos los trabajos en segundo plano que han fallado y esperan ser reintentados.
  3. Eliminar o reintentar los trabajos atascados
    Si ves muchos reintentos relacionados con la obtención de publicaciones remotas, selecciónalos todos haciendo clic en la casilla de verificación en la parte superior de la lista. Luego haz clic en el botón Eliminar para eliminarlos. Como alternativa, haz clic en Reintentar para forzar un único intento de reintento.
  4. Reiniciar Sidekiq si es necesario
    Si la cola de reintentos está vacía pero el error persiste, reinicia Sidekiq desde la línea de comandos: sudo systemctl restart mastodon-sidekiq. Esto borra cualquier proceso atascado.

Paso 3: Comprobar los filtros de tu cuenta

  1. Abrir las preferencias de tu cuenta
    Haz clic en Preferencias en el menú superior derecho.
  2. Navegar a Filtros
    En la barra lateral, haz clic en Filtros. Verás cualquier filtro personalizado que hayas creado.
  3. Revisar los filtros que se aplican a la línea de tiempo federada
    Si un filtro está configurado para ocultar todas las publicaciones de un servidor específico, puede hacer que la línea de tiempo federada no se cargue. Edita o elimina cualquier filtro que apunte a servidores remotos.

Paso 4: Probar con un cliente o navegador diferente

  1. Abrir la interfaz web de Mastodon en una ventana de navegación privada
    Usa un navegador que no hayas usado antes para Mastodon. Esto descarta problemas de caché local o extensiones.
  2. Iniciar sesión y abrir la línea de tiempo federada
    Si la línea de tiempo se carga correctamente en la ventana privada, borra la caché y las cookies de tu navegador habitual para el dominio de tu instancia.

Paso 5: Contactar al administrador de tu instancia

  1. Enviar un mensaje directo a tu administrador
    Si no eres administrador, envía un mensaje directo al administrador de la instancia explicando que la línea de tiempo federada muestra Failed to fetch. Incluye el mensaje de error exacto y la hora en que comenzó.
  2. Pedirle que revise los registros del servidor
    Los administradores pueden consultar los registros de Mastodon en /var/log/mastodon/ o mediante journalctl: sudo journalctl -u mastodon-web -f. Los registros mostrarán qué servidor remoto causó el fallo.

ADVERTISEMENT

Si la línea de tiempo federada sigue fallando después de la solución principal

La línea de tiempo federada se carga lentamente y luego muestra Failed to fetch

Esto generalmente significa que tu instancia intenta contactar con un servidor remoto que está en línea pero tarda en responder. El cliente de Mastodon agota el tiempo de espera antes de que el servidor responda. La solución es aumentar el valor de tiempo de espera en la configuración de Mastodon. Edita el archivo .env.production y añade o modifica la línea STREAMING_API_TIMEOUT=30. Reinicia el servicio web con sudo systemctl restart mastodon-web.

La línea de tiempo federada funciona para algunos usuarios pero no para otros

Si solo ciertos usuarios ven el error, la causa probablemente sea un filtro por usuario o una extensión del navegador. Pide al usuario afectado que desactive todas las extensiones del navegador y pruebe en una ventana privada. Si el error desaparece, vuelve a habilitar las extensiones una por una para encontrar la culpable.

La línea de tiempo federada muestra Failed to fetch después de una actualización de la instancia

Después de actualizar Mastodon, las tareas de migración en segundo plano pueden ejecutarse durante horas. Durante este tiempo, la línea de tiempo federada puede fallar al obtener nuevas publicaciones. Revisa el panel de Sidekiq para ver una gran cantidad de trabajos programados. Espera a que terminen las migraciones o contacta a tu administrador para comprobar el estado de la migración.

Elemento Línea de tiempo local Línea de tiempo federada
Fuente de datos Solo publicaciones de usuarios de tu instancia Publicaciones de todas las instancias remotas conocidas
Causa común de fallo Servidor local caído o error de base de datos Servidor remoto inaccesible o bloqueado
Método de solución Reiniciar los servicios de Mastodon o reparar la base de datos Eliminar el bloqueo de dominio o borrar los reintentos de Sidekiq
Tiempo de carga Rápido, porque solo se obtienen datos locales Más lento, porque se realizan muchas solicitudes remotas

El error de la línea de tiempo federada Failed to fetch casi siempre se debe a un dominio bloqueado, un trabajo de Sidekiq atascado o un filtro por usuario. Siguiendo los pasos de este artículo, puedes identificar y eliminar el factor de bloqueo. Después de eliminar el error, es posible que quieras revisar la página Administración > Federación > Instancias para ver a qué servidores remotos está conectada actualmente tu instancia. Como consejo avanzado, puedes usar el endpoint de la API de Mastodon /api/v1/timelines/public con el parámetro local=false para probar la línea de tiempo federada directamente desde la línea de comandos usando curl.

ADVERTISEMENT