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 deArticle(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"}]}