Сброс выбранного пользователем аватара: ошибка Ops 500

Когда я добавляю выбираемый пользователем аватар, а затем сбрасываю его, внезапно появляется ошибка Ops 500, и я больше ничего не могу сделать.

Дополнительно: Это уже случалось один раз, но через десять минут всё прошло. Версия v2.9.3 beta.

Через полчаса всё снова работало нормально.

Но, как по волшебству, ещё через полчаса, когда я ничего не делал, всё снова перестало работать и появилась та же страница с ошибкой.

3 лайка

Мне удалось воспроизвести это (136f7dbf78)

  • Добавил несколько выбираемых аватаров
  • Включил режим выбора аватаров для всех

  • Сбросил выбираемые аватары, хотя зелёная галочка была неактивна
  • Сбросил режим выбора аватаров
  • Получил сообщение «Ой. Программное обеспечение, обеспечивающее работу этого обсуждения…»

Мне не удаётся убрать экран с сообщением «Ой». :thinking: Мой тестовый сайт теперь неработоспособен как для тестового пользователя, так и для администратора, в Chrome и Firefox.

5 лайков

Проверьте логи в /var/discourse/shared/standalone/logs/rails/production.log, чтобы понять, в чём ошибка, и сообщите об этом.

Затем вы можете зайти в консоль Rails и отменить внесённые изменения. Думаю, это можно сделать так:

    SiteSettings.selectable_avatar_whatever = false

Можно использовать автодополнение после ввода selectable или, возможно, начать с avatar? Не помню точно, как именно это работает.

4 лайка

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

Started PUT "/admin/site_settings/selectable_avatars" for 176.25.113.180 at 2022-03-26 10:09:12 +0000
Processing by Admin::SiteSettingsController#update as */*
  Parameters: {"selectable_avatars"=>"", "id"=>"selectable_avatars"}
Completed 500 Internal Server Error in 62ms (ActiveRecord: 0.0ms | Allocations: 3529)
NoMethodError (undefined method `to_i' for []:Array
Did you mean?  to_s
               to_a
               to_h)

Думаю, это та самая исходная ошибка, хотя после моих попыток открыть другие страницы было ещё несколько. Это то самое?

Внимательнее посмотрев, я вижу, что ошибки одинаковые, просто срабатывают на разных страницах:

Started GET "/login" for 176.25.113.180 at 2022-03-26 10:21:13 +0000
Processing by StaticController#show as HTML
  Parameters: {"id"=>"login"}
Completed 500 Internal Server Error in 9ms (ActiveRecord: 0.0ms | Allocations: 1824)
NoMethodError (undefined method `to_i' for []:Array
Did you mean?  to_s
               to_a
               to_h)
3 лайка

Я думаю, проблема в том, что включена настройка выбора аватара, но список аватаров пуст (именно пустой массив, по-моему, вызывает ошибку). Поэтому нужно либо отключить выбор аватаров, либо добавить аватары. Я не знаю, как их добавить прямо сейчас, поэтому, думаю, отключение настройки может помочь.

4 лайка

Извините за задержку, подобрать нужные слова оказалось дольше, чем я ожидал. :slightly_smiling_face:

SiteSetting.selectable_avatars_mode="disabled"

После выполнения этой команды мой тестовый сайт снова стал доступен. :+1:

4 лайка

Спасибо, ребята, я понял!

4 лайка

Отличная работа, @JammyDodger! Вы можете упростить задачу, посмотрев в conf/site_settings.yml в исходном коде. Так вы сможете легче найти то, что ищете. Также можно добавить /search в интерфейс, но в данном случае он был сломан…

Рады, что вы снова в строю, @daming!

Это всё ещё выглядит как ошибка. Уверен, что после выходных ей уделят внимание.

3 лайка

Мы посмотрим в течение следующих 7 дней или около того. Рады, что у нас есть обходное решение.

3 лайка

Мы исправили это согласно:

:confetti_ball:

5 лайков