[FEAT]: Show an error with Try again when a chat's history fails to load
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
- 88/100
Hướng nghiên cứu
Bắt đầu với mobile/lib/controllers/chat/active_chat_controller.dart và lần theo openChat, loadMoreMessages cùng hasMoreMessages; sau đó đọc mobile/lib/pages/chat/chat_page.dart và EmptyState trong mobile/lib/widgets/ui/components.dart. Tái hiện bằng cách dừng máy chủ cục bộ khi một cuộc trò chuyện đang mở hoặc khiến GET /api/messages trả về 500. Hoàn thành khi các lần tải trang đầu tiên và các trang cũ hơn thất bại hiển thị “Couldn't load messages” và nút Try again, thử lại sẽ đặt lại phân trang, đồng thời các tin nhắn đã lưu trong bộ nhớ đệm vẫn hiển thị.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Context
If loading a chat's history fails (server error, offline), the chat currently shows only cached messages and a spinner, or nothing, with no explanation. #174 stopped it from retrying in a loop. Now it just stops quietly.
What to do
- When the first page or an older page fails, show a short message in the chat ("Couldn't load messages") with a Try again button.
- Try again resets paging and loads again.
- Keep cached messages visible while showing the error.
Where to look
mobile/lib/controllers/chat/active_chat_controller.dart (openChat, loadMoreMessages, hasMoreMessages), mobile/lib/pages/chat/chat_page.dart, and EmptyState in mobile/lib/widgets/ui/components.dart for styling.
Good to know
To reproduce, point the app at a local server and stop the server while a chat is open, or make GET /api/messages return 500.
- Ngôn ngữ chính
- Dart
- Star
- 9
- Fork
- 5
- Merge trung bình
- 49 phút
- Pull request đã merge (30 ngày)
- 34
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Không có mẫu pull request
- Không 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 CommandLineCoding/Elephant
-
area: mobile chore good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
CommandLineCoding/Elephant#247 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area: mobile bug good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
CommandLineCoding/Elephant#245 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area: mobile difficulty: medium enhancement
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 56/100
CommandLineCoding/Elephant#249 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area: mobile chore difficulty: medium testing
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 66/100
CommandLineCoding/Elephant#248 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area: mobile enhancement good first issue
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 79/100
CommandLineCoding/Elephant#246 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của CommandLineCoding/Elephant
Issue tương tự
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 76/100
livekit/client-sdk-flutter#1281 ·
Maintainer thường phản hồi trong vòng 4 ngày
-
android bug priority: P1 qa
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
GHRik/bielik_oneclick_launcher#55 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
SchedulerBinding.requestPerformanceMode(mode) does not forward the requested mode to the engine.Đang mở
Độ 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 1 ngày
-
carp demo apps enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
carp-dk/carp.sensing-flutter#670 ·
-
[BUG] IP 质量类型误判:ISP 静态段被显示为机房Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100