Skip to content

feat(settings): name the storage distro on WSL available-host rows - #22138

Closed
Bandersnatch0x wants to merge 2 commits into
stablyai:mainfrom
Bandersnatch0x:feat/settings-wsl-storage-host-label
Closed

Bandersnatch0x wants to merge 2 commits into
stablyai:mainfrom
Bandersnatch0x:feat/settings-wsl-storage-host-label

Conversation

@Bandersnatch0x

Copy link
Copy Markdown

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

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.tsx green (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 — parseWslUncPath only 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

  • Not applicable, or this change follows docs/reference/agent-skill-sharing-upstream-boundary.md and 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

  • This PR is small and focused
  • I explained what changed and why (ELI5, the user-facing before/after, the mechanism, and why over the alternatives)
  • Before/after screenshots or videos attached for UI changes, or N/A with reason
  • Self-reviewed for correctness, security, and performance
  • Cross-platform, SSH/remote, and path/shortcut impact considered (or N/A)
  • pnpm lint, pnpm typecheck, pnpm test, and pnpm build pass (or CI will cover; local preferred)

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.
@coderabbitai

coderabbitai Bot commented Sep 22, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 3aea24a2-459c-4b0d-bf4d-8ec5f7f17343
Commits

Reviewing files that changed from the base of the PR and between 17adb2a and 8dd9db6.

Files selected for processing: 2
  • src/renderer/src/components/settings/repository/execution/RepositoryHostSetupsSection.tsx
  • src/renderer/src/i18n/locales/en.json
Files skipped from review as they are similar to previous changes: 1
  • src/renderer/src/i18n/locales/en.json

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review.

Walkthrough

For local execution hosts with a setup path that identifies a WSL distribution, the setup row label now includes WSL and the distribution name. Other setup labels remain unchanged. The English locale adds the corresponding label string.

Priority: Low

Merge Risk: Minimal · up to 8dd9d

No concrete merge-blocking risk is identified in the changed behavior.

Pre-merge checks: Passed 4 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 2 files. (1 skipped: 1 … Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks: 4 passed
Check name Status Explanation
Title check Passed The title clearly and concisely describes the main change: naming the storage distro on WSL available-host rows.
Description check Passed The description covers the user-facing change, implementation, rationale, issue references, testing, visual-proof rationale, review considerations, and checklist. It is complete enough for review, alt…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Description check

Explanation

The description covers the user-facing change, implementation, rationale, issue references, testing, visual-proof rationale, review considerations, and checklist. It is complete enough for review, although the linked issue is referenced with “Follows #22024” instead of an explicit “Fixes #” entry.

Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 2 files. (1 skipped: 1 unsupported.)

Resolution

Write docstrings for the functions missing them to satisfy the coverage threshold.

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

ℹ️ No critical issues — one cross-surface consistency note inline, plus two nitpicks.

Reviewed changes

  • WSL storage distro on available-host rows — RepositoryHostSetupsSection derives the distro from setup.path via parseWslUncPath and suffixes the row label with · WSL ({{distro}}) for local-host setups; en.json gains the wslStorageHostLabel key. Selection, setup records, and host grammar are untouched.

ℹ️ Nitpicks

  • No test pins the new label — RepositoryHostSetupsSection.test.tsx existing 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 renders hostOptionById's base label, so a local WSL project with a second host shows Local Windows in the picker while the row below reads Local Windows · WSL (Ubuntu). Minor, and consistent with how the picker already shows the short label for nested-SSH rows.

Pullfrog  | Fix all ➔ | Fix 👍s ➔ | View workflow run | Using DeepSeek Flash (free via Pullfrog for OSS) | 𝕏

# Conflicts:
#	src/renderer/src/components/settings/repository/execution/RepositoryHostSetupsSection.tsx
@Bandersnatch0x

Copy link
Copy Markdown
Author

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.

@Bandersnatch0x
Bandersnatch0x deleted the feat/settings-wsl-storage-host-label branch October 25, 2026 04:59
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.

1 participant