iOS: message action sheet opens on almost every scroll (200 ms long-press timeout)
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
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
- Open any channel with a long history in the iOS app.
- Scroll through it at a normal pace.
- 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
- Có Dockerfile hoặc tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của block/buzz
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
block/buzz#8492 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Mobile: show Topic, then Purpose, when a channel has no DescriptionCó thể đã có người làm @chkdesign đã nhận 2 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 83/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Desktop: avatars blink (blank → gray → photo) whenever a new message group rendersCó thể đã có người làm @brucesantos đã nhận 13 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 67/100
block/buzz#8193 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Issue tương tự
-
llm translation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
BerriAI/litellm#47884 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug(stubgen): `typing` / `_typeshed` imports are emitted above `from __future__ import annotations`Đang mởstubgen
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 2 ngày
-
bug-hunt confirmed good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 1 ngày
-
area: pcb area: rendering priority: high status: needs-triage type: bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 67/100
-
Update webpki-root-certsĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
rustls/rustls-platform-verifier#262 · 2 bình luận · 2 reaction ·