feat(tui): clarify approval modal (harvest of #3437 by @donglovejava)#3515
Conversation
|
Claude finished @Hmbown's task in 1m 42s —— View job Review: feat(tui): clarify approval modal (harvest of #3437)
Overall: Clean, minimal harvest. Logic is correct and the two new affordances (group divider + leading caret) use existing patterns consistently. One edge case worth noting; two minor gaps. Findings1. Divider can wrap on very narrow terminals (cosmetic, minor)
The paragraph is rendered with Not a crash, but the comment "sized to fit the minimum card inner width" is only true for the declared constant, not for pathological terminals. Consider 28 dashes (fits the 36-char inner at min-width with headroom) or simply accepting the cosmetic wrapping as out-of-range. Fix this → 2. Hardcoded index
if i == 2 {This silently relies on 3. No new tests for divider or caret The existing What's good
|
…ow caret Reduce approve/deny misclicks in the approval takeover: - draw a divider between the approve group (once / always-for-session) and the deny/abort group so they read as two distinct decisions - mark the highlighted row with a leading caret so the action Enter will fire is unmistakable, not signalled by the selection background alone Locale-neutral (no new MessageId), reusing the existing selection style. The divider is sized to fit the minimum card inner width; a render test pins the caret and divider glyphs. The four decisions, footer affordances (v / s / Esc), and the session-vs-persistent approval behavior are unchanged. Harvested from PR #3437 by @donglovejava (the group-separator + selected-row idea), reapplied onto current main in the simplest form and trimmed of that branch's unrelated churn (tool_catalog edits, workflow/SECURITY.md changes, stray files). Co-authored-by: donglovejava <211940267+donglovejava@users.noreply.github.com> Claude-Session: https://claude.ai/code/session_01991fnUqBbWSgiUFw33L8XX
e6db2d5 to
d6fcb58
Compare
|
Claude finished @Hmbown's task in 1m 33s —— View job Review: feat(tui): clarify approval modal (harvest of #3437)
Overall: Clean, minimal harvest. The prior review's two actionable findings have both been addressed: dashes reduced from 32 → 28 (narrowing the wrapping threshold), and a new render test now pins both the ▸ caret and ─ divider glyphs. One low-risk structural note remains. Findings1. Hardcoded
if i == 2 {The divider placement relies on No change required; noting it for the next person who edits What's good
Verdict: LGTM. The two actionable findings from the prior round are resolved; the remaining structural note is purely cosmetic and well-documented. |
Harvests the approval-modal clarity improvement from #3437 (by @donglovejava) onto current
main.The approval takeover rendered its four options as a flat list, with selection signalled only by a color change. This change:
Enterwill fire is unmistakable, not signalled by the background aloneReapplied in the simplest form: locale-neutral (no new
MessageId), reusing the existingapproval_selected_style(). The four decisions, footer affordances (v/s/Esc), and the session-vs-persistent approval behavior are all unchanged.cargo test -p codewhale-tui approvalpasses, including the existingapproval_selected_destructive_option_uses_contrasting_highlightregression.Dropped from the original branch (out of scope): unrelated
tool_catalog.rsedits, workflow/SECURITY.mdchanges, and stray working files.Credit preserved via
Co-authored-by: donglovejava.🤖 Generated with Claude Code
https://claude.ai/code/session_01991fnUqBbWSgiUFw33L8XX
Generated by Claude Code