Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

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

Đang mở Phù hợp với người mới
#8,500 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
85/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
dart, flutter
Lĩnh vực
mobile

Hướng nghiên cứu

Bắt đầu trong mobile/lib/features/channels/message_long_press_region.dart và đọc cách thời lượng nhấn giữ trên iOS được chọn quanh dòng 196. So sánh với thời gian chờ mặc định của Flutter và thời gian được đề xuất trong issue. Kết quả cần đạt là thao tác cuộn thông thường không còn mở bảng hành động của tin nhắn, trong khi thao tác nhấn giữ có chủ ý vẫn mở được.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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

Ngôn ngữ chính
Rust
Star
36.2k
Fork
4.8k
Merge trung bình
1 ngày 15 giờ
Pull request đã merge (30 ngày)
277

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của block/buzz

Tất cả issue của block/buzz

Issue tương tự

Thêm issue về Rust

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.