Cannot select a substring of a chat message (from user) to copy
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 86/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- css, typescript
Research direction
Start with apps/web/src/index.css to confirm the global user-select rule, then inspect the USER_BUBBLE, USER_BUBBLE_BASE, PlainUserTurn, and assistant message wrappers in apps/web/src/chat/turns.tsx. Verify the relevant containers opt into text selection without disrupting the existing copy-button behavior. Done means users can select and copy substrings from both user and assistant messages.
Written by the indexing model from the issue text.
Description
Description
In the Pi chat panel, users can click the copy button on a message to copy the entire message, but cannot click and drag to select any part of the message text (user bubbles) to copy a snippet.
Because body has user-select: none in apps/web/src/index.css and content is expected to opt back in (.tr-prose-chat, data-selectable, etc.), chat message containers (USER_BUBBLE / USER_BUBBLE_BASE / PlainUserTurn and assistant message wrappers in apps/web/src/chat/turns.tsx) currently do not include .tr-prose-chat or data-selectable (or user-select: text). As a result, message text inherits user-select: none and cannot be selected.
Steps to reproduce
- Open a workspace and open or start a chat session.
- Send a message or wait for an assistant response.
- Try clicking and dragging the cursor over words or lines within the message bubble to highlight/select a portion of the text.
Expected behavior
Users can click and drag to highlight/select any part of a user or assistant chat message and copy the selected text, while preserving whole-message copy via the copy button.
Actual behavior
No text selection occurs when dragging over the message text; the cursor cannot select substrings within the message.
Environment
- OS: macOS 26.6.2 (Darwin arm64)
- Bun version (
bun --version): 1.4.2 - Node version (
node --version): v26.8.2 - ThinkRail version / commit: 6a836d3fe (upstream/main)
🤖 Generated by AI agent
- Dominant language
- TypeScript
- Stars
- 481
- Forks
- 37
- Avg merge
- 21h 6m
- Merged PRs (30d)
- 130
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from JetBrains/thinkrail
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
All issues in JetBrains/thinkrail
Similar issues
-
calcite-components needs triage refactor
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Esri/calcite-design-system#15203 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 91/100
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficulty 1/5 Under an hour Newbie friendliness 95/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Automattic/studio#4908 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 90/100