RocketChat / RocketChat/Rocket.Chat
Android app: Long-press message action sheet intermittently fails after scrolling in active channels
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 46.1k
- Forks
- 13.9k
- Avg merge
- 3d 3h
- Merged PRs (30d)
- 130
Description
Description:
When long-pressing a message in the Android app, the message highlight animation plays correctly (gray background expands across the screen), indicating the gesture is detected. However, the message action sheet/modal does not appear consistently.
This occurs most frequently after scrolling back in active channels.
The issue is intermittent. Repeating the long-press often eventually succeeds.
Steps to reproduce:
- Open a high-activity channel with many messages.
- Scroll upward to older messages.
- Long-press an older message.
- Observe that:
- Highlight animation plays
- Action sheet often does not appear.
- Repeat long-press; it may succeed after multiple attempts.
Expected behavior:
After a successful long-press:
- Message highlight animation completes
- Message action sheet opens reliably
- User can react, reply in thread, quote, etc.
Actual behavior:
- Long-press is detected (highlight animation plays)
- Gray selection background expands fully
- Background disappears
- No action sheet is shown
- Repeating the long-press sometimes eventually works
Server Setup Information:
- Rocket.Chat Server: 7.13.3 (Docker)
- Android App: 4.70.0.108308 (also observed on February release)
- Android version: 15
- Dark mode enabled (issue observed there)
- Occurs primarily in high-activity channels with long message history
Additional context
- Issue is more common in channels with heavy message history.
- Appears related to message list virtualization.
- Does not occur in the web client.
- Server appears unaffected (other message interactions work normally).
- No server-side errors observed.
- Suggests client-side modal/navigation timing issue.
Suspected Area
Possibly related to:
- React Native FlatList message recycling
- Long-press gesture handler timing
- Modal/bottom sheet presentation race condition
- Navigation stack interaction after scroll
- Animation completion callback
Impact
High usability impact for active teams.
Users rely heavily on long-press actions for:
- Reactions
- Thread replies
- Quoting
- Message context actions
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.
Research direction
Start by reproducing the long-press flow in the Android app using a high-activity channel, then trace the React Native FlatList message recycling, gesture handler, and modal or bottom-sheet presentation after scrolling. Compare the animation completion and navigation timing; done means the action sheet opens reliably for older messages and exposes the expected message actions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react-native, typescript
- Domain
- mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100