Неопределенный метод `timeout=' для класса Regexp

Привет

Я пытался выполнить обновление через онлайн-администратор сайта, но это не удалось, и я получаю следующую ошибку:

/var/www/discourse/config/initializers/100-regex-timeout.rb:3:in `<main>': undefined method `timeout=' for Regexp:Class (NoMethodError)

Regexp.timeout = GlobalSetting.regex_timeout_seconds.to_i if GlobalSetting.regex_timeout_seconds.present?
      ^^^^^^^^^^
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/engine.rb:667:in `load'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/engine.rb:667:in `block in load_config_initializer'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/activesupport-7.0.4.3/lib/active_support/notifications.rb:208:in `instrument'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/engine.rb:666:in `load_config_initializer'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/engine.rb:620:in `block (2 levels) in <class:Engine>'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/engine.rb:619:in `each'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/engine.rb:619:in `block in <class:Engine>'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/initializable.rb:32:in `instance_exec'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/initializable.rb:32:in `run'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/initializable.rb:61:in `block in run_initializers'
        from /usr/local/lib/ruby/3.1.0/tsort.rb:228:in `block in tsort_each'
        from /usr/local/lib/ruby/3.1.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
        from /usr/local/lib/ruby/3.1.0/tsort.rb:422:in `block (2 levels) in each_strongly_connected_component_from'
        from /usr/local/lib/ruby/3.1.0/tsort.rb:431:in `each_strongly_connected_component_from'
        from /usr/local/lib/ruby/3.1.0/tsort.rb:421:in `block in each_strongly_connected_component_from'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/initializable.rb:50:in `each'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/initializable.rb:50:in `tsort_each_child'
        from /usr/local/lib/ruby/3.1.0/tsort.rb:415:in `call'
        from /usr/local/lib/ruby/3.1.0/tsort.rb:415:in `each_strongly_connected_component_from'
        from /usr/local/lib/ruby/3.1.0/tsort.rb:349:in `block in each_strongly_connected_component'
        from /usr/local/lib/ruby/3.1.0/tsort.rb:347:in `each'
        from /usr/local/lib/ruby/3.1.0/tsort.rb:347:in `call'
        from /usr/local/lib/ruby/3.1.0/tsort.rb:347:in `each_strongly_connected_component'
        from /usr/local/lib/ruby/3.1.0/tsort.rb:226:in `tsort_each'
        from /usr/local/lib/ruby/3.1.0/tsort.rb:205:in `tsort_each'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/initializable.rb:60:in `run_initializers'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/application.rb:372:in `initialize!'
        from /var/www/discourse/config/environment.rb:7:in `<top (required)>'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/pry-0.14.2/lib/pry/pry_class.rb:103:in `require'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/pry-0.14.2/lib/pry/pry_class.rb:103:in `block in load_requires'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/pry-0.14.2/lib/pry/pry_class.rb:102:in `each'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/pry-0.14.2/lib/pry/pry_class.rb:102:in `load_requires'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/pry-0.14.2/lib/pry/pry_class.rb:143:in `final_session_setup'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/pry-0.14.2/lib/pry/cli.rb:82:in `parse_options'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/pry-0.14.2/bin/pry:12:in `<top (required)>'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/bin/pry:25:in `load'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/bin/pry:25:in `<top (required)>'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bundler-2.4.4/lib/bundler/cli/exec.rb:58:in `load'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bundler-2.4.4/lib/bundler/cli/exec.rb:58:in `kernel_load'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bundler-2.4.4/lib/bundler/cli/exec.rb:23:in `run'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bundler-2.4.4/lib/bundler/cli.rb:491:in `exec'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bundler-2.4.4/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bundler-2.4.4/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bundler-2.4.4/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bundler-2.4.4/lib/bundler/cli.rb:34:in `dispatch'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bundler-2.4.4/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bundler-2.4.4/lib/bundler/cli.rb:28:in `start'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bundler-2.4.4/exe/bundle:45:in `block in <top (required)>'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bundler-2.4.4/lib/bundler/friendly_errors.rb:117:in `with_friendly_errors'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bundler-2.4.4/exe/bundle:33:in `<top (required)>'
        from /usr/local/bin/bundle:25:in `load'
        from /usr/local/bin/bundle:25:in `<main>'

Мне кажется, что вы используете неподдерживаемую установку: мы поддерживаем только Ruby 3.2 в последней версии кодовой базы Discourse.

Нам определённо стоит улучшить сообщения об ошибках: приложение не должно выдавать вам зашифрованные сообщения об ошибках.

Я вручную обновил его после того, как форум был недоступен около часа, эта страница была очень полезна

https://meta.discourse.org/t/manually-update-discourse-and-docker-image-to-latest/23325

Спасибо, что подняли этот вопрос, @Samir_Sabri. Похоже, мы еще не обновили минимально требуемую версию в docker_manager (интерфейс, который используют пользователи для самостоятельного хостинга при обновлении). После того как это изменение будет принято, пользователям будет предложено выполнить пересборку через CLI перед обновлением Discourse: