Plugin ActivityPub

Oui, vous pouvez désormais modifier le preferredUsername des Acteurs. Notez ce qui suit concernant son interopérabilité avec Mastodon :

Le nom d’utilisateur affiché pour l’acteur ne changera pas tant que quelqu’un n’effectuera pas une recherche du nouveau handle. Le suivi / la publication, etc. continueront de fonctionner indépendamment du nom d’utilisateur affiché.

J’espérais que ma PR pour Mastodon serait fusionnée avant de fusionner celle-ci.

Néanmoins, compte tenu des tests d’acceptation démontrant que Mastodon peut effectivement gérer les changements de nom d’utilisateur, et le temps passant, j’ai décidé de procéder.

4 « J'aime »

Thanks @Angus for your response here. I checked the instance that I’m running, and it’s 3.3.2, which seems to be the latest. I also updated the plugin to the latest version, but the error persists. This is the most recent stack trace that I collected from /logs:

Stack trace activemodel (7.1.3.4) lib/active_model/attribute_methods.rb:489:in `method_missing'

plugins/discourse-activity-pub/plugin.rb:368:in `block (2 levels) in activate!’

lib/plugin/instance.rb:376:in `public_send’

lib/plugin/instance.rb:376:in `block (2 levels) in add_to_class’

plugins/discourse-activity-pub/plugin.rb:332:in `block (2 levels) in activate!’

lib/plugin/instance.rb:376:in `public_send’

lib/plugin/instance.rb:376:in `block (2 levels) in add_to_class’

plugins/discourse-activity-pub/plugin.rb:338:in `block (2 levels) in activate!’

lib/plugin/instance.rb:376:in `public_send’

lib/plugin/instance.rb:376:in `block (2 levels) in add_to_class’

plugins/discourse-activity-pub/app/models/discourse_activity_pub_object.rb:107:in `after_scheduled’

plugins/discourse-activity-pub/app/models/discourse_activity_pub_activity.rb:126:in `after_scheduled’

plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:89:in `after_scheduled’

plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:15:in `perform’

plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:27:in `perform’

plugins/discourse-activity-pub/app/models/concerns/discourse_activity_pub/ap/model_callbacks.rb:160:in `block in activity_pub_deliver_activity’

plugins/discourse-activity-pub/app/models/concerns/discourse_activity_pub/ap/model_callbacks.rb:159:in `each’

plugins/discourse-activity-pub/app/models/concerns/discourse_activity_pub/ap/model_callbacks.rb:159:in `activity_pub_deliver_activity’

plugins/discourse-activity-pub/app/models/concerns/discourse_activity_pub/ap/model_callbacks.rb:41:in `perform_activity_pub_activity’

plugins/discourse-activity-pub/plugin.rb:457:in `block (2 levels) in activate!’

lib/plugin/instance.rb:376:in `public_send’

lib/plugin/instance.rb:376:in `block (2 levels) in add_to_class’

plugins/discourse-activity-pub/plugin.rb:664:in `block (2 levels) in activate!’

lib/plugin/instance.rb:576:in `block in on’

lib/discourse_event.rb:12:in `block in trigger’

/home/cloudron/rbenv/versions/3.3.4/lib/ruby/3.3.0/set.rb:501:in `each_key’

/home/cloudron/rbenv/versions/3.3.4/lib/ruby/3.3.0/set.rb:501:in `each’

lib/discourse_event.rb:12:in `trigger’

lib/post_creator.rb:258:in `trigger_after_events’

lib/post_creator.rb:220:in `create’

lib/new_post_manager.rb:318:in `perform_create_post’

lib/new_post_manager.rb:252:in `perform’

app/controllers/posts_controller.rb:215:in `create’

actionpack (7.1.3.4) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action’

actionpack (7.1.3.4) lib/abstract_controller/base.rb:224:in `process_action’

actionpack (7.1.3.4) lib/action_controller/metal/rendering.rb:165:in `process_action’

actionpack (7.1.3.4) lib/abstract_controller/callbacks.rb:259:in `block in process_action’

activesupport (7.1.3.4) lib/active_support/callbacks.rb:121:in `block in run_callbacks’

app/controllers/application_controller.rb:424:in `block in with_resolved_locale’

i18n (1.14.5) lib/i18n.rb:351:in `with_locale’

app/controllers/application_controller.rb:424:in `with_resolved_locale’

activesupport (7.1.3.4) lib/active_support/callbacks.rb:130:in `block in run_callbacks’

activesupport (7.1.3.4) lib/active_support/callbacks.rb:141:in `run_callbacks’

actionpack (7.1.3.4) lib/abstract_controller/callbacks.rb:258:in `process_action’

actionpack (7.1.3.4) lib/action_controller/metal/rescue.rb:25:in `process_action’

actionpack (7.1.3.4) lib/action_controller/metal/instrumentation.rb:74:in `block in process_action’

activesupport (7.1.3.4) lib/active_support/notifications.rb:206:in `block in instrument’

activesupport (7.1.3.4) lib/active_support/notifications/instrumenter.rb:58:in `instrument’

activesupport (7.1.3.4) lib/active_support/notifications.rb:206:in `instrument’

actionpack (7.1.3.4) lib/action_controller/metal/instrumentation.rb:73:in `process_action’

actionpack (7.1.3.4) lib/action_controller/metal/params_wrapper.rb:261:in `process_action’

activerecord (7.1.3.4) lib/active_record/railties/controller_runtime.rb:32:in `process_action’

actionpack (7.1.3.4) lib/abstract_controller/base.rb:160:in `process’

actionview (7.1.3.4) lib/action_view/rendering.rb:40:in `process’

rack-mini-profiler (3.3.1) lib/mini_profiler/profiling_methods.rb:89:in `block in profile_method’

actionpack (7.1.3.4) lib/action_controller/metal.rb:227:in `dispatch’

actionpack (7.1.3.4) lib/action_controller/metal.rb:309:in `dispatch’

actionpack (7.1.3.4) lib/action_dispatch/routing/route_set.rb:49:in `dispatch’

actionpack (7.1.3.4) lib/action_dispatch/routing/route_set.rb:32:in `serve’

actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:51:in `block in serve’

actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:131:in `block in find_routes’

actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:124:in `each’

actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:124:in `find_routes’

actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:32:in `serve’

actionpack (7.1.3.4) lib/action_dispatch/routing/route_set.rb:882:in `call’

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.1.3.4) lib/action_dispatch/http/permissions_policy.rb:36:in `call’

lib/content_security_policy/middleware.rb:12:in `call’

lib/middleware/anonymous_cache.rb:399:in `call’

lib/middleware/csp_script_nonce_injector.rb:12:in `call’

config/initializers/008-rack-cors.rb:14: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.1.3.4) lib/action_dispatch/middleware/cookies.rb:689:in `call’

actionpack (7.1.3.4) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call’

activesupport (7.1.3.4) lib/active_support/callbacks.rb:101:in `run_callbacks’

actionpack (7.1.3.4) lib/action_dispatch/middleware/callbacks.rb:28:in `call’

actionpack (7.1.3.4) lib/action_dispatch/middleware/debug_exceptions.rb:29:in `call’

actionpack (7.1.3.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call’

logster (2.20.0) lib/logster/middleware/reporter.rb:40:in `call’

lib/freedom_patches/rails_rack_logger_from_rails_7_2.rb:35:in `call_app’

lib/freedom_patches/rails_rack_logger_from_rails_7_2.rb:22:in `call’

config/initializers/100-quiet_logger.rb:20:in `call’

config/initializers/100-silence_logger.rb:29:in `call’

actionpack (7.1.3.4) lib/action_dispatch/middleware/request_id.rb:28:in `call’

lib/middleware/enforce_hostname.rb:24:in `call’

rack (2.2.9) lib/rack/method_override.rb:24:in `call’

actionpack (7.1.3.4) lib/action_dispatch/middleware/executor.rb:14:in `call’

actionpack (7.1.3.4) lib/action_dispatch/middleware/static.rb:25:in `call’

rack (2.2.9) lib/rack/sendfile.rb:110: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’

lib/middleware/request_tracker.rb:360:in `call’

actionpack (7.1.3.4) lib/action_dispatch/middleware/remote_ip.rb:92:in `call’

railties (7.1.3.4) lib/rails/engine.rb:536:in `call’

railties (7.1.3.4) lib/rails/railtie.rb:226:in `public_send’

railties (7.1.3.4) 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)>’

vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `load’

vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `<top (required)>’

bundler (2.5.9) lib/bundler/cli/exec.rb:58:in `load’

bundler (2.5.9) lib/bundler/cli/exec.rb:58:in `kernel_load’

bundler (2.5.9) lib/bundler/cli/exec.rb:23:in `run’

bundle activemodel (7.1.3.4) lib/active_model/attribute_methods.rb:489:in method_missing' plugins/discourse-activity-pub/plugin.rb:368:in block (2 levels) in activate!’
lib/plugin/instance.rb:376:in public_send' lib/plugin/instance.rb:376:in block (2 levels) in add_to_class’
plugins/discourse-activity-pub/plugin.rb:332:in block (2 levels) in activate!' lib/plugin/instance.rb:376:in public_send’
lib/plugin/instance.rb:376:in block (2 levels) in add_to_class' plugins/discourse-activity-pub/plugin.rb:338:in block (2 levels) in activate!’
lib/plugin/instance.rb:376:in public_send' lib/plugin/instance.rb:376:in block (2 levels) in add_to_class’
plugins/discourse-activity-pub/app/models/discourse_activity_pub_object.rb:107:in after_scheduled' plugins/discourse-activity-pub/app/models/discourse_activity_pub_activity.rb:126:in after_scheduled’
plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:89:in after_scheduled' plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:15:in perform’
plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:27:in perform' plugins/discourse-activity-pub/app/models/concerns/discourse_activity_pub/ap/model_callbacks.rb:160:in block in activity_pub_deliver_activity’
plugins/discourse-activity-pub/app/models/concerns/discourse_activity_pub/ap/model_callbacks.rb:159:in each' plugins/discourse-activity-pub/app/models/concerns/discourse_activity_pub/ap/model_callbacks.rb:159:in activity_pub_deliver_activity’
plugins/discourse-activity-pub/app/models/concerns/discourse_activity_pub/ap/model_callbacks.rb:41:in perform_activity_pub_activity' plugins/discourse-activity-pub/plugin.rb:457:in block (2 levels) in activate!’
lib/plugin/instance.rb:376:in public_send' lib/plugin/instance.rb:376:in block (2 levels) in add_to_class’
plugins/discourse-activity-pub/plugin.rb:664:in block (2 levels) in activate!' lib/plugin/instance.rb:576:in block in on’
lib/discourse_event.rb:12:in block in trigger' /home/cloudron/rbenv/versions/3.3.4/lib/ruby/3.3.0/set.rb:501:in each_key’
/home/cloudron/rbenv/versions/3.3.4/lib/ruby/3.3.0/set.rb:501:in each' lib/discourse_event.rb:12:in trigger’
lib/post_creator.rb:258:in trigger_after_events' lib/post_creator.rb:220:in create’
lib/new_post_manager.rb:318:in perform_create_post' lib/new_post_manager.rb:252:in perform’
app/controllers/posts_controller.rb:215:in create' actionpack (7.1.3.4) lib/action_controller/metal/basic_implicit_render.rb:6:in send_action’
actionpack (7.1.3.4) lib/abstract_controller/base.rb:224:in process_action' actionpack (7.1.3.4) lib/action_controller/metal/rendering.rb:165:in process_action’
actionpack (7.1.3.4) lib/abstract_controller/callbacks.rb:259:in block in process_action' activesupport (7.1.3.4) lib/active_support/callbacks.rb:121:in block in run_callbacks’
app/controllers/application_controller.rb:424:in block in with_resolved_locale' i18n (1.14.5) lib/i18n.rb:351:in with_locale’
app/controllers/application_controller.rb:424:in with_resolved_locale' activesupport (7.1.3.4) lib/active_support/callbacks.rb:130:in block in run_callbacks’
activesupport (7.1.3.4) lib/active_support/callbacks.rb:141:in run_callbacks' actionpack (7.1.3.4) lib/abstract_controller/callbacks.rb:258:in process_action’
actionpack (7.1.3.4) lib/action_controller/metal/rescue.rb:25:in process_action' actionpack (7.1.3.4) lib/action_controller/metal/instrumentation.rb:74:in block in process_action’
activesupport (7.1.3.4) lib/active_support/notifications.rb:206:in block in instrument' activesupport (7.1.3.4) lib/active_support/notifications/instrumenter.rb:58:in instrument’
activesupport (7.1.3.4) lib/active_support/notifications.rb:206:in instrument' actionpack (7.1.3.4) lib/action_controller/metal/instrumentation.rb:73:in process_action’
actionpack (7.1.3.4) lib/action_controller/metal/params_wrapper.rb:261:in process_action' activerecord (7.1.3.4) lib/active_record/railties/controller_runtime.rb:32:in process_action’
actionpack (7.1.3.4) lib/abstract_controller/base.rb:160:in process' actionview (7.1.3.4) lib/action_view/rendering.rb:40:in process’
rack-mini-profiler (3.3.1) lib/mini_profiler/profiling_methods.rb:89:in block in profile_method' actionpack (7.1.3.4) lib/action_controller/metal.rb:227:in dispatch’
actionpack (7.1.3.4) lib/action_controller/metal.rb:309:in dispatch' actionpack (7.1.3.4) lib/action_dispatch/routing/route_set.rb:49:in dispatch’
actionpack (7.1.3.4) lib/action_dispatch/routing/route_set.rb:32:in serve' actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:51:in block in serve’
actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:131:in block in find_routes' actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:124:in each’
actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:124:in find_routes' actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:32:in serve’
actionpack (7.1.3.4) lib/action_dispatch/routing/route_set.rb:882:in call' 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.1.3.4) lib/action_dispatch/http/permissions_policy.rb:36:in call’
lib/content_security_policy/middleware.rb:12:in call' lib/middleware/anonymous_cache.rb:399:in call’
lib/middleware/csp_script_nonce_injector.rb:12:in call' config/initializers/008-rack-cors.rb:14: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.1.3.4) lib/action_dispatch/middleware/cookies.rb:689:in call' actionpack (7.1.3.4) lib/action_dispatch/middleware/callbacks.rb:29:in block in call’
activesupport (7.1.3.4) lib/active_support/callbacks.rb:101:in run_callbacks' actionpack (7.1.3.4) lib/action_dispatch/middleware/callbacks.rb:28:in call’
actionpack (7.1.3.4) lib/action_dispatch/middleware/debug_exceptions.rb:29:in call' actionpack (7.1.3.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in call’
logster (2.20.0) lib/logster/middleware/reporter.rb:40:in call' lib/freedom_patches/rails_rack_logger_from_rails_7_2.rb:35:in call_app’
lib/freedom_patches/rails_rack_logger_from_rails_7_2.rb:22:in call' config/initializers/100-quiet_logger.rb:20:in call’
config/initializers/100-silence_logger.rb:29:in call' actionpack (7.1.3.4) lib/action_dispatch/middleware/request_id.rb:28:in call’
lib/middleware/enforce_hostname.rb:24:in call' rack (2.2.9) lib/rack/method_override.rb:24:in call’
actionpack (7.1.3.4) lib/action_dispatch/middleware/executor.rb:14:in call' actionpack (7.1.3.4) lib/action_dispatch/middleware/static.rb:25:in call’
rack (2.2.9) lib/rack/sendfile.rb:110: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' lib/middleware/request_tracker.rb:360:in call’
actionpack (7.1.3.4) lib/action_dispatch/middleware/remote_ip.rb:92:in call' railties (7.1.3.4) lib/rails/engine.rb:536:in call’
railties (7.1.3.4) lib/rails/railtie.rb:226:in public_send' railties (7.1.3.4) 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)>’
vendor/bundle/ruby/3.3.0/bin/unicorn:25:in load' vendor/bundle/ruby/3.3.0/bin/unicorn:25:in <top (required)>’
bundler (2.5.9) lib/bundler/cli/exec.rb:58:in load' bundler (2.5.9) lib/bundler/cli/exec.rb:58:in kernel_load’
bundler (2.5.9) lib/bundler/cli/exec.rb:23:in `run’
bundle

Which seems to be coming from here. Why would moderating_groups be missing as a method on the activity_pub_taxonomy object?

group_ids.push(*activity_pub_topic.activity_pub_taxonomy.moderating_groups.pluck(:id))

Thanks in advance! The work you’ve been here is amazing, and can’t wait to have it working in our forum and syndicate updates with it.

Les versions « stables » sont nommées « stables » dans le sens de « ne changeant pas » et ne sont généralement pas recommandées si vous apportez des modifications telles que l’introduction de nouveaux plugins. Le développement de nouveaux plugins est généralement libre de suivre les versions de développement actuelles. De nouvelles versions « stables » ne sont publiées que quelques fois par an, et cela serait une contrainte pour un travail comme celui-ci.

Je souhaite à ce stade que CDCK abandonne le terme « bêta » pour ses versions en continu, car ce n’est vraiment pas une bonne description. Cela crée de la confusion comme celle-ci et génère des attentes erronées. Mais la version 3.4.0-bêta est presque certainement celle avec laquelle vous voudrez travailler avec ce plugin, du moins pour le moment.

1 « J'aime »

Merci @mcdanlj :pray:

1 « J'aime »

Bonjour, le plugin ActivityPub prend-il en charge l’ajout d’utilisateurs Threads ? J’ai essayé d’ajouter un utilisateur Threads, mais il semble que je ne puisse pas le trouver. Merci de votre aide !

2 « J'aime »

Bonjour @joo,

Bien que toute implémentation d’ActivityPub qui suit la spécification ActivityPub devrait fonctionner immédiatement, je n’ai pas encore tenté d’ajouter un support explicite pour Threads car la dernière fois que j’ai vérifié, je n’ai pas pu accéder à ActivityPub dans Threads (c’est-à-dire sur mes propres comptes Meta), ni trouver de documentation à ce sujet en dehors de quelques articles d’aide et billets de blog. Dès qu’il sera possible d’avoir un aperçu de la façon dont il est configuré, j’envisagerai d’ajouter un support explicite pour Threads.

4 « J'aime »

Autant que je sache, il devrait être disponible partout sauf dans l’UE. Cependant, un utilisateur de Threads doit d’abord autoriser la fédération.

Existe-t-il un moyen (facile) de purger tout ce qui est lié au plugin ? Le mien est assez désordonné en ce moment.

J’ai essayé le plugin il y a environ 9 mois, mais il y avait quelque chose, je ne me souviens plus quoi, et je l’ai désactivé.

Maintenant, j’ai essayé à nouveau, mais il semble qu’il soit bloqué dans le passé. Chaque serveur Mastodon reçoit une erreur 403 du forum. Les instances ne trouvent pas mes acteurs, et par conséquent, aucun sujet n’est transmis.

Je ne peux pas suivre Meta. Je vois le statut en attente, mais lorsque je change de page, la liste des abonnements est vide. La même chose se produit avec les utilisateurs Mastodon. Il les trouve, affiche en attente, mais la liste est à nouveau vide lorsque je vais ailleurs.

J’ai trois utilisateurs Mastodon qui peuvent trouver mes acteurs, et ce sont tous des comptes que j’ai utilisés pour des tests il y a neuf mois. Mais même cela ne fonctionne pas bien.

Deux d’entre eux provenaient de mon instance auto-hébergée. Ce serveur a été détruit (en raison d’une horrible expérience avec une mise à niveau de Mastodon qui a terriblement mal tourné). Lorsque j’essaie de supprimer ces deux-là, ils disparaissent de la liste des abonnements, mais si je change de page, ils y reviennent.

Le troisième peut trouver et suivre mes acteurs, mais il n’apparaît jamais dans la liste des abonnements. C’est un fantôme. Et il ne reçoit pas de sujets ; il suit seulement.

Toutes mes configurations sont purement standard.

Pour le moment, je ne connais pas d’autre solution que de nettoyer chaque élément concernant le plugin et ActivePub. Mais cela nécessite de travailler avec la base de données, n’est-ce pas ?

3 « J'aime »

Salut @Jagster.

Il n’y a aucune raison de purger vos données. La structure de données sous-jacente du plugin n’a pas changé depuis son lancement. Lorsqu’elle a changé, les données ont été migrées de manière appropriée. Essayons plutôt de comprendre ce qui ne va pas.

Pourriez-vous commencer par partager un lien vers votre forum ? Envoyez-le-moi peut-être par chat ici sur meta. Je suis sûr que nous pourrons arranger les choses :slight_smile:

1 « J'aime »

Même si j’utilise différents types de serveurs/services, mes connaissances et mon point de vue sont fortement axés sur l’utilisateur final. Et dans ce cas, des solutions comme la destruction totale semblent très logiques :joy:

Forum public, donc je peux le mettre ici. Et comme c’est du pur finnois, ça ne peut pas être considéré comme une publicité… Cela mène directement à une catégorie où ActivePub est utilisé : Ihminen, luonto & maailma - Katiskan foorumi

HS, mais les liens de catégorie ont-ils toujours eu ../none :thinking:

9 messages ont été déplacées vers un nouveau sujet : Comment déboguer les problèmes de connectivité avec ActivityPub

Je suis encore un peu confus. Le contexte vient de mon forum vers Mastodon — même si cela peut être une chose plus générale.

Une catégorie se fédère et la visibilité est publique. Mais elle est non répertoriée sur Mastodon — c’est ce que signifie le cadenas ouvert, n’est-ce pas ? L’icône devrait être le globe indiquant la visibilité publique. Bien sûr, non répertorié est aussi public, en quelque sorte.

Quelle est la raison de la non-répertoriation ?

Salut @Jagster, quel type de publication utilises-tu ?

Premier message (public, note)

Juste une note pour vous dire que je ne vous ai pas oublié. Je vais tester cela moi-même dès demain matin.

2 « J'aime »

Cool. Nous avons tous eu un week-end, et cette question n’est pas exactement une priorité de niveau un.

1 « J'aime »

Une question rapide pour clarifier…

Que se passe-t-il lorsque vous déplacez un message vers un nouveau sujet activé pour ActivityPub ?

Je trouve le processus de

  1. répondre à un sujet avec un long message dans une catégorie privée
  2. intégrer les commentaires des autres
  3. diviser le message en un nouveau sujet dans une catégorie publique

une alternative appropriée aux Brouillons, lorsqu’elle se produit dans la conversation. Mais alors, le message déplacé a un horodatage dans le passé, ce qui m’inquiète que l’ActivityPub ne le récupère pas lorsqu’il est déplacé vers une catégorie activée pour ActivityPub.

J’étais sûr de l’avoir abordé, mais rien n’est vraiment abordé tant qu’il n’y a pas de spécification ! Ce sera abordé lorsque ceci sera fusionné.

J’ai énuméré toutes les permutations principales de déplacement de messages dans la spécification.

Sujet
  déplacer_messages
    avec des messages dans une catégorie ap
      avec first_post activé
        lorsqu'il est déplacé vers un sujet non-ap existant
          déplace les messages
          met à jour les références de notes
          ne crée pas de nouveaux objets ou activités
        lorsqu'il est déplacé vers un sujet first_post existant
          met à jour les références de notes
          déplace les messages
          ne crée pas de nouveaux objets ou activités
        lorsqu'il est déplacé vers un nouveau sujet non-ap
          déplace les messages
          met à jour les références de notes
          ne crée pas de nouveaux objets ou activités
        lorsqu'il est déplacé vers un nouveau sujet first_post
          ne crée pas de nouveaux objets ou activités
          ne crée pas de collection pour le nouveau sujet
          déplace les messages
          met à jour les références de notes
      avec full_topic activé
        lorsqu'il est déplacé vers un sujet full_topic existant
          ne crée pas de nouvelles collections, objets ou activités
          déplace les messages
          met à jour les références de notes
        lorsqu'il est déplacé vers un nouveau sujet non-ap
          met à jour les références de notes
          déplace les messages
          ne crée pas de nouvelles collections, objets ou activités
        lorsqu'il est déplacé vers un nouveau sujet full_topic
          met à jour les références de notes
          ne crée pas de nouveaux objets ou activités
          crée une collection pour le nouveau sujet
          déplace les messages
        lorsqu'il est déplacé vers un sujet non-ap existant
          déplace les messages
          met à jour les références de notes
          ne crée pas de nouvelles collections, objets ou activités
    avec des messages dans une catégorie non ap
      lorsqu'il est déplacé vers un sujet full_topic existant
        ne crée pas de nouvelles collections, objets ou activités
        déplace les messages
      lorsqu'il est déplacé vers un nouveau sujet first_post
        ne crée pas de collection pour le nouveau sujet
        déplace les messages
        ne crée pas de nouveaux objets ou activités
      lorsqu'il est déplacé vers un sujet first_post existant
        ne crée pas de nouvelles collections, objets ou activités
        déplace les messages
      lorsqu'il est déplacé vers un nouveau sujet full_topic
        déplace les messages
        ne crée pas de nouveaux objets ou activités
        crée une collection pour le nouveau sujet

Notez que ce qui précède s’applique mutatis mutandis aux acteurs de tags. Donc, pour répondre à votre question spécifique : vos messages resteront non publiés après les avoir déplacés, c’est-à-dire que le statut ressemblera à ceci :

Notez que la même chose est vraie si vous changez la catégorie d’un sujet, c’est-à-dire que vous déplacez un sujet non publié dans une catégorie (ou un tag) AP.

Dans les deux cas (déplacement de messages ou changement de catégorie), vous pouvez ensuite publier manuellement le(s) message(s) en utilisant la fonction de publication manuelle, bien que celle-ci ne soit actuellement disponible que pour les sujets associés à un acteur first post.

J’ajouterai bientôt la publication manuelle des messages déplacés ou recatégorisés avec un acteur full topic. Je veux m’assurer que les permutations principales de cette fonctionnalité sont prises en compte, c’est pourquoi elle n’est pas actuellement possible.

2 « J'aime »

Ce serait donc mon cas d’utilisation :

Hmmm, quelque chose ne va pas sur Directions to O₅F₂FDEM - Announcements - OFFDEM, la catégorie est Note/Full Topic, mais rien n’a été publié sur le Fediverse depuis longtemps. Et l’icône ActivityPub ne s’affiche pas sur le message. Y a-t-il un moyen de réinitialiser / SIGHUP l’Acteur ?

(@infodesk@oxygen.offdem.net)

Ha ! Ceci. Merci beaucoup @angus, tu assures.

1 « J'aime »

L’acteur lié sur le profil d’un utilisateur ne sait pas comment utiliser Pixelfed. Cela devrait être très similaire à Mastodon, mais bien sûr, il peut y avoir des différences.

Pixelfed connaît une croissance rapide maintenant, grâce à Zuckerberg, donc ce serait bien si c’était une option à un moment donné.

Même chose avec Bookwyrm — il pourrait y avoir une certaine demande pour connecter des discussions ailleurs. À un moment donné de toute façon. Mais je pourrais facilement imaginer une demande pour connecter des discussions de livres à Discourse. Je sais — c’est essentiellement la même chose que d’ouvrir une catégorie en espérant qu’elle générera quelque chose :man_shrugging: