Give "ready" a distinct online color (sky blue) - #154
Conversation
The ready and offline states both rendered dim gray (STATE_TONE shared "muted"), so online-but-idle agents were indistinguishable from stopped ones — only the dot glyph (● vs ○) differed. Add a dedicated sky-blue `ready` tone (xterm-256 75 / tmux colour75) and point STATE_TONE.ready at it, so the ready dot, status text, exposé pill, exposé border, worktree summary count, and card border tone all read as a clearly online state. The "idle now" freshness hint moves from the needs-you yellow to the same ready-blue. offline stays dim gray. Regression test locks ready != offline so they can't collapse to one gray. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
@coderabbitai review |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughIntroduces a dedicated ChangesReady Tone Integration
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
✅ Action performedReview finished.
|
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
src/tui/render/theme.test.ts (1)
175-188: ⚡ Quick winAdd "ready" to the StatusKind width verification test.
The statusDot width test iterates all StatusKind values but is missing "ready". To ensure complete coverage of the new status kind, add it to the iteration.
✅ Proposed fix
for (const kind of [ "working", + "ready", "idle", "offline",🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/tui/render/theme.test.ts` around lines 175 - 188, The test for statusDot width verification in the test function is missing the "ready" StatusKind value from the iteration array. Add "ready" to the array of StatusKind values (the const array with "working", "idle", "offline", "needs", "error", "done", "blocked", "service", and "serviceOff") to ensure complete coverage of all status kinds when verifying the width with visibleWidth(statusDot(kind)).
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/tui/render/theme.ts`:
- Line 20: TypeScript source files in multiple locations have been modified
(src/tui/render/theme.ts at L20 for Tone type extension,
src/tui/render/theme.test.ts at L15 for test changes, src/tmux/expose.ts at L145
for STATE_BORDER update, and src/tui/screens/dashboard-renderers.ts at L182 for
renderer tone changes) but the compiled distribution in the dist/ directory has
not been updated. Run yarn build from the project root to recompile all
TypeScript sources and ensure the dist/ directory reflects the changes made to
the src/ files so that runtime behavior matches the updated code.
---
Nitpick comments:
In `@src/tui/render/theme.test.ts`:
- Around line 175-188: The test for statusDot width verification in the test
function is missing the "ready" StatusKind value from the iteration array. Add
"ready" to the array of StatusKind values (the const array with "working",
"idle", "offline", "needs", "error", "done", "blocked", "service", and
"serviceOff") to ensure complete coverage of all status kinds when verifying the
width with visibleWidth(statusDot(kind)).
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 61f465c0-3ae0-4e22-a3aa-ab12814d3e3c
📒 Files selected for processing (4)
src/tmux/expose.tssrc/tui/render/theme.test.tssrc/tui/render/theme.tssrc/tui/screens/dashboard-renderers.ts
Addresses CodeRabbit: the statusDot width-coverage loop was missing the new "ready" kind. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
What
readyandofflineagents both rendered dim gray in the dashboard — only the dot glyph (●vs○) distinguished an online-but-idle agent from a stopped one. This makes online vs not-online obvious.Changes (Tier 2 / resting states only)
readytone intheme.ts: sky blue (xterm-25675/ tmuxcolour75).STATE_TONE.ready:muted→ready. Propagates to the ready dot, status-cell text, exposéREADYpill, worktree summary count, and card border rank.ready: teal-green → blue (75/67) to match.idle nowfreshness hint: yellow → ready-blue (label unchanged). Yellow is now reserved for the needs-you pills.done/idle/offlineand all Tier 1 pills are untouched.Why blue
Green is already used by
done+idle; cyan means activelyworking; yellow means needs-you. Blue is the only open hue and carries the right "online / standby" connotation.Tests
Regression test in
theme.test.tslocksstatusTone("ready") !== statusTone("offline")so they can't collapse to one gray again. Full suite: 1339 passing.🤖 Generated with Claude Code
Summary by CodeRabbit