문제
안녕하세요, agora.eXO.cat에서 이 플러그인을 테스트하고 있는데 작동하지 않습니다 (Discourse 웹에서 상태가 "Note was not published via ActivityPub"라고 표시되고, 다른 Fediverse 앱에서는 액터를 찾을 수 없습니다).
특별히 주의해야 할 점이 있을까요? 문서를 확인해 보았지만 따라야 할 특별한 문제 해결 방법을 찾을 수 없었고, 로그(아래 참조)도 더 이상 도움을 주지 못합니다 :-(.
설정
플러그인 버전: 79da1c2
Fediverse에 게시하기를 원하는 공개 하위 카테고리를 사용하고 있습니다.
설정은 단순하며, 다음을 제외하고는 변경된 것이 없습니다:
- 테스트를 위해 스케줄 시간을 1분으로 설정
- 카테고리에 대한 액터 이름과 표시 이름 선택
시도해 본 몇 가지 사항:
- "activity pub object logging"을 활성화하고 로그 확인
- 오류를 발생시킨 줄을 패치하여 제거함. 이 줄은 “달걀과 닭” 같은 문제를 일으켰기 때문입니다(“수신자가 없어 게시물을 예약할 수 없을 수 있음, 게시물이 생성될 때까지 액터를 생성하지 않음”)
테스트한 패치
> ./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
- 해당 패치가 작동하지 않자 패치를 제거함
- 어딘가에 “특수” 문자가 없도록 카테고리를 삭제하고 다시 생성함 (실제 단어는 exofàsia이며, eXOfà시아로 표기하기를 원함)
- 카테고리를 다시 생성할 때
Article(원하는 값) 대신Note(기본값) 사용
로그
로그에서 확인되는 내용
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
인터페이스에서 다시 게시할 때 오류가 일관되게 발생함
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
그리고 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"}]}