Quero colar isso para preservá-lo, para que eu possa fechar uma aba — código não testado do llm, apresentado aqui como um monkey patch para aplicar no console do rails em um sistema em execução, mas também contendo uma correção sugerida pelo llm para essa fragilidade que causa o erro:
# Reabrir o CurrentUserSerializer para sobrescrever o método quebrado
class CurrentUserSerializer < ApplicationSerializer
def has_new_upcoming_changes
last_visited = object.custom_fields["last_visited_upcoming_changes_at"]
# Extrair string se estiver em cache como um array pelo preloader
last_visited = last_visited.first if last_visited.is_a?(Array)
return false if last_visited.blank? && object.created_at < Discourse.site_creation_date + 1.hour
cutoff = last_visited.present? ? Time.zone.parse(last_visited.to_s) : object.created_at
UpcomingChangeEvent.added.not_backfilled.where("created_at > ?", cutoff).exists?
end
end