Skip to content

fix(web): settings pages follow one style and show only what matters - #906

Merged
Mjones13 merged 7 commits into
mainfrom
work/settings-style-pass-20261110
Nov 12, 2026
Merged

Mjones13 merged 7 commits into
mainfrom
work/settings-style-pass-20261110

Conversation

@Mjones13

@Mjones13 Mjones13 commented Nov 10, 2026 •

Copy link
Copy Markdown
Contributor

Problem

Settings sections added by the Jones fork didn't follow the conventions of the rest of the settings pages. They used hand-rolled containers and headings, paragraphs of internal explanation, operation UUIDs, raw codes, ISO timestamps, and repeated status lines. This made Connections, the Jones Code page, Integrations → Browser, and parts of General/Storage heavy and hard to scan (owner report with screenshots).

Change

Presentation only: no behaviour, API or persistence changes. Everything uses the existing settingsLayout primitives (SettingsPageContainer / SettingsSection / SettingsRow), with one short description per row. Secondary detail moves into tooltips or a collapsed Details disclosure.

  • Connections → Background remote evaluation
    • Standard section with two rows: an "Evaluate remote requests" toggle and an "Evaluator" row with the model and effort pickers inline.
    • Refresh moves to the section header. Save model appears only when the selection changes.
    • The unsupported-provider list collapses into a single "N providers unavailable…" disclosure.
    • Restated status sentences are removed.
  • Connections → Environments rows
    • One status line: Installed → Available badges, plus the single most actionable message (failure > launcher refresh > ready).
    • Duplicate "qualified build/package" lines are merged.
    • Operation IDs, source hashes, follower policy and plan membership move into Details.
    • Automatic updates becomes a compact "Auto On/Off" popover next to Check/Download.
  • Jones Code page
    • Uses SettingsPageContainer like every other route.
    • Workstreams setup becomes a "Workstreams" section with a status badge and one sentence. Raw codes, guide links and the timestamp move into Details, and Refresh becomes an icon button.
    • The Prompts section title no longer repeats the page name.
  • Integrations → Browser
    • Browser hosts become standard rows.
    • "Use this desktop as a browser host" becomes one row with an environment select and a switch. Host name, browser-only and retry appear only when relevant, and the caveat moves into a tooltip.
  • General / Storage / Projects / Linked environments
    • Copy trimmed to one line.
    • Storage retirement receipt and lineage dumps move into a collapsed disclosure.
    • The Discard switches get readable accessible names instead of raw codes.
    • The ad hoc link on General becomes a standard button.

Scope and approval

Requested directly by the repository owner as a settings-wide style and density pass. The change is limited to settings presentation in apps/web. apps/web/src/jones/installStatus/** is deliberately untouched (open #902).

Verification

Current candidate f9af8681f493424d76c713f6f6f4f9309390dbd4 includes canonical main 3f3328a54c4f6db91d9c4790a97b32c9f3f5fe12 through a normal merge. The settings delta remains the original 26 files; newer installStatus/** owners are preserved.

  • Exact-head required Check: SUCCESS. The former Monitor IME targeting failure is repaired by the main integration (test(web): target the IME test's composer by hover, not against a stale hover #922); no assertion was weakened.
  • Affected settings/updates/admission/Browser groups: 84 files, 624 tests passing. Initial seven-file regression group including Monitor: 68 tests passing.
  • Web package typecheck: exit 0 (existing Effect suggestion diagnostics); changed-file lint and format pass; strict Jones boundary check: 0 violations.
  • Independent read-only GPT-6.1 Sol/max review of all 26 files at this exact head: no P0/P1 findings. One nonblocking P2 retained: generic launcher advice may precede a specific staged-selection restoration failure in the collapsed status; the specific error remains in Details and action guards remain intact. Deferred under the standing P2 delivery policy.

Native Preview source comparison

Two separately built production web renderers were exercised through Jones Code's native preview_* tools on the VPS, with task-owned synthetic state. Comparison: 3f3328a54c4f6db91d9c4790a97b32c9f3f5fe12; candidate: f9af8681f493424d76c713f6f6f4f9309390dbd4. CSS viewport 1440 × 1000, DPR 2, light theme, Inter loaded in both. Screenshots show source before/after, not two states within one build.

Native actions/readbacks: Workstreams Details opens by click and by Enter, exposes diagnostic codes/guides, and closes by Enter. Refresh changed the backend-observed setup timestamp from 2026-11-11T13:31:09.550Z to 2026-11-11T13:32:20.461Z. Thread activity window enabled its amount control, remained enabled after a full reload, and was restored to off. Connections preserves the unavailable-owner state without offering evaluation actions; Browser preserves its server host selector.

Served index.html SHA-256 matches each locally built output: before b835e0678cbcc7c3f6449e4cb779746db2665982623aca3ed67c1accc7a5cb30; candidate 49eeb915e7d7852730d5063a526605898c42531ff78d92578655e0f5d5aa08d6. Full output-file hashes, capture hashes and action readbacks are retained in the task's native-evidence receipt. Runtime branding is 0.1.2 and has no source stamp; source correspondence is established by the recorded clean-source build sequence and output hashes.

Coverage limits: Linux shared renderer; unconfigured Workstreams, no saved remote environments, unavailable admission-owner access, and a server-only browser host. Provider/model saves, installer status fixtures and desktop-host configuration are covered by the focused browser tests; they were not exercised against real providers or installers in native Preview. Packaged desktop/mobile and live fleet operations were not tested. A comparison-only development cache/HMR hook error in untouched SidebarEnvironmentFilters was avoided by building both production renderers; no product source changed for evidence.

View Before After
Jones Code Before Jones Code After Jones Code
Connections Before Connections After Connections
Browser Before Browser After Browser

Expanded Workstreams diagnostics:

Workstreams Details

Original implementation: Claude Opus 5.5 coordinator and five Claude Opus subagents in Claude Code desktop. Integration, checks and native evidence: GPT-6.1 Sol/high in Jones Code Codex harness. Independent correctness review: GPT-6.1 Sol/max.


Autofix with [code]smith
Open in [code]smith · Need help on this PR? Tag @codesmith-bot with what you need.

Mjones13 and others added 6 commits November 10, 2026 14:46
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…vironments

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Mjones13
Mjones13 merged commit 83cb468 into main Nov 12, 2026
29 checks passed
Mjones13 added a commit that referenced this pull request Nov 12, 2026
Integrates #906 (settings style pass) and #963 (packaged helper fault
observations).

- StorageSettings: upstream's restructured worktree cleanup section is kept;
  #906's shorter copy and COVERAGE_LABEL titles and switch labels are applied to it.
- RemoteAdmissionSettings: #906's layout, with the sync's plan-agent selection.
- WorkstreamsSetupStatus: #906's offline status line under upstream's renamed
  state-sync lint rule.
- LinkedEnvironmentsSettings: upstream's renewal note for an already-linked
  machine replaces the earlier mode note that #906 had trimmed.
- Update action rows may shrink: the sync's real-CSS narrow-width test showed
  #906's non-shrinking row overflowing to 589px once a status line appeared.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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