Activitypub et domaines modifiés

Il semble que je ne récupère plus les publications ActivityPub depuis aucun de mes comptes Mastodon/Fediverse.

J’ai déplacé mon forum de https://club.tidalcycles.org/ vers https://uzu.lurk.org/, et je pense que cela pourrait bien en être la cause. J’ai l’impression qu’ActivityPub ne gère pas du tout bien les changements de domaine.

J’ai essayé de supprimer et de recréer l’un des acteurs ActivityPub de catégorie dans Discourse, puis de me réabonner à celui-ci, mais cela ne fonctionne toujours pas — peut-être parce que la publication provient d’un utilisateur et est ensuite relayée par la catégorie.

Est-ce que je dois réinitialiser complètement le plugin et ses abonnés, et si oui, quelle est la meilleure façon de procéder ?

Effectivement, il n’y a pour l’instant aucune fonctionnalité permettant de changer de domaine dans l’extension, autant que je sache… Et il n’y a pas non plus de fonctionnalité de réinitialisation, donc il faudrait fouiller dans la base de données pour remplacer l’URL manuellement ou repartir de zéro. Peut-être que @pmusaraj ou @angus ont des conseils pour la meilleure façon de procéder ?

Je viens de réaliser que je suis confronté au même problème, après avoir changé l’URL de mon site en digitallysovereign.org.

Il semble qu’il n’y ait effectivement aucun moyen d’éviter de désinstaller et de réinstaller le plugin, ainsi que de recréer tous les acteurs, car les abonnés existants sur Mastodon ou ailleurs ne seront pas automatiquement informés du changement de domaine. Leurs serveurs avaient mis en cache l’ancienne URL de votre acteur.

Je n’avais que deux abonnés pour le moment, donc désinstaller et réinstaller était une évidence.

Edit : j’avais oublié que la désinstallation et la réinstallation ne suppriment pas les données du plugin. Cette commande Rails a fait l’affaire.

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!"