Skip to content

feat(mobile-web): add long-press message actions — copy, resend, delete#863

Merged
GCWing merged 1 commit into
GCWing:mainfrom
jarvis24young:feat/mobile-chat-message-actions
May 25, 2026
Merged

feat(mobile-web): add long-press message actions — copy, resend, delete#863
GCWing merged 1 commit into
GCWing:mainfrom
jarvis24young:feat/mobile-chat-message-actions

Conversation

@jarvis24young
Copy link
Copy Markdown
Contributor

Summary

  • Copy text: Long-press any message → "Copy text" copies the full message content to clipboard (strips image markdown references)
  • Resend: Long-press a user message → "Resend" re-triggers the query via sendMessage()
  • Delete: Long-press any message → "Delete" removes the message from the local Zustand store (soft delete)

Design

  • Long-press (500ms, 10px move tolerance) on any message bubble opens a bottom-sheet context menu
  • Menu actions are role-sensitive: Resend only appears on user messages
  • Toast feedback with automatic timer cleanup on unmount
  • Uses same bottom-sheet UX pattern as the session list context menu from feat(mobile-web): add session search, rename, and delete #840

Test plan

  • Long-press a user message → menu shows Copy + Resend + Delete
  • Long-press an assistant message → menu shows Copy + Delete
  • Copy copies clean text (no image refs)
  • Resend triggers a new message via sendMessage()
  • Delete removes message from the chat view
  • Toast feedback appears and auto-dismisses

@jarvis24young jarvis24young force-pushed the feat/mobile-chat-message-actions branch from e46300a to 31439d7 Compare May 25, 2026 06:31
Adds tombstone-based delete persistence in the Zustand store so deleted
messages stay hidden across polls and initial loads. Resend rebuilds
image contexts from the original message. Copy uses the existing
copyToClipboard fallback for insecure HTTP contexts.
@jarvis24young jarvis24young force-pushed the feat/mobile-chat-message-actions branch from 31439d7 to 42cf5d8 Compare May 25, 2026 06:47
@GCWing GCWing merged commit 3a35d5c into GCWing:main May 25, 2026
4 checks passed
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.

2 participants