Copy text and Copy message link #299

Closed
opened 2026-10-07 20:43:11 -04:00 by Salastil · 1 comment
Owner

The message menu (MessageRow.tsx:433-606) has no Copy Text. "Copy link to this message" is Matrix-only (585-601); Discord only gets "Open in Discord" (571-579). The row's context menu also replaces the native one, so right-clicking selected text doesn't offer Copy.

Fix: Copy text on every service; Copy message link for Discord (https://discord.com/channels/<guild|@me>/<channel>/<id>) and Matrix; when text is selected, the menu leads with Copy.

Part of the v1.0 UI pass.

The message menu (MessageRow.tsx:433-606) has no Copy Text. "Copy link to this message" is Matrix-only (585-601); Discord only gets "Open in Discord" (571-579). The row's context menu also replaces the native one, so right-clicking selected text doesn't offer Copy. **Fix:** Copy text on every service; Copy message link for Discord (`https://discord.com/channels/<guild|@me>/<channel>/<id>`) and Matrix; when text is selected, the menu leads with Copy. _Part of the v1.0 UI pass._
Salastil added this to the v1.0 milestone 2026-10-07 20:43:11 -04:00
Salastil added the feature label 2026-10-07 20:43:11 -04:00
Author
Owner

Finished: 0033955.

Before (left) and after (right) - right-clicking highlighted text in a Discord message, from scripts/ui-shots.mjs:

copy menu

  • Copy - for what was selected when the menu opened (read at that moment, since the window may let go of the selection). The row's own menu had replaced the window's, so right-clicking highlighted text offered no Copy at all.
  • Copy text - the whole message, on every service.
  • Copy message link on Discord, beside Open in Discord, using the daemon's existing getDiscordMessageLink (the same address Open in Discord goes to). Matrix already had its link entry. Other services have no stable message address, so none is offered.

Not tested against a live Discord server (receive-only account): the link comes from the daemon's existing call, which Open in Discord already uses.

Finished: [0033955](https://git.salastil.com/Salastil/moho/commit/0033955adf332445ec04bd48a02d245b53cd2c57). Before (left) and after (right) - right-clicking highlighted text in a Discord message, from `scripts/ui-shots.mjs`: ![copy menu](https://git.salastil.com/attachments/53c6e85d-2277-4b56-aae8-8c7aa739799d) - **Copy** - for what was selected when the menu opened (read at that moment, since the window may let go of the selection). The row's own menu had replaced the window's, so right-clicking highlighted text offered no Copy at all. - **Copy text** - the whole message, on every service. - **Copy message link** on Discord, beside *Open in Discord*, using the daemon's existing `getDiscordMessageLink` (the same address *Open in Discord* goes to). Matrix already had its link entry. Other services have no stable message address, so none is offered. Not tested against a live Discord server (receive-only account): the link comes from the daemon's existing call, which *Open in Discord* already uses.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Salastil/moho#299