fix: prevent CLI hang on invalid config JSON syntax#7828
Closed
shetty4l wants to merge 1 commit into
Closed
Conversation
Contributor
|
Thanks for your contribution! This PR doesn't have a linked issue. All PRs must reference an existing issue. Please:
See CONTRIBUTING.md for details. |
Contributor
|
The following comment was made by an LLM, it may be inaccurate: No duplicate PRs found |
shetty4l
marked this pull request as ready for review
January 11, 2026 17:21
Collaborator
|
thx for pr, believe this was fixed by another commit tho |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
What does this PR do?
Fixes #7789
Observations:
opencode runexits with error since it runs on the main threadopencoderuns the TUI on the main thread and spawns worker threads for the core business logicAlternatives Considered
Rpc.listen()and introduce a newrpc.errormessage type. Rejected because it required changes to the RPC protocol and didn't seem like that was in scopeTuiThreadCommand.handler()before the worker starts. Rejected because config loading is tightly coupled toInstance.state()which requires the worker context, and duplicating the file search logic would be heavy.Proposed Solution
Update the subscription logic for the TUI to handle the case where the worker returns
result.subscribed = falseinstead of always returningtrue. Ifresult.subscribed == false, we handleConfigJsonErrorandConfigInvalidErrorand propagate that error higher up the call stack.How did you verify your code works?