Plugin ActivityPub

Sì, ed è una sottile differenza voluta. L’assunto qui è che la maggior parte degli utenti che leggono questo argomento/post non hanno necessariamente bisogno di sapere subito che “questo post proviene da un utente esterno a questa community”. È divertente saperlo come amministratore o come qualcuno che implementa la funzionalità, ma la maggior parte delle persone vuole concentrarsi sul contenuto. Quindi scegliamo di essere relativamente discreti riguardo alle tecnicalità di ActivityPub di un post.

2 Mi Piace

Allora i miei utenti sono diversi. Volevano assolutamente saperlo. Ma questo deve essere un esempio di differenze culturali e di come noi finlandesi siamo vicini al comportamento asociale (da parte dei creatori di contenuti americani, perché abbiamo zero capacità di fare piccole chiacchiere alla grandezza americana :joy:).

Ma è stato relativamente facile da regolare usando CSS, quindi i valori predefiniti vanno bene (e una soluzione è ora qui se qualcuno si chiedesse la stessa cosa).

2 Mi Piace

Ho risposto da Mastodon a un post di Discourse e la risposta non compare in Discourse. È un bug, o forse una funzionalità non ancora implementata, o forse non è previsto di implementare una tale funzionalità?

È un bug o qualcos’altro. Ho appena avuto una discussione in cui l’argomento è stato pubblicato su Mastodon, ho ricevuto un commento da lì, ho risposto all’argomento e anche quello era visibile lì.\n\nDomanda standard: usi la versione più recente?

1 Mi Piace

Sì, ho appena installato il plugin, anche se ho dovuto usare questo fork (PR in sospeso) per farlo funzionare: GitHub - kuba-orlik/discourse-activity-pub: Adds ActivityPub support to Discourse.

PR: Fix wrong inbox/outbox URLs by kuba-orlik · Pull Request #193 · discourse/discourse-activity-pub · GitHub

2 Mi Piace

Ciao, puoi aiutarmi a rispondere ad alcune domande vagamente legate alla moderazione a cui non sono riuscito a trovare risposte, per favore?

  • Una volta che un post è stato federato, può essere moderato dagli amministratori locali? Intendo, modificarlo, nasconderlo, eliminarlo…
  • Cosa succede se il post viene modificato nell’istanza di origine? Viene aggiornato anche nell’istanza federata?
  • Se i moderatori vogliono contattare l’utente federato usando l’opzione flag o messaggio/chat, possono farlo? O questi utenti remoti non sono utenti effettivi nell’istanza locale?
  • Se ho un account con lo stesso nome utente e indirizzo email in due istanze che federano, saranno ancora considerati due account diversi in ogni istanza, giusto? Non c’è modo di “unificarli”.
  1. sì (o dovrebbe)
  2. no, ma puoi eliminare un attore problematico (in Mastodon gli altri utenti possono segnalare, ma ciò che succede dipende dall’amministratore alla fine)
  3. Discourse non vede mai le email tramite ActivityPub. Al loro posto ci possono essere più icaria@… dove la “parte dominio”, il nome delle istanze, cambia, e tutti quegli account sono comunque ancora di proprietà della stessa persona. Non puoi unire quegli account perché allora banneresti effettivamente i server per ottenere argomenti/post.
1 Mi Piace

Ok, abbiamo abilitato il plugin nella nostra istanza, abbiamo creato un attore connesso a un tag e abbiamo federato il nostro primo post sul Fediverso. Molto emozionante! E impressionante.

Alcune domande (che potrebbero essere suggerimenti per funzionalità mancanti, ma sto ancora cercando di capire cosa è disponibile):

Come utente di Discourse che vede l’argomento federato, c’è un modo per ottenere un link al toot (messaggio) corrispondente su Mastodon, per poterlo rilanciare facilmente lì? Non sono riuscito a trovarlo nel piccolo log aggiunto all’argomento:

Come utente di Mastodon che vede un toot proveniente da Discourse, c’è un modo semplice per trovare l’account Mastodon dell’attore da seguire? Possono vedere l’account del poster, ma non quello dell’attore. Se seguono il link al forum, non sono riuscito a dedurre come trovare l’attore.

Perché il plugin sta rilanciando tutte le risposte, invece di lasciarle semplicemente come risposte, tipiche risposte “silenziosamente pubbliche”? Questi rilanci creano molto rumore aggiuntivo per coloro che seguono l’attore su Mastodon.

Cosa dovrebbe succedere quando un utente di Mastodon avvia un nuovo post (non una risposta) e menziona l’account dell’attore o l’account di un utente di Discourse?

Infine, questo non sembra normale e ne stiamo ricevendo molti (più di cento in poche ore)

Job exception: stack level too deep

activesupport-7.2.2.1/lib/active_support/core_ext/object/blank.rb:166:in `present?'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/json_ld.rb:57:in `base_object_id'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/json_ld.rb:58:in `base_object_id'

(snip, decine di questi)

/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/json_ld.rb:58:in `base_object_id'
/var/www/discourse/plugins/discourse-activity-pub/app/jobs/discourse_activity_pub_process.rb:25:in `process_id'
/var/www/discourse/plugins/discourse-activity-pub/app/jobs/discourse_activity_pub_process.rb:8:in `execute'
/var/www/discourse/app/jobs/base.rb:316:in `block (2 levels) in perform'
rails_multisite-6.1.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'
rails_multisite-6.1.0/lib/rails_multisite/connection_management.rb:21:in `with_connection'
/var/www/discourse/app/jobs/base.rb:303:in `block in perform'
/var/www/discourse/app/jobs/base.rb:299:in `each'
/var/www/discourse/app/jobs/base.rb:299:in `perform'
sidekiq-7.3.9/lib/sidekiq/processor.rb:220:in `execute_job'
sidekiq-7.3.9/lib/sidekiq/processor.rb:185:in `block (4 levels) in process'
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:180:in `traverse'
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'
/var/www/discourse/lib/sidekiq/pausable.rb:132:in `call'
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182:in `traverse'
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'
sidekiq-7.3.9/lib/sidekiq/job/interrupt_handler.rb:9:in `call'
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182:in `traverse'
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'
sidekiq-7.3.9/lib/sidekiq/metrics/tracking.rb:26:in `track'
sidekiq-7.3.9/lib/sidekiq/metrics/tracking.rb:134:in `call'
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182:in `traverse'
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:173:in `invoke'
sidekiq-7.3.9/lib/sidekiq/processor.rb:184:in `block (3 levels) in process'
sidekiq-7.3.9/lib/sidekiq/processor.rb:145:in `block (6 levels) in dispatch'
sidekiq-7.3.9/lib/sidekiq/job_retry.rb:118:in `local'
sidekiq-7.3.9/lib/sidekiq/processor.rb:144:in `block (5 levels) in dispatch'
sidekiq-7.3.9/lib/sidekiq/config.rb:39:in `block in <class:Config>'
sidekiq-7.3.9/lib/sidekiq/processor.rb:139:in `block (4 levels) in dispatch'
sidekiq-7.3.9/lib/sidekiq/processor.rb:281:in `stats'
sidekiq-7.3.9/lib/sidekiq/processor.rb:134:in `block (3 levels) in dispatch'
sidekiq-7.3.9/lib/sidekiq/job_logger.rb:15:in `call'
sidekiq-7.3.9/lib/sidekiq/processor.rb:133:in `block (2 levels) in dispatch'
sidekiq-7.3.9/lib/sidekiq/job_retry.rb:85:in `global'
sidekiq-7.3.9/lib/sidekiq/processor.rb:132:in `block in dispatch'
sidekiq-7.3.9/lib/sidekiq/job_logger.rb:40:in `prepare'
sidekiq-7.3.9/lib/sidekiq/processor.rb:131:in `dispatch'
sidekiq-7.3.9/lib/sidekiq/processor.rb:183:in `block (2 levels) in process'
sidekiq-7.3.9/lib/sidekiq/processor.rb:182:in `handle_interrupt'
sidekiq-7.3.9/lib/sidekiq/processor.rb:182:in `block in process'
sidekiq-7.3.9/lib/sidekiq/processor.rb:181:in `handle_interrupt'
sidekiq-7.3.9/lib/sidekiq/processor.rb:181:in `process'
sidekiq-7.3.9/lib/sidekiq/processor.rb:86:in `process_one'
sidekiq-7.3.9/lib/sidekiq/processor.rb:76:in `run'
sidekiq-7.3.9/lib/sidekiq/component.rb:10:in `watchdog'
sidekiq-7.3.9/lib/sidekiq/component.rb:19:in `block in safe_thread'

Se fai clic sull’etichetta “Nota” in quello screenshot otterrai un link all’oggetto Nota su Discourse, ma non sono sicuro che sia quello che desideri. Potresti spiegare un po’ di più cosa ti aspetti che accada? Magari condividi una piccola user story su ciò che speri di fare.

Ti riferisci all’utente di Discourse? Al momento non puoi seguire gli utenti di Discourse.

Potresti elaborare su cosa ti aspetti che accada qui? Magari con una user story.

Questo dovrebbe essere risolto quando questo verrà unito.

1 Mi Piace

È una novità? O è fondamentalmente uguale alle precedenti domande su Job exception: stack level too deep?

1 Mi Piace

Infatti! Mi era sfuggito il report precedente. PR in arrivo a breve.

1 Mi Piace

Succede, troppo da fare :joy:

Grazie.

1 Mi Piace

Certo!

Come utente Discourse che ha anche un account Mastodon, vedo un nuovo argomento federato sul mio Discourse e voglio condividerlo rapidamente (ri-condividerlo) dal mio account Mastodon, in modo che tutti i miei follower di Mastodon ne vengano a conoscenza e magari rispondano dai loro account Mastodon, portando un sacco di feedback federato all’argomento su Discourse (e magari alcuni di loro che non conoscevano il forum si uniranno a Discourse di conseguenza!)

Ok, per fare questo, l’utente deve trovare facilmente un URL che possa incollare nella casella di ricerca del suo client Mastodon, che servirà il toot (messaggio) federato corrispondente al post di Discourse.

Non riesco a trovare questo URL nell’interfaccia di Discourse. L’unico modo semplice per condividere un post federato da Discourse che ho trovato finora è seguire già l’attore di Discourse e avere il post nella mia timeline di Mastodon. Questo va bene per coloro che già seguono l’attore, ma non per quegli utenti di Discourse che non seguono ancora l’attore.

Spero di essere riuscito a spiegare il problema e a non confondere ulteriormente le cose. :wink: Pubblicherò la user story sulla condivisione continua più tardi, dopo aver compreso meglio il comportamento attuale.

1 Mi Piace

Se ho capito bene, in quel modo non si trova quasi nulla da Mastodon.

Per me, il problema di questo tipo è la conversazione stessa. Poiché tutto viene ritrasmesso, devo trovare il post originale prima di poter ottenere l’intero argomento, perché i commenti di una ritrasmissione non vengono mai mostrati ai follower. Quindi quella conversazione andrà persa.

E se ritrasmetto un commento da Discourse, verrà mostrato da “user-actor” che non può essere seguito.

Questo, e la mancanza di tag (hash) sono sicuramente i principali punti interrogativi ora, almeno per me.

1 Mi Piace

Ok, ho trovato il link che cercavo… nelle risposte, ma non nel post principale:

Nelle risposte, è l’icona della federazione nell’angolo in alto a destra, accanto a “22h” in questo screenshot.

Se ci clicchi, ottieni questa finestra di dialogo:

Che infatti punta alla risposta su Mastodon: icaria36 🎶: "@icaria36@the.socialmusic.network This is a test …" - SoNoMu

Mi manca l’icona e il link equivalenti per il post principale. Probabilmente è da qualche parte ovvio ma non riesco a trovarlo. :nerd_face:

EDIT:

Ah, aspetta, quel link appare solo per i post provenienti da Mastodon, non per i post nativi di Discourse. Mi sono appena reso conto che la piccola icona ha una versione blu e una verde per differenziarli. Blu-verde non è una buona combinazione di colori per distinguere un’icona così piccola. Il mio monitor desktop è abbastanza buono, non ho daltonismo, eppure ho notato la differenza solo ora, quando ho esaminato attentamente queste icone.

Per me, un grosso problema è che…

Come utente di Mastodon che risponde a un post federato su Discourse, voglio ricevere una notifica Mastodon se qualcuno risponde al mio post o mi menziona su Discourse.

Al momento, le risposte degli utenti di Discourse ai post degli utenti di Mastodon sono molto probabilmente perse dagli utenti di Mastodon ai quali si risponde, perché non vedono notifiche nemmeno quando sono stati risposti o menzionati. Questo rende le vere conversazioni ancora più difficili di quanto non siano già su Mastodon – perché non sai nemmeno se qualcuno ha risposto al tuo commento. Di nuovo, a meno che non stia considerando qualcosa di sbagliato.

MA per favore prendete tutto questo come un simple feedback per migliorare. Questo plugin è già impressionante, lo stiamo mantenendo, e siamo felici di aiutare a segnalare problemi e testare nuove funzionalità. Grazie mille a @angus & team!

1 Mi Piace

Qual è la differenza tra "Pubblica" e "Invia"? Ecco uno screenshot di "Amministrazione argomento", di un argomento già pubblicato ma con un post… non inviato? Il post è già correttamente federato su Mastodon e mi chiedo cosa succeda quando l’amministratore fa clic su "Invia post n. 1".

Sia la pubblicazione che la consegna avvengono automaticamente se pubblichi in una categoria o tag ActivityPub (con le impostazioni pertinenti). La distinzione tra i due, e questi controlli amministrativi, sono per flessibilità e casi d’uso specifici.

Pubblica = il post è disponibile sul fediverso.
Consegna = il post viene consegnato ai follower degli attori pertinenti.

Questa azione ti consente di consegnare lo stesso post quando vuoi, anche dopo che è già stato consegnato. Ci sono vari casi d’uso per questo, ad esempio:

  1. Hai inizialmente pubblicato un argomento senza consegnare tutti i post dell’argomento ai tuoi follower (perché non volevi spammare). Puoi quindi consegnare singoli post.

  2. Il post è stato pubblicato prima che un nuovo insieme di follower seguisse il tuo attore. Puoi consegnare nuovamente lo stesso post.

Se fai clic su “Informazioni sull’argomento” per quell’argomento, dovresti vedere che il post è già stato consegnato se il post è già federato su Mastodon.

2 Mi Piace

Ok, ora abbiamo una vera user story da un vero utente che spiega molto bene il problema.

Se vogliamo condividere un particolare post federato su Fedi, qualcuno sa come si fa? Ho provato:

  • guardando il profilo di @fediverse@the.socialmusic.network - nessun post visibile
  • guardando il mio profilo socialmusic - nessun post visibile
  • guardando sul forum Discourse per un pulsante “condividi”: l’URL non viene riconosciuto dalla ricerca di Masto
2 Mi Piace

Sono stato io! Grazie per questo entusiasmante plugin, ci stiamo divertendo a sperimentare con Federation sul nostro forum.

Avevo alcune domande, e mi scuso se sono già state affrontate (ho cercato nel forum ma non ho visto nulla).

  • Dal lato Mastodon/ecc., come vengono gestiti i post privati, solo per follower e non elencati?
  • Per un utente attento alla privacy, diciamo qualcuno che utilizza Gotosocial, come vengono gestite le loro risposte federate?

Sto pensando in particolare alle questioni di consenso: se qualcuno preferisce non avere i propri post ricercabili su un forum pubblico. Potrebbe non essere consapevole che l’argomento a cui sta rispondendo è visibile pubblicamente su Discourse. I post degli utenti di Discourse sono ben contrassegnati, ma se rispondo a un utente AP nello stesso thread, potrei non accorgermi che si tratta originariamente di un argomento di Discourse.

3 Mi Piace