Repository navigation
Club leaderboard: list every member unless they opt out, and say when stars start - #399
Conversation
… stars start /club/leaderboard has been empty since it shipped. It lists members who ticked "Show me on the leaderboard" and have stars; on production 2 of 10 members had ticked it and neither has stars, the one member with a report star had not ticked it, and no camera can earn wall stars before about 2026-11-04 (30 days and 20 qualifying days counted from the link). - Migration 027 makes club_members.listed default to true and sets it for every existing member. Unticking the box on /club still takes a member off; members without stars are still left out. - The privacy note on the Open Wall page and the leaderboard's footnote say so, in en, ru and zh. - The empty leaderboard explains when stars start: a linked camera's first 5 stars 30 days after it was linked, with live pictures on at least 20 of those days; a report's when a maintainer publishes it. Names on the board are what members are called where they signed in: Telegram's first and last name, the GitHub name or login, "OpenIPC member" for an email sign-in -- never an address.
PR Summary by QodoMake the club leaderboard opt-out and explain when stars appear
AI Description
Diagram
High-Level Assessment
Files changed (19)
|
Code Review by Qodo
1. Rollback lists members without opting in
|
…han stars come The empty board showed one message for both tabs, and it said there were no stars at all -- wrong on the 30-day tab, and wrong when everyone with stars has opted out. The all-time message now says nobody on the leaderboard has stars yet; the 30-day tab says nobody earned any in the month. The camera timeline was a promise the settlement does not keep: counting starts at the link only when a slot is free, and a day counts only with lit, changing pictures. It now says no sooner than 30 days after the link, once there have been 20 days of lit, changing pictures.
/club/leaderboardhas been empty since it shipped. It lists members who ticked "Show me on the leaderboard" and have stars. On production (2026-10-06):wall_starsis empty: the 4 cameras were linked on 2026-10-05, and joining needs 30 days and 20 qualifying days counted from the link, so the earliest wall stars are about 2026-11-04. The nightly settlement runs (wallstars: settled cameras:4 stars:0).Changes
027_leaderboard_opt_out.sqlsetsclub_members.listedto default to true and turns it on for every existing member. Unticking the box on /club still takes a member off, and members without stars are still left out.wall_club_html) and the leaderboard's footnote (lb_note) now describe opt-out, in en, ru and zh.lb_emptyexplains when stars start: a linked camera earns its first 5 stars 30 days after it was linked, once it has sent live pictures on at least 20 of those days; a report earns stars when a maintainer publishes it.CLAUDE.mdnow describe opt-out.Names on the board are what members are called where they signed in: the Telegram first and last name, the GitHub name or login, or "OpenIPC member" for an email sign-in. An address is never shown. Existing Telegram members become listed without being asked; drop the
UPDATEin 027 if only new members should default to listed.Testing
service/run.sh test: the full suite failed once, onTestLeaderboard, which assumed opt-in. After fixing it,./internal/wallstars/...and./internal/club/...pass. The full suite has not been re-run since.frontend/, with node:24:npm run export,lint,typecheckandtestall pass (668 tests).