Skip to content

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

Closed

Description

@deadherring

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).

Activity

  1. added a commit that references this issue on Nov 6, 2026
    4aae6c2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions