NoMethodError: undefined method `should_secure_uploads?` - ultimi aggiornamenti

Ciao,

Dopo l’aggiornamento di Discourse e dei plugin, non riusciamo più a inviare email. Riceviamo questi errori in Sidekiq.

Jobs::HandledExceptionWrapper: Wrapped NoMethodError: undefined method should_secure_uploads?’ for #<Post id: 3568, user_id: -2, topic_id: 3224, post_number: 1, raw: "A new campaign conducted by the T…`

Utilizziamo AWS S3 per ospitare le immagini.

Log completi

activemodel-7.0.8.1/lib/active_model/attribute_methods.rb:450:in `method_missing' 
/var/www/discourse/lib/pretty_text.rb:656:in `format_for_email' 
/var/www/discourse/app/helpers/user_notifications_helper.rb:59:in `email_excerpt' 
/var/www/discourse/app/mailers/user_notifications.rb:279:in `block in digest' 
/var/www/discourse/app/mailers/user_notifications.rb:278:in `map' 
/var/www/discourse/app/mailers/user_notifications.rb:278:in `digest' 
actionpack-7.0.8.1/lib/abstract_controller/base.rb:215: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:99:in `run_callbacks' 
actionpack-7.0.8.1/lib/abstract_controller/callbacks.rb:233:in `process_action' 
actionpack-7.0.8.1/lib/abstract_controller/base.rb:151:in `process' 
actionmailer-7.0.8.1/lib/action_mailer/rescuable.rb:27:in `block in process' 
actionmailer-7.0.8.1/lib/action_mailer/rescuable.rb:19:in `handle_exceptions' 
actionmailer-7.0.8.1/lib/action_mailer/rescuable.rb:26:in `process' 
actionview-7.0.8.1/lib/action_view/rendering.rb:39:in `process' 
actionmailer-7.0.8.1/lib/action_mailer/base.rb:646:in `block in process' 
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' 
actionmailer-7.0.8.1/lib/action_mailer/base.rb:645:in `process' 
actionmailer-7.0.8.1/lib/action_mailer/message_delivery.rb:128:in `block in processed_mailer' 
<internal:kernel>:90:in `tap'
actionmailer-7.0.8.1/lib/action_mailer/message_delivery.rb:127:in `processed_mailer' 
actionmailer-7.0.8.1/lib/action_mailer/message_delivery.rb:30:in `__getobj__' 
/usr/local/lib/ruby/3.2.0/delegate.rb:84:in `method_missing'
/var/www/discourse/lib/email/sender.rb:51:in `send' 
/var/www/discourse/app/jobs/regular/user_email.rb:79:in `send_user_email' 
/var/www/discourse/app/jobs/regular/user_email.rb:39:in `execute' 
/var/www/discourse/plugins/chat/lib/chat/user_email_extension.rb:6:in `execute' 
/var/www/discourse/app/jobs/base.rb:305:in `block (2 levels) in perform' 
rails_multisite-6.0.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'
rails_multisite-6.0.0/lib/rails_multisite/connection_management.rb:21:in `with_connection'
/var/www/discourse/app/jobs/base.rb:292:in `block in perform' 
/var/www/discourse/app/jobs/base.rb:288:in `each' 
/var/www/discourse/app/jobs/base.rb:288:in `perform' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:202:in `execute_job' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:170:in `block (2 levels) in process' 
sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:177:in `block in invoke' 
/var/www/discourse/lib/sidekiq/pausable.rb:132:in `call' 
sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:179:in `block in invoke' 
sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:182:in `invoke' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:169:in `block in process' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:136:in `block (6 levels) in dispatch' 
sidekiq-6.5.12/lib/sidekiq/job_retry.rb:113:in `local' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:135:in `block (5 levels) in dispatch' 
sidekiq-6.5.12/lib/sidekiq.rb:44:in `block in <module:Sidekiq>' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:131:in `block (4 levels) in dispatch' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:263:in `stats' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:126:in `block (3 levels) in dispatch' 
sidekiq-6.5.12/lib/sidekiq/job_logger.rb:13:in `call' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:125:in `block (2 levels) in dispatch' 
sidekiq-6.5.12/lib/sidekiq/job_retry.rb:80:in `global' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:124:in `block in dispatch' 
sidekiq-6.5.12/lib/sidekiq/job_logger.rb:39:in `prepare' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:123:in `dispatch' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:168:in `process' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:78:in `process_one' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:68:in `run' 
sidekiq-6.5.12/lib/sidekiq/component.rb:8:in `watchdog' 
sidekiq-6.5.12/lib/sidekiq/component.rb:17:in `block in safe_thread' 
activemodel-7.0.8.1/lib/active_model/attribute_methods.rb:450:in `method_missing' 
/var/www/discourse/lib/cooked_post_processor.rb:25:in `initialize' 
/var/www/discourse/app/jobs/regular/process_post.rb:27:in `new' 
/var/www/discourse/app/jobs/regular/process_post.rb:27:in `block in execute' 
/var/www/discourse/lib/distributed_mutex.rb:53:in `block in synchronize' 
/var/www/discourse/lib/distributed_mutex.rb:49:in `synchronize' 
/var/www/discourse/lib/distributed_mutex.rb:49:in `synchronize' 
/var/www/discourse/lib/distributed_mutex.rb:34:in `synchronize' 
/var/www/discourse/app/jobs/regular/process_post.rb:8:in `execute' 
/var/www/discourse/app/jobs/base.rb:305:in `block (2 levels) in perform' 
rails_multisite-6.0.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'
rails_multisite-6.0.0/lib/rails_multisite/connection_management.rb:21:in `with_connection'
/var/www/discourse/app/jobs/base.rb:292:in `block in perform' 
/var/www/discourse/app/jobs/base.rb:288:in `each' 
/var/www/discourse/app/jobs/base.rb:288:in `perform' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:202:in `execute_job' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:170:in `block (2 levels) in process' 
sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:177:in `block in invoke' 
/var/www/discourse/lib/sidekiq/pausable.rb:132:in `call' 
sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:179:in `block in invoke' 
sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:182:in `invoke' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:169:in `block in process' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:136:in `block (6 levels) in dispatch' 
sidekiq-6.5.12/lib/sidekiq/job_retry.rb:113:in `local' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:135:in `block (5 levels) in dispatch' 
sidekiq-6.5.12/lib/sidekiq.rb:44:in `block in <module:Sidekiq>' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:131:in `block (4 levels) in dispatch' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:263:in `stats' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:126:in `block (3 levels) in dispatch' 
sidekiq-6.5.12/lib/sidekiq/job_logger.rb:13:in `call' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:125:in `block (2 levels) in dispatch' 
sidekiq-6.5.12/lib/sidekiq/job_retry.rb:80:in `global' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:124:in `block in dispatch' 
sidekiq-6.5.12/lib/sidekiq/job_logger.rb:39:in `prepare' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:123:in `dispatch' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:168:in `process' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:78:in `process_one' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:68:in `run' 
sidekiq-6.5.12/lib/sidekiq/component.rb:8:in `watchdog' 
sidekiq-6.5.12/lib/sidekiq/component.rb:17:in `block in safe_thread' 
activemodel-7.0.8.1/lib/active_model/attribute_methods.rb:450:in `method_missing' 
/var/www/discourse/lib/pretty_text.rb:656:in `format_for_email' 
/var/www/discourse/app/helpers/user_notifications_helper.rb:59:in `email_excerpt' 
/var/www/discourse/app/mailers/user_notifications.rb:279:in `block in digest' 
/var/www/discourse/app/mailers/user_notifications.rb:278:in `map' 
/var/www/discourse/app/mailers/user_notifications.rb:278:in `digest' 
actionpack-7.0.8.1/lib/abstract_controller/base.rb:215: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:99:in `run_callbacks' 
actionpack-7.0.8.1/lib/abstract_controller/callbacks.rb:233:in `process_action' 
actionpack-7.0.8.1/lib/abstract_controller/base.rb:151:in `process' 
actionmailer-7.0.8.1/lib/action_mailer/rescuable.rb:27:in `block in process' 
actionmailer-7.0.8.1/lib/action_mailer/rescuable.rb:19:in `handle_exceptions' 
actionmailer-7.0.8.1/lib/action_mailer/rescuable.rb:26:in `process' 
actionview-7.0.8.1/lib/action_view/rendering.rb:39:in `process' 
actionmailer-7.0.8.1/lib/action_mailer/base.rb:646:in `block in process' 
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' 
actionmailer-7.0.8.1/lib/action_mailer/base.rb:645:in `process' 
actionmailer-7.0.8.1/lib/action_mailer/message_delivery.rb:128:in `block in processed_mailer' 
<internal:kernel>:90:in `tap'
actionmailer-7.0.8.1/lib/action_mailer/message_delivery.rb:127:in `processed_mailer' 
actionmailer-7.0.8.1/lib/action_mailer/message_delivery.rb:30:in `__getobj__' 
/usr/local/lib/ruby/3.2.0/delegate.rb:84:in `method_missing'
/var/www/discourse/lib/email/sender.rb:51:in `send' 
/var/www/discourse/app/jobs/regular/user_email.rb:79:in `send_user_email' 
/var/www/discourse/app/jobs/regular/user_email.rb:39:in `execute' 
/var/www/discourse/plugins/chat/lib/chat/user_email_extension.rb:6:in `execute' 
/var/www/discourse/app/jobs/base.rb:305:in `block (2 levels) in perform' 
rails_multisite-6.0.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'
rails_multisite-6.0.0/lib/rails_multisite/connection_management.rb:21:in `with_connection'
/var/www/discourse/app/jobs/base.rb:292:in `block in perform' 
/var/www/discourse/app/jobs/base.rb:288:in `each' 
/var/www/discourse/app/jobs/base.rb:288:in `perform' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:202:in `execute_job' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:170:in `block (2 levels) in process' 
sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:177:in `block in invoke' 
/var/www/discourse/lib/sidekiq/pausable.rb:132:in `call' 
sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:179:in `block in invoke' 
sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:182:in `invoke' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:169:in `block in process' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:136:in `block (6 levels) in dispatch' 
sidekiq-6.5.12/lib/sidekiq/job_retry.rb:113:in `local' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:135:in `block (5 levels) in dispatch' 
sidekiq-6.5.12/lib/sidekiq.rb:44:in `block in <module:Sidekiq>' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:131:in `block (4 levels) in dispatch' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:263:in `stats' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:126:in `block (3 levels) in dispatch' 
sidekiq-6.5.12/lib/sidekiq/job_logger.rb:13:in `call' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:125:in `block (2 levels) in dispatch' 
sidekiq-6.5.12/lib/sidekiq/job_retry.rb:80:in `global' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:124:in `block in dispatch' 
sidekiq-6.5.12/lib/sidekiq/job_logger.rb:39:in `prepare' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:123:in `dispatch' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:168:in `process' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:78:in `process_one' 
sidekiq-6.5.12/lib/sidekiq/processor.rb:68:in `run' 
sidekiq-6.5.12/lib/sidekiq/component.rb:8:in `watchdog' 
sidekiq-6.5.12/lib/sidekiq/component.rb:17:in `block in safe_thread' 

Ho notato che il metodo è stato recentemente rinominato qui: DEV: Rename with_secure_uploads? to should_secure_uploads? on Post by martin-brennan · Pull Request #26549 · discourse/discourse · GitHub.

Hai effettuato l’aggiornamento dal pannello di amministrazione?

Non sono un esperto. Mi chiedo se quella modifica richieda la ricompilazione di Discourse dalla riga di comando in modo che tutto venga caricato correttamente (?). :thinking:

L’ho fatto dall’interfaccia di amministrazione, normalmente va bene. Ho appena riavviato il droplet e c’è ancora, proverò a ricostruirlo ora per vedere come va.

Sembra che abbia risolto. Ottima osservazione! Grazie mille.