Skip to content

Allow retries after failed resized image downloads - #534

Open
rahulshahDEV wants to merge 1 commit into
Baseflow:mainfrom
rahulshahDEV:fix/439-retry-resized-image-download
Open

rahulshahDEV wants to merge 1 commit into
Baseflow:mainfrom
rahulshahDEV:fix/439-retry-resized-image-download

Conversation

@rahulshahDEV

Copy link
Copy Markdown

✨ What kind of change does this PR introduce? (Bug fix, feature, docs update...)

Bug fix.

⤵️ What is the current behavior?

When a resized-image download fails, its completed broadcast stream remains in _runningResizes. A later request for the same image and dimensions reuses that stream and receives no response, so retrying does not load the image.

🆕 What is the new behavior (if this is a feature change)?

The in-flight resize entry is removed when its stream emits an error or completes. Errors still reach the caller, and an identity check prevents an old stream from removing a newer retry. A later request can download the image again.

💥 Does this PR introduce a breaking change?

No.

🐛 Recommendations for testing

  • Flutter 3.47.4 stable: dart format --set-exit-if-changed ., flutter analyze, and flutter test --coverage passed (112 tests).
  • The regression test first receives a 404, then retries the same resized URL and verifies that the successful response is returned.
  • Example builds passed for Web, macOS, and iOS. The Android build could not download the Gradle wrapper distribution (Connection refused); Windows and Linux builds were not run locally. CI covers these targets.

📝 Links to relevant issues/docs

Fixes #439. Related symptom: Baseflow/flutter_cached_network_image#980.

🤔 Checklist before submitting

  • All projects build
    • Local Web, macOS, and iOS builds passed. Android was blocked by the Gradle distribution download; Windows/Linux were not run locally. CI covers all targets.
  • Follows style guide lines (code style guide)
  • Relevant documentation was updated
  • Rebased onto current main
  • Version bumped and dated CHANGELOG entry added

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

If image (DOES NOT EXIST) AND (maxWidth/maxHeight) ARE set, the stream never closes

1 participant