Skip to content

release: bot v0.4.0, final results and leaderboard fixes - #112

Merged
anurag629 merged 16 commits into
productionfrom
develop
Oct 30, 2026
Merged

anurag629 merged 16 commits into
productionfrom
develop

Conversation

@anurag629

Copy link
Copy Markdown
Member

Gets the bot ready for the end of the October program: the final results post, the leaderboard page and /leaderboard all read right once it's over, and /me works again after a GitHub rename.

Final results

Leaderboard page

Shoutouts, releases and commands

Naming unlinked qualifiers is a new feature, so this is a minor release (v0.4.0).

Come hang out with us on Discord: https://discord.gg/mpGdJyjaRQ

bhushan4work and others added 16 commits October 23, 2026 08:30
#83)

The final results post asks unlinked winners to run /link and ends with the closing note, but /leaderboard built the same final message without those options. Pass linking and finalNote the way the cron does; both only apply once the program has ended.
The board image and the contributor card were cached under the full request
address, so every new ?v= value (or a login in different letter case) drew the
PNG again and fetched the avatars again. Key both on the path and the version
the page itself puts in og:image.
* feat: name unlinked qualifiers on the leaderboard

When linking is enabled, handleLeaderboardPage calls linkedMembers for
qualifying rows (one KV read per login) and passes the map to
leaderboardPage. The page renders a line above the board with GitHub
profile links for qualifying (or winning, after end) users who haven't
linked. No line when linking off, no qualifiers, or all linked. KV
lookup failures are logged and the page renders without the line.
JSON endpoint unchanged.

Closes #55

* fix(page): say 'won but hasn't linked' after program ends

Updates the unlinked notice for ended programs to say winners 'won but
hasn't linked' instead of 'qualifies but hasn't linked... if you win'.
Updates the test accordingly.

Addresses feedback from #55 review.
#92)

When a program ends with no counted PRs, the final post (and /leaderboard after the end) now says "No merged pull requests were counted." instead of the running-program line, and appends the configured finalNote. The running empty board keeps its original wording.

Closes #86
* fix: show full leaderboard logins on phones

* fix: keep leaderboard names single-line on phones
* fix: show ended program message on no-card pages

* fix: use neutral wording on ended no-card pages
Build the contributor page's GitHub search from program.repos, the same way searchMergedPrs does, instead of searching the whole organization.

Closes #101
A merged PR whose program label is added after the merge used to keep
a shoutout with no count, and the board only refreshed when the cache
ran out. Handle the labeled event for an already-merged PR: count it
the same way a merge does, refresh the board, and edit the stored
shoutout so it reads like it had the label at the merge, including
the qualify line. A shoutout that already has the count, an open PR,
or any other label changes nothing.

Closes #59

Co-authored-by: harshit-exe-dev <harshit-exe-dev@users.noreply.github.com>
@anurag629 anurag629 added the release:minor Release: bump minor version label Oct 30, 2026
@anurag629
anurag629 merged commit 1262f16 into production Oct 30, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release:minor Release: bump minor version

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants