Skip to content

Agent: polish sidebar navigation and settings menu - #1347

Merged
AnthonyRonning merged 15 commits into
MaplePrivacyLabs:masterfrom
matthewrball:codex/sidebar-navigation-polish
Oct 29, 2026
Merged

AnthonyRonning merged 15 commits into
MaplePrivacyLabs:masterfrom
matthewrball:codex/sidebar-navigation-polish

Conversation

@matthewrball

@matthewrball matthewrball commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Why

Settings and feedback are separate footer actions, and the sidebar needs clearer grouping between task creation, navigation, and utilities.

What this PR adds

  • Tighter sidebar spacing, New Task highlighted only on hover or press, and a Projects filter revealed on hover or keyboard focus. Redundant empty-task guidance is removed.
  • One Settings menu containing a usage preview, Account, All settings, and Send feedback. Usage and Account open their sections directly; unavailable usage is explicit.
  • Includes the maintainer’s title-bar Search follow-up in both sidebar layouts, plus the pointer-dismissal correction: empty search closes without moving a target mid-click; populated queries remain visible.

Draft folder selection and draft-header cleanup are in #1353. The toolbar spacing and canvas-background proposal is separated into #1357, which remains a draft. This PR retains the original 40px toolbar geometry and canvas treatment; Mark’s title-bar Search follow-up is preserved.

Preview

Native Settings menu, cropped to this PR's scope. Usage values are illustrative sample data. The toolbar proposal's previews are in #1357.

Native Settings menu with usage preview, Account, All settings, and Send feedback

Verification

  • After the toolbar extraction at 8f147401, cargo test -p maple-agent-app --bin maple-agent --locked -- --test-threads=2: 1,145 passed, 0 failed, 2 ignored.
  • Formatting, diff checks, and independent source review passed. The suite covers menu routing, pointer dismissal, paging, keyboard navigation, and collapsed layouts.
  • Added the missing asynchronous test-fixture setup for the command test after CI exposed a Tokio-to-GPUI scheduler wake race. Production behavior and assertions are unchanged.
  • The extraction restores the pre-toolbar production source exactly and retains the test-fixture correction. The Settings-menu preview remains current; authenticated billing and feedback submission were not exercised.

Local checks used Rust 1.96.0 and Xcode 27.1. just ci passed formatting and the metadata/packaging tests, then stopped on the existing Objective-C macro cfg and nonminimal-boolean Clippy diagnostics in unchanged code. Required pinned-toolchain/platform CI on the current head still needs maintainer workflow approval and a successful result.

@marksftw marksftw self-assigned this Oct 28, 2026
@matthewrball matthewrball changed the title Agent: polish sidebar navigation and settings menu Agent: polish sidebar navigation and new-task setup Oct 28, 2026
@matthewrball
matthewrball marked this pull request as ready for review October 28, 2026 15:46
@marksftw

Copy link
Copy Markdown
Collaborator

hey @matthewrball, love the work here! let me know when you're done making changes so I can review the final version.

@marksftw

Copy link
Copy Markdown
Collaborator

one quick design comment. the search box isn't a primary feature, so we'd prefer to decrease its presence in favor of an icon on the toolbar. Here's a quick mockup video I did to show it. I'm happy to make this adjustment on top of your ideas after the fact.

Screen.Recording.2026-10-28.at.11.45.30.AM.mov

@marksftw

Copy link
Copy Markdown
Collaborator

@matthewrball I like the project selector placement near the composer. Could you move that change, including the draft header cleanup, into a separate PR? I’d like to keep this PR focused on sidebar navigation and settings so we can review and merge each change independently. The New Task styling can stay here.

@marksftw

Copy link
Copy Markdown
Collaborator

@matthewrball
I have a search-only follow-up ready locally. I’ll add it after the project-selector changes are split out.

@matthewrball

Copy link
Copy Markdown
Contributor Author

Thanks, Mark! I’m splitting the project selector and draft-header cleanup into a separate PR now. I’ll keep this one focused on sidebar navigation, Settings, and New Task styling, and leave the search adjustment to your follow-up. I’ll flag both PRs once the split is ready for review.

@matthewrball matthewrball changed the title Agent: polish sidebar navigation and new-task setup Agent: polish sidebar navigation and settings menu Oct 28, 2026
@matthewrball

Copy link
Copy Markdown
Contributor Author

@marksftw The split is done! #1347 is focused on sidebar navigation, Settings, and New Task styling; #1353 contains the folder-selector relocation and draft-header cleanup. Both are ready for review, and search is unchanged from upstream in both, so your search follow-up can stay separate. Thanks for the feedback!

marksftw and others added 2 commits October 28, 2026 16:21
Keep the magnifier visible with either sidebar layout and show the search field only when requested. Omit the idle Search row from local and computer projections, reveal the inserted field correctly, and update keyboard/focus regression coverage. Preserve the contributor New Task appearance and keep project-selector relocation in its separate PR.
@marksftw

Copy link
Copy Markdown
Collaborator

@matthewrball. looks great!

Thanks for separating the project-selector work into #1353. I added a search-only follow-up in 05e4e843:

  • The magnifier stays in the title bar with the sidebar expanded or collapsed.
  • Clicking it, or using Cmd/Ctrl+F, opens and focuses the search field, expanding the sidebar when needed.
  • The separate idle Search row is removed. An empty field hides on Escape or when focus moves away; a populated query stays visible.
  • Keyboard navigation and related regression tests are updated.

Your New Task styling and the rest of the sidebar/settings work are preserved.

The build and formatting checks passed in the pinned Nix environment, and I verified the changed behavior in Maple Work Debug using with manual testing and automated UI testing.

Keep empty Search in place through pointer activation so its dismissal cannot move the clicked control. Coordinate pointer release with focus-out, preserve keyboard dismissal and explicit reopening, and cover the gesture in GPUI tests. Check task-stepping destinations independently of the optional Search row.
@matthewrball

Copy link
Copy Markdown
Contributor Author

@marksftw I pushed a small follow-up in 5cc5d86: empty Search now stays in place until the click completes, so the Projects filter and folder/task menus open on the first click. I also updated the task-stepping assertions and stabilized the cached-bounds menu test, with regression coverage. The full app suites pass locally for both PRs (#1347: 1,145 passed; #1353: 1,141 passed; two ignored each). CI is still awaiting maintainer approval.

@marksftw

Copy link
Copy Markdown
Collaborator

I spot-checked your latest changes at 29cc452c in Maple Work Debug, and they work well. Thanks for the updates!

@marksftw

Copy link
Copy Markdown
Collaborator

@matthewrball hard to test and review if you keep adding new things to the PR. you done?

@marksftw

Copy link
Copy Markdown
Collaborator

in the future, keep the PR in draft until you are done. ready for review means that we can spend time reviewing and merge in if we like it.

@matthewrball

Copy link
Copy Markdown
Contributor Author

Sorry for all of the edits. I’m done making changes, and #1347 and #1353 are ready for your review. I’ll be better about finishing and validating changes before asking for review on future PRs.

@marksftw

Copy link
Copy Markdown
Collaborator

not sure about the toolbar change you added last minute. not fully opposed to it, but I'd prefer for you to back it out of this PR so we can focus on the sidebar and settings stuff you put in here. keep it focused. can you do that?

@matthewrball

Copy link
Copy Markdown
Contributor Author

@marksftw The toolbar changes are out of #1347 and moved into draft #1357, so #1347 is ready for your review. Thanks for the feedback!

@marksftw

Copy link
Copy Markdown
Collaborator

Testing summary for 8f147401: built Maple Work Debug and ran 39 native macOS UI checks using computer use against the Dev environment.

36 passed; 3 reproduced known preexisting issues. No new regressions found in the covered flows.

Coverage included:

  • Titlebar Search in expanded/collapsed layouts, filtering, focus, clear/Escape, context menus, repeated activation, and pointer-release handling.
  • New Task in both layouts; sidebar grouping/sorting and section collapse.
  • Task rename, pin/unpin, settle/reopen, archive/reopen, and canceling deletion; project rename and project selection.
  • Settings shortcuts, usage loading, account navigation, feedback dialog/cancel, popup keyboard navigation, and light appearance.
  • Window resizing and quit/relaunch. Existing Dev sign-in, paired computers, projects, and settings were retained.

The original toolbar background, height, and rounded canvas corner are restored as expected.

Known preexisting issues reproduced:

  1. A nonmatching search can leave section headings without a “Nothing matches” message.
  2. With app-wide Vim navigation enabled, Escape takes extra steps to clear/dismiss Search.
  3. At very narrow window widths, composer controls overflow with the sidebar expanded; collapsing the sidebar restores fit.

Temporary QA changes and preferences were restored. This pass covered native UI behavior; automated Rust/CI suites were not run.

@marksftw

Copy link
Copy Markdown
Collaborator

I'm good with the UX. 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.

Looks great, thanks!

@AnthonyRonning
AnthonyRonning merged commit 7cd3a8b into MaplePrivacyLabs:master Oct 29, 2026
21 checks passed
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