Skip to content

Image upload failure is hidden behind “+N” UI and there’s no way to retry or identify failed image #2327

@trandactruong

Description

@trandactruong

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:

  1. Compose a message with 5 or more image attachments.
  2. Simulate a network failure for one image during upload.
  3. Observe that the UI displays only 3 images and a +2 overlay (depending on layout).
  4. The failed image is hidden behind the +N, with no error indication or retry button.
  5. 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.

Image Image

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.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions