Problema
Olá, estamos testando este plugin em agora.eXO.cat e não conseguimos fazê-lo funcionar (o status na web do Discourse diz “Nota não foi publicada via ActivityPub”, outros aplicativos do fediverso não encontram o ator)
Há algo em particular que devemos ter em mente? Verificar a documentação não apontou nada em particular para solução de problemas que possamos seguir e os logs (veja abaixo) não nos ajudam mais :-(.
Configuração
Versão do plugin: 79da1c2
Estamos usando uma subcategoria pública, que queremos publicar no fediverso.
As configurações são simples, nada mudou exceto por:
- Horário de agendamento reduzido para 1 minuto para testes
- Escolha do nome do ator e nome de exibição para a categoria
Algumas coisas que tentamos:
- Habilitar “activity pub object logging” e verificar os logs
- Corrigir a linha que produziu o erro, pois ela nos deu a sensação de “ovo e galinha” (“talvez não seja possível agendar postagem porque não há destinatários, não criará o ator até que a postagem seja criada”)
patch testado
> ./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
- Quando esse patch não funcionou, o removemos
- Excluir e recriar a categoria para que não haja caracteres “especiais” em lugar nenhum (a palavra é na verdade exofàsia, que queremos soletrar: eXOfàsia)
- Ao recriar a categoria, usar
Note(padrão) em vez deArticle(o que queremos)
Logs
Aqui está o que vemos nos 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
O erro é consistente ao republicar da 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
E o que um webfinger retorna:
> 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"}]}