Context menu sheet
Static mock for sign-off (#2526). Translate and the late 'Open in GitHub' entry are illustrative only.
Every popup is drawn with the shipped menu classes. Use the catalog's theme switch to review the sheet in light and dark.
1. Foreign message
MO
Mira Okafor09:12
- Right-click on someone else's message opens the message menu: quick reactions first (the most frequent action), then respond, then message actions.
- No Edit and no Delete: foreign messages never show them.
2. Own message
AR
Alex Rivera09:14
- As frame 1, plus Edit message in the message section.
- Delete comes last, alone past a divider, in the danger colour.
3. Own pending message (failed send)
AR
Alex Rivera09:14
Not sent. Retry, edit or cancel.
- A failed send offers Retry and Edit first; Cancel is the destructive entry, last.
- Pending rows keep the quick reactions and Copy text, exactly as today.
4. Own scheduled message (chat)
AR
Alex Rivera09:14
Scheduled for tomorrow, 09:00
- No reactions. Send it now leads.
- Edit message and Copy text, as today's chat toolbar offers them on scheduled rows; no Pin, Forward or Reply.
5. Thread panel, own reply
Thread
MO
Mira Okafor09:12
AR
Alex Rivera09:14
- "Reply" instead of "Reply with a quote", and no "Reply in thread" inside a thread.
- Assumes the panel passes the forward, pin, edit-reply and delete-reply handlers and the composer is enabled: Forward and Pin appear only because of those handlers.
6. Link in a message
MO
Mira Okafor09:12
- The thing under the pointer comes first: Open link and Copy link, then the message sections.
7. mailto link
MO
Mira Okafor09:12
- Open email hands the address to the mail client.
- Copy email address copies the bare address, without "mailto:".
8. Image in a message
MO
Mira Okafor09:12
- Open is the in-app viewer, the same as a left click; Copy image shows only where the browser can put an image on the clipboard.
- "Open in browser" is hidden in the desktop app.
9. File chip
MO
Mira Okafor09:12
- Download, then the message sections.
10. Video
MO
Mira Okafor09:12
Browser menuSpeed, loop, picture-in-picture
- The browser's own menu (speed, loop, picture-in-picture); the app adds nothing.
11. Rows without a toolbar
Call ended, 12 min
Kai Muller started a callJoin
Private reply from HOLOH
Scout is working: audit empty-state copy
Browser menuFor all four rows
- A call record, a call invite, a private-reply pill and an agent-work row have no message toolbar, so right-click gives the browser menu.
12. Composer, text input, selected text, Shift+right-click
Message #design-crit
Search
MO
Mira Okafor09:12
Shift+ right-click on a message
Browser menuOne answer for all four
- Composer: the browser menu, which keeps spellcheck suggestions and paste.
- Any other text input: the browser menu.
- Selected text anywhere: the browser menu (copy, search).
- Shift+right-click anywhere, messages included: always the browser menu.
13. Hover toolbar and an open More options menu
AR
Alex Rivera09:14
👍❤️😂
NothingNo menu opens over the toolbar or the More options menu
- Right-click on the hover toolbar or on an open "More options" menu does nothing.
14. Submenu open
MO
Mira Okafor09:12
- Illustrative: there is no translation feature.
- Hover opens the submenu after about 100ms; click or tap opens it; ArrowRight opens it and ArrowLeft closes it.
15. Progressive entries
(a) instant
(b) after 150ms, probe pending
(c) arrived
- (a) Instant: the link section and the message sections.
- (b) After 150ms with a probe still pending: a faint trailing row with a spinner.
- (c) Arrived: a trailing section with "Open in GitHub" (illustrative).
- Late entries only ever append at the end; nothing already shown moves.
16. Disabled with a reason
MO
Mira Okafor09:12
- Illustrative: a disabled entry shows why in a tooltip.
- Message actions are hidden, not disabled, when unavailable; disabled-with-reason is for other areas.
17. Keyboard open
AR
Alex Rivera09:14
👍❤️😂
- Opened from a focused toolbar button, the menu sits below it and highlights the first list entry, Reply with a quote, not the first emoji.
- Keyboard opens keep the enter animation; pointer opens skip it.
18. Edge placement
Right edge
MO
Mira Okafor09:12
Bottom edge
MO
Mira Okafor09:12
Short window, 420px
MO
Mira Okafor09:12
- Near the right edge: the menu aligns to fit, opening to the left of the pointer.
- Near the bottom edge: the menu flips above the pointer.
- A short window (about 420px tall) with a menu longer than the window: the menu is clipped to the window and scrolls on its own.
19. Spatial stage
3D stage
Kai Muller
NothingNo menu on the 3D stage
Call pane with docked chat
Mira Okafor
Chat
AR
Alex Rivera09:14
- Right-click on the 3D stage does nothing: no entries in v1.
- In the main-window call pane, the chat docked beside the 3D view gets the same message menu as frame 2.
20. Touch
- Touch is unchanged in v1: a long-press on a message still opens "More options".
- A long-press on an image or a link keeps the OS sheet.
