boxcli: fix VS Code binary path resolution on macOS#2806
Open
joshgodsiff wants to merge 1 commit intojetify-com:mainfrom
Open
boxcli: fix VS Code binary path resolution on macOS#2806joshgodsiff wants to merge 1 commit intojetify-com:mainfrom
joshgodsiff wants to merge 1 commit intojetify-com:mainfrom
Conversation
The WSL fix in 4ba6fce constructs the editor binary path as $VSCODE_CWD/bin/code. On WSL, VSCODE_CWD points to the VS Code installation directory, so this works. On macOS however, VSCODE_CWD is set to the workspace directory, producing a bogus path like /Users/user/my-project/bin/code which does not exist. Add an os.Stat check so the constructed path is only used when the binary actually exists there, falling back to the bare command name (resolved via PATH) otherwise. Extract the logic into a standalone resolveEditorBinary function with tests covering both cases. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.
Summary
The WSL fix in #2729 (4ba6fce) broke "Reopen in Devbox shell environment" on macOS.
That commit constructs the VS Code binary path as
$VSCODE_CWD/bin/code. On WSL,VSCODE_CWDpoints to the VS Code installation directory (e.g.,/mnt/c/.../Microsoft VS Code), so this works correctly. On macOS however,VSCODE_CWDis set to the workspace directory, producing a path like/Users/user/my-project/bin/code— which doesn't exist:e.g. The debug logs on my machine gives:
This PR adds an os.Stat check so the constructed path is only used when the binary actually exists there, falling back to the bare command name (resolved via
PATH) otherwise. The resolution logic is extracted into aresolveEditorBinaryfunction with unit tests covering:VSCODE_CWDunset → uses bare nameVSCODE_CWDpoints to a VS Code installation (WSL) → uses full pathVSCODE_CWDpoints to a workspace directory (macOS) → falls back to bare nameHow was it tested?
resolveEditorBinarycovering all three scenariosgo test -race -cover ./internal/boxcli/passesgolangci-lint run ./internal/boxcli/passesCommunity Contribution License
All community contributions in this pull request are licensed to the project
maintainers under the terms of the
Apache 2 License.
By creating this pull request, I represent that I have the right to license the
contributions to the project maintainers under the Apache 2 License as stated in
the
Community Contribution License.