fix(web-ui): make remote workspace rows legible in the nav panel - #1897
Merged
Conversation
The remote connection line rendered as a bare status dot plus raw text at 10px `--color-text-muted` with an additional `opacity: 0.75`. Double-dimmed it fell well below readable contrast, and because the dot sat inline in the text flow the host name started ~11px right of the workspace title with nothing to justify the offset. Render the connection as a chip that reuses the existing branch-pill language, so its left edge aligns exactly with the title text and the dot reads as part of a deliberate group: - Single-dimmed `--color-text-secondary`; error/disconnected/connecting carry semantic background and text colour. - Status shown in words only when it needs attention; a green dot alone suffices for the connected case, so the healthy state stays quiet. - Localized tooltip (connection, host, status) and a translated aria-label replacing the raw enum that screen readers were reading out. - `Server` icon for remote workspaces instead of the same `FolderOpen` local ones use. Remote rows previously kept the single-line 30px title block and hung the subtitle beneath it, giving a top-heavy title with an orphaned second line in a 43px row. Collapse the title block so both lines read as one centred unit at 38px, and transition the hover gutter so revealing row actions glides instead of snapping. Also drop the dead `.is-unknown` rule that was overridden by its own later declaration, and fold its colour into the dot's base.
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.
Problem
The remote connection line in the nav panel rendered as a bare status dot plus raw text:
--color-text-mutedandopacity: 0.75. Double-dimmed, well below readable contrast; it read as a stray artifact rather than information.min-height: 30pxblock and the host line hung beneath it: a top-heavy title with an orphaned subtitle in a 43px row.FolderOpenicon as local ones.aria-label={remoteConnStatus ?? 'unknown'}fed screen readers a raw enum ("error"), and sighted users got a 6px colour with no tooltip and no words..is-unknownwas listed in the error-colour group, then immediately overridden by its own later rule.Change
The connection is now a chip reusing the existing branch-pill language, so it reads as a deliberate part of the row:
--color-text-secondary, single-dimmed;is-error/is-disconnected/is-connectingcarry semantic background and text colour.aria-label, across zh-CN / en-US / zh-TW.Servericon for remote workspaces.transition: padding-rightso the hover gutter glides instead of snapping..is-unknownrule;--color-text-mutedis now the dot's base colour.Verification
Compiled the real SCSS and rendered the actual markup in a browser rather than eyeballing the code — measured row heights, chip/title alignment, text truncation, and panel fit across all five connection states (connected / connecting / disconnected / error / unknown).
pnpm --dir src/web-ui run test:run— 2403 tests pass (360 files), including theWorkspaceListSectionLayoutstyle contractpnpm run i18n:contract:test— 37/37 passpnpm run i18n:audit— 0 warningspnpm run lint:web— cleantsc --noEmit— cleanNote
&__workspace-item-titleis dead in the TSX but pinned by assertions inWorkspaceListSectionLayout.test.ts, so removing it was out of scope for this pass — worth a separate cleanup.