Repository navigation
feat(settings): name the storage distro on WSL available-host rows - #22138
Bandersnatch0x wants to merge 2 commits into
Conversation
The Available Hosts row for a local setup whose project path lives on
\wsl.localhost\<distro> read as plain 'Local Windows' even though that
row's own path is inside the distro. The row label now reads
'Local Windows · WSL ({{distro}})' when the setup path resolves to a
distro, matching the run-target row treatment from the composer and the
series framing in stablyai#22024 (derived rows, no new ExecutionHostKind).
Selection semantics are unchanged.
|
No actionable comments were generated in the recent review.
|
There was a problem hiding this comment.
ℹ️ No critical issues — one cross-surface consistency note inline, plus two nitpicks.
Reviewed changes
- WSL storage distro on available-host rows —
RepositoryHostSetupsSectionderives the distro fromsetup.pathviaparseWslUncPathand suffixes the row label with· WSL ({{distro}})for local-host setups;en.jsongains thewslStorageHostLabelkey. Selection, setup records, and host grammar are untouched.
ℹ️ Nitpicks
- No test pins the new label —
RepositoryHostSetupsSection.test.tsxexisting fixtures all use POSIX paths, so nothing fails if the suffix is dropped or its condition changes. A WSL-UNC-path setup case would be cheap here. - The "Viewing host" selector (
RepositoryHostSetupsSection.tsx:200-203) still rendershostOptionById's base label, so a local WSL project with a second host showsLocal Windowsin the picker while the row below readsLocal Windows · WSL (Ubuntu). Minor, and consistent with how the picker already shows the short label for nested-SSH rows.
DeepSeek Flash (free via Pullfrog for OSS) | 𝕏
# Conflicts: # src/renderer/src/components/settings/repository/execution/RepositoryHostSetupsSection.tsx
|
Closing this in favour of the upstream WSL-via-orcad series (#27792, #27800, #27819, #27834, #27916, #27933, #27934, #27955), which now owns this area of the product. The changes here were kept mergeable against main and still pass their checks, but the design they build on predates the orcad host architecture. Rather than maintain a parallel path, this work waits until the official WSL host implementation lands and can absorb it. No action needed on this PR. |

ELI5
In a project's settings, the Available Hosts row for a project stored inside a WSL distro read "Local Windows" even though the path shown right below it is inside the distro. The row now reads "Local Windows · WSL (Ubuntu)" so the host list says where the project actually lives.
What Changed
RepositoryHostSetupsSectionderives the storage distro from the setup's path (parseWslUncPath) and suffixes the row label with· WSL ({{distro}})for local-host setups.Why
The settings host list is where users reason about which machine (and, for WSL, which distro) holds a project. The path line already showed the UNC path, but the row label contradicted it. Same treatment the composer's run-target row received.
Linked Issue
Follows #22024 (WSL first-class host series; complements #22020, #22128, #22136).
Visual Proof
N/A for before/after screenshots — one row label for WSL-storage projects; screenshots of the series surfaces are attached to #22024.
Testing
Automated tests:
RepositoryHostSetupsSection.test.tsxgreen (existing coverage; the label derivation is path-pure), typecheck/lint/localization gates pass.Windows 11 with WSL2: settings pane verified in the running dev instance during the series work.
Automated tests added/updated, or explained why not below
Review
AI review summary: cross-platform —
parseWslUncPathonly matches Windows-shaped UNC paths; macOS/Linux rows unchanged. SSH/remote — the suffix only applies to local-host setups; nested SSH labels keep their existing composition. Performance — one regex parse per row. Security — pure string derivation. Agent compatibility — agent-neutral.Agent skill upstream boundary
docs/reference/agent-skill-sharing-upstream-boundary.mdand copies or mechanically translates no upstream skill-installer source, tests, fixtures, registry entries, path tables, comments, or documentation.Notes
Part of the WSL first-class-host series (#22024): #22020 (add-project host rows), #22128 (runtime storage lock), #22136 (composer run-target label), this PR (settings available-hosts label).
Checklist
N/Awith reasonpnpm lint,pnpm typecheck,pnpm test, andpnpm buildpass (or CI will cover; local preferred)