Repository navigation
Conversation
doowta
marked this pull request as ready for review
October 25, 2026 18:40
Task rows showed three hover buttons: the menu, Rename, and a step button whose meaning changed by rung (Settle, Archive, Delete), so rows were crowded and the right-most button did something different in each section. There was no right-click menu, and with a task menu open the hover highlight and buttons stayed on another row or followed the pointer as the list scrolled. A row now shows only its "…" button on hover; a pinned row keeps its pin. A right-click opens the same menu at the pointer. The menu groups Rename, Pin, and Mark as unread; Open folder (this computer's tasks only); then Settle, Archive, and Delete, with Reopen and Unarchive in their places on settled and archived tasks. Each item shows a letter that picks it while the menu is open, and Delete shows in the error color; popup items gain a shortcut and a destructive style. Mark as unread sets the completed-unread marker through a sidebar event, and Mark as read clears it as opening the task does. While any sidebar menu is open, rows show no hover state, and scrolling the list, by the wheel or by stepping to another task, closes the menu. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A pinned row's pin vanished under the hover strip, which reached past it, so hovering showed only the "…" button with an "Unpin" tooltip over nothing. A press there passed the pin's element id to the pin toggle instead of the task's id, so it pinned a stray id and the task stayed pinned. The Pinned section already names a pinned row, so the row drops its resting pin. The hover strip is one trailing row of buttons at the row's end: "…", then on a pinned row a pin that unpins the task by its id. The strip no longer needs an offset to clear the pin. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A secondary click can arrive with a stationary wheel event. GPUI calls the list scroll handler even when its position does not change, so the sidebar immediately dismissed a task menu that had just opened. Remember the list position when a menu opens and compare both the item and pixel offset after scrolling. Defer the read until ListState releases its mutable borrow. Keep reveal_row's explicit dismissal and remove the temporary popup tracing now that the real-device close path is known. Cover zero, horizontal, and clamped wheel events, a one-pixel move, and reopening after a real scroll. Retain the full right-click sequence test. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
doowta
force-pushed
the
ux/actions-release
branch
from
October 25, 2026 20:16
3b1c3d7 to
69aa2f8
Compare
This was referenced Oct 25, 2026
This branch has not been deployed
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.
Why
What this PR adds
Scroll sideways to compare. Click an image for full size.
Related: independent of #1278 (calmer rows) and #1236 (collapsed rail); all touch the sidebar rows, so whichever lands later gets a small rebase.
Remote: when connected to a paired computer the menu leaves out Open folder (this computer's file manager can't show it); other computers' rows stay navigation-only.
Details for reviewers (commits, design, files, checks)
Commits
Design
popup.rs; right-click usesPlacement::Atwith the captured pointer position, and button-anchored menus follow their row if it moves.Files (under
apps/maple-agent/app):assets/icons/eye.svg,src/assets.rs,src/ui/chat/mod.rs,src/ui/chat/sidebar.rs,src/ui/chat/sidebar_computers.rs,src/ui/chat/tests.rs,src/ui/popup.rs. 7 files, +682 / −315 (tests +316 / −46, 5 net added tests).Checks (component Nix shell, Xcode 26.5, on master
e5870485)cargo fmt --all -- --check: passed.cargo clippy -p maple-agent-app --all-targets --locked -- -D warnings: passed.cargo test -p maple-agent-app --locked: 949 passed, 2 ignored.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.Full-size images
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need.