RocketChat / RocketChat/Rocket.Chat

Android app: Long-press message action sheet intermittently fails after scrolling in active channels

Open
#39,417 0 comments 0 reactions 0 assignees View on GitHub

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:
  1. Open a high-activity channel with many messages.
  2. Scroll upward to older messages.
  3. Long-press an older message.
  4. Observe that:
  • Highlight animation plays
  • Action sheet often does not appear.
  1. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.