fix: guard null content in saveToDownloads to prevent null-check crash (#1704)#1708
Open
deepak0x wants to merge 1 commit into
Open
fix: guard null content in saveToDownloads to prevent null-check crash (#1704)#1708deepak0x wants to merge 1 commit into
deepak0x wants to merge 1 commit into
Conversation
Replace the force-unwrap content! with an explicit null guard so a null content (e.g. empty/failed response body) shows a friendly snackbar instead of throwing 'Null check operator used on a null value'. Add a regression test covering null content. Closes foss42#1704
Contributor
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR Description
saveToDownloads()inlib/utils/save_utils.dartaccepted a nullableUint8List? contentbut force-unwrapped it withcontent!inside theif (path != null)block. When a save path is resolved (user picks a location) butcontentisnull(e.g. an empty or failed response body), this threwNull check operator used on a null value.This PR removes the
content!force-unwrap and adds an explicit null guard: whencontentisnull, the user now sees a "No content available to save." snackbar instead of an unhandled crash. Behaviour for valid content and for an unresolved path is unchanged.Related Issues
Checklist
mainbranch before making this PRflutter upgradeand verify)flutter test) and all tests are passingAdded/updated tests?
Added a regression test in
test/utils/save_utils_test.dart("saveToDownloads handles null content without crashing") that callssaveToDownloadswithcontent: nulland asserts a snackbar is shown rather than an exception being thrown.OS on which you have developed and tested the feature?