로컬 ActivityPub 액터가 키페어 없이 생성되고 있습니다

포스트가 Mastodon으로 연동(federate)되지 않는 방법을 모르겠습니다. 액터(actors)를 팔로우는 건 잘 되는데, Discourse가 포스트를 전달하려고 할 때 로그에 이런 에러가 발생합니다:

[Discourse Activity Pub] https://discuss.privacyguides.net/ap/actor/a93549c3c7883784eda700f30de0c96b failed to deliver to https://mstdn.party/users/staff/inbox --- !ruby/hash:ActiveSupport::HashWithIn
[Discourse Activity Pub] POST request to https://mastodon.neat.computer/users/jonah/inbox failed: Expected([200, 201, 202]) <=> Actual(401 Unauthorized)
[Discourse Activity Pub] https://discuss.privacyguides.net/ap/actor/227cc2ddaa4ded69c2a58214031da3ce failed to deliver to https://mastodon.neat.computer/users/jonah/inbox --- !ruby/hash:ActiveSupport:
[Discourse Activity Pub] POST request to https://mstdn.party/users/staff/inbox failed: Expected([200, 201, 202]) <=> Actual(401 Unauthorized) 

설정에서 Activity pub require signed requests를 비활성화하고 로깅을 활성화했으며, 그 외 설정은 모두 기본값 그대로입니다. 해당 Mastodon 인스턴스는 Cloudflare 뒤에 있지만, Cloudflare가 요청을 차단하는 것은 아니며, mastodon-web 서비스 로그를 보면 Mastodon 자체에서 401 코드를 반환하고 있는 것을 확인할 수 있습니다(다만, 그 이유를 확인하기 위해 Mastodon 로그의 상세 수준을 높이는 방법은 모르겠습니다).

이런 일이 발생하는 이유가 있을까요?

수정: Mastodon이 HTTP 서명을 싫어하는 것 같습니다. 다만 이 인스턴스는 Authorized Fetch가 활성화되어 있지 않습니다:

Mar 08 16:47:07 neat-mastodon bundle[3119591]: D, [2025-03-08T16:47:07.963455 #3119591] DEBUG -- : [e6b2bc50-09e1-464e-a937-4c43ef32bd99] Signature verification failed: Request not signed
Mar 08 16:47:07 neat-mastodon bundle[3119591]: I, [2025-03-08T16:47:07.964520 #3119591]  INFO -- : [e6b2bc50-09e1-464e-a937-4c43ef32bd99] method=POST path=/users/jonah/inbox format=html controller=ActivityPub::InboxesController action=create status=401 allocations=1256 duration=9.15 view=0.69 db=1.86

수정 2: 제 Discourse 사용자의 인박스(inbox)에 접근할 수 없는 것 같습니다: https://verify.funfedi.dev/?actor_uri=jonah%40discuss.privacyguides.net

    "Resolving acct:jonah@discuss.privacyguides.net using webfinger",
    "Resolved to https://discuss.privacyguides.net/ap/actor/227cc2ddaa4ded69c2a58214031da3ce",
    "Running verification for alice",
    "Got inbox None", [...]

그룹 액터의 경우엔 예상대로 잘 작동합니다: https://verify.funfedi.dev/?actor_uri=articles%40discuss.privacyguides.net :thinking:

수정 3: https://discuss.privacyguides.net/ap/actor/227cc2ddaa4ded69c2a58214031da3ce에 대한 GET 요청의 경우

{
    "id": "https://discuss.privacyguides.net/ap/actor/227cc2ddaa4ded69c2a58214031da3ce",
    "type": "Person",
    "updated": "2025-03-08T06:34:19Z",
    "url": "https://discuss.privacyguides.net/u/jonah",
    "name": "Jonah Aragon",
    "inbox": null,
    "outbox": null,
    "sharedInbox": "https://discuss.privacyguides.net/ap/users/inbox",
    "followers": "https://discuss.privacyguides.net/ap/actor/227cc2ddaa4ded69c2a58214031da3ce/followers",
    "preferredUsername": "jonah",
    "icon": {
        "type": "Image",
        "mediaType": "image/png",
        "url": "https://forum-cdn.privacyguides.net/user_avatar/discuss.privacyguides.net/jonah/96/8151_2.png"
    },
    "@context": "https://www.w3.org/ns/activitystreams"
}

Hey @JonahAragon1, 함께 해결 방법을 찾아볼게요.

테스트하기 전에 비활성화했나요? 아니면 후에 비활성화했나요? 전에 비활성화했다면, 활성화해 보세요.

더 넓은 범위에서 말씀드리자면, 다양한 케이스를 더 쉽게 진단할 수 있도록 더 나은 오류 응답 메시지 로깅을 추가하려고 했습니다. 그 일환으로 PR을 올렸습니다.

해당 PR이 병합된 후에 한 번 더 시도해 주시고, 동일한 로그를 공유해 주시면 감사하겠습니다.

문제가 사용자 수신함이 생성되지 않는 것임을 파악했기 때문에, 이제 해당 설정을 다시 활성화했습니다. 플러그인을 업데이트하겠습니다 :+1:

담론의 행위자(Person Actors)로, 현재 사용자에게 개별 받은 편지함이 제공되지 않습니다. Mastodon은 sharedInbox를 사용하며 이를 이해합니다. 다른 문제가 있는 것으로 보입니다.

로그 기록을 제외하고 모든 설정이 기본값으로 되돌아갔습니다:

[Discourse Activity Pub] POST request to https://mastodon.neat.computer/users/jonah/inbox failed: {"error":"Request not signed"}
backtrace
activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:130:in `block in warn'

activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `block in dispatch'

activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `each'

activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `dispatch'

activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:130:in `warn'

/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/logger.rb:26:in `log'

/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/logger.rb:63:in `warn'

/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/request.rb:66:in `rescue in perform'

/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/request.rb:48:in `perform'

/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/request.rb:44:in `post_json_ld'

/var/www/discourse/plugins/discourse-activity-pub/app/jobs/discourse_activity_pub_deliver.rb:34:in `perform_request'

/var/www/discourse/plugins/discourse-activity-pub/app/jobs/discourse_activity_pub_deliver.rb:15:in `execute'

/var/www/discourse/app/jobs/base.rb:316:in `block (2 levels) in perform'

rails_multisite-6.1.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'
rails_multisite-6.1.0/lib/rails_multisite/connection_management.rb:21:in `with_connection'
/var/www/discourse/app/jobs/base.rb:303:in `block in perform'

/var/www/discourse/app/jobs/base.rb:299:in `each'

/var/www/discourse/app/jobs/base.rb:299:in `perform'

sidekiq-7.3.9/lib/sidekiq/processor.rb:220:in `execute_job'

sidekiq-7.3.9/lib/sidekiq/processor.rb:185:in `block (4 levels) in process'

sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:180:in `traverse'

sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'

/var/www/discourse/lib/sidekiq/pausable.rb:132:in `call'

sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182:in `traverse'

sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'

sidekiq-7.3.9/lib/sidekiq/job/interrupt_handler.rb:9:in `call'

sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182:in `traverse'

sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'

sidekiq-7.3.9/lib/sidekiq/metrics/tracking.rb:26:in `track'

sidekiq-7.3.9/lib/sidekiq/metrics/tracking.rb:134:in `call'

sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182:in `traverse'

sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:173:in `invoke'

sidekiq-7.3.9/lib/sidekiq/processor.rb:184:in `block (3 levels) in process'

sidekiq-7.3.9/lib/sidekiq/processor.rb:145:in `block (6 levels) in dispatch'

sidekiq-7.3.9/lib/sidekiq/job_retry.rb:118:in `local'

sidekiq-7.3.9/lib/sidekiq/processor.rb:144:in `block (5 levels) in dispatch'

sidekiq-7.3.9/lib/sidekiq/config.rb:39:in `block in <class:Config>'

sidekiq-7.3.9/lib/sidekiq/processor.rb:139:in `block (4 levels) in dispatch'

sidekiq-7.3.9/lib/sidekiq/processor.rb:281:in `stats'

sidekiq-7.3.9/lib/sidekiq/processor.rb:134:in `block (3 levels) in dispatch'

sidekiq-7.3.9/lib/sidekiq/job_logger.rb:15:in `call'

sidekiq-7.3.9/lib/sidekiq/processor.rb:133:in `block (2 levels) in dispatch'

sidekiq-7.3.9/lib/sidekiq/job_retry.rb:85:in `global'

sidekiq-7.3.9/lib/sidekiq/processor.rb:132:in `block in dispatch'

sidekiq-7.3.9/lib/sidekiq/job_logger.rb:40:in `prepare'

sidekiq-7.3.9/lib/sidekiq/processor.rb:131:in `dispatch'

sidekiq-7.3.9/lib/sidekiq/processor.rb:183:in `block (2 levels) in process'

sidekiq-7.3.9/lib/sidekiq/processor.rb:182:in `handle_interrupt'

sidekiq-7.3.9/lib/sidekiq/processor.rb:182:in `block in process'

sidekiq-7.3.9/lib/sidekiq/processor.rb:181:in `handle_interrupt'

sidekiq-7.3.9/lib/sidekiq/processor.rb:181:in `process'

sidekiq-7.3.9/lib/sidekiq/processor.rb:86:in `process_one'

sidekiq-7.3.9/lib/sidekiq/processor.rb:76:in `run'

sidekiq-7.3.9/lib/sidekiq/component.rb:10:in `watchdog'

sidekiq-7.3.9/lib/sidekiq/component.rb:19:in `block in safe_thread'

안녕하세요, Mastodon에서 발생하는 문제는 요청이 서명되지 않았다는 것 같습니다.

Activity pub require signed requests를 다시 활성화한 후에 생성된 로그 항목인지 확인해 보셨나요?

네, 맞습니다.

이 문제에 대해 다시 한번 말씀드리지만, Mastodon은 요청 헤더에 서명이 전혀 없을 때 해당 오류를 반환합니다. 따라서 요청이 전송될 때 Activity pub require signed requests가 활성화되어 있었을 가능성은 낮아 보입니다. 완전히 새로운 POST 요청을 트리거해 주실 수 있을까요?

아, 문제는 Cloudflare가 요청에서 헤더를 제거하고 있다는 것인 것 같습니다.

네, 설정이 기본값으로 유지된 상태에서 해당 설정이 활성화되어 있을 때 발생하는 오류입니다.

[Discourse Activity Pub] POST request to https://mstdn.party/users/staff/inbox failed: {"error":"Request not signed"}
10:40 am
[Discourse Activity Pub] https://discuss.privacyguides.net/ap/actor/227cc2ddaa4ded69c2a58214031da3ce failed to deliver to https://mstdn.party/users/staff/inbox --- !ruby/hash:ActiveSupport::HashWithIn
10:40 am
[Discourse Activity Pub] POST request to https://mastodon.neat.computer/users/jonah/inbox failed: {"error":"Request not signed"}
10:40 am
[Discourse Activity Pub] https://discuss.privacyguides.net/ap/actor/227cc2ddaa4ded69c2a58214031da3ce failed to deliver to https://mastodon.neat.computer/users/jonah/inbox --- !ruby/hash:ActiveSupport:
10:40 am
[Discourse Activity Pub] POST request to https://social.lol/users/jonah/inbox failed: {"error":"Request not signed"}
10:40 am
[Discourse Activity Pub] https://discuss.privacyguides.net/ap/actor/227cc2ddaa4ded69c2a58214031da3ce failed to deliver to https://social.lol/users/jonah/inbox --- !ruby/hash:ActiveSupport::HashWithInd 

(social.lol은 Cloudflare 뒤에도, 포럼도 Cloudflare 뒤에도 있지 않다는 점을 참고해 주세요.)

수정: 작동하는 것으로 알려진 Mastodon 계정에서 @videos@discuss.privacyguides.net을 팔로우하고 싶으시다면 알려주세요. 포럼에서 게시물을 다시 전송해 드리겠습니다.

좋아요, 그 액터로 새 게시물을 만들어 주세요.

게시물을 제대로 받으셨나요? 받으신 것 같기도 하네요.

 2
[Discourse Activity Pub] https://angus.ngrok.io/ap/actor/0eafb34c67153d61db44234de294a98d/inbox 에 대한 POST 요청 실패: {"errors":["Request not signed"]}
10:56 am
2
[Discourse Activity Pub] https://discuss.privacyguides.net/ap/actor/227cc2ddaa4ded69c2a58214031da3ce 가 https://angus.ngrok.io/ap/actor/0eafb34c67153d61db44234de294a98d/inbox 로 전달 실패 --- !ru
10:56 am
[Discourse Activity Pub] https://discuss.privacyguides.net/ap/actor/705b7513d0446e001d7f750115e6395f 가 https://mstdn.party/users/staff/inbox 로 전달 성공 --- !ruby/hash:ActiveSupport::HashW
11:00 am
[Discourse Activity Pub] https://discuss.privacyguides.net/ap/actor/705b7513d0446e001d7f750115e6395f 가 https://social.lol/users/jonah/inbox 로 전달 성공 --- !ruby/hash:ActiveSupport::HashWi
11:00 am
[Discourse Activity Pub] https://discuss.privacyguides.net/ap/actor/705b7513d0446e001d7f750115e6395f 가 https://mastodon.neat.computer/users/jonah/inbox 로 전달 성공 --- !ruby/hash:ActiveSup
11:00 am
3
[Discourse Activity Pub] https://discuss.privacyguides.net/ap/actor/227cc2ddaa4ded69c2a58214031da3ce 가 https://mstdn.party/users/staff/inbox 로 전달 실패 --- !ruby/hash:ActiveSupport::HashWithIn
11:01 am
3
[Discourse Activity Pub] https://discuss.privacyguides.net/ap/actor/227cc2ddaa4ded69c2a58214031da3ce 가 https://social.lol/users/jonah/inbox 로 전달 실패 --- !ruby/hash:ActiveSupport::HashWithInd
11:01 am
3
[Discourse Activity Pub] https://discuss.privacyguides.net/ap/actor/227cc2ddaa4ded69c2a58214031da3ce 가 https://mastodon.neat.computer/users/jonah/inbox 로 전달 실패 --- !ruby/hash:ActiveSupport:
11:01 am
2
[Discourse Activity Pub] https://discuss.privacyguides.net/ap/actor/227cc2ddaa4ded69c2a58214031da3ce 가 https://mstdn.party/users/staff/inbox 로 전달 실패 --- !ruby/hash:ActiveSupport::HashWithIn
11:01 am
2
[Discourse Activity Pub] https://discuss.privacyguides.net/ap/actor/227cc2ddaa4ded69c2a58214031da3ce 가 https://mastodon.neat.computer/users/jonah/inbox 로 전달 실패 --- !ruby/hash:ActiveSupport:
11:01 am
2
[Discourse Activity Pub] https://discuss.privacyguides.net/ap/actor/227cc2ddaa4ded69c2a58214031da3ce 가 https://social.lol/users/jonah/inbox 로 전달 실패 --- !ruby/hash:ActiveSupport::HashWithInd
11:01 am
[Discourse Activity Pub] https://discuss.privacyguides.net/ap/actor/227cc2ddaa4ded69c2a58214031da3ce 가 https://angus.ngrok.io/ap/actor/0eafb34c67153d61db44234de294a98d/inbox 로 전달 성공 --
11:01 am
[Discourse Activity Pub] https://discuss.privacyguides.net/ap/actor/227cc2ddaa4ded69c2a58214031da3ce 가 https://angus.ngrok.io/ap/actor/0eafb34c67153d61db44234de294a98d/inbox 로 전달 성공 --
11:01 am
[Discourse Activity Pub] https://discuss.privacyguides.net/ap/actor/705b7513d0446e001d7f750115e6395f 가 https://angus.ngrok.io/ap/actor/0eafb34c67153d61db44234de294a98d/inbox 로 전달 성공 --
11:01 am
[Discourse Activity Pub] https://discuss.privacyguides.net/ap/actor/a93549c3c7883784eda700f30de0c96b 가 https://angus.ngrok.io/ap/actor/0eafb34c67153d61db44234de294a98d/inbox 로 전달 성공 --
11:02 am
2
[Discourse Activity Pub] https://discuss.privacyguides.net/ap/actor/a93549c3c7883784eda700f30de0c96b 가 https://mstdn.party/users/staff/inbox 로 전달 실패 --- !ruby/hash:ActiveSupport::HashWithIn
11:02 am
2
[Discourse Activity Pub] https://discuss.privacyguides.net/ap/actor/a93549c3c7883784eda700f30de0c96b 가 https://mastodon.neat.computer/users/jonah/inbox 로 전달 실패 --- !ruby/hash:ActiveSupport:
11:02 am
2
[Discourse Activity Pub] https://discuss.privacyguides.net/ap/actor/a93549c3c7883784eda700f30de0c96b 가 https://social.lol/users/jonah/inbox 로 전달 실패 --- !ruby/hash:ActiveSupport::HashWithInd
11:02 am
15
[Discourse Activity Pub] https://mastodon.neat.computer/users/jonah/inbox 에 대한 POST 요청 실패: {"error":"Request not signed"}
11:02 am
12
[Discourse Activity Pub] https://social.lol/users/jonah/inbox 에 대한 POST 요청 실패: {"error":"Request not signed"}
11:02 am
[Discourse Activity Pub] https://discuss.privacyguides.net/ap/actor/227cc2ddaa4ded69c2a58214031da3ce 가 https://mastodon.neat.computer/users/jonah/inbox 로 전달 실패 --- !ruby/hash:ActiveSupport:
11:02 am
[Discourse Activity Pub] https://discuss.privacyguides.net/ap/actor/227cc2ddaa4ded69c2a58214031da3ce 가 https://social.lol/users/jonah/inbox 로 전달 실패 --- !ruby/hash:ActiveSupport::HashWithInd
11:02 am
[Discourse Activity Pub] https://angus.ngrok.io/ap/actor/0eafb34c67153d61db44234de294a98d/inbox 에 대한 POST 요청 실패: The endpoint angus.ngrok.io is offline. ERR_NGROK_3200
11:02 am
[Discourse Activity Pub] https://discuss.privacyguides.net/ap/actor/227cc2ddaa4ded69c2a58214031da3ce 가 https://angus.ngrok.io/ap/actor/0eafb34c67153d61db44234de294a98d/inbox 로 전달 실패 --- !ru
11:02 am
16
[Discourse Activity Pub] https://mstdn.party/users/staff/inbox 에 대한 POST 요청 실패: {"error":"Request not signed"}
11:02 am
2
[Discourse Activity Pub] https://discuss.privacyguides.net/ap/actor/227cc2ddaa4ded69c2a58214031da3ce 가 https://mstdn.party/users/staff/inbox 로 전달 실패 --- !ruby/hash:ActiveSupport::HashWithIn
11:02 am 

@JonahAragon1와 저는 이 문제를 채팅으로 논의했으며, 문제는 로컬 User Actor가 어떤 방식으로든 키 페어 없이 생성되고 있다는 것입니다.

@JonahAragon1 몇 가지를 테스트해 보고 다시 알려드리겠습니다.

JonahAragon1님, 안녕하세요.

포럼에서 이 사용자들 사이에 어떤 차이가 있는지, 떠오르는 점이 있나요?

Shampoo와 Bhaelros를 위한 키는 생성되었지만, basenote와 jonah를 위한 키는 생성되지 않았습니다. 귀하의 사이트에서 이 두 그룹의 사용자 사이에 공통된 차이가 있나요?

음, 아니요. 그 이유를 생각해 내기 어렵습니다. jonah는 관리자(admin)이지만, 나머지는 일반 사용자입니다.

기타.

Bhaelros와 basenote는 둘 다 Trust Level 3 Regular이므로 동일해야 합니다.

basenote와 jonah에게는 생성되지 않았는데 Shampoo에게는 inbox/outbox가 생성된 것이 이상합니다. 따라서 ensure_keys도 ensure_inbox_and_outbox도 작동하지 않는 것 같습니다:

GET https://discuss.privacyguides.net/ap/actor/310a0986b6bf613b61ca5e85a8521ecb

{
    "id": "https://discuss.privacyguides.net/ap/actor/310a0986b6bf613b61ca5e85a8521ecb",
    "type": "Person",
    "updated": "2025-03-11T17:58:08Z",
    "url": "https://discuss.privacyguides.net/u/Shampoo",
    "inbox": "https://discuss.privacyguides.net/ap/actor/310a0986b6bf613b61ca5e85a8521ecb/inbox",
    "outbox": "https://discuss.privacyguides.net/ap/actor/310a0986b6bf613b61ca5e85a8521ecb/outbox",
    "sharedInbox": "https://discuss.privacyguides.net/ap/users/inbox",
    "followers": "https://discuss.privacyguides.net/ap/actor/310a0986b6bf613b61ca5e85a8521ecb/followers",
    "preferredUsername": "Shampoo",
    "publicKey": {
        "id": "https://discuss.privacyguides.net/ap/actor/310a0986b6bf613b61ca5e85a8521ecb#main-key",
        "owner": "https://discuss.privacyguides.net/ap/actor/310a0986b6bf613b61ca5e85a8521ecb",
        "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAleqeCRZW1utTN/L5GjkY\n+2Baron4FnSKRMKW70IWfqI4rs8dfh2xhKW5qXxaBPhXf13FAOJvQvFhQ90eqRrn\nKkuMsntZN0dfpDUZ3E0iIp8fuUEVk2PmquLziiy9+zu8n5ak65lJKDYnKVtFth5G\nFJyUt6GYicY8UlUh6dPxafJ/gw6YTlvT3hO0X0H0L+hYwqHJpppl6niSDi6WQzME\nWM1hyBpv2Y2NspEexrkSVh+SIR3nJ8J1R+o+2bLJ4Hl34nYhtNyTy9AOddoQYDMw\nICZAkCLQDweid50fGakWmRB5EXfL6s2EdzEh8MOE7cyCOXgFrxTJYUTwg5TiLEQY\npQIDAQAB\n-----END PUBLIC KEY-----\n"
    },
    "icon": {
        "type": "Image",
        "mediaType": "image/png",
        "url": "https://forum-cdn.privacyguides.net/user_avatar/discuss.privacyguides.net/shampoo/96/4073_2.png"
    },
    "@context": "https://www.w3.org/ns/activitystreams"
}

GET https://discuss.privacyguides.net/ap/actor/a93549c3c7883784eda700f30de0c96b

{
    "id": "https://discuss.privacyguides.net/ap/actor/a93549c3c7883784eda700f30de0c96b",
    "type": "Person",
    "updated": "2025-03-08T06:34:19Z",
    "url": "https://discuss.privacyguides.net/u/basenote",
    "inbox": null,
    "outbox": null,
    "sharedInbox": "https://discuss.privacyguides.net/ap/users/inbox",
    "followers": "https://discuss.privacyguides.net/ap/actor/a93549c3c7883784eda700f30de0c96b/followers",
    "preferredUsername": "basenote",
    "icon": {
        "type": "Image",
        "mediaType": "image/png",
        "url": "https://forum-cdn.privacyguides.net/user_avatar/discuss.privacyguides.net/basenote/96/15_2.png"
    },
    "@context": "https://www.w3.org/ns/activitystreams"
}

이러한 액터가 왜 이런 상태가 되었는지 여전히 확실하지 않습니다. 이는 해당 사이트에서만 발생하는 문제입니다. 일반적으로는 액터 키 및 수신함/발신함 생성이 정상적으로 작동합니다. 그럼에도 불구하고, 이 업데이트를 통해 해당 상황이 필요할 때 적절히 해결되도록 보장해야 합니다:

@JonahAragon1 PR이 병합되었습니다. 업데이트를 시도해 보시고, 진행 상황을 알려 주실 수 있을까요?

이 특정 문제는 해결된 것 같지만, 마스토돈에 게시물이 표시되지 않는 일반적인 문제는 여전히 겪고 있습니다.

자세한 내용을 좀 더 공유해 주실 수 있을까요?

네, 이번 주 안에 답변을 달거나 새 게시물을 올릴게요. 지금은 잠시 자리를 비운 상태입니다.

제가 확인한 주요 문제는 카테고리 액터에 의해 부스트된 것으로 표시되지 않는 게시물들입니다(때로는 사용자 액터를 수동으로 검색하면 마스토돈에서 찾을 수 있긴 해요). 그리고 포럼 게시물이 아예 AP에 게시되지 않는 문제도 있습니다. 또한 이전에는 문제가 없었던 새 카테고리 액터 팔로우 기능도 지금은 작동하지 않아요. 여기를 보면 팔로워 항목에 결과가 없다고 나와 있습니다.

AP가 활성화된 카테고리에서 메타에 있는 많은 게시물이 AP에 게시되지 않았음을 나타내는 표시(이 게시물처럼)가 있는 것을 확인했습니다. 그래서 이 기능이 어떻게 작동해야 하는지 제가 제대로 이해하지 못하는 건지 모르겠네요…

이런 문제들에 대해 로그에서 명확한 에러를 발견하지 못했습니다. 성공적인 로그 알림을 보면 모든 것이 정상적으로 작동하는 것처럼 생각되거든요. 시간 여유가 있을 때 더 자세히 살펴봐야 할 것 같습니다.