Зависание Git и ошибка Oops на странице ошибок для аккаунтов администраторов и модераторов

Позвольте мне вернуться к предыдущему… То, что я делал там, было попыткой изменить настройки администратора в надежде, что код, вызывающий исключение, не потребуется запускать.

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

Стек вызовов (backtrace) указывает на этот код в app/serializers/current_user_serializer.rb

  def has_new_upcoming_changes
    last_visited = object.custom_fields["last_visited_upcoming_changes_at"]
    return false if last_visited.blank? && object.created_at < Discourse.site_creation_date + 1.hour
    cutoff = last_visited.present? ? Time.zone.parse(last_visited) : object.created_at
    UpcomingChangeEvent.added.not_backfilled.where("created_at > ?", cutoff).exists?
  end

Можно выполнить запрос через Data Explorer, чтобы посмотреть, какое значение last_visited_upcoming_changes_at имеют ваши учетные записи администраторов.

SELECT 
    ucf.id AS custom_field_id, 
    ucf.user_id, 
    u.username,
    ucf.name, 
    ucf.value 
FROM user_custom_fields ucf
INNER JOIN users u ON u.id = ucf.user_id
WHERE ucf.name = 'last_visited_upcoming_changes_at'
  AND u.admin = true

и это может дать результат. В моем случае (недавно обновился до v2026.7.3) это просто строка с датой, и, я думаю, так и должно быть.