Plugin ActivityPub

Sì, ora puoi cambiare il preferredUsername degli attori. Tieni presente quanto segue riguardo all’interoperabilità con Mastodon:

Il nome utente visualizzato per l’attore non cambierà finché qualcuno non eseguirà una ricerca del nuovo handle. Seguire / Pubblicare ecc. continuerà a funzionare indipendentemente dal nome utente visualizzato.

Speravo che la mia PR per Mastodon venisse unita prima di unire questa

Ciononostante, considerando i test di accettazione che dimostrano che Mastodon può effettivamente gestire le modifiche ai nomi utente e il passare del tempo, ho deciso di procedere.

4 Mi Piace

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.

Le release “stabili” sono chiamate “stabili” nel senso di “non in cambiamento” e generalmente non sono raccomandate se si apportano modifiche come l’introduzione di nuovi plugin. Lo sviluppo di nuovi plugin generalmente è libero di seguire le versioni di sviluppo correnti. Nuove release “stabili” vengono rilasciate solo poche volte all’anno, e questo sarebbe un vincolo per lavori come questo.

Desidererei a questo punto che CDCK abbandonasse il prefisso “beta” dalle loro release continue perché non è una grande descrizione. Continua a introdurre confusione come questa e crea aspettative non corrispondenti. Ma 3.4.0-beta è quasi certamente ciò con cui vorrai lavorare con questo plugin, almeno in questo momento.

1 Mi Piace

Grazie @mcdanlj :pray:

1 Mi Piace

Ciao, il plugin ActivityPub supporta l’aggiunta di utenti Threads? Ho provato ad aggiungere un utente Threads, ma sembra che non riesca a trovarlo. Grazie per il tuo aiuto!

2 Mi Piace

Ciao @joo,

Sebbene qualsiasi implementazione di ActivityPub che segua le specifiche di ActivityPub dovrebbe funzionare immediatamente, non ho ancora tentato di aggiungere un supporto esplicito per Threads poiché l’ultima volta che ho controllato non sono stato in grado di accedere ad ActivityPub in Threads (cioè sui miei account Meta), né di trovare alcuna documentazione al riguardo al di fuori di alcuni articoli di aiuto e post di blog. Non appena sarà possibile ottenere informazioni su come è configurato, mi occuperò di aggiungere un supporto esplicito per Threads.

4 Mi Piace

Per quanto ne so, dovrebbe essere disponibile ovunque tranne che nell’UE. Tuttavia, un utente di Threads deve prima abilitare la federazione.

C’è un modo (facile) per eliminare tutto ciò che è correlato al plugin? Il mio è piuttosto un casino in questo momento.

Ho provato il plugin circa 9 mesi fa, ma poi c’è stato qualcosa, non ricordo cosa, e l’ho disabilitato.

Ora ci ho riprovato, ma sembra che sia bloccato nel passato. Ogni server Mastodon riceve un errore 403 dal forum. Le istanze non riescono a trovare i miei attori e, pertanto, nessun argomento viene inoltrato.

Non riesco a seguire Meta. Vedo lo stato in sospeso, ma quando cambio pagina, l’elenco dei follower è vuoto. La stessa cosa accade con gli utenti Mastodon. Li trova, mostra in sospeso, ma l’elenco è di nuovo vuoto quando vado altrove.

Ho tre utenti Mastodon che riescono a trovare i miei attori, e tutti questi sono account che ho usato per testare nove mesi fa. Ma anche questo non funziona bene.

Due di questi provenivano dalla mia istanza self-hosted. Quel server è stato distrutto (a causa di una terribile esperienza con un aggiornamento di Mastodon andato terribilmente storto). Quando provo a eliminarli, scompaiono dall’elenco dei follower, ma se cambio pagina, ricompaiono.

Il terzo riesce a trovare e seguire i miei attori, ma non compare mai nell’elenco dei follower. È un fantasma. E non riceve argomenti; si limita a seguire.

Tutte le mie configurazioni sono standard.

Al momento, non conosco altra soluzione che ripulire ogni singolo elemento relativo al plugin e ad ActivePub. Ma ciò richiede di lavorare con il database, giusto?

3 Mi Piace

Ciao @Jagster.

Non c’è alcun motivo per eliminare i tuoi dati. La struttura dati sottostante del plugin non è cambiata da quando è stato lanciato. Quando è cambiata, i dati sono stati migrati in modo appropriato. Cerchiamo invece di capire cosa c’è che non va.

Potresti iniziare condividendo un link al tuo forum? Magari inviamelo in una chat qui su meta. Sono sicuro che riusciremo a sistemare le cose :slight_smile:

1 Mi Piace

Anche se utilizzo diversi tipi di server/servizi, la mia conoscenza e il mio punto di vista sono fortemente a livello di utente finale. E poi soluzioni come la distruzione totale sembrano molto logiche :joy:

Forum pubblico, quindi posso metterlo qui. E poiché è puramente finlandese, non può essere considerato una pubblicità… Questo porta direttamente a una categoria in cui viene utilizzato ActivePub: Ihminen, luonto & maailma - Katiskan foorumi

OT, ma i link delle categorie hanno sempre avuto ../none :thinking:

9 post sono stati divisi in un nuovo argomento: Come eseguire il debug dei problemi di connettività con ActivityPub

Sono di nuovo un po’ confuso. Il contesto proviene dal mio forum a Mastodon, anche se potrebbe essere una cosa più generale.

Una categoria si federà e la visibilità è pubblica. Ma è non listata su Mastodon, giusto? Questo è ciò che significa il lucchetto aperto. L’icona dovrebbe essere il globo che indica la visibilità pubblica. Certo, anche non listato è pubblico, in un certo senso.

Qual è il motivo per non listarla?

Ciao @Jagster che tipo di pubblicazione stai usando?

Primo post (pubblico, nota)

Solo una nota per dirti che non mi sono dimenticato di te. Lo testerò io stesso domani mattina.

2 Mi Piace

Ottimo. Abbiamo tutti avuto il fine settimana e quella domanda non è esattamente una cosa di priorità assoluta.

1 Mi Piace

Una rapida domanda per chiarire…

Cosa succede quando sposti un post in un nuovo argomento abilitato per ActivityPub?

Trovo il processo di

  1. rispondere a un argomento con un post lungo in una categoria privata
  2. integrare il feedback degli altri lì
  3. dividere il post in un nuovo argomento in una categoria pubblica

un’alternativa adatta alle Bozze, quando avviene all’interno della conversazione. Ma poi, il post spostato ha un timestamp nel passato, il che mi preoccupa che ActivityPub non lo rilevi quando viene spostato in una categoria abilitata per ActivityPub.

Ero sicuro di averlo affrontato, ma nulla è veramente affrontato finché non ha una specifica! Sarà affrontato quando questo sarà unito.

Ho enumerato tutte le principali permutazioni dello spostamento dei post nella specifica.

Argomento
  sposta_post
    con post in una categoria ap
      con first_post abilitato
        quando spostato in un argomento non ap esistente
          sposta i post
          aggiorna i riferimenti alle note
          non crea nuovi oggetti o attività
        quando spostato in un argomento first_post esistente
          aggiorna i riferimenti alle note
          sposta i post
          non crea nuovi oggetti o attività
        quando spostato in un nuovo argomento non ap
          sposta i post
          aggiorna i riferimenti alle note
          non crea nuovi oggetti o attività
        quando spostato in un nuovo argomento first_post
          non crea nuovi oggetti o attività
          non crea una raccolta per il nuovo argomento
          sposta i post
          aggiorna i riferimenti alle note
      con full_topic abilitato
        quando spostato in un argomento full_topic esistente
          non crea nuove raccolte, oggetti o attività
          sposta i post
          aggiorna i riferimenti alle note
        quando spostato in un nuovo argomento non ap
          aggiorna i riferimenti alle note
          sposta i post
          non crea nuove raccolte, oggetti o attività
        quando spostato in un nuovo argomento full_topic
          aggiorna i riferimenti alle note
          non crea nuovi oggetti o attività
          crea una raccolta per il nuovo argomento
          sposta i post
        quando spostato in un argomento non ap esistente
          sposta i post
          aggiorna i riferimenti alle note
          non crea nuove raccolte, oggetti o attività
    con post in una categoria non ap
      quando spostato in un argomento full_topic esistente
        non crea nuove raccolte, oggetti o attività
        sposta i post
      quando spostato in un nuovo argomento first_post
        non crea una raccolta per il nuovo argomento
        sposta i post
        non crea nuovi oggetti o attività
      quando spostato in un argomento first_post esistente
        non crea nuove raccolte, oggetti o attività
        sposta i post
      quando spostato in un nuovo argomento full_topic
        sposta i post
        non crea nuovi oggetti o attività
        crea una raccolta per il nuovo argomento

Nota che quanto sopra si applica mutatis mutandis agli attori dei tag. Quindi, per rispondere alla tua domanda specifica: i tuoi post rimarranno non pubblicati dopo averli spostati, ovvero lo stato apparirà così:

Nota che lo stesso vale se cambi la categoria di un argomento, ovvero sposti un argomento non pubblicato in una categoria (o tag) AP.

In entrambi i casi (spostamento di post o cambio di categoria) puoi quindi pubblicare manualmente il/i post utilizzando la funzione di pubblicazione manuale, sebbene questa sia attualmente disponibile solo per gli argomenti associati a un attore first post.

Aggiungerò presto la pubblicazione manuale di post spostati o ricategorizzati con un attore full topic. Voglio assicurarmi che le principali permutazioni di tale funzionalità siano considerate, motivo per cui attualmente non è possibile.

2 Mi Piace

Questo sarebbe il mio caso d’uso allora:

Hmmm, c’è qualcosa che non va su Directions to O₅F₂FDEM - Announcements - OFFDEM, la categoria è Note/Full Topic, ma non pubblica nulla sul Fediverso da molto tempo. E l’icona di ActivityPub non viene visualizzata sul post. C’è un modo per resettare / SIGHUP l’Actor?

(@infodesk@oxygen.offdem.net)

Ah! Questo. Grazie mille @angus, sei fantastico.

1 Mi Piace

L’attore collegato sul profilo di un utente non sa come usare Pixelfed. Dovrebbe essere molto simile a Mastodon, ma certo, ci possono essere alcune differenze.

Pixelfed sta crescendo velocemente ora, grazie a Zuckerberg, quindi sarebbe bello se fosse un’opzione a un certo punto.

La stessa cosa con Bookwyrm — ci potrebbe essere una certa domanda per connettere discussioni altrove. A un certo punto comunque. Ma potrei facilmente vedere una domanda per connettere discussioni sui libri a Discourse. Lo so — questo è fondamentalmente lo stesso che aprire una categoria sperando che generi qualcosa :man_shrugging: