[FEAT]: Show an error with Try again when a chat's history fails to load

Đang mở Phù hợp với người mới
#183 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
88/100
Loại issue
Tính năng
Độ 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 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ả

area: mobile enhancement good first issue

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

  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 CommandLineCoding/Elephant

Tất cả issue của CommandLineCoding/Elephant

Issue tương tự

Thêm issue về Dart

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.