NoMethodError: не определен метод `chat_sound`, когда чат отключен

Я пока не буду переносить это в Contribute > Bug, так как установка нестандартная. Однако образ собран с использованием лаунчера (запускается через Fargate в ECS за балансировщиком нагрузки), поэтому, похоже, проблема не в установке. Тем не менее, на этом сайте хватает странностей, но я решил сообщить об этом на случай, если это может вызвать проблемы у других.

При попытке войти через ссылку администратора я получаю следующее:

Started POST "/session/email-login/657e8390c8dec98db8cac2feaef96dcf" for 98.46.117.40 at 2022-11-08 18:46:08 +0000                                                                                                             
Processing by SessionController#email_login as */*                                                             
  Parameters: {"second_factor_method"=>"1", "timezone"=>"America/Chicago", "token"=>"657e8390c8dec98db8cac2feaef96dcf"}
Completed 500 Internal Server Error in 107ms (ActiveRecord: 0.0ms | Allocations: 18703)
NoMethodError (undefined method `chat_sound' for #<UserOption:0x00007f748870c1d8>)                                                                                                                                             
(eval):39:in `_fast_attributes'                                                                                                                                                                                                
lib/freedom_patches/ams_include_without_root.rb:57:in `include!'       
app/models/web_hook.rb:109:in `generate_payload'                                                               
app/models/web_hook.rb:63:in `enqueue_object_hooks'   
config/initializers/012-web_hook_events.rb:54:in `block (2 levels) in <main>'
lib/discourse_event.rb:14:in `block in trigger'
lib/discourse_event.rb:13:in `trigger'
app/models/email_token.rb:71:in `block in confirm'
app/models/email_token.rb:57:in `confirm'
app/controllers/session_controller.rb:373:in `email_login'
app/controllers/application_controller.rb:413:in `block in with_resolved_locale'
app/controllers/application_controller.rb:413:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:71:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:368:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
lib/middleware/request_tracker.rb:202:in `call'

Я зашёл в контейнер, выполнил cd /var/www/discourse/plugins;rm -rf chat; sv restart unicorn и после этого смог войти.

Проверил, была ли выполнена миграция базы данных (хотя она работала некоторое время до миграции). Также плагин Retort был установлен здесь ранее (но сейчас его нет).

Чат был отключён, поэтому, если кто-то другой сможет воспроизвести это, похоже, что это довольно серьёзная ошибка, так как единственный способ её исправить — модифицировать работающий контейнер.

Я собрал этот образ примерно час назад. <meta name="generator" content="Discourse 2.9.0.beta11 - https://github.com/discourse/discourse version d2ea39c932ec3ec07cbb7362c64ff3fb97c54a4a">

Я вижу chat_sound в таблице user_options. И u.user_option.chat_sound возвращает nil, когда я выполняю это из Rails (о, но это уже после удаления плагина).

Я ничего подобного не слышал. Возможно, стоит подождать ещё одного отчёта, прежде чем разбираться с этим.

Звучит правильно. Завтра я соберу и запущу новый образ и посмотрю, получится ли повторить это.

Спасибо! Это было бы очень полезно!

Ну, что бы это ни было, оно прошло. :person_shrugging:

Я загрузил тот же образ сегодня утром, и всё заработало. Единственное, что я могу предположить, так это то, что somehow база данных не была полностью мигрирована или что-то в этом роде, но пару минут там выглядело действительно плохо.

Спасибо за повторную проверку!

После того как я поплакала о ещё одном волке, это было самое меньшее, что я могла сделать.

Не переживайте, возможно, вы действительно столкнулись с проблемой. В последние дни у нас были ошибки в некоторых миграциях, так что, возможно, это вызывало у вас проблемы в этот период.