-
Notifications
You must be signed in to change notification settings - Fork 368
Description
Please select which package this feature is related to
stream_chat_flutter
Which platforms would this feature impact?
iOS, Android
Is your feature request related to a problem?
Describe the bug
When sending multiple images in a single message using stream_chat_flutter
, if one image fails to upload (due to connection loss, file size, etc.), and it happens to be outside the visible image limit (i.e., hidden behind the +N
overlay), the user cannot see or retry the failed image. The failed attachment is silently hidden, with no visual indication or way to recover.
To Reproduce
Steps to reproduce the behavior:
- Compose a message with 5 or more image attachments.
- Simulate a network failure for one image during upload.
- Observe that the UI displays only 3 images and a
+2
overlay (depending on layout). - The failed image is hidden behind the
+N
, with no error indication or retry button. - The user has no way to know an upload failed or which image it was.
Screenshots
If applicable, add screenshots or screen recordings showing the +N
UI and the absence of error indicators for failed uploads.


Describe the solution that you'd like
- All failed image uploads should be visible to the user, even if they're outside the visible attachment limit.
- The UI should provide an option to retry or remove the failed attachment.
- If any image has
uploadState == failed
, the UI should either:- Avoid collapsing into
+N
, or - Display failed uploads separately with clear indicators and actions.
- Avoid collapsing into
Describe alternatives that you have considered
No response
Additional context
This issue impacts user experience because image uploads may silently fail without the user's knowledge. Since there's no retry mechanism for hidden failed attachments, users may assume all images were sent successfully.
It would be helpful to expose an option to always show failed attachments, or provide a builder/callback for customizing this behavior.
Thanks for your great work on this package!
Code of Conduct
- I agree to follow this project's Code of Conduct