Fix UI stuck after file write error #10817
Draft
+4
−2
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.
This PR fixes ROO-320 where the UI gets stuck after a file write error (e.g., filename longer than 255 characters).
Problem
When the extension encountered an error while writing a file, the error handler was called but no tool result was returned to the LLM. This left the UI in a waiting state with buttons disabled, preventing the user from continuing.
Solution
pushToolResult()call in the error handler to return a properly formatted error message to the LLMtoolProtocolfrom callbacks to ensure error messages use the correct protocol format (XML or native)pushToolResultis called with the error message when file write failsTesting
View task on Roo Code Cloud
Important
Fixes UI hang by ensuring file write errors are communicated to LLM in
WriteToFileTool.ts.pushToolResult()call inWriteToFileTool.tserror handler to return error message to LLM.toolProtocolfrom callbacks to format error messages correctly.writeToFileTool.spec.tsto verifypushToolResultis called with error message on file write failure.This description was created by
for 0a59d92. You can customize this summary. It will automatically update as commits are pushed.