Я пока не буду переносить это в 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 (о, но это уже после удаления плагина).