Plugin ActivityPub

Ho riscontrato un problema. Forse è un caso limite. Ho configurato una delle mie categorie per utilizzare ActivityPub, ma non è accessibile su altre piattaforme come Mastodon e i post non vengono federati perché non riesco ad accedere e seguire la categoria.

Penso che possa essere un problema dovuto alla “E” maiuscola nell’handle. Events@bayofislands.community

Ho un’altra categoria federata che funziona bene. Puoi vederla in azione su

Hai qualche suggerimento per far funzionare questa categoria senza crearne una completamente nuova? Posso modificare uno o più record nel database per aggiornare il nome utente della categoria?

Sto anche notando che l’URL per seguire una categoria non funziona su Mastodon: Log in - Mastodon Newfoundland and Labrador

Grazie per il rapporto. Cambia la E in minuscolo e funzionerà

Risolvo presto questo problema (cioè la gestione delle lettere maiuscole).

1 Mi Piace

Possiamo eliminare i follower? Ho pochi attori che provengono da un’istanza ora eliminata e vorrei ripulire i posti :smirking_face:

Una buona richiesta, la aggiungerò presto.

2 Mi Piace

Non sono sicuro che si tratti di un problema di maiuscole/minuscole. Potrei confermare quanto segue:

  1. stai eseguendo l’ultima versione di Discourse; e
  2. stai eseguendo l’ultima versione del plugin ActivityPub.
1 Mi Piace

Ho capito una cosa: l’utente creato dal plugin ActivityPub non ha alcun gruppo assegnato e non ha alcuna email.

È possibile assegnare gruppi personalizzati agli utenti creati dal plugin ActivityPub?

3 Mi Piace

Ciò ha anche causato un bug per cui, se la categoria era impostata su TL0, era possibile pubblicare (sola lettura per everyone), gli utenti AP potrebbero non essere in grado di pubblicare poiché non disponevano di questa autorizzazione.

3 Mi Piace

C’è anche un bug qui. Se SiteSettings.selectable_avatars_mode è impostato, anche se era impostato su everyone, causerà la mancanza di avatar per l’utente AP.

1 Mi Piace

Questo è pronto e in attesa di revisione dopo che Tag Actors sarà unito.

Non ancora. Sono utenti temporanei, quindi ci sono alcune limitazioni. Forse più avanti.

Grazie per questa segnalazione. Darò un’occhiata più da vicino a questo caso presto. Per ora, puoi impostare i permessi di pubblicazione su everyone e funzionerà.

Grazie anche per questa segnalazione. Darò un’occhiata più da vicino anche a questo caso presto.

3 Mi Piace

Ciao, sto riscontrando questo problema con la pubblicazione “nessun destinatario”. Come posso risolvere il problema?

[Discourse Activity Pub] https://meta.appinn.net/ap/actor/b04930460474d895289ae0cd3c2ae719 non è riuscito a pianificare https://meta.appinn.net/ap/activity/2ad9bfcc78a9df49efa7b6e9bda454da per la consegna: nessun destinatario

Log:

Message

[Discourse Activity Pub] https://meta.appinn.net/ap/actor/b04930460474d895289ae0cd3c2ae719 non è riuscito a pianificare https://meta.appinn.net/ap/activity/2ad9bfcc78a9df49efa7b6e9bda454da per la consegna: nessun destinatario

Backtrace

/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>'

Env

HTTP HOSTS: meta.appinn.net

Penso che tu abbia bisogno di qualcuno (o di un “attore”) che segua la Categoria. Vedi questo:

2 Mi Piace

Ma quando seguo questa Categoria usando mastodon.social:
[Discourse Activity Pub] POST request received by https://meta.appinn.net/ap/actor/b04930460474d895289ae0cd3c2ae719/inbox failed: 401 Actor not found for key https://mastodon.social/users/Cosmeticclinic#main-key

È un bug? (Data non valida)

1 Mi Piace

Una richiesta di funzionalità: è possibile silenziare o sospendere gli account creati dal plugin activitypub?

Abbiamo un utente che ha violato gravemente i nostri termini di servizio ed è stato bannato permanentemente, ma si è trasferito in un altro forum che collabora con noi e, tramite activitypub, possiamo ancora vedere i suoi post lì.

Ho provato a sospenderlo, ma non ha funzionato. (HTTP 422 Unprocessable Content)

2 Mi Piace

Allo stesso tempo, sembra che i post con immagini inviati tramite activitypub non vengano caricati correttamente

Ecco un esempio sul mio forum: OriginaleConsegnato

1 Mi Piace

Grazie per i rapporti, darò un’occhiata più da vicino a entrambi presto.

1 Mi Piace

Questo è un plugin fantastico - e in effetti una parte fondamentale del fediverso in rapida crescita ed entusiasmante - è davvero un lavoro incredibile!

È probabile che sia utilizzabile tra categorie private in diverse istanze di Discourse a breve? So che questo è un caso d’uso piuttosto diverso dalla federazione aperta, ma è uno che posso immaginare essere molto utile per facilitare la collaborazione nel contesto di impostazioni più private / chiuse.

2 Mi Piace

Ho installato il plugin activitypub e vedo che è presente e abilitato nelle impostazioni di amministrazione. Tuttavia, quando vado nelle impostazioni di una categoria, non vedo una sezione activitypub lì. L’unica cosa leggermente insolita è che sto eseguendo una configurazione multisito. Qualsiasi idea su cosa mi manca/come risolvere questo problema è apprezzata!

1 Mi Piace

Solo una nota che le categorie private possono attualmente seguire categorie pubbliche. Le categorie private non possono attualmente essere seguite. Tieni presente che c’è una certa tensione nell’idea di “seguire” un Gruppo “privato”, e che il concetto è controverso nel Fediverso. Detto questo, potrebbe benissimo essere implementato, ma non sarà “presto” :slight_smile:

Le impostazioni della categoria sono state spostate in Admin > Plugin > ActivityPub. Aggiornerò presto la documentazione nell’OP!

4 Mi Piace

Aha! Ho visto qualcosa a riguardo sopra, ma sono andato su Admin > Plugin e non ho visto il menu in alto, quindi ho cliccato su ActivityPub nell’elenco dei plugin e sono tornato qui.. Poi ho provato a tornare indietro e a guardare sotto il link delle impostazioni.. Quindi potrebbe essere utile chiarire questo, magari con un link alle impostazioni della categoria dalle impostazioni di activitypub.

Comunque, sembra che ora funzioni, grazie!

2 Mi Piace