Slash command menu sidecar.#9359
Slash command menu sidecar.#9359abhishekp106 wants to merge 3 commits intoabhishek/slash-command-menufrom
Conversation
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
|
I'm starting a first review of this pull request. You can follow along in the session on Warp. I completed the review and posted feedback on this pull request. Comment I completed the review and posted feedback on this pull request. Comment Powered by Oz |
There was a problem hiding this comment.
Overview
This PR adds generic search item detail metadata and uses it to render a sidecar for truncated Cloud Mode v2 slash command menu rows.
Concerns
- No blocking correctness, security, error-handling, or performance concerns were found in the changed lines.
Verdict
Found: 0 critical, 0 important, 0 suggestions
Approve
Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).
Powered by Oz
There was a problem hiding this comment.
Overview
This PR adds generic search item detail plumbing and renders a sidecar for selected cloud-mode-v2 slash command menu items when the selected row appears truncated. The security pass did not identify data exposure, injection, or unsafe execution concerns in the changed code.
Concerns
- The truncation predicate does not match the actual slash command row layout when descriptions are present, so common rows with short command names and long descriptions can truncate without showing the sidecar.
- The sidecar overlay is positioned with unbounded window behavior, so it can render outside split panes or narrow windows and leave truncated content inaccessible.
Verdict
Found: 0 critical, 2 important, 0 suggestions
Request changes
Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).
Powered by Oz
| match &detail.description { | ||
| Some(description) => { | ||
| let description_em = font_cache.em_width(appearance.ui_font_family(), font_size); | ||
| let description_px = description_em * description.chars().count() as f32; | ||
| (name_px + NAME_DESCRIPTION_GAP_PX + description_px) > available |
There was a problem hiding this comment.
InlineItem::render_item, so a short title plus long description can still truncate even when this sum fits. Use the same name-column width when computing description availability.
| OffsetPositioning::offset_from_save_position_element( | ||
| row_position_id, | ||
| vec2f(SIDECAR_GAP, 0.), | ||
| PositionedElementOffsetBounds::Unbounded, |
There was a problem hiding this comment.
Unbounded lets the sidecar render outside the window when the slash menu is near the right edge or in a narrow split, making the truncated text unreachable. Use window-bounded positioning so the sidecar shifts back on-screen.
| PositionedElementOffsetBounds::Unbounded, | |
| PositionedElementOffsetBounds::WindowByPosition, |
d5c1c0b to
80055bb
Compare
9c0eb09 to
849517c
Compare
87c2dd6 to
9187f64
Compare
21bc4dc to
a9aebec
Compare

Description
Sidecar now works for the new slash command menu for cloud mode v2.
Testing
https://www.loom.com/share/6089946eae214fcb8f15c82c746d5d6b