Esaminerò il supporto esplicito di Pixelfed dopo aver esaminato (di nuovo) Lemmy e Wordpress
Sebbene tutte le piattaforme ActivityPub dovrebbero, in teoria, essere interoperabili, richiede quasi sempre qualche aggiustamento per ottimizzare ogni integrazione. Soprattutto perchĂŠ utilizziamo gli argomenti e la maggior parte delle altre implementazioni sono solo flussi di post.
Sto cercando di far funzionare correttamente questo, da quando ho pubblicato ad agosto e penso che il mio problema possa essere piĂš semplice di quanto pensassi inizialmente.
Potrei essere bloccato dal seguire lâattore sullâistanza Mastodon.
In quel periodo, ho reinstallato Discourse, il plugin, spostato il sito su un server diverso e poi oggi, ho cambiato il nome di dominio pensando che potesse essere quello.
Sono stato in grado di seguire da un account mastodon.social e da un account di unâistanza Sharkey, ed entrambi hanno funzionato bene.
Non credo che lâistanza sia bloccata sul server (di nuovo, ho cambiato provider di server e nomi di dominio), ma vorrei avere una seconda opinione.
[Discourse Activity Pub] GET request to https://mastodon.ie/users/padraig failed: Expected([200, 201, 202, 301, 302, 307, 308]) <=> Actual(401 Unauthorized)
[Discourse Activity Pub] Failed to process https://mastodon.ie/users/padraig: Could not resolve actor
[Discourse Activity Pub] Failed to process https://mastodon.ie/b35f6088-19b9-472d-a277-e0310fed585f: Could not create actor
[Discourse Activity Pub] DiscourseActivityPub::AP::Handlers::Warning
Se hai bisogno del backtrace e/o dellâambiente, fammelo sapere
mastodon.ie è consentito qui activity pub allowed request origins? E potrebbe essere necessario abilitare o disabilitare activity pub require signed requests.
Ho disabilitato questa opzione e non ci sono voci nelle seguenti opzioni (quindi chiunque dovrebbe essere in grado di seguire @general@gamersandgeeks.net, giusto?):
Ho diversi forum Discourse collegati utilizzando il plugin ActivityPub. Se installo Discourse AI su uno di questi forum, il bot AI può accedere e utilizzare contenuti da altre istanze federate per rispondere alle domande nella sua interfaccia di chat?
@Crakila Per favore, controlla i passaggi e la discussione in questo argomento e continua lĂŹ se questi suggerimenti non risolvono il tuo problema:
Se il contenuto è federato a unâistanza, un bot AI su quellâistanza può utilizzarlo. Tutto il contenuto âremotoâ su unâistanza ha lo stesso stato del contenuto âlocaleâ ai fini di altre funzionalitĂ .
`skip_email_validation=' per un'istanza di Categoria
Message (46 copies reported)
Job exception: undefined method `skip_email_validation=' for an instance of Category
Backtrace
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activemodel-7.2.2.1/lib/active_model/attribute_methods.rb:512:in `method_missing'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/attribute_methods.rb:491:in `method_missing'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/actor_handler.rb:150:in `update_user'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/actor_handler.rb:47:in `block in update_or_create_user'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:359:in `transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/transactions.rb:234:in `block in transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:415:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_handling.rb:296:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/transactions.rb:233:in `transaction'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/actor_handler.rb:45:in `update_or_create_user'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/actor_handler.rb:82:in `update_or_create_user'
/var/www/discourse/plugins/discourse-activity-pub/plugin.rb:782:in `block (2 levels) in activate!'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/handlers.rb:76:in `block in apply_handlers'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/handlers.rb:74:in `all?'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/handlers.rb:74:in `apply_handlers'
/var/www/discourse/plugins/discourse-activity-pub/plugin.rb:873:in `block (2 levels) in activate!'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/handlers.rb:76:in `block in apply_handlers'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/handlers.rb:74:in `all?'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/handlers.rb:74:in `apply_handlers'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/handlers.rb:24:in `apply_handlers'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/activity.rb:64:in `perform_activity'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/activity.rb:38:in `block in perform_transactions'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:616:in `block in within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:613:in `within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:361:in `transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/transactions.rb:234:in `block in transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:421:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_handling.rb:296:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/transactions.rb:233:in `transaction'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/activity.rb:34:in `perform_transactions'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/activity/announce.rb:26:in `process'
/var/www/discourse/plugins/discourse-activity-pub/app/jobs/discourse_activity_pub_process.rb:12:in `execute'
/var/www/discourse/app/jobs/base.rb:316:in `block (2 levels) in perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/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'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:202:in `execute_job'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:170:in `block (2 levels) in process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:177:in `block in invoke'
/var/www/discourse/lib/sidekiq/pausable.rb:132:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:179:in `block in invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:182:in `invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:169:in `block in process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:136:in `block (6 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_retry.rb:113:in `local'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:135:in `block (5 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq.rb:44:in `block in <module:Sidekiq>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:131:in `block (4 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:263:in `stats'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:126:in `block (3 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_logger.rb:13:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:125:in `block (2 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_retry.rb:80:in `global'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:124:in `block in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_logger.rb:39:in `prepare'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:123:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:168:in `process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:78:in `process_one'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:68:in `run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/component.rb:8:in `watchdog'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/component.rb:17:in `block in safe_thread'
Questo è il mio account. Sembra che non abbia verificato la mia email nellâistanza o in qualche modo nella categoria, e ActivityPub non sa come gestire quella situazione?
Câè in programma di rendere anche gli utenti di Discourse degli attori?
Vedendo ActivityPub come un protocollo per lavorare apertamente, questo sembra un passo mancante per usare Discourse come un luogo seguibile per i propri pensieri.
Gli utenti di Discourse sono già attori di ActivityPub. Semplicemente non puoi seguirli. Il plugin è costruito per consentire tale possibilità . La domanda è se sia saggio.
Non mi piace. Cambia lâidea fondamentale dei forum verso una pura istanza di Mastodon, e per questo abbiamo giĂ una scelta, Mastodon. Câè ancora una grande differenza tra seguire argomenti e seguire persone.
La condivisione di contenuti tramite ActivityPub è una cosa totalmente diversa.
Ucciderebbe almeno il mio forum allâistante. Anche ora le condivisioni di ActivityPub sono un grande no per alcuni miei utenti. E una situazione in cui alcuni utenti userebbero Mastodon completamente tramite Discourse, e allo stesso tempo altri no, creerebbe un gigantesco conflitto.
Alcuni potrebbero dire che è la vita di tutti i giorni nel mondo di Mastodon, perchĂŠ anche se si partecipa a un thread, tutta la conversazione non è visibile, a meno che non si visiti lâoriginale tramite browser. Ma comunque, no.
Sto pianificando di impostare una piattaforma di live streaming self-hosted e di utilizzare Discourse come software per il forum, con la live chat di Discourse integrata nello streaming live.
Ho scoperto di recente il software fediverse e ho pensato che Peertube sarebbe ottimo per caricare contenuti VOD, il che potrebbe aumentare la scopribilitĂ della mia piattaforma poichĂŠ le persone possono vedere i video da Mastodon e poi scoprire il resto del mio sito da lĂŹ.
Potrei usare questo plugin per consentire alle persone di utilizzare il loro account AP per accedere alla mia istanza Discourse, in modo simile a come molti siti offrono lâaccesso tramite Google/Facebook?
Pensi che la domanda se sia saggio possa avere una risposta generale, considerando tutti i possibili casi dâuso di Discourse?
Nel mio caso, sto ancora cercando modi per utilizzare il fediverso in modo produttivo. Preferirei pensare pubblicamente usando unâistanza di Discourse come il mio giardino digitale. Attualmente, lâunico modo che vedo per avere un feed pubblico dei miei pensieri è avere un account su unâistanza Mastodon, seguire tutte le categorie del mio giardino privato e potenziare ogni messaggio che pubblico tramite questo account.
Mi piacerebbe sperimentare lâuso di Discourse come mia principale connessione al fediverso.