Discourse Gamification: 404 / MissingAttributeError auf /leaderboard-Route

Also, ich habe kürzlich beschlossen, Gamification zu aktivieren, und bin sofort auf ein Problem gestoßen, bei dem die Route /leaderboard einen 404-Fehler zurückgegeben hat. Das Backend hatte über 800.000 bewertete Score-Einträge berechnet und die Berechtigungen waren in Ordnung, aber die Seite selbst ließ sich nicht laden.

Die Überprüfung der Server-Logs ergab:
ActiveModel::MissingAttributeError (fehlendes Attribut 'admin' für User)

Beim Durchsuchen des Plugin-Codes fiel mir in lib/discourse_gamification/leaderboard_cached_view.rb auf, dass die Benutzerabfrage einen spezifischen .select-String verwendet, um Spalten für die Rangliste abzurufen:

.select(
"users.id, users.name, users.username, users.uploaded_avatar_id, p.total_score, p.position",
)

Da users.admin und users.moderator nicht in dieser Abfrage enthalten sind, stehen die instanziierten Benutzerobjekte diese Felder nicht zur Verfügung. Es sieht so aus (?), als würde später bei der Serialisierung oder beim Rendern des Kern-Layouts eine Mitarbeiterprüfung für diese Benutzer ausgelöst, was dazu führt, dass Rails den MissingAttributeError wirft und auf einen 404 zurückfällt.

Ich habe diese Datei manuell bearbeitet, um users.admin und users.moderator im .select-Block hinzuzufügen:

.select(
  "users.id, users.name, users.username, users.uploaded_avatar_id, users.admin, users.moderator, p.total_score, p.position",
)

Nach dem Neustart des App-Containers wurde die Rangliste problemlos geladen.

Ich vermute, das ist ein Bug (?), oder habe ich etwas völlig überdacht oder übersehen?

Die Website läuft derzeit auf v2026.6.0-latest (47a830330f).