[FEAT]: Show an error with Try again when a chat's history fails to load
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 88/100
Direção de pesquisa
Comece por mobile/lib/controllers/chat/active_chat_controller.dart e acompanhe openChat, loadMoreMessages e hasMoreMessages; depois, leia mobile/lib/pages/chat/chat_page.dart e EmptyState em mobile/lib/widgets/ui/components.dart. Reproduza o problema parando o servidor local enquanto um chat está aberto ou fazendo GET /api/messages retornar 500. O trabalho estará concluído quando falhas ao carregar a primeira página e páginas anteriores exibirem “Couldn't load messages” e um botão Try again, uma nova tentativa redefinir a paginação e as mensagens em cache continuarem visíveis.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- Dart
- Estrelas
- 9
- Forks
- 5
- Merge médio
- 49min
- PRs com merge (30d)
- 34
Preparar o ambiente
- Inclui um Dockerfile ou arquivo Docker Compose
- Sem modelo de pull request
- Sem guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de CommandLineCoding/Elephant
-
area: mobile chore good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
CommandLineCoding/Elephant#247 ·
Mantenedores costumam responder em até 1 dia
-
area: mobile bug good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
CommandLineCoding/Elephant#245 ·
Mantenedores costumam responder em até 1 dia
-
area: mobile difficulty: medium enhancement
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 56/100
CommandLineCoding/Elephant#249 ·
Mantenedores costumam responder em até 1 dia
-
area: mobile chore difficulty: medium testing
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 66/100
CommandLineCoding/Elephant#248 ·
Mantenedores costumam responder em até 1 dia
-
area: mobile enhancement good first issue
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 79/100
CommandLineCoding/Elephant#246 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de CommandLineCoding/Elephant
Issues semelhantes
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 76/100
livekit/client-sdk-flutter#1281 ·
Mantenedores costumam responder em até 4 dias
-
android bug priority: P1 qa
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
GHRik/bielik_oneclick_launcher#55 ·
Mantenedores costumam responder em até 1 dia
-
SchedulerBinding.requestPerformanceMode(mode) does not forward the requested mode to the engine.Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
carp demo apps enhancement
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
carp-dk/carp.sensing-flutter#670 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100