Complemento ActivityPub

Problema

Hola, estamos probando este plugin en agora.eXO.cat y no conseguimos que funcione (el estado en la web de discourse dice “Note was not published via ActivityPub”, otras aplicaciones fediverse no encuentran el actor)

¿Hay algo en particular que debamos tener en cuenta? La documentación no señala nada en particular para la resolución de problemas y los logs (ver abajo) no nos ayudan más :-(.

Configuración

Versión del plugin: 79da1c2

Estamos usando una subcategoría pública, que queremos publicar en el fediverso.

La configuración es sencilla, no hemos cambiado nada excepto:

  • Tiempo de programación reducido a 1 minuto para pruebas
  • Selección del nombre de actor y nombre para mostrar de la categoría

Algunas cosas que hemos intentado:

  • Habilitar “activity pub object logging” y revisar los logs
  • Parchear la línea que producía el error, ya que nos daba la impresión de “el huevo y la gallina” (“quizás no se puede programar una publicación porque no hay destinatarios, no se creará el actor hasta que se cree la publicación”)
> ./launcher enter app
> sed -i.orig -E 's!^(.*no recip.*)$!#\\1!' /var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb
> ./launcher restart app
  • Cuando ese parche no funcionó, lo eliminamos
  • Borrar y volver a crear la categoría para que no haya caracteres “especiales” en ningún sitio (la palabra es en realidad exofàsia, que queremos escribir: eXOfàsia)
  • Al recrear la categoría, usar Note (predeterminado) en lugar de Article (lo que queremos)

Logs

Mensaje

[Discourse Activity Pub] eXOfàsia - Àgora de l'eXO failed to schedule https://agora.exo.cat/ap/activity/803be329c95f67b5ab62d43c7c61f6f3 for delivery: no recipients

Backtrace

/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:93:in log_failure' /var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:35:in can_deliver?’
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:13:in perform' /var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:27:in perform’
/var/www/discourse/plugins/discourse-activity-pub/app/models/concerns/discourse_activity_pub/ap/model_callbacks.rb:140:in activity_pub_deliver_activity' /var/www/discourse/plugins/discourse-activity-pub/app/models/concerns/discourse_activity_pub/ap/model_callbacks.rb:38:in perform_activity_pub_activity’
/var/www/discourse/plugins/discourse-activity-pub/plugin.rb:473:in block (2 levels) in activate!' /var/www/discourse/lib/plugin/instance.rb:341:in public_send’
/var/www/discourse/lib/plugin/instance.rb:341:in block (2 levels) in add_to_class' /var/www/discourse/plugins/discourse-activity-pub/plugin.rb:654:in block (2 levels) in activate!’

Env

HTTP HOSTS: agora.exo.cat

Mensaje

[Discourse Activity Pub] eXOfàsia - Àgora de l'eXO failed to schedule https://agora.exo.cat/ap/activity/30d34f8b38be0d2d5bc997fd4147c5b2 for delivery: no recipients

Backtrace

/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:93:in log_failure' /var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:35:in can_deliver?’
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:13:in perform' /var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:27:in perform’
/var/www/discourse/plugins/discourse-activity-pub/app/models/concerns/discourse_activity_pub/ap/model_callbacks.rb:140:in activity_pub_deliver_activity' /var/www/discourse/plugins/discourse-activity-pub/app/models/concerns/discourse_activity_pub/ap/model_callbacks.rb:38:in perform_activity_pub_activity’
/var/www/discourse/plugins/discourse-activity-pub/plugin.rb:473:in block (2 levels) in activate!' /var/www/discourse/lib/plugin/instance.rb:341:in public_send’
/var/www/discourse/lib/plugin/instance.rb:341:in block (2 levels) in add_to_class' /var/www/discourse/plugins/discourse-activity-pub/plugin.rb:481:in block (2 levels) in activate!’

Env

HTTP HOSTS: agora.exo.cat

Webfinger

Y esto es lo que devuelve un webfinger:

> curl -L 'https://agora.eXO.cat/.well-known/webfinger?resource=acct:exofasia@agora.exo.cat'
{"subject":"acct:exofasia@agora.exo.cat","aliases":["https://agora.exo.cat/c/exo/exofasia/33"],"links":[{"rel":"self","type":"application/activity+json","href":"https://agora.exo.cat/ap/actor/31cb67a1093eca932caaf1e764814bde"}]}
2 Me gusta