[FEAT]: Show an error with Try again when a chat's history fails to load
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 88/100
Línea de trabajo
Empieza por mobile/lib/controllers/chat/active_chat_controller.dart y sigue openChat, loadMoreMessages y hasMoreMessages; después, lee mobile/lib/pages/chat/chat_page.dart y EmptyState en mobile/lib/widgets/ui/components.dart. Reproduce el problema deteniendo el servidor local mientras hay un chat abierto o haciendo que GET /api/messages devuelva un 500. El trabajo estará terminado cuando los fallos al cargar la primera página y las páginas anteriores muestren “Couldn't load messages” y un botón Try again, reintentar restablezca la paginación y los mensajes en caché sigan visibles.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- Dart
- Estrellas
- 9
- Forks
- 5
- Merge medio
- 49 min
- PR fusionados (30 d)
- 34
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de CommandLineCoding/Elephant
-
area: mobile chore good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
CommandLineCoding/Elephant#247 ·
Los mantenedores suelen responder en 1 día
-
area: mobile bug good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
CommandLineCoding/Elephant#245 ·
Los mantenedores suelen responder en 1 día
-
area: mobile difficulty: medium enhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 56/100
CommandLineCoding/Elephant#249 ·
Los mantenedores suelen responder en 1 día
-
area: mobile chore difficulty: medium testing
Dificultad 4/5 3-5 días Aptitud para principiantes 66/100
CommandLineCoding/Elephant#248 ·
Los mantenedores suelen responder en 1 día
-
area: mobile enhancement good first issue
Dificultad 3/5 1-2 días Aptitud para principiantes 79/100
CommandLineCoding/Elephant#246 ·
Los mantenedores suelen responder en 1 día
Todos los issues de CommandLineCoding/Elephant
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 76/100
livekit/client-sdk-flutter#1281 ·
Los mantenedores suelen responder en 4 días
-
android bug priority: P1 qa
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
GHRik/bielik_oneclick_launcher#55 ·
Los mantenedores suelen responder en 1 día
-
SchedulerBinding.requestPerformanceMode(mode) does not forward the requested mode to the engine.Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
carp demo apps enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
carp-dk/carp.sensing-flutter#670 ·
-
[BUG] IP 质量类型误判:ISP 静态段被显示为机房Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100