Rewind Command UI: Esc×2 hint, bash indicator, /help docs#29
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (4)
💤 Files with no reviewable changes (1)
✅ Files skipped from review due to trivial changes (1)
🚧 Files skipped from review as they are similar to previous changes (2)
WalkthroughRemoves the Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes 🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
packages/cli/src/ui/components/RewindDialog.tsx (1)
203-209: Consider conditionally showing the bash warning.The bash warning line is always displayed, even when no turns have shell calls. This adds visual noise for sessions without any shell commands.
♻️ Proposed change to conditionally render the warning
{/* Footer */} <Box paddingX={1} flexDirection="column"> <Text color={theme.text.secondary}> ↑↓ to navigate · Enter to rewind here · Esc to cancel </Text> - <Text color={theme.status.warning}> - ⚠ bash: shell changes cannot be rewound - </Text> + {userTurns.some((turn) => turn.hasBashCalls) && ( + <Text color={theme.status.warning}> + ⚠ bash: shell changes cannot be rewound + </Text> + )} </Box>🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@packages/cli/src/ui/components/RewindDialog.tsx` around lines 203 - 209, In RewindDialog, the bash warning Text is always rendered; change it to render only when there are shell calls in the session by computing a boolean (e.g., hasShellCalls = turns.some(turn => turn.shellCommands || /shell/i in turn.type or similar based on your turn shape) inside the RewindDialog component) and wrap the warning Text (the Text with color={theme.status.warning}) in a conditional so it only appears when hasShellCalls is true; keep the existing Box/Text structure and theme usage.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In @.automaker-lock:
- Around line 2-4: The .automaker-lock file is runtime metadata and must be
removed from git tracking; run the equivalent of "remove from index but keep
locally" for .automaker-lock (e.g., git rm --cached .automaker-lock), commit
that change with a clear message (e.g., stop tracking .automaker-lock), and
verify the existing .gitignore entry for ".automaker-lock" is present so it
won't be re-added; ensure no other commits reintroduce the file into the repo.
---
Nitpick comments:
In `@packages/cli/src/ui/components/RewindDialog.tsx`:
- Around line 203-209: In RewindDialog, the bash warning Text is always
rendered; change it to render only when there are shell calls in the session by
computing a boolean (e.g., hasShellCalls = turns.some(turn => turn.shellCommands
|| /shell/i in turn.type or similar based on your turn shape) inside the
RewindDialog component) and wrap the warning Text (the Text with
color={theme.status.warning}) in a conditional so it only appears when
hasShellCalls is true; keep the existing Box/Text structure and theme usage.
🪄 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: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 447a54c6-ee06-48a6-b701-5865dc7b609b
📒 Files selected for processing (4)
.automaker-lockpackages/cli/src/ui/components/Footer.tsxpackages/cli/src/ui/components/Help.tsxpackages/cli/src/ui/components/RewindDialog.tsx
| "pid": 22124, | ||
| "featureId": "feature-1775259671209-b5xnnd2i3", | ||
| "startedAt": "2026-04-04T16:57:47.552Z" |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Check if .automaker-lock is in .gitignore or should be added
# Check if .gitignore exists and contains .automaker-lock
if [ -f .gitignore ]; then
echo "=== Current .gitignore content related to automaker ==="
rg -n 'automaker' .gitignore || echo "No automaker-related entries found"
echo ""
echo "=== Checking if .automaker-lock is ignored ==="
git check-ignore -v .automaker-lock || echo ".automaker-lock is NOT ignored"
else
echo ".gitignore file not found"
fi
# Show other potential lock files that might need ignoring
echo ""
echo "=== Other potential automaker files in repository ==="
fd -t f 'automaker' -E node_modules -E .gitRepository: protoLabsAI/protoCLI
Length of output: 289
Remove .automaker-lock from git tracking—it's already in .gitignore but still committed.
The .automaker-lock file contains runtime metadata (process ID, feature ID, timestamp) that changes with every tool invocation and should not be committed to the repository. While .automaker-lock is already listed in .gitignore (line 164), it remains tracked in git because it was added before the .gitignore entry.
Run git rm --cached .automaker-lock and commit the removal to stop tracking this file.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In @.automaker-lock around lines 2 - 4, The .automaker-lock file is runtime
metadata and must be removed from git tracking; run the equivalent of "remove
from index but keep locally" for .automaker-lock (e.g., git rm --cached
.automaker-lock), commit that change with a clear message (e.g., stop tracking
.automaker-lock), and verify the existing .gitignore entry for ".automaker-lock"
is present so it won't be re-added; ensure no other commits reintroduce the file
into the repo.
Code Coverage Summary
CLI Package - Full Text ReportCore Package - Full Text ReportFor detailed HTML reports, please see the 'coverage-reports-22.x-ubuntu-latest' artifact from the main CI run. |
- Footer: Add "Esc×2: rewind" hint to default status bar so users discover the keyboard shortcut without opening /help - RewindDialog: Detect turns with bash/shell tool calls (run_shell_command) and mark them with a ⚠ bash indicator; footer note warns that shell changes cannot be rewound - Help: Add "Esc×2 – Open rewind dialog (when input is empty)" to the Keyboard Shortcuts section so /help fully documents the feature The Esc+Esc → openRewindDialog wiring and /rewind slash command were already implemented in prior commits; this completes the UI polish layer. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Ava <noreply@protolabs.studio>
73550eb to
73f3fa6
Compare
Summary
Esc×2: rewindhint to the default status bar text so users discover the keyboard shortcut without needing to open/helprun_shell_command) tool calls and marks them with a⚠ bashindicator in the turn list; dialog footer explains that shell changes cannot be rewoundEsc×2 – Open rewind dialog (when input is empty)to the Keyboard Shortcuts section so/helpfully documents the Esc+Esc behaviorThe Esc+Esc →
openRewindDialogwiring and/rewindslash command were already implemented in prior commits (bd68124bb). This PR completes the UI polish layer.Test plan
? for shortcuts · Esc×2: rewindin the default state/helpand verify/rewindappears in the commands list ANDEsc×2appears in Keyboard ShortcutsPress Esc again to clearhint appears (not rewind)⚠ bashappears on affected turns and the footer warning is shown🤖 Generated with Claude Code
Summary by CodeRabbit
New Features
Documentation
UI