Skip to content

fix(vfox): fallback to absolute bin path if env_keys not set#9151

Merged
jdx merged 1 commit intojdx:mainfrom
80avin:fix-vfox-bin
Apr 16, 2026
Merged

fix(vfox): fallback to absolute bin path if env_keys not set#9151
jdx merged 1 commit intojdx:mainfrom
80avin:fix-vfox-bin

Conversation

@80avin
Copy link
Copy Markdown
Contributor

@80avin 80avin commented Apr 16, 2026

fixes #9150

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the vfox backend to handle cases where the PATH environment variable is not explicitly provided by a plugin. The current implementation introduces a logic error by falling back to the project root's bin directory instead of the tool's specific installation path, which may cause incorrect binary resolution or regressions when operating outside of a project context.

Comment thread src/backend/vfox.rs
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps bot commented Apr 16, 2026

Greptile Summary

This PR fixes list_bin_paths in the vfox backend so that when a plugin's env_keys response does not include a PATH entry, mise falls back to the tool's absolute install directory (tv.install_path().join("bin")) instead of the previously broken relative "bin" string that was effectively useless. The change is minimal, targeted, and consistent with the intent of the default Backend::list_bin_paths implementation.

Confidence Score: 4/5

Safe to merge — fixes a real breakage with a minimal, correct change. One P2 nit on using install_path() vs runtime_path() for consistency with the default implementation.

The fix is clearly correct and addresses the reported issue. The only remaining note is a P2 style suggestion to use runtime_path() instead of install_path() to match the default trait implementation, which wouldn't affect the vast majority of cases but improves consistency.

src/backend/vfox.rs — only changed file; low risk.

Important Files Changed

Filename Overview
src/backend/vfox.rs Fixes list_bin_paths fallback from a useless relative "bin" string to the absolute tv.install_path().join("bin"); minor inconsistency with the default implementation's use of runtime_path() instead of install_path().

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[list_bin_paths called] --> B[_exec_env: fetch env_keys from vfox plugin]
    B --> C{PATH key present\nin env_keys?}
    C -- Yes --> D[env::split_paths on PATH value\nreturn as Vec<PathBuf>]
    C -- No --> E_new["BEFORE: return 'bin' — broken relative path\nAFTER: return tv.install_path()/bin — absolute path"]
    E_new --> F[Tool binaries found at install dir/bin]
    D --> F
Loading

Reviews (2): Last reviewed commit: "fix(vfox): fallback to absolute bin path..." | Re-trigger Greptile

Comment thread src/backend/vfox.rs Outdated
@jdx jdx merged commit c86c593 into jdx:main Apr 16, 2026
34 checks passed
mise-en-dev added a commit that referenced this pull request Apr 17, 2026
### 🚀 Features

- **(registry)** add .perl-version support for perl by @ergofriend in
[#9102](#9102)
- **(task)** add Tera template support for inline table run tasks by
@iamkroot in [#9079](#9079)

### 🐛 Bug Fixes

- **(env)** use runtime symlink paths for fuzzy versions by @jdx in
[#9143](#9143)
- **(github)** use full token resolution chain for attestation
verification by @jdx in [#9154](#9154)
- **(go)** Remove install-time version override for subpath packages by
@c22 in [#9135](#9135)
- **(npm)** respect install_before when resolving dist-tag versions by
@webkaz in [#9145](#9145)
- **(self-update)** ensure subcommand exists by @salim-b in
[#9144](#9144)
- **(task)** show available tasks when run target missing by @jdx in
[#9141](#9141)
- **(task)** forward task help args and add raw_args by @jdx in
[#9118](#9118)
- **(task)** remove red/yellow from task prefix colors by
@lechuckcaptain in [#8782](#8782)
- **(task)** merge TOML task block into same-named file task and surface
resolved dir by @jdx in [#9147](#9147)
- **(toolset)** round-trip serialized tool options by @atharvasingh7007
in [#9124](#9124)
- **(vfox)** fallback to absolute bin path if env_keys not set by
@80avin in [#9151](#9151)

### 📚 Documentation

- make agent guide wording generic by @jdx in
[#9142](#9142)

### 📦️ Dependency Updates

- update ghcr.io/jdx/mise:deb docker digest to e019cb9 by @renovate[bot]
in [#9160](#9160)
- update ghcr.io/jdx/mise:copr docker digest to 8d25608 by
@renovate[bot] in [#9159](#9159)
- update ghcr.io/jdx/mise:rpm docker digest to 22e52da by @renovate[bot]
in [#9161](#9161)
- update ghcr.io/jdx/mise:alpine docker digest to a3da97c by
@renovate[bot] in [#9158](#9158)
- update rust docker digest to 4a2ef38 by @renovate[bot] in
[#9162](#9162)
- update ubuntu:24.04 docker digest to c4a8d55 by @renovate[bot] in
[#9164](#9164)
- update rust crate aws-lc-rs to v1.16.3 by @renovate[bot] in
[#9165](#9165)
- update ubuntu docker tag to resolute-20260413 by @renovate[bot] in
[#9169](#9169)
- update rust crate clap to v4.6.1 by @renovate[bot] in
[#9166](#9166)
- update taiki-e/install-action digest to a2352fc by @renovate[bot] in
[#9163](#9163)
- update rust crate ctor to 0.10 by @renovate[bot] in
[#9170](#9170)
- update rust crate tokio to v1.52.1 by @renovate[bot] in
[#9167](#9167)
- update rust crate rmcp-macros to 0.17 by @renovate[bot] in
[#9173](#9173)
- update rust crate signal-hook to 0.4 by @renovate[bot] in
[#9177](#9177)
- update rust crate zipsign-api to 0.2 by @renovate[bot] in
[#9180](#9180)
- update rust crate toml_edit to 0.25 by @renovate[bot] in
[#9179](#9179)
- update rust crate strum to 0.28 by @renovate[bot] in
[#9178](#9178)

### 📦 Registry

- add ibmcloud by @dnwe in
[#9139](#9139)
- add rush by @jdx in [#9146](#9146)

### New Contributors

- @80avin made their first contribution in
[#9151](#9151)
- @atharvasingh7007 made their first contribution in
[#9124](#9124)
- @lechuckcaptain made their first contribution in
[#8782](#8782)
- @ergofriend made their first contribution in
[#9102](#9102)
- @dnwe made their first contribution in
[#9139](#9139)

## 📦 Aqua Registry Updates

#### New Packages (3)

-
[`controlplaneio-fluxcd/flux-operator`](https://github.com/controlplaneio-fluxcd/flux-operator)
-
[`dependency-check/DependencyCheck`](https://github.com/dependency-check/DependencyCheck)
- [`kiro.dev/kiro-cli`](https://github.com/kiro.dev/kiro-cli)

#### Updated Packages (2)

-
[`jreleaser/jreleaser/standalone`](https://github.com/jreleaser/jreleaser/standalone)
- [`sigstore/cosign`](https://github.com/sigstore/cosign)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants