ActivityPub Plugin

Problem

Hello, we are testing this plugin at agora.eXO.cat and we can’t get it to work (status on discourse’s web says “Note was not published via ActivityPub”, other fediverse apps do not find the actor)

Is there anything particular we should be aware of? Checking the documentation didn’t point to anything particular troubleshooting we can follow and the logs (see below) do not help us further :-(.

Setup

Plugin version: 79da1c2

We are using a public subcategory, which we want to publish to the fediverse.

The settings are straightforward, nothing changed except for:

  • schedule time down to 1 minute for testing
  • picking actor name and display name for the category

Some things we have tried:

  • Enable “activity pub object logging” and check logs
  • Patching out the line that produced the error, since it gave us “chicken and egg” vives (“maybe can’t schedule post because no recipients, will not create actor until post is created”)
tested patch
> ./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
  • When that patch didn’t work, we got rid of it
  • Deleting and re-creating the category so there are no “special” characters anywhere (the word is actually exofàsia, which we want to spell: eXOfàsia)
  • When recreating the category, use Note (default) instead of Article (what we want)

logs

Here is what we see on the logs
Message

[Discourse Activity Pub] https://agora.exo.cat/ap/actor/31cb67a1093eca932caaf1e764814bde 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
The error is consistent when republishing from the interface
Message

[Discourse Activity Pub] https://agora.exo.cat/ap/actor/31cb67a1093eca932caaf1e764814bde 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

And what a webfinger returns:

> 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 Likes