Activitypub과 도메인 변경

더 이상 마스토돈/페더버스 계정에서 어떤 ActivityPub 게시물도 수신되지 않는 것 같습니다.

포럼을 https://club.tidalcycles.org/ 에서 https://uzu.lurk.org/ 로 이전했는데, 이것이 원인이 아닐까 싶습니다. ActivityPub는 도메인 변경을 전혀 잘 처리하지 못하는 것 같다는 느낌이 듭니다.

Discourse에서 카테고리 ActivityPub 액터 중 하나를 삭제하고 다시 생성한 뒤, 해당 액터에 다시 구독을 신청해 보았지만 여전히 작동하지 않습니다. 게시물이 사용자에게서 온 후 카테고리가 다시 게시(repost)하기 때문일 수도 있습니다.

플러그인과 그 팔로워들을 완전히 초기화해야 하는지, 만약 그렇다면 그 좋은 방법이 무엇인지 알려 주실 수 있을까요?

네, 제가 볼 수 있는 한 플러그인에는 현재 도메인 변경 기능이 전혀 없습니다… 그리고 초기화 기능도 없어서 데이터베이스를 직접 들어가서 URL을 수동으로 교체하거나 처음부터 다시 시작해야 합니다. @pmusaraj님이나 @angus님이 앞으로의 최선의 방향에 대해 조언해 주실 수 있을까요?

사이트 URL을 digitallysovereign.org로 변경한 후에도 제가 같은 문제에 직면해 있다는 걸 방금 깨달았습니다.

기존의 Mastodon 또는 다른 곳의 팔로워들은 도메인 변경을 자동으로 알 수 없으므로, 기존 팔로워의 서버에 구 actor URL이 캐시되어 있기 때문에 플러그인을 제거하고 다시 설치한 뒤 모든 actor를 재생성해야 하는 것 같습니다. 우회책이 실제로는 없는 것 같습니다.

저는 아직 팔로워가 두 명뿐이어서 제거 후 재설치는 어려운 일이 아닙니다.

수정: 플러그인을 제거하고 다시 설치해도 플러그인 데이터는 삭제되지 않는다는 걸 잊고 있었습니다. 이 rails 명령어가 문제를 해결했습니다.

tables = [
  "discourse_activity_pub_actors",
  "discourse_activity_pub_follows",
  "discourse_activity_pub_activities",
  "discourse_activity_pub_attachments",
  "discourse_activity_pub_authorizations",
  "discourse_activity_pub_clients",
  "discourse_activity_pub_collections",
  "discourse_activity_pub_logs",
  "discourse_activity_pub_objects"
]

ActiveRecord::Base.connection.execute("TRUNCATE #{tables.join(', ')} CASCADE")
puts "All ActivityPub tables cleared!"

수정 2: 위의 rails 명령어를 실행하고 actor를 재생성하면 작동한다는 것을 확인했습니다. 플러그인을 제거하고 다시 설치할 필요가 없었습니다.