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

Я пока не буду переносить это в bug, так как это нестандартная установка. Однако образ собран с использованием launcher (а затем запускается через 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 база данных не была полностью мигрирована или что-то в этом роде, но пару минут там выглядело действительно плохо.

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

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

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