Skip to content

feat(desktop): add message more-actions dropdown menu#590

Merged
wesbillman merged 2 commits into
mainfrom
message-more-menu
May 14, 2026
Merged

feat(desktop): add message more-actions dropdown menu#590
wesbillman merged 2 commits into
mainfrom
message-more-menu

Conversation

@wesbillman
Copy link
Copy Markdown
Collaborator

Summary

  • Replaces individual edit/delete action buttons with a consolidated "more actions" dropdown menu (⋮) on message hover
  • Adds Mark unread, Copy message actions to the menu
  • Removes broken Copy link option (was generating web URLs that opened in browser instead of navigating within the app — proper sprout:// deep link for messages not yet implemented)
  • Extracts MoreActionsMenu as a dedicated component with its own state management for the delete confirmation dialog

Test plan

  • Hover over a message → verify ⋮ button appears in the action bar
  • Click ⋮ → verify dropdown shows: Edit message, Mark unread, Copy message, Delete message (for own messages)
  • Click "Copy message" → verify message text is copied to clipboard with success toast
  • Click "Mark unread" → verify channel shows as unread
  • Click "Delete message" → verify confirmation dialog appears and delete works
  • Click "Edit message" → verify inline edit mode activates
  • Verify "Copy link" is no longer present in the menu
  • Verify actions work in thread panel as well as main timeline

🤖 Generated with Claude Code

wesbillman and others added 2 commits May 14, 2026 13:52
…tions

- Multiply createdAt by 1000 (Unix seconds → milliseconds) for mark-unread
- Build copy-link URL with hash fragment for createHashHistory() router
- Add .catch() error toasts on clipboard write failures

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The Copy link option was generating a web URL that opened in the browser
instead of navigating within the Sprout app. Since deep linking to
specific messages isn't supported yet, remove the option until a proper
sprout:// deep link scheme for messages is implemented.

Also extracts MoreActionsMenu into its own component and adds mark
unread support to the message action bar.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@wesbillman
Copy link
Copy Markdown
Collaborator Author

Screenshot 2026-05-14 at 2 42 26 PM

@wesbillman wesbillman merged commit 4425f1f into main May 14, 2026
15 checks passed
@wesbillman wesbillman deleted the message-more-menu branch May 14, 2026 22:31
tlongwell-block added a commit that referenced this pull request May 15, 2026
* origin/main: (33 commits)
  dev-mcp: add view_image tool (#602)
  fix(relay,desktop): only advertise NIP-43 when enforced; probe pairing by supported_nips (#601)
  fix(desktop): derive unread state from NIP-RS + relay catch-up only (#599)
  docs(testing): rewrite TESTING.md for current API and CLI-first workflow (#597)
  fix(agent): fix OpenAI-compat request body serialization and max_tokens (#595)
  feat(desktop): per-persona and per-agent env var overrides (#594)
  fix(desktop): stop pinning agents to deprecated SPROUT_ACP_TURN_TIMEOUT (#592)
  fix(desktop): populate member_count in get_channels so channel browser shows real counts (#548)
  fix(desktop): autofocus message composer on channel/thread open (#572)
  refactor(cli): restructure flat commands into 12 subcommand groups (#585)
  feat(sdk): add builder functions for workflows, DMs, and presence (#589)
  feat(desktop): add message more-actions dropdown menu (#590)
  fix(mobile): preserve channel list across background/resume reconnection (#588)
  Redesign Home as an inbox (#582)
  fix(desktop): drive unread badges from live subscription, not refetched lastMessageAt (#581)
  fix(desktop): refine header scaling and shadow (#573)
  fix(desktop): keep day dividers below header (#574)
  Move agent activity below composer (#579)
  docs(nips): NIP-AE — Agent Engrams (#575)
  refactor: extract shared @mention resolver into sprout-sdk (#580)
  ...

Signed-off-by: Tyler Longwell <tlongwell@squareup.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant