-
Notifications
You must be signed in to change notification settings - Fork 7k
Revert unnecessary terminal command issue workarounds #5463
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…e periods or fast command workarounds
🦋 Changeset detectedLatest commit: d5bf480 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR simplifies terminal command handling by removing complex fallback mechanisms that were causing webview blocking issues. The change eliminates grace periods, hardcoded fast command handling, and various timers that were previously used to manage command completion detection.
Key changes:
- Simplified the command execution flow by removing multiple fallback mechanisms
- Eliminated grace period timers and complex command completion detection logic
- Streamlined the shell integration and non-shell integration code paths into a single unified approach
if (!didOutputNonCommand) { | ||
const lines = data.split("\n") | ||
for (let i = 0; i < lines.length; i++) { | ||
if (command.includes(lines[i].trim())) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use strict equality for command echo removal rather than relying on substring matching (using 'includes') to avoid accidentally removing legitimate output.
if (command.includes(lines[i].trim())) { | |
if (command.trim() === lines[i].trim()) { |
Coverage ReportExtension CoverageBase branch: 47% PR branch: 48% ✅ Coverage increased or remained the same Webview CoverageBase branch: 17% PR branch: 17% ✅ Coverage increased or remained the same Overall Assessment✅ Test coverage has been maintained or improved Last updated: 2025-08-09T01:28:13.682903 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tried starting a task that involves running terminal command and verified everything works as expected, both when auto-approve is enabled and disabled.
After adding the terminal output capture fallback for commands that returned no output, it removed the need for us to use the various fallbacks we had in place around grace periods and hardcoded fast command handling that MAY have been the root cause of the issues users report about commands putting the webview in a blocked state.
Important
Refactor
TerminalProcess
to improve command handling by removing grace periods and using terminal output capture fallback.run()
inTerminalProcess.ts
to remove grace periods and hardcoded fast command handling.completed
andcontinue
events after command execution.This description was created by
for 08f135a. You can customize this summary. It will automatically update as commits are pushed.