Undefined method `denied' for Emoji:Class

I’m receiving a number of errors as follows:
This appears to be affecting outgoing emails.

Job exception: undefined method `denied' for Emoji:Class

        __optInput.emojiDenyList = #{Emoji.denied.to_json};
                                          ^^^^^^^
Backtrace
/var/www/discourse/lib/pretty_text.rb:205:in `block in markdown' 
/var/www/discourse/lib/pretty_text.rb:662:in `block in protect' 
/var/www/discourse/lib/pretty_text.rb:662:in `synchronize' 
/var/www/discourse/lib/pretty_text.rb:662:in `protect' 
/var/www/discourse/lib/pretty_text.rb:177:in `markdown' 
/var/www/discourse/lib/pretty_text.rb:302:in `cook' 
/var/www/discourse/lib/email/message_builder.rb:137:in `html_part' 
/var/www/discourse/lib/email/build_email_helper.rb:9:in `block in build_email' 
<internal:kernel>:90:in `tap'
/var/www/discourse/lib/email/build_email_helper.rb:8:in `build_email' 
/var/www/discourse/app/mailers/user_notifications.rb:763:in `send_notification_email' 
/var/www/discourse/app/mailers/user_notifications.rb:555:in `notification_email' 
/var/www/discourse/app/mailers/user_notifications.rb:449:in `mailing_list_notify' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/actionpack-7.0.4.3/lib/abstract_controller/base.rb:215:in `process_action' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/actionpack-7.0.4.3/lib/abstract_controller/callbacks.rb:234:in `block in process_action' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/activesupport-7.0.4.3/lib/active_support/callbacks.rb:99:in `run_callbacks' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/actionpack-7.0.4.3/lib/abstract_controller/callbacks.rb:233:in `process_action' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/actionpack-7.0.4.3/lib/abstract_controller/base.rb:151:in `process' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/actionmailer-7.0.4.3/lib/action_mailer/rescuable.rb:25:in `block in process' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/actionmailer-7.0.4.3/lib/action_mailer/rescuable.rb:17:in `handle_exceptions' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/actionmailer-7.0.4.3/lib/action_mailer/rescuable.rb:24:in `process' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/actionview-7.0.4.3/lib/action_view/rendering.rb:39:in `process' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/actionmailer-7.0.4.3/lib/action_mailer/base.rb:646:in `block in process' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/activesupport-7.0.4.3/lib/active_support/notifications.rb:206:in `block in instrument' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/activesupport-7.0.4.3/lib/active_support/notifications/instrumenter.rb:24:in `instrument' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/activesupport-7.0.4.3/lib/active_support/notifications.rb:206:in `instrument' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/actionmailer-7.0.4.3/lib/action_mailer/base.rb:645:in `process' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/actionmailer-7.0.4.3/lib/action_mailer/message_delivery.rb:128:in `block in processed_mailer' 
<internal:kernel>:90:in `tap'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/actionmailer-7.0.4.3/lib/action_mailer/message_delivery.rb:127:in `processed_mailer' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/actionmailer-7.0.4.3/lib/action_mailer/message_delivery.rb:30:in `__getobj__' 
/usr/local/lib/ruby/3.1.0/delegate.rb:84:in `method_missing'
/var/www/discourse/lib/email/sender.rb:51:in `send' 
/var/www/discourse/app/jobs/regular/notify_mailing_list_subscribers.rb:129:in `block (2 levels) in execute' 
/var/www/discourse/app/models/email_log.rb:62:in `block in unique_email_per_post' 
/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/models/email_log.rb:58:in `unique_email_per_post' 
/var/www/discourse/app/jobs/regular/notify_mailing_list_subscribers.rb:128:in `block in execute' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/activerecord-7.0.4.3/lib/active_record/relation/batches.rb:71:in `each' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/activerecord-7.0.4.3/lib/active_record/relation/batches.rb:71:in `block in find_each' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/activerecord-7.0.4.3/lib/active_record/relation/batches.rb:138:in `block in find_in_batches' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/activerecord-7.0.4.3/lib/active_record/relation/batches.rb:245:in `block in in_batches' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/activerecord-7.0.4.3/lib/active_record/relation/batches.rb:229:in `loop' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/activerecord-7.0.4.3/lib/active_record/relation/batches.rb:229:in `in_batches' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/activerecord-7.0.4.3/lib/active_record/relation/batches.rb:137:in `find_in_batches' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/activerecord-7.0.4.3/lib/active_record/relation/batches.rb:70:in `find_each' 
/var/www/discourse/app/jobs/regular/notify_mailing_list_subscribers.rb:96:in `execute' 
/var/www/discourse/app/jobs/base.rb:249:in `block (2 levels) in perform' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/rails_multisite-4.0.1/lib/rails_multisite/connection_management.rb:80:in `with_connection' 
/var/www/discourse/app/jobs/base.rb:236:in `block in perform' 
/var/www/discourse/app/jobs/base.rb:232:in `each' 
/var/www/discourse/app/jobs/base.rb:232:in `perform' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/sidekiq-6.5.8/lib/sidekiq/processor.rb:202:in `execute_job' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/sidekiq-6.5.8/lib/sidekiq/processor.rb:170:in `block (2 levels) in process' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/sidekiq-6.5.8/lib/sidekiq/middleware/chain.rb:177:in `block in invoke' 
/var/www/discourse/lib/sidekiq/pausable.rb:134:in `call' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/sidekiq-6.5.8/lib/sidekiq/middleware/chain.rb:179:in `block in invoke' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/sidekiq-6.5.8/lib/sidekiq/middleware/chain.rb:182:in `invoke' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/sidekiq-6.5.8/lib/sidekiq/processor.rb:169:in `block in process' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/sidekiq-6.5.8/lib/sidekiq/processor.rb:136:in `block (6 levels) in dispatch' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/sidekiq-6.5.8/lib/sidekiq/job_retry.rb:113:in `local' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/sidekiq-6.5.8/lib/sidekiq/processor.rb:135:in `block (5 levels) in dispatch' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/sidekiq-6.5.8/lib/sidekiq.rb:44:in `block in <module:Sidekiq>' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/sidekiq-6.5.8/lib/sidekiq/processor.rb:131:in `block (4 levels) in dispatch' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/sidekiq-6.5.8/lib/sidekiq/processor.rb:263:in `stats' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/sidekiq-6.5.8/lib/sidekiq/processor.rb:126:in `block (3 levels) in dispatch' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/sidekiq-6.5.8/lib/sidekiq/job_logger.rb:13:in `call' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/sidekiq-6.5.8/lib/sidekiq/processor.rb:125:in `block (2 levels) in dispatch' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/sidekiq-6.5.8/lib/sidekiq/job_retry.rb:80:in `global' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/sidekiq-6.5.8/lib/sidekiq/processor.rb:124:in `block in dispatch' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/sidekiq-6.5.8/lib/sidekiq/job_logger.rb:39:in `prepare' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/sidekiq-6.5.8/lib/sidekiq/processor.rb:123:in `dispatch' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/sidekiq-6.5.8/lib/sidekiq/processor.rb:168:in `process' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/sidekiq-6.5.8/lib/sidekiq/processor.rb:78:in `process_one' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/sidekiq-6.5.8/lib/sidekiq/processor.rb:68:in `run' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/sidekiq-6.5.8/lib/sidekiq/component.rb:8:in `watchdog' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/sidekiq-6.5.8/lib/sidekiq/component.rb:17:in `block in safe_thread' 
1 Like

May be related to Support more management to emoji reaction in chat?, perhaps @tgxworld or @davidb have an idea

2 Likes

We can’t seem to find a way to reproduce this and the error doesn’t show up in any of our hosted Discourse.

Any chances you could update to the latest version to ensure all your processes are restarted?

I’m on the latest and have just restarted the server. (Ubuntu update).

I’ll report back.

1 Like

Sidkiq History:

2 Likes