🤖 Fix browser API handling of failed Results without error property #393
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.
Generated with
cmuxProblem
The web main-server's
HttpIpcMainAdapterwas incorrectly handling failed Results that don't have anerrorproperty.The check required both
success === falseAND'error' in result:When a handler returned
{ success: false }without anerrorproperty, the check failed and the result was incorrectly wrapped as:{ "success": true, "data": { "success": false } }This broke error handling in the frontend - errors from operations like force workspace deletion weren't being properly communicated.
Solution
Remove the
'error' in resultrequirement. Any Result withsuccess: falseshould be passed through directly, regardless of whether it has anerrorproperty.Testing
Added test case in
api.test.tsto verify Results without error property are handled correctly.