feat(kudos): per-user opt-out of the leaderboard (LC-526 follow-up) #505
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/LC-526-kudos-optout"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Delivers the per-user opt-out that was deferred from the LC-526 kudos PR (#504): a member can hide themselves from the public
/kudosleaderboard.Behavior: off by default (everyone is listed). When a user enables "Hide me from the kudos leaderboard" in Settings > Preferences, they disappear from BOTH the "most appreciated" and "most generous" lists. They can still give and receive kudos - the recognition message still posts and still notifies; only the public ranking excludes them.
How: a new
users.kudos_leaderboard_opt_outcolumn (auth migration 0035, default 0). The flag is queried on demand (settings render + leaderboard build) rather than carried on the hotUserprojection. Because the tally lives inchat.dband the flag inauth.db, the exclusion is applied as aNOT INlist passed intotop_receivers/top_givers, not a join.Four small logical commits: column + accessors, leaderboard exclusion, settings toggle, tests.
Tests: db-layer exclusion (a listed user is removed from both boards while others rank normally); i18n parity (en + es).
just test+just test-saas+just checkgreen.Not operator-visible (no env/config/security change; the migration auto-applies).
🤖 Generated with Claude Code