NoMethodError: undefined method `should_secure_uploads? - latest updates

Hello,

Since updating, discourse and out plugins, we’re not able to send emails. Getting these errors 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…`

We have AWS S3 to host images.

Full logs

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' 
1 Like

I noticed the method had been recently renamed here: DEV: Rename with_secure_uploads? to should_secure_uploads? on Post by martin-brennan · Pull Request #26549 · discourse/discourse · GitHub.

Did you upgrade from the admin panel?

Not an expert here. I wonder if that change requires rebuilding Discourse from the command line so everything is correctly loaded (?). :thinking:

2 Likes

I did from the admin UI, normally thats ok. I’ve just done a reboot of the droplet and it’s still present, will try a rebuild now to see how it goes.

1 Like

Looks like that’s fixed it. Good spot ! Many thanks

2 Likes