Repository navigation
Agent: group and order sidebar tasks across computers - #1289
Conversation
43f4929 to
f77e748
Compare
f77e748 to
236544a
Compare
|
UI testing summary — October 27, 2026 Ran 50 live computer-use UI checks across the combined #1278 → #1289 stack and the latest New project computer chooser: 46 passed, 4 failed. Tested macOS Debug against Dev with a paired Mac on master, using remote protocol 7. The tested local revision was Bugs found
All four findings remain unfixed, pending discussion. New remote QA projects were confined to This pass did not exercise large-history paging, peer removal/offline transitions, destructive actions, other platforms, or full VoiceOver navigation. Drag placement was checked, but the atomic computer-use drag could not capture the insertion line mid-drag. |
Keep each project's tasks together so the sidebar can show all projects without repeating a project line on every task. Cache folder sections and folds, preserve pin-aware activity ranking, and put project actions and inline rename on the folder headers. Keep the paired switcher and task ladder behavior while making the single-computer Projects header fold the list and reveal Add project on hover. Co-Authored-By: Codex GPT-6.1-Sol <noreply@openai.com>
Grouped choices need a child menu attached to their row, with the current value visible before it opens. Reuse nested popups for delayed hover, keyboard navigation, focus return, and placement that flips at the edge. Dismiss ancestors only for submenu selections so existing nested field and project menus keep their selection behavior. Co-Authored-By: Codex GPT-6.1-Sol <noreply@openai.com>
Let a single-computer sidebar switch between Folder, Status and Recent, choose a stable order for every section, and choose whether task metadata shows. Persist the view with safe defaults and keep paired browsing unchanged. Reveal the header controls on hover while keeping the open View menu's button visible. Omit Date grouping until its clock lifecycle is defined. Co-Authored-By: Codex GPT-6.1-Sol <noreply@openai.com>
Keep grouping, sort order, and row visibility in separate child menus so View options stays compact and shows its current choices. Reuse the shared popup navigation and dismissal while preserving saved view preferences. Co-Authored-By: Codex GPT-6.1-Sol <noreply@openai.com>
236544a to
3de538c
Compare
|
Published refinements — October 27, 2026 Updated Changes:
The four issues in the earlier report are fixed: first remote folder selection is preserved, remote pin state is reflected immediately, Archived remains accessible in Status/List, and Connection grouping survives startup. Those fixes received 11 focused native regression checks with no failures. Subsequent menu, connection, drag and cleanup refinements received targeted checks. The latest normal macOS Debug build/formatting and header/search/menu/rename-cancel/folding checks passed at The earlier 50-check combined UI pass found four bugs; it was not rerun in full after the fixes. Large-history paging, peer removal/offline transitions, destructive actions, other platforms and full VoiceOver navigation remain unverified. The former missing-project-metadata fallback was removed structurally and source-reviewed; that transient condition was not forced in the live app. Local unit/integration suites, |
Computer Use UI test report — October 27, 2026Completed 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 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 PRVery 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 |
|
Tested manually and ready for review. |
|
Those cicd failures look valid but probably quick for you to fix. |
|
This is really tasteful work. I used the stack a lot on a local build with a paired second computer, and it felt solid and fluid: the grouping, the fly-out View menu, drag-to-reorder with the insertion line, Pinned, and "New project on" with the remote folder browser all worked well. Below, items are split into blocking (please fix before merge), nice to fix (not blocking) and minor notes (fine to ignore). Blocking: please fix before merge1. CI: the app test target doesn't compile, and once it does, 14 tests fail.
Failing tests
2. View settings must never stop the app from starting. Make
3. Manual order with a paired computer: cancel stale reloads and coalesce them.
Nice to fix if easy: not blocking
Minor notes: fine to ignore
|
|
Thanks, Anthony. I agree with the feedback and am working through the CI/test failures, safe view-setting fallbacks, and Manual-order reload cancellation/coalescing, along with the smaller ordering and sign-out issues. I’m adding regression coverage and will post the results once the fixes pass testing. I'm also changing the task popup menu so it opens on the right of the cursor so it doesn't cover the sidebar. Remote protocol stays at 7. |
|
Addressed Anthony's review feedback in Fixes
Validation 12 focused native Computer Use checks passed against hosted Dev with a paired Mac: nine on Protocol remains 7. Remote wire/discovery and host paging source remain unchanged from the tested master baseline. Optional follow-ups: unpaired-computer rank pruning and reducing the scope/cost of Manual scans remain deferred. No WAN benchmark, heavy live-history, full VoiceOver, or native Windows/Linux UI pass is claimed. The previously reported narrow-window main-pane clipping remains a separate, pre-existing nonblocking issue. |
|
Great work, Mark and Michael. I re-reviewed The notes below are not requests. They're edge cases we noticed, written down only so we have context if we ever see them in practice. There's no need to work on them.
|
AnthonyRonning
left a comment
There was a problem hiding this comment.
Approving — see the comment above. Great work.
Current implementation
This PR lets tasks from local and remote computers share one predictable sidebar while keeping their project, computer, and status ownership intact. It builds on the visual foundation in #1278, in GitHub stack #1304:
master→ #1278 → #1289.Hands-on testing exposed confusing automatic project movement and differences between local and remote views. We simplified the sorting controls and added Connection grouping. The behavior below is the final implementation. Earlier proposals and descriptions are preserved below for historical reference; their superseded controls and old validation claims are not the current specification.
Grouping and sorting
Pins, dragging, and menus
Creating projects on the intended computer
With another computer added, the global New project button opens a New project on device chooser, independently of the currently selected task. Selecting This Computer opens the local picker; selecting a remote computer opens that computer's folder browser. Each Connection heading also shows the existing New project icon on hover and opens its own picker directly.
The first selected remote folder is retained instead of being replaced by the remote default workspace. Viewer-local remote pins update immediately, Archived appears immediately after the first archive in Status/flat views, and Connection grouping survives inventory loading after restart.
Persistence and compatibility
Grouping and sorting stay on the viewing desktop; manual ranks and personal pins are scoped to its signed-in account. Remote task/project ownership stays with the execution computer. Remote protocol remains 7; remote wire/discovery and host paging match the tested master baseline. No remote sorting parameters, commands, or capabilities were added.
Review fixes
Anthony's blocking feedback is addressed: the test API compiles; invalid or unknown View preferences fall back without blocking host startup/settings edits; stale Manual catalog reads are canceled and activity coalesces into one trailing refresh. Investigation of the reported failures also fixed own-project scopes rendering the wrong pages while computers are paired.
Pinned drag order now has independent desktop-local ranks, so ordinary tasks keep their relative order and unpin returns to the expected position. First Manual selection includes cached tasks in folded groups. Merged Active/Settled and cross-computer lists expose a complete sorted prefix so Load more appends instead of filling gaps. Presentation-state flush failures are logged without blocking sign-out. Confirmed task deletion prunes its own computer's saved ranks, and missing icons/accessible names are fixed.
Unpaired-computer rank pruning and narrower/fewer Manual scans remain optional follow-ups. No remote protocol or paging API expansion was made.
Validation
The full native Computer Use report covers the combined stack at
3de538cf: 66 recorded checks, 65 passed, one pre-existing nonblocking issue. Subsequent layout, Pinned-section, and Unpin fixes received focused Computer Use checks, including local and remote tasks; this was not another full-suite run.At
5588a070, GitHub Agent CI passes lint, workspace tests, macOS validation and Windows updater/typechecking. The app suite reports 1,144 passed, 0 failed, 3 ignored. New regressions cover invalid settings, cancellation/coalescing, scoped project pages, large/skewed/tied pagination, independent pin order, folded-group seeding, sign-out failure handling and popup geometry/keyboard behavior.The unchanged normal macOS Dev Debug build/package passed and was launched. 12 focused Computer Use checks passed: nine on
564a30a3covered menus, keyboard Rename/cancel, local/remote picker routing, pin drag/unpin and connection disclosure; three on final5588a070checked restart persistence, the corrected Move-down icon and final popup placement. QA found and fixed the missing icon registry entry. No projects/tasks were created or removed; temporary QA pins were cleared and original View choices restored. This was focused regression testing, not another full 66-check UI run.Local formatting, the four-mode warning-denied Clippy matrix and Git metadata checks passed. Full local workspace/test rebuilds were interrupted to preserve disk; successful complete-suite evidence comes from CI. No WAN benchmark, heavy live-history, native Windows/Linux UI, destructive-action or full VoiceOver coverage is claimed.
Separate nonblocking issue: At a very narrow window size (about 602 × 502 logical pixels), an expanded sidebar can leave main-header/composer controls clipped at the right edge. This predates this work and is outside this PR's scope; it is documented in the test report as an independent layout follow-up.
Head:
5588a070. Base:ux/sidebar-polishat9bccfe8a.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.
Original proposal and earlier stack notes — before the simplification
Current GitHub stack — October 26, 2026
Native GitHub stack #1304: master → #1278 → #1289.
Head:
f77e74833cfe3259297303213305dd5dd5becb6f. Base:ux/sidebar-polishat45fa4a1df68c4774356e8161dc4b2c3c42aa9ba2.This is the top layer of native GitHub stack #1304, based on #1278 (
45fa4a1d). The four original folder/View/submenu commits remain separate. Reconciled the newly merged Search row, its focus/reveal call and existing row-index expectations while preserving folder hover behavior.Current validation: Rust formatting and the pinned-component macOS debug build/package passed at combined stack tip
f77e74833cfe3259297303213305dd5dd5becb6f. Artifact revision, development PCR trust, isolated bundle identity and hosted Dev configuration were verified. Joint human manual testing is pending. No local unit/integration suites,just ci, test-running hooks or automated computer-use tests were run;MAPLE_HOOK_SKIP=1was used.This is combined-tip build/startup evidence. Neither refreshed layer has a separate manual pass. Existing screenshots and original-author checks below predate this rebase.
Why
What this PR adds
popup.rs) gains fly-out submenus, with pointer, keyboard and Vim support, used by View options.Screenshots and a recording follow shortly.
Related: top layer of native GitHub stack #1304, based on #1278. Stack 1 is included through merged master. #1280, #1281 and #1283 remain independent.
Remote: with a paired computer, the sidebar keeps today's computer switcher and status sections; folders and View options apply to the single-computer sidebar. Switching from paired back to a single computer rebuilds the grouping. Project menus route through the owning computer as before.
Details for reviewers (commits, design, files, checks)
Commits (four original feature boundaries retained)
popup.rs,keymap.rs), +569 / −17.Design
popup.rs. Submenus open after a 175 ms hover (one cancellable delay, no polling) or immediately on click, Right or Enter; Left and Escape return to the parent; picking an item closes the chain. Children sit beside their row and flip at the window edge.Scope: project folders, View options and shared submenu support in the existing 11-file layer.
Original author checks (historical, before the current rebase; component Nix shell, Xcode 26.5)
cargo fmt --all -- --check: passed.cargo clippy -p maple-agent-app --all-targets --locked -- -D warnings: passed.cargo test -p maple-agent-app --locked: 971 passed, 2 ignored. Each commit compiles on its own.MAPLE_HOOK_SKIP=1) because of the existing updater testinstaller::tests::reads_native_release_tar_format_and_preserves_bundle_modes, which fails only on this machine.🤖 Generated with Claude Code
Description immediately before this final rewrite
Changes
Tasks can be organized without losing their project or execution computer. Group tasks by offers Project, Connection, Status and In one list; Sort tasks by offers Last updated and Manual order. Connection appears once another computer is added, including while offline; enabling this computer's Remote access alone does not add it.
The previous folder/date/name/direction/Show/reset design and old header fallback have been removed. Shared ordering helpers replace duplicated calculations.
Bugs fixed
Sidebar grouping, manual ranks and personal pins remain local to the viewing desktop. Remote protocol stays at 7; wire/discovery and host paging match the tested master baseline. No remote sorting parameters, commands or capabilities were added.
Stack and validation
Native GitHub stack #1304: master → #1278 → #1289.
Head:
3de538cf3f20e9c3a41f1c7744b1dbb6beb232ab. Base:ux/sidebar-polishat9bccfe8a1e4b72c905a1f8c779ce0aa24253252f. Original feature commit boundaries and subsequent refinement/fix commits are retained.The earlier combined 50-check native UI pass found four bugs. All four were fixed and received 11 targeted native regression checks with no failures. Later refinements received focused checks rather than another complete UI pass. The latest normal macOS Debug build, formatting and project/search/header/menu/rename-cancel/folding checks passed at
52fdf95b, against Dev with a paired Mac on master. The published tip has an identical Git tree; restacking only moved the spacing commit into #1278.Large-history paging, peer removal/offline transitions, destructive actions, other platforms and full VoiceOver remain unverified. The removed missing-metadata fallback was source-reviewed; the transient condition was not forced in the live app. Full local unit/integration suites,
just ciand test-running hooks were skipped as requested (MAPLE_HOOK_SKIP=1). No remote projects were removed or deleted; remote QA creations stayed withinagent-sandbox.Need help on this PR? Tag
@codesmith-botwith what you need.