O Git travou e a página de erro Oops apareceu nas contas de Admin/Mod

Deixe-me voltar um pouco… O que eu estava fazendo ali era tentar alterar as preferências de administrador na esperança de que o código que lança a exceção não precisasse ser executado.

Mas o que realmente queremos é verificar se há um bug no código que precisa ser corrigido, ou algo estranho no seu banco de dados que não deveria estar lá. Ou, de fato, ambos.

O backtrace leva a este código em 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

Pode-se executar uma consulta no data explorer para ver qual valor de last_visited_upcoming_changes_at suas contas de administrador possuem.

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

e isso pode ser produtivo. No meu caso (atualizado recentemente para a v2026.7.3), é apenas uma string de data, o que, acredito, deveria ser o caso.