Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

iOS: message action sheet opens on almost every scroll (200 ms long-press timeout)

Open Beginner friendly
#8,500 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
85/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
dart, flutter
Domain
mobile

Research direction

Start in mobile/lib/features/channels/message_long_press_region.dart and read how the iOS long-press duration is selected around line 196. Compare it with Flutter’s default timeout and the suggested timing in the issue. Done means ordinary scrolling no longer opens the message action sheet, while a deliberate press and hold still does.

Written by the indexing model from the issue text.

Description

What happens

On iPhone, the message action sheet (emoji row, Reply / Copy link / Remind me, Mark unread, Copy text, Edit, Delete) opens on almost every touch while scrolling a channel or thread. A normal scroll that starts with even a brief pause before the finger moves triggers it. Starting the touch on a different part of the screen does not help, because every row is a message.

Steps

  1. Open any channel with a long history in the iOS app.
  2. Scroll through it at a normal pace.
  3. The message action sheet opens repeatedly, interrupting scrolling.

Expected

The sheet opens only on a deliberate press and hold, as in other iOS apps and in Buzz on Android.

Likely cause

mobile/lib/features/channels/message_long_press_region.dart line 11:

const iosMessageLongPressDuration = Duration(milliseconds: 200);

This is used only when defaultTargetPlatform == TargetPlatform.iOS (around line 196). Other platforms use Flutter's default long-press timeout of 500 ms. The 200 ms value came in with ea143ea (#8055, "native iOS message menus and reaction sheets", 2 Oct). 200 ms is well inside the time a normal scroll gesture spends before crossing the drag threshold, so the hold wins against the scroll.

Suggested fix

Use the platform default (kLongPressTimeout, 500 ms) on iOS too, or at least something close to iOS's own context-menu timing. A setting to change or disable it would also help.

Environment

iPhone, current TestFlight/App Store build of Buzz mobile (as of 20 Oct 2026).

Dominant language
Rust
Stars
35.9k
Forks
4.8k
Avg merge
1d 13h
Merged PRs (30d)
270

Getting set up

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.

More from block/buzz

All issues in block/buzz

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.