Skip to content

feat: Implement partial text selection in chat messages - #177

Closed
devbreath wants to merge 1 commit into
ArcaneChat:mainfrom
devbreath:feat_part_selection
Closed

feat: Implement partial text selection in chat messages#177
devbreath wants to merge 1 commit into
ArcaneChat:mainfrom
devbreath:feat_part_selection

Conversation

@devbreath

Copy link
Copy Markdown

feat: Implement partial text selection in chat messages

This commit introduces the ability to select and copy a portion of text within chat messages, similar to other popular messengers.

Key changes include:

  • Added a new preference setting ("Text selection in messages") to enable/disable the feature.
  • Enabled setTextIsSelectable(true) on ConversationItem's message body when the feature is active.
  • Implemented a custom selection action mode callback to provide "Copy", "Select all", and "Share" options in the floating toolbar.
  • Ensured that clickable links within message text remain functional even with text selection enabled.
  • Coordinated with the existing multi-select mechanism by leveraging TextView's inherent selection handling and PassthroughClickListener's hasSelection() check.
  • Skipped implementation for QuoteView (P1 requirement) in this initial phase.

No compilation errors were found. Further manual testing is required to validate full UX and gesture coordination.

feat: Implement partial text selection in chat messages

This commit introduces the ability to select and copy a portion of text within chat messages, similar to other popular messengers.

Key changes include:
- Added a new preference setting ("Text selection in messages") to enable/disable the feature.
- Enabled `setTextIsSelectable(true)` on `ConversationItem`'s message body when the feature is active.
- Implemented a custom selection action mode callback to provide "Copy", "Select all", and "Share" options in the floating toolbar.
- Ensured that clickable links within message text remain functional even with text selection enabled.
- Coordinated with the existing multi-select mechanism by leveraging `TextView`'s inherent selection handling and `PassthroughClickListener`'s `hasSelection()` check.
- Skipped implementation for `QuoteView` (P1 requirement) in this initial phase.

No compilation errors were found. Further manual testing is required to validate full UX and gesture coordination.

@devbreath devbreath left a comment

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

@devbreath devbreath closed this Sep 9, 2026
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