Eccezione del job: metodo 'json=' non definito per un'istanza di DiscourseActivityPub::AP::Link

Sembra che il follow delle categorie di Discourse non funzioni più

Job exception: undefined method 'json=' for an instance of DiscourseActivityPub::AP::Link
backtrace
Message (19 copies reported)

Job exception: undefined method 'json=' for an instance of DiscourseActivityPub::AP::Link

Backtrace

/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/a_p/object.rb:194:in 'DiscourseActivityPub::AP::Object.factory'
/var/www/discourse/plugins/discourse-activity-pub/plugin.rb:857:in 'block (4 levels) in Plugin::Instance#activate!'
/var/www/discourse/plugins/discourse-activity-pub/plugin.rb:856:in 'Array#each'
/var/www/discourse/plugins/discourse-activity-pub/plugin.rb:856:in 'block (3 levels) in Plugin::Instance#activate!'
activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:376:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#transaction'
activerecord-8.1.4/lib/active_record/transactions.rb:234:in 'block (2 levels) in ActiveRecord::Transactions::ClassMethods#transaction'
activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:487:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_pool_transaction_isolation_level'
activerecord-8.1.4/lib/active_record/transactions.rb:233:in 'block in ActiveRecord::Transactions::ClassMethods#transaction'
activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:459:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'
activerecord-8.1.4/lib/active_record/connection_handling.rb:313:in 'ActiveRecord::ConnectionHandling#with_connection'
activerecord-8.1.4/lib/active_record/transactions.rb:232:in 'ActiveRecord::Transactions::ClassMethods#transaction'
/var/www/discourse/plugins/discourse-activity-pub/plugin.rb:817:in 'block (2 levels) in Plugin::Instance#activate!'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/plugin/instance.rb:10:in 'block in DiscourseActivityPub::Plugin::Instance#activity_pub_on'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/a_p/handlers.rb:76:in 'block in DiscourseActivityPub::AP::Handlers::ClassMethods#apply_handlers'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/a_p/handlers.rb:74:in 'Array#all?'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/a_p/handlers.rb:74:in 'DiscourseActivityPub::AP::Handlers::ClassMethods#apply_handlers'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/a_p/handlers.rb:24:in 'DiscourseActivityPub::AP::Handlers#apply_handlers'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/a_p/object.rb:225:in 'DiscourseActivityPub::AP::Object.resolve_and_store'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/a_p/activity.rb:136:in 'DiscourseActivityPub::AP::Activity#process_actor_and_object'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/a_p/activity.rb:56:in 'DiscourseActivityPub::AP::Activity#process_activity'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/a_p/activity.rb:36:in 'block in DiscourseActivityPub::AP::Activity#perform_transactions'
activerecord-8.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:648:in 'block in ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'
activesupport-8.1.4/lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'
activerecord-8.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:645:in 'ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'
activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:386:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#within_new_transaction'
activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:378:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#transaction'
activerecord-8.1.4/lib/active_record/transactions.rb:234:in 'block (2 levels) in ActiveRecord::Transactions::ClassMethods#transaction'
activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:487:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_pool_transaction_isolation_level'
activerecord-8.1.4/lib/active_record/transactions.rb:233:in 'block in ActiveRecord::Transactions::ClassMethods#transaction'
activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:465:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'
activerecord-8.1.4/lib/active_record/connection_handling.rb:313:in 'ActiveRecord::ConnectionHandling#with_connection'
activerecord-8.1.4/lib/active_record/transactions.rb:232:in 'ActiveRecord::Transactions::ClassMethods#transaction'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/a_p/activity.rb:34:in 'DiscourseActivityPub::AP::Activity#perform_transactions'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/a_p/activity.rb:26:in 'DiscourseActivityPub::AP::Activity#process'
/var/www/discourse/plugins/discourse-activity-pub/app/jobs/regular/discourse_activity_pub/process.rb:16:in 'block in Jobs::DiscourseActivityPub::Process#execute'
/var/www/discourse/lib/distributed_mutex.rb:53:in 'block in DistributedMutex#synchronize'
/var/www/discourse/lib/distributed_mutex.rb:49:in 'Thread::Mutex#synchronize'
/var/www/discourse/lib/distributed_mutex.rb:49:in 'DistributedMutex#synchronize'
/var/www/discourse/lib/distributed_mutex.rb:34:in 'DistributedMutex.synchronize'
/var/www/discourse/plugins/discourse-activity-pub/app/jobs/regular/discourse_activity_pub/process.rb:9:in 'Jobs::DiscourseActivityPub::Process#execute'
/var/www/discourse/app/jobs/base.rb:313:in 'block (2 levels) in Jobs::Base#perform'
rails_multisite-9.0.0/lib/rails_multisite/connection_management/null_instance.rb:54:in 'RailsMultisite::ConnectionManagement::NullInstance#with_connection'
rails_multisite-9.0.0/lib/rails_multisite/connection_management.rb:23:in 'RailsMultisite::ConnectionManagement.with_connection'
/var/www/discourse/app/jobs/base.rb:300:in 'block in Jobs::Base#perform'
/var/www/discourse/app/jobs/base.rb:297:in 'Array#each'
/var/www/discourse/app/jobs/base.rb:297:in 'Jobs::Base#perform'
sidekiq-7.3.10/lib/sidekiq/processor.rb:220:in 'Sidekiq::Processor#execute_job'
sidekiq-7.3.10/lib/sidekiq/processor.rb:185:in 'block (4 levels) in Sidekiq::Processor#process'
sidekiq-7.3.10/lib/sidekiq/middleware/chain.rb:180:in 'Sidekiq::Middleware::Chain#traverse'
sidekiq-7.3.10/lib/sidekiq/middleware/chain.rb:183:in 'block in Sidekiq::Middleware::Chain#traverse'
/var/www/discourse/lib/sidekiq/suppress_user_email_errors.rb:6:in 'Sidekiq::SuppressUserEmailErrors#call'
sidekiq-7.3.10/lib/sidekiq/middleware/chain.rb:182:in 'Sidekiq::Middleware::Chain#traverse'
sidekiq-7.3.10/lib/sidekiq/middleware/chain.rb:183:in 'block in Sidekiq::Middleware::Chain#traverse'
/var/www/discourse/lib/sidekiq/discourse_event.rb:6:in 'Sidekiq::DiscourseEvent#call'
sidekiq-7.3.10/lib/sidekiq/middleware/chain.rb:182:in 'Sidekiq::Middleware::Chain#traverse'
sidekiq-7.3.10/lib/sidekiq/middleware/chain.rb:183:in 'block in Sidekiq::Middleware::Chain#traverse'
/var/www/discourse/lib/sidekiq/pausable.rb:136:in 'Sidekiq::Pausable#call'
sidekiq-7.3.10/lib/sidekiq/middleware/chain.rb:182:in 'Sidekiq::Middleware::Chain#traverse'
sidekiq-7.3.10/lib/sidekiq/middleware/chain.rb:183:in 'block in Sidekiq::Middleware::Chain#traverse'
sidekiq-7.3.10/lib/sidekiq/job/interrupt_handler.rb:9:in 'Sidekiq::Job::InterruptHandler#call'
sidekiq-7.3.10/lib/sidekiq/middleware/chain.rb:182:in 'Sidekiq::Middleware::Chain#traverse'
sidekiq-7.3.10/lib/sidekiq/middleware/chain.rb:183:in 'block in Sidekiq::Middleware::Chain#traverse'
sidekiq-7.3.10/lib/sidekiq/metrics/tracking.rb:26:in 'Sidekiq::Metrics::ExecutionTracker#track'
sidekiq-7.3.10/lib/sidekiq/metrics/tracking.rb:134:in 'Sidekiq::Metrics::Middleware#call'
sidekiq-7.3.10/lib/sidekiq/middleware/chain.rb:182:in 'Sidekiq::Middleware::Chain#traverse'
sidekiq-7.3.10/lib/sidekiq/middleware/chain.rb:173:in 'Sidekiq::Middleware::Chain#invoke'
sidekiq-7.3.10/lib/sidekiq/processor.rb:184:in 'block (3 levels) in Sidekiq::Processor#process'
sidekiq-7.3.10/lib/sidekiq/processor.rb:145:in 'block (6 levels) in Sidekiq::Processor#dispatch'
sidekiq-7.3.10/lib/sidekiq/job_retry.rb:118:in 'Sidekiq::JobRetry#local'
sidekiq-7.3.10/lib/sidekiq/processor.rb:144:in 'block (5 levels) in Sidekiq::Processor#dispatch'
sidekiq-7.3.10/lib/sidekiq/config.rb:39:in 'block in <class:Config>'
sidekiq-7.3.10/lib/sidekiq/processor.rb:139:in 'block (4 levels) in Sidekiq::Processor#dispatch'
sidekiq-7.3.10/lib/sidekiq/processor.rb:281:in 'Sidekiq::Processor#stats'
sidekiq-7.3.10/lib/sidekiq/processor.rb:134:in 'block (3 levels) in Sidekiq::Processor#dispatch'
sidekiq-7.3.10/lib/sidekiq/job_logger.rb:15:in 'Sidekiq::JobLogger#call'
sidekiq-7.3.10/lib/sidekiq/processor.rb:133:in 'block (2 levels) in Sidekiq::Processor#dispatch'
sidekiq-7.3.10/lib/sidekiq/job_retry.rb:85:in 'Sidekiq::JobRetry#global'
sidekiq-7.3.10/lib/sidekiq/processor.rb:132:in 'block in Sidekiq::Processor#dispatch'
sidekiq-7.3.10/lib/sidekiq/job_logger.rb:40:in 'Sidekiq::JobLogger#prepare'
sidekiq-7.3.10/lib/sidekiq/processor.rb:131:in 'Sidekiq::Processor#dispatch'
sidekiq-7.3.10/lib/sidekiq/processor.rb:183:in 'block (2 levels) in Sidekiq::Processor#process'
sidekiq-7.3.10/lib/sidekiq/processor.rb:182:in 'Thread.handle_interrupt'
sidekiq-7.3.10/lib/sidekiq/processor.rb:182:in 'block in Sidekiq::Processor#process'
sidekiq-7.3.10/lib/sidekiq/processor.rb:181:in 'Thread.handle_interrupt'
sidekiq-7.3.10/lib/sidekiq/processor.rb:181:in 'Sidekiq::Processor#process'
sidekiq-7.3.10/lib/sidekiq/processor.rb:86:in 'Sidekiq::Processor#process_one'
sidekiq-7.3.10/lib

Self-hosted e 2026.10.0-latest (+458 commit, aggiornato ieri sera). Funzionava prima dell’ultimo aggiornamento.

Mi dispiace per l’immagine, ma è correlata?

Sembra che la federazione da Mastodon a Discourse si rompa se l’istanza di Mastodon viene aggiornata alla versione 5.0.0. Quindi, forse si tratta dopo tutto di un bug di Mastodon — come… le mie competenze non mi permettono di dirlo con certezza.

Modifica

Mi sbagliavo. La versione di Mastodon non fa differenza. Se l’attore seguito ha un link in quel toot, il contenuto non viene federato su Discourse e ho ricevuto un errore json=.

Devo sapere con certezza se questo problema è di Mastodon o di Discourse…