Plugin ActivityPub

J’ai rencontré un problème. C’est peut-être un cas limite. J’ai configuré une de mes catégories pour utiliser ActivityPub, mais elle n’est pas accessible sur d’autres plateformes comme Mastodon, et les publications ne sont pas fédérées car je ne peux pas accéder à la catégorie et la suivre.

Je pense que cela pourrait être un problème dû à la majuscule “E” dans le nom d’utilisateur. Events@bayofislands.community

J’ai une autre catégorie fédérée qui fonctionne bien. Vous pouvez la voir en action sur

Des suggestions pour que cela fonctionne sans créer une toute nouvelle catégorie d’événements ? Puis-je modifier un ou plusieurs enregistrements dans la base de données pour mettre à jour le nom d’utilisateur de la catégorie ?

Je remarque également que l’URL pour suivre une catégorie ne fonctionne pas sur Mastodon : Log in - Mastodon Newfoundland and Labrador

Merci pour le rapport. Changez le E en minuscule et cela fonctionnera

Je corrigerai ce problème (c’est-à-dire la gestion des lettres majuscules) bientôt.

1 « J'aime »

Pouvons-nous supprimer des abonnés ? J’ai quelques acteurs qui proviennent d’une instance maintenant supprimée et j’aimerais nettoyer les lieux :smirking_face:

Une bonne requête, je l’ajouterai bientôt aussi.

2 « J'aime »

Je ne suis pas sûr qu’il s’agisse d’un problème de casse en fait. Puis-je confirmer ce qui suit :

  1. vous exécutez la dernière version de Discourse ; et
  2. vous exécutez la dernière version du plugin ActivityPub.
1 « J'aime »

J’ai réalisé une chose : l’utilisateur créé par le plugin ActivityPub n’a aucun groupe attribué et n’a aucun e-mail.

Est-il possible d’attribuer des groupes personnalisés aux utilisateurs créés par le plugin ActivityPub ?

3 « J'aime »

Cela a également entraîné un bug où si la catégorie était définie sur TL0, les utilisateurs (lecture seule pour everyone) pouvaient publier, tandis que les utilisateurs AP ne pouvaient pas publier car ils n’avaient pas cette autorisation.

3 « J'aime »

Il y a aussi un bug ici. Si SiteSettings.selectable_avatars_mode est défini, même s’il était défini sur everyone, cela entraînera un manque d’avatars pour l’utilisateur AP.

1 « J'aime »

Ceci est prêt et en attente de révision après la fusion de Tag Actors.

Pas encore. Ce sont des utilisateurs mis en scène, il y a donc quelques limitations. Peut-être un peu plus tard.

Merci pour ce signalement. Je vais examiner ce cas de plus près bientôt. Pour l’instant, vous pouvez définir les permissions de publication sur everyone et cela fonctionnera.

Merci pour ce signalement également. Je vais examiner ce cas de plus près bientôt aussi.

3 « J'aime »

Bonjour, je rencontre ce problème lors de la publication : « aucun destinataire ». Comment puis-je résoudre ce problème ?

[Discourse Activity Pub] https://meta.appinn.net/ap/actor/b04930460474d895289ae0cd3c2ae719 a échoué à planifier https://meta.appinn.net/ap/activity/2ad9bfcc78a9df49efa7b6e9bda454da pour la livraison : aucun destinataire

Journaux :

Message

[Discourse Activity Pub] https://meta.appinn.net/ap/actor/b04930460474d895289ae0cd3c2ae719 a échoué à planifier https://meta.appinn.net/ap/activity/2ad9bfcc78a9df49efa7b6e9bda454da pour la livraison : aucun destinataire

Trace

/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:478:in `block (2 levels) in activate!'
/var/www/discourse/lib/plugin/instance.rb:354:in `public_send'
/var/www/discourse/lib/plugin/instance.rb:354:in `block (2 levels) in add_to_class'
/var/www/discourse/plugins/discourse-activity-pub/plugin.rb:486:in `block (2 levels) in activate!'
/var/www/discourse/lib/plugin/instance.rb:354:in `public_send'
/var/www/discourse/lib/plugin/instance.rb:354:in `block (2 levels) in add_to_class'
/var/www/discourse/plugins/discourse-activity-pub/app/controllers/discourse_activity_pub/post_controller.rb:17:in `schedule'
actionpack-7.0.8.1/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack-7.0.8.1/lib/abstract_controller/base.rb:215:in `process_action'
actionpack-7.0.8.1/lib/action_controller/metal/rendering.rb:165:in `process_action'
actionpack-7.0.8.1/lib/abstract_controller/callbacks.rb:234:in `block in process_action'
activesupport-7.0.8.1/lib/active_support/callbacks.rb:118:in `block in run_callbacks'
/var/www/discourse/app/controllers/application_controller.rb:423:in `block in with_resolved_locale'
i18n-1.14.4/lib/i18n.rb:322:in `with_locale'
/var/www/discourse/app/controllers/application_controller.rb:423:in `with_resolved_locale'
activesupport-7.0.8.1/lib/active_support/callbacks.rb:127:in `block in run_callbacks'
activesupport-7.0.8.1/lib/active_support/callbacks.rb:138:in `run_callbacks'
actionpack-7.0.8.1/lib/abstract_controller/callbacks.rb:233:in `process_action'
actionpack-7.0.8.1/lib/action_controller/metal/rescue.rb:23:in `process_action'
actionpack-7.0.8.1/lib/action_controller/metal/instrumentation.rb:67:in `block in process_action'
activesupport-7.0.8.1/lib/active_support/notifications.rb:206:in `block in instrument'
activesupport-7.0.8.1/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
activesupport-7.0.8.1/lib/active_support/notifications.rb:206:in `instrument'
actionpack-7.0.8.1/lib/action_controller/metal/instrumentation.rb:66:in `process_action'
actionpack-7.0.8.1/lib/action_controller/metal/params_wrapper.rb:259:in `process_action'
activerecord-7.0.8.1/lib/active_record/railties/controller_runtime.rb:27:in `process_action'
actionpack-7.0.8.1/lib/abstract_controller/base.rb:151:in `process'
actionview-7.0.8.1/lib/action_view/rendering.rb:39:in `process'
rack-mini-profiler-3.3.1/lib/mini_profiler/profiling_methods.rb:89:in `block in profile_method'
actionpack-7.0.8.1/lib/action_controller/metal.rb:188:in `dispatch'
actionpack-7.0.8.1/lib/action_controller/metal.rb:251:in `dispatch'
actionpack-7.0.8.1/lib/action_dispatch/routing/route_set.rb:49:in `dispatch'
actionpack-7.0.8.1/lib/action_dispatch/routing/route_set.rb:32:in `serve'
actionpack-7.0.8.1/lib/action_dispatch/journey/router.rb:50:in `block in serve'
actionpack-7.0.8.1/lib/action_dispatch/journey/router.rb:32:in `each'
actionpack-7.0.8.1/lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack-7.0.8.1/lib/action_dispatch/routing/route_set.rb:852:in `call'
railties-7.0.8.1/lib/rails/engine.rb:530:in `call'
railties-7.0.8.1/lib/rails/railtie.rb:226:in `public_send'
railties-7.0.8.1/lib/rails/railtie.rb:226:in `method_missing'
actionpack-7.0.8.1/lib/action_dispatch/routing/mapper.rb:19:in `block in <class:Constraints>'
actionpack-7.0.8.1/lib/action_dispatch/routing/mapper.rb:48:in `serve'
actionpack-7.0.8.1/lib/action_dispatch/journey/router.rb:50:in `block in serve'
actionpack-7.0.8.1/lib/action_dispatch/journey/router.rb:32:in `each'
actionpack-7.0.8.1/lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack-7.0.8.1/lib/action_dispatch/routing/route_set.rb:852:in `call'
/var/www/discourse/lib/middleware/omniauth_bypass_middleware.rb:64:in `call'
rack-2.2.9/lib/rack/tempfile_reaper.rb:15:in `call'
rack-2.2.9/lib/rack/conditional_get.rb:40:in `call'
rack-2.2.9/lib/rack/head.rb:12:in `call'
actionpack-7.0.8.1/lib/action_dispatch/http/permissions_policy.rb:38:in `call'
/var/www/discourse/lib/content_security_policy/middleware.rb:12:in `call'
/var/www/discourse/lib/middleware/anonymous_cache.rb:393:in `call'
/var/www/discourse/lib/middleware/csp_script_nonce_injector.rb:12:in `call'
/var/www/discourse/config/initializers/008-rack-cors.rb:26:in `call'
rack-2.2.9/lib/rack/session/abstract/id.rb:266:in `context'
rack-2.2.9/lib/rack/session/abstract/id.rb:260:in `call'
actionpack-7.0.8.1/lib/action_dispatch/middleware/cookies.rb:704:in `call'
actionpack-7.0.8.1/lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
activesupport-7.0.8.1/lib/active_support/callbacks.rb:99:in `run_callbacks'
actionpack-7.0.8.1/lib/action_dispatch/middleware/callbacks.rb:26:in `call'
actionpack-7.0.8.1/lib/action_dispatch/middleware/debug_exceptions.rb:28:in `call'
actionpack-7.0.8.1/lib/action_dispatch/middleware/show_exceptions.rb:29:in `call'
logster-2.19.1/lib/logster/middleware/reporter.rb:40:in `call'
railties-7.0.8.1/lib/rails/rack/logger.rb:40:in `call_app'
railties-7.0.8.1/lib/rails/rack/logger.rb:27:in `call'
/var/www/discourse/config/initializers/100-quiet_logger.rb:20:in `call'
/var/www/discourse/config/initializers/100-silence_logger.rb:29:in `call'
actionpack-7.0.8.1/lib/action_dispatch/middleware/remote_ip.rb:93:in `call'
actionpack-7.0.8.1/lib/action_dispatch/middleware/request_id.rb:26:in `call'
/var/www/discourse/lib/middleware/enforce_hostname.rb:24:in `call'
rack-2.2.9/lib/rack/method_override.rb:24:in `call'
actionpack-7.0.8.1/lib/action_dispatch/middleware/executor.rb:14:in `call'
rack-2.2.9/lib/rack/sendfile.rb:110:in `call'
actionpack-7.0.8.1/lib/action_dispatch/middleware/host_authorization.rb:131:in `call'
rack-mini-profiler-3.3.1/lib/mini_profiler.rb:191:in `call'
message_bus-4.3.8/lib/message_bus/rack/middleware.rb:60:in `call'
/var/www/discourse/lib/middleware/request_tracker.rb:237:in `call'
railties-7.0.8.1/lib/rails/engine.rb:530:in `call'
railties-7.0.8.1/lib/rails/railtie.rb:226:in `public_send'
railties-7.0.8.1/lib/rails/railtie.rb:226:in `method_missing'
rack-2.2.9/lib/rack/urlmap.rb:74:in `block in call'
rack-2.2.9/lib/rack/urlmap.rb:58:in `each'
rack-2.2.9/lib/rack/urlmap.rb:58:in `call'
unicorn-6.1.0/lib/unicorn/http_server.rb:634:in `process_client'
unicorn-6.1.0/lib/unicorn/http_server.rb:739:in `worker_loop'
unicorn-6.1.0/lib/unicorn/http_server.rb:547:in `spawn_missing_workers'
unicorn-6.1.0/lib/unicorn/http_server.rb:143:in `start'
unicorn-6.1.0/bin/unicorn:128:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/3.2.0/bin/unicorn:25:in `load'
/var/www/discourse/vendor/bundle/ruby/3.2.0/bin/unicorn:25:in `<main>'

Environnement

HTTP HOSTS: meta.appinn.net

Je pense que vous avez besoin de quelqu’un (ou d’un ‘acteur’) pour suivre la catégorie. Voir ceci :

2 « J'aime »

Mais lorsque je suis cette catégorie en utilisant mastodon.social :
[Discourse Activity Pub] La requête POST reçue par https://meta.appinn.net/ap/actor/b04930460474d895289ae0cd3c2ae719/inbox a échoué : 401 Acteur introuvable pour la clé https://mastodon.social/users/Cosmeticclinic#main-key

Est-ce un bug ? (Date invalide)

1 « J'aime »

Une demande de fonctionnalité : Est-il possible de désactiver ou de suspendre les comptes créés par le plugin activitypub ?

Nous avons un utilisateur qui a gravement enfreint nos conditions d’utilisation et a été banni définitivement, mais il s’est réfugié sur un autre forum qui coopère avec nous et, via activitypub, nous pouvons toujours voir ses publications là-bas.

J’ai essayé de le suspendre, mais cela n’a pas fonctionné. (HTTP 422 Unprocessable Content)

2 « J'aime »

Dans le même temps, il semble que les publications avec des images envoyées via activitypub ne se chargent pas correctement

Voici un exemple sur mon forum : OriginalLivré

1 « J'aime »

Merci pour les rapports, j’y jetterai un coup d’œil plus attentivement bientôt.

1 « J'aime »

C’est un plugin vraiment génial - et en effet une partie essentielle du fediverse en plein essor et tout à fait passionnant - c’est vraiment un travail incroyable !

Est-il probable qu’il soit utilisable entre des catégories privées dans différentes instances de Discourse prochainement ? Je sais que c’est un cas d’utilisation assez différent de la fédération ouverte, mais c’est un cas que je peux imaginer être très utile pour faciliter la collaboration dans le contexte de paramètres plus privés / fermés.

2 « J'aime »

J’ai installé le plugin activitypub, et je peux voir qu’il est présent et activé dans les paramètres d’administration. Cependant, lorsque je vais dans les paramètres d’une catégorie, je n’y vois pas de section activitypub. La seule chose un peu inhabituelle est que j’utilise une configuration multisite. Des idées sur ce qui me manque / comment résoudre ce problème sont appréciées !

1 « J'aime »

Juste une note que les catégories privées peuvent actuellement suivre des catégories publiques. Les catégories privées ne peuvent pas être suivies actuellement. Gardez à l’esprit qu’il y a une certaine tension dans l’idée de « suivre » un groupe « privé », et que le concept est controversé dans le Fediverse. Cela dit, il pourrait bien être implémenté, mais ce ne sera pas « bientôt » :slight_smile:

Les paramètres de catégorie ont été déplacés vers Admin > Plugins > ActivityPub. Je mettrai bientôt à jour la documentation dans le message d’origine !

4 « J'aime »

Aha ! J’ai vu quelque chose à ce sujet plus haut, mais je suis allé dans Admin > Plugins et je n’ai pas vu le menu en haut, alors j’ai cliqué sur ActivityPub dans la liste des plugins et je suis revenu ici… Puis j’ai essayé de revenir en arrière et de regarder sous le lien des paramètres… Il serait donc bon de clarifier cela, peut-être avec un lien vers les paramètres de catégorie depuis les paramètres d’ActivityPub.

Quoi qu’il en soit, cela semble fonctionner maintenant, merci !

2 « J'aime »