Skip to content

Agent: calmer sidebar rows and section headings - #1278

Merged
AnthonyRonning merged 6 commits into
masterfrom
ux/sidebar-polish
Oct 28, 2026
Merged

AnthonyRonning merged 6 commits into
masterfrom
ux/sidebar-polish

Conversation

@doowta

@doowta doowta commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

Current implementation

This PR gives Maple Work's sidebar calmer visuals so task titles remain the main focus. It is the visual foundation of GitHub stack #1304: master → #1278 → #1289.

Hands-on testing with local tasks and remote computers led us to simplify the organization model as the stack evolved. This section describes the final implementation. The earlier description, screenshots, and author notes are retained below for historical reference and are superseded by this summary.

Scope of this PR

  • Inset task/project highlights with 6 px corners and small gaps between rows.
  • A distinct hover state for the selected task, with matching hover-action backgrounds.
  • Softer sidebar text, regular-weight task/project titles, a plain New Task action, and quieter sentence-case section headings.
  • Compact spacing between adjacent folded sections, including correct remeasurement of cached heading heights.
  • Consistent wordmark color when the sidebar is expanded or collapsed.
  • More clearance between the window controls and the sidebar toggle.

The organization redesign lives in #1289: Group tasks by: Project, Connection, Status, In one list and Sort tasks by: Last updated, Manual order, together with remote-aware project creation, Pinned placement, drag ordering, and menu refinements. Those behaviors are described in the dependent PR rather than attributed to this visual foundation.

Validation

The combined macOS Debug stack was exercised against Dev with local tasks and a paired remote Mac. The Computer Use report records 66 checks: 65 passed and one pre-existing, nonblocking narrow-window clipping issue outside this PR's scope. This is combined-stack evidence, not a separate final-head run of this layer.

Later layout/pinning refinements received focused Computer Use checks in #1289. The latest combined build at beeb0f56 passed formatting, native compilation, and debug packaging and was launched for manual testing; the final cursor-only change did not rerun the UI suite. Full local unit/integration suites and test-running hooks were skipped during the refinement at the user's request.

Foundation head: 9bccfe8a. Base: master.

Screenshot 2026-10-27 at 4 23 01 PM Screenshot 2026-10-27 at 4 22 34 PM

Historical reference

The material below is preserved as a record of earlier designs, screenshots, implementation notes, and checks. It is superseded by the current implementation and validation above.

Previous description and original author material

Current GitHub stack — October 27, 2026

Native GitHub stack #1304: master → #1278 → #1289.

Head: 9bccfe8a1e4b72c905a1f8c779ce0aa24253252f. Base branch: master; tested fork point: 1df4cf70.

This foundation adds inset row highlights, a clearer selected-hover state, quieter typography and section headings, consistent collapsed/expanded wordmark color, and 8 px more clearance between the window controls and sidebar toggle. Project grouping, ordering, menus, connection controls and device selection are in #1289 above this layer.

Validation: human refinement and computer-use checks exercised the combined macOS Debug stack against Dev. No visual-polish defect was attributed to this layer. The latest formatting/build and focused UI checks passed at 52fdf95b; its Git tree is identical to published combined tip 3de538cf after moving the spacing commit into this foundation. This layer was not separately relaunched after restacking. The four integration bugs from the earlier combined pass were fixed and checked in #1289.

Full local unit/integration suites, just ci and test-running hooks were skipped as requested (MAPLE_HOOK_SKIP=1). Later refinements received targeted UI checks rather than another full UI suite. Historical original-author checks and screenshots below predate this refinement. See the current change/testing comment.


Why

  • Sidebar highlights run to the edges, and a hovered selected task looks almost the same as an unhovered one.
  • Uppercase headings, bold titles and the coral New Task all compete with the task titles.

What this PR adds

  • Inset row highlights with 6 px corners and a small gap between rows.
  • A clearer hover on the selected task, with its hover buttons sharing that color.
  • Softer sidebar text, regular weights, a plain New Task, and sentence-case Pinned / Active / Settled / Archived headings with the chevron after the label. Folded sections sit close together.
Light Dark Selected task, hovered Settled folded Motion (light) Motion (dark)
Before Sidebar on master, light Sidebar on master, dark Hovered selected task on master Folded Settled section on master Hover and fold on master, light Hover and fold on master, dark
After Calmer sidebar, light Calmer sidebar, dark Hovered selected task after this PR Folded Settled section after this PR Hover and fold after this PR, light Hover after this PR, dark

Scroll sideways to compare. Click an image for full size.

Related: foundation of native GitHub stack #1304, with #1289 directly above it. Stack 1 is now included through merged master.

Remote: the same insets, colors and headings apply to other computers' rows and headings.

Details for reviewers (commits, design, files, checks)

Commits

  1. Agent: inset sidebar row highlights
  2. Agent: brighten a hovered selected row
  3. Agent: soften sidebar text
  4. Agent: calmer sidebar section headings
  5. Agent: keep sidebar mark color consistent when collapsed
  6. Agent: give sidebar toggle more space beside window controls

Design

  • Rows get equal half-rem insets, fixed 6 px corners and 1 px vertical margins on ordinary task rows. Inner padding keeps the existing text alignment on local and other computers' rows.
  • A selected-hover color token, shared by the row highlight and its hover actions.
  • A sidebar text token (0xbcbdc8 dark, 0x45454b light); New Task in plain text color; regular weight for the selected task and project headings.
  • Heading spacing belongs to the heading row (mt_3), dropped when another folded heading sits directly above. Gaps are cached when entries rebuild, and a retained boundary heading is remeasured when its predecessor changes, including off-screen headings. Nothing is computed in render.
  • The Active / Settled / Archived ladder, paging, grouping, menus and activity indicators keep their behavior.

Files (under apps/maple-agent/app/src/ui): theme.rs, chat/mod.rs, chat/sidebar.rs, chat/sidebar_computers.rs. Four files.

Original author checks (historical, before the current rebase; component Nix shell, Xcode 26.5)

  • cargo fmt --all -- --check: passed, and on each commit individually.
  • cargo clippy -p maple-agent-app --all-targets --locked -- -D warnings: passed.
  • cargo test -p maple-agent-app --locked: 945 passed, 2 ignored on master e5870485, including a new regression for folding with an off-screen heading.
  • Full workspace CI was not run locally; GitHub CI covers it. The local commit hook was skipped (MAPLE_HOOK_SKIP=1) because of the existing updater test installer::tests::reads_native_release_tar_format_and_preserves_bundle_modes, which fails only on this machine.
  • Checked by hand in light and dark against master (recordings above).
Full-size images Sidebar on master, light Sidebar on master, dark Hovered selected task on master Folded Settled section on master Hover and fold on master, light Hover and fold on master, dark Calmer sidebar, light Calmer sidebar, dark Hovered selected task after this PR Folded Settled section after this PR Hover and fold after this PR, light Hover after this PR, dark

🤖 Generated with Claude Code


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

@doowta doowta changed the title Proposal: calmer sidebar rows and section headings Agent: calmer sidebar rows and section headings Oct 25, 2026
@doowta
doowta marked this pull request as ready for review October 25, 2026 18:40
@doowta
doowta force-pushed the ux/sidebar-polish branch from 45a3ebd to d6b62c0 Compare October 25, 2026 20:16
@marksftw
marksftw added this pull request to stack #1304 October 26, 2026 19:34
doowta and others added 5 commits October 27, 2026 08:36
Keep sidebar highlights equally inset without moving their text. Share six-pixel corners and one-pixel vertical margins across task, section, and computer rows.

Co-Authored-By: Codex GPT-6.1-Sol <noreply@openai.com>
Distinguish hovering a selected task from its resting selection. Paint hover actions and other computers' selected rows with the same theme token.

Co-Authored-By: Codex GPT-6.1-Sol <noreply@openai.com>
Use a dedicated sidebar text color in both themes. Keep New Task in the same plain color as task rows, and let selection and project headings use regular weight.

Co-Authored-By: Codex GPT-6.1-Sol <noreply@openai.com>
Use sentence case and regular muted text for section labels, with chevrons after them. Put top spacing on heading rows, and remove it between adjacent folded sections while retaining the gap after expanded task rows.

Co-Authored-By: Codex GPT-6.1-Sol <noreply@openai.com>
@marksftw

Copy link
Copy Markdown
Collaborator

UI testing summary — October 27, 2026

Completed 50 live computer-use UI checks across the combined #1278 → #1289 development build: 46 passed, 4 failed. The tested local revision was d17a4a30, including unpublished refinements above #1289; this was a combined-stack pass.

No defects were attributed to this PR’s sidebar visual polish. The four findings concern the project/grouping and remote integration covered by #1289: overwritten remote folder selection, stale remote pin state, missing Archived access in Status/List, and Connection grouping resetting after restart.

Reproduction details and testing limits are in the UI testing report on #1289. The findings remain unfixed pending discussion.

@marksftw

Copy link
Copy Markdown
Collaborator

Published refinements — October 27, 2026

Updated ux/sidebar-polish to 9bccfe8a1e4b72c905a1f8c779ce0aa24253252f, preserving #1278 as the foundation of native GitHub stack #1304, with #1289 directly above it.

This layer contains the calmer row highlights, selected-hover colors, softer typography, section headings/spacing, consistent wordmark color, and the additional 8 px clearance beside the window controls for the sidebar toggle. Project/grouping, task/project menus, connection controls and remote-project selection refinements belong to #1289.

Validation used the combined macOS Debug stack against Dev during human refinement and computer-use UI checks. No visual-polish defect was attributed to this layer. The latest formatting/build and focused checks ran at 52fdf95b; the published #1289 tip 3de538cf has an identical Git tree after moving the spacing commit into this foundation. This is combined-tip evidence, not a separately relaunched foundation build.

The four bugs in the earlier testing report were fixed in #1289 and received targeted regression checks. Full local unit/integration suites, just ci, and test-running commit hooks were skipped as requested (MAPLE_HOOK_SKIP=1). Later refinements received focused UI checks rather than another full UI pass.

@marksftw

Copy link
Copy Markdown
Collaborator

Computer Use UI test report — October 27, 2026

Completed native macOS UI testing of the combined #1278 / #1289 stack against Dev with a paired remote Mac. 66 recorded checks: 65 passed and one pre-existing, non-blocking issue. No major regressions found in the tested workflows.

Coverage included all four grouping modes with both sort options, empty projects, search, project/task/connection reordering, popup actions and separators, keyboard navigation, sidebar appearance and collapse, local/remote project pickers, new-task placement, draft/attachment retention, and two full app restarts.

All four prior bug fixes passed regression checks: remote pins while viewing a local task, immediate visibility of the first archived task, grouping/manual-order persistence after restart, and retaining the selected remote project after a cold launch.

Tested source is identical to the published stack tip 3de538cf (including foundation 9bccfe8a). Remote protocol remains 7. No source changes were made during this UI test run.

Scope limits: macOS Debug/Dev only; destructive actions, offline/account transitions, large-history paging, other platforms and full VoiceOver testing were not covered. Drag results were verified; the Computer Use API does not expose a held-drag screenshot for checking the orange line mid-drag.

Non-blocking issue — pre-existing and separate from this PR

Very narrow windows can clip the main header and composer controls. At approximately 602 × 502 logical pixels, opening the sidebar leaves controls, including Send, off the right edge. Collapsing the sidebar exposes them again.

This predates the sidebar work and is outside this PR's scope. Source comparison with master 1df4cf70 confirms the fixed sidebar width and relevant composer/header sizing are unchanged. Attribution is based on that comparison; a separate master runtime was not relaunched. This can be handled as an independent layout follow-up.

@marksftw

Copy link
Copy Markdown
Collaborator

Tested manually and ready for review.

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

Approving as part of stack #1304 (merged together with #1289, which also covers the Vim-off row inset).

@AnthonyRonning
AnthonyRonning merged commit d11071f into master Oct 28, 2026
23 checks passed
@AnthonyRonning
AnthonyRonning deleted the ux/sidebar-polish branch October 28, 2026 05:05
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.

3 participants