fix: discover WSL profiles on Windows - #11
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
🧙 Sourcery has finished reviewing your pull request! Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
|
@codex review |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
Pull request overview
Fixes Windows WSL-backed profile discovery by enumerating installed WSL distributions via wsl.exe and using distro-specific UNC paths, while also bumping release versions to 0.1.1.
Changes:
- Replace Windows WSL discovery from UNC root enumeration to
wsl.exe --list --quiet+ distro-specific UNC probing. - Extend WSL default discovery to cover both Codex and Claude stores, including safer output decoding and hidden-console execution.
- Bump app/crate/npm versions from
0.1.0to0.1.1and update README release example.
Reviewed changes
Copilot reviewed 6 out of 7 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| src-tauri/tauri.conf.json | Bumps Tauri app version to 0.1.1. |
| src-tauri/Cargo.toml | Bumps Tauri crate version to 0.1.1. |
| README.md | Updates Windows WSL discovery documentation and release tag example. |
| package.json | Bumps npm package version to 0.1.1. |
| crates/open-profiler-core/src/lib.rs | Implements new Windows WSL distro enumeration + provider-specific default discovery; adds decoding/parsing helpers and tests. |
| crates/open-profiler-core/Cargo.toml | Bumps core crate version to 0.1.1. |
| Cargo.lock | Updates locked versions for 0.1.1 release. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
@codex review |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
@codex review |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
@codex review |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
@codex review |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 6 out of 7 changed files in this pull request and generated no new comments.
Comments suppressed due to low confidence (1)
crates/open-profiler-core/src/lib.rs:263
wsl_distribution_names()can be called more than once during startup (e.g., when both Codex and Claude defaults are absent), which spawnswsl.exemultiple times. Also, hardcoding%SystemRoot%\System32\wsl.execan fail in 32-bit builds on 64-bit Windows due to file-system redirection (the 32-bit view may not containwsl.exe). Consider caching the discovered distro list and probingSysnativeas a fallback whenSystem32doesn't contain the executable.
let Some(system_root) = env::var_os("SystemRoot") else {
return Vec::new();
};
let wsl_executable = PathBuf::from(system_root).join("System32").join("wsl.exe");
let mut command = std::process::Command::new(wsl_executable);
|
@codex review |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|



Summary
wsl.exe --list --quietinstead of attempting to enumerate the unsupported bare WSL UNC server rootRoot cause
Windows can access
\\wsl.localhost\Ubuntu-24.04\home\brett\..., but cannot enumerate bare\\wsl.localhostor\\wsl$. The previous fallback therefore found no distro and silently used absent Windows-local profile stores.Validation
pnpm format:checkpnpm testpnpm buildcargo fmt --all --checkcargo test --workspacecargo clippy --workspace --all-targets -- -D warningsSummary by Sourcery
Improve Windows WSL-based profile discovery and bump openProfiler to version 0.1.1.
New Features:
Bug Fixes:
Enhancements:
Build:
Documentation: