Repository navigation
Finish line: opt-in, plainer, and about what to do - #527
Merged
Merged
Conversation
The team found the popup pushy: it was on for everyone unless they went looking for the switch. The default is now the header count alone, and the popup is something a person turns on. The settings store writes every field on any change, so a saved 'auto' can't tell a choice from the old default. A one-time migration (settingsVersion 1) moves a saved 'auto' to the new default once; 'off' stays off, and anyone who turns the popup back on keeps it. jailHoldToClose (off by default) is for the people who liked having to hold the button down; the modal starts using it in a later commit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The team read "jail" as punitive, didn't know what it meant or who saw
it, couldn't find its settings, and some wanted a normal way to close
it. Finish line keeps the same rule and asks for the same work, framed
as finishing what's open.
- The modal says why you're seeing it in numbers, that only you see it,
and exactly what to do ("Merge or close 2 of these to finish. Start
with the ones ready to merge."). The title counts down "2 to the
finish line"; the sad robot behind bars is now one cheering at a flag.
- Esc and a close button put it away, with the same 4-hour, only-if-worse
return as before. "Make me hold to close it" (off by default) brings
back the hold button and blocks both.
- A cog in the modal opens Settings scrolled to and focused on the new
Finish line section.
- The help panel gets a Finish line section.
- "jail" is gone from the code too: files, names, settings keys, the
stored record key and the preview hash (#finish=1). Old saved values
under the old keys are ignored on purpose, so everyone starts from the
new defaults.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
People read "6 to the finish line" and still asked what the finish line
was and what to do. The top of the list now says the action with its
real number ("Finish 2 PRs", "All finished" when done) and a small row
of the numbers behind it that you can act on: "9 open PRs · aim for 7",
"2 PRs older than 14 days", "3 PRs ready to merge", each only when above
zero. Waiting on others stays out of it.
Each number is a button: it opens the groups holding the PRs it counts
and jumps to the first. The groups now fold on their titles so that has
something to open. The header badge says the action too ("2 to finish",
"Finish 2 of your open PRs" on hover). The why and ask sentences are
gone, "Only you see this." is one quiet line under the list, and the
robot only shows when you're done.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Once the robot sat beside "All finished" alone, the card was a tall picture and a title, with nothing saying what was finished. A short line says it: none of your open PRs are past your limits. The scrim was ink at 40%, which in dark mode is a light ink and washed the board pale instead of dimming it. It now matches Settings' black at 30%. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Tab could leave the modal: the wrap compared against the last link in the DOM, which could be hidden or a row sliding out, so it now only cycles what Tab can reach. A preview with the mode Off said "Nothing to finish" over a stat saying you were over; it now shows your real numbers whatever the mode, and a sample only when you're under. The rest brings it back to DESIGN.md: stats are FactLinks that jump to and focus the first PR they count, so the group folding they needed goes, and GroupHeader takes a string again. Ages stay quiet, since the stat already says how many are old. The badge count is quiet too. Focus starts on the dialog, not the close button (now named "Close"), aria-describedby only points at what's there, and the copy reads true with hold to close on. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The dialog now opens with focus on itself, and the trap only knew the first and last controls, so Shift+Tab from the dialog walked out onto the board behind it. Tab from the dialog now goes in at either end. The review fix commit had reformatted five files to prettier's defaults (an editor hook from another repo), turning ~100 real Settings lines into ~1000; they're back in the house style (3-space, single quotes, 100 columns), with app.tsx too. The stats are spaced instead of dotted, so a wrap at phone width never leaves a dot hanging, and an old PR's age is set apart by weight now that it isn't amber. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🤖
PR jail popped up for everyone, didn't say what it wanted, felt like a punishment, and hid its settings. Some people also found the hold-to-close button annoying. This keeps the same rule (more than 7 open PRs of your own, or any open longer than 14 days) and changes how it asks.
#finish=1). Old saved values aren't migrated, so everyone starts from the new defaults.🤖 Generated with Claude Code