Skip to content

Adds missing awaits on forgotten cases#183466

Merged
auto-submit[bot] merged 4 commits into
flutter:masterfrom
FMorschel:await-on-try
Apr 15, 2026
Merged

Adds missing awaits on forgotten cases#183466
auto-submit[bot] merged 4 commits into
flutter:masterfrom
FMorschel:await-on-try

Conversation

@FMorschel

@FMorschel FMorschel commented Mar 10, 2026

Copy link
Copy Markdown
Contributor

This is similar to #182301.

This is merely an analyzer change to avoid the bug explained at:

This will allow the development of a warning about these situations so we can avoid this bug in the future.

Pre-launch Checklist

@FMorschel FMorschel requested a review from a team as a code owner March 10, 2026 20:18
@flutter-dashboard

Copy link
Copy Markdown

It looks like this pull request may not have tests. Please make sure to add tests or get an explicit test exemption before merging.

If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix?

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. If you believe this PR qualifies for a test exemption, contact "@test-exemption-reviewer" in the #hackers channel in Discord (don't just cc them here, they won't see it!). The test exemption team is a small volunteer group, so all reviewers should feel empowered to ask for tests, without delegating that responsibility entirely to the test exemption group.

@github-actions github-actions Bot added platform-ios iOS applications specifically tool Affects the "flutter" command-line tool. See also t: labels. framework flutter/packages/flutter repository. See also f: labels. team-ios Owned by iOS platform team labels Mar 10, 2026
@stuartmorgan-g

Copy link
Copy Markdown
Contributor

test-exempt: unblocks future analyzer update

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds missing await keywords in several files. In packages/flutter/lib/src/painting/_network_image_io.dart, this fixes a bug where an exception during image decoding would not be caught by the surrounding try-catch block. The other changes are for consistency in returning awaited futures from async functions.

LouiseHsu
LouiseHsu previously approved these changes Mar 11, 2026
@FMorschel

Copy link
Copy Markdown
Contributor Author

@LouiseHsu, could you please take a look at the changes to the tests to make sure they are fine (or ask someone who would know to take a look)? I'm not really familiar with this code. I'm not entirely sure that message was explicitly intended to show up, and if so, if I should do something similar around where I added the new await (in the catches for it).

@vashworth vashworth requested a review from LouiseHsu March 19, 2026 21:48
expect(firstExitCode, isNotNull);
expect(firstExitCode, isNot(0));
expect(error.toString(), 'Exception: test exit');
expect(error.toString(), 'ProcessExit: 1');

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bkonyi sorry to randomly tag you, but do you think this out put looks okay? not sure why adding awaits would trigger a different error output.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is because the actual throw is now caught at that await. Please look at that linked issue with the explanation @LouiseHsu.

@bkonyi bkonyi Apr 1, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@LouiseHsu, don't be sorry (easier said than done, I know! 🇨🇦) Seems reasonable to me!

@justinmc justinmc requested a review from victorsanni March 31, 2026 22:03
@justinmc justinmc added the autosubmit Merge PR when tree becomes green via auto submit App label Apr 7, 2026
@auto-submit auto-submit Bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Apr 7, 2026
@auto-submit

auto-submit Bot commented Apr 7, 2026

Copy link
Copy Markdown
Contributor

autosubmit label was removed for flutter/flutter/183466, because The base commit of the PR is older than 7 days and can not be merged. Please merge the latest changes from the main into this branch and resubmit the PR.

@github-actions github-actions Bot removed the CICD Run CI/CD label Apr 9, 2026
@victorsanni victorsanni added the CICD Run CI/CD label Apr 9, 2026
@Piinks

Piinks commented Apr 14, 2026

Copy link
Copy Markdown
Contributor

Is this ready to land? Should we apply autosubmit?

@FMorschel

Copy link
Copy Markdown
Contributor Author

If nobody has any takes against it (which seems like it), yes please. Hopefully there won't be any more cases like this before the analyzer changes land.

@Piinks Piinks added the autosubmit Merge PR when tree becomes green via auto submit App label Apr 14, 2026
@auto-submit auto-submit Bot added this pull request to the merge queue Apr 14, 2026
Merged via the queue into flutter:master with commit 1ca490e Apr 15, 2026
160 checks passed
@flutter-dashboard flutter-dashboard Bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Apr 15, 2026
master-wayne7 pushed a commit to master-wayne7/flutter that referenced this pull request Apr 15, 2026
This is similar to flutter#182301. 

This is merely an `analyzer` change to avoid the bug explained at:

- dart-lang/sdk#62555.

This will allow the development of a warning about these situations so
we can avoid this bug in the future.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [ ] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Apr 15, 2026
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Apr 15, 2026
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Apr 15, 2026
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Apr 16, 2026
auto-submit Bot pushed a commit to flutter/packages that referenced this pull request Apr 16, 2026
Roll Flutter from c1b14e92dcfb to 31f1802cb859 (46 revisions)

flutter/flutter@c1b14e9...31f1802

2026-04-16 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Run all flutter/flutter macOS tests using Xcode 26 and iOS 26 simulator (#185083)" (flutter/flutter#185145)
2026-04-16 [email protected] Add oval drawing support to the SDF uber shader (flutter/flutter#184903)
2026-04-16 [email protected] Run all flutter/flutter macOS tests using Xcode 26 and iOS 26 simulator (flutter/flutter#185083)
2026-04-16 [email protected] Roll Skia from 2c49b3f9c3c2 to 391cdbe3ffe9 (2 revisions) (flutter/flutter#185138)
2026-04-16 [email protected] Roll Dart SDK from 4ee990654146 to fbddcbe0cd96 (1 revision) (flutter/flutter#185137)
2026-04-16 [email protected] Roll Skia from f4e3cd2c2159 to 2c49b3f9c3c2 (14 revisions) (flutter/flutter#185131)
2026-04-16 [email protected] Roll Dart SDK from 87b7c87e7207 to 4ee990654146 (5 revisions) (flutter/flutter#185108)
2026-04-15 [email protected] Use the `flutteractionsbot` token to push the release branch. (flutter/flutter#184833)
2026-04-15 [email protected] Allow period characters in iOS and macOS framework names (flutter/flutter#184335)
2026-04-15 [email protected] Fix SliverResizingHeader semantic focus (flutter/flutter#179690)
2026-04-15 [email protected] ignore avoid_type_to_string lint rule in flutter_tools (flutter/flutter#184766)
2026-04-15 [email protected] Roll Skia from bda7232e6772 to f4e3cd2c2159 (4 revisions) (flutter/flutter#185063)
2026-04-15 [email protected] Add initial AI guidance for issues (flutter/flutter#184885)
2026-04-15 [email protected] Roll Fuchsia Linux SDK from rB8LAuZL_DwHMssTU... to IdBT8fSMYrYSip65j... (flutter/flutter#185064)
2026-04-15 [email protected] Fix an ordering dependency in the services/system_chrome_test.dart test suite (flutter/flutter#185086)
2026-04-15 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[ios][platform_view]Reland hitTest approach (with a few 2026 update) (#183484)" (flutter/flutter#185082)
2026-04-15 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Run all flutter/flutter macOS tests using Xcode 26 and iOS 26 simulator (#179810)" (flutter/flutter#185067)
2026-04-15 [email protected] Agent rule: Dart editing (flutter/flutter#185045)
2026-04-15 [email protected] [ios][platform_view]Reland hitTest approach (with a few 2026 update) (flutter/flutter#183484)
2026-04-15 [email protected] Run all flutter/flutter macOS tests using Xcode 26 and iOS 26 simulator (flutter/flutter#179810)
2026-04-15 [email protected] Roll Dart SDK from ee5afcef0596 to 87b7c87e7207 (4 revisions) (flutter/flutter#185060)
2026-04-15 [email protected] Roll Skia from 4c382df6a25a to bda7232e6772 (7 revisions) (flutter/flutter#185057)
2026-04-15 [email protected] Remove material import from toggleable_test.dart + draggable_test.dart + obscured_animated_image_test.dart + sliver_constraints_test.dart (flutter/flutter#181774)
2026-04-15 [email protected] refactor: Remove material imports from Widget tests  (flutter/flutter#184877)
2026-04-14 [email protected] Adds missing `await`s on forgotten cases (flutter/flutter#183466)
2026-04-14 [email protected] Use an if-element in a collection literal instead of a conditional expression (flutter/flutter#184830)
2026-04-14 [email protected] update popular issues documentation (flutter/flutter#183196)
2026-04-14 [email protected] [Android] Add integration test for setting engine flags via the manifest (flutter/flutter#182241)
2026-04-14 [email protected] [fuchsia] Ask for both ambient-replace and VMEX to allow for a softer transition. (flutter/flutter#185042)
2026-04-14 [email protected] Make `multiple_windows` follow repo analyzer rules (flutter/flutter#184753)
2026-04-14 [email protected] Ignore incoming deprecated_web_configuration lint (flutter/flutter#184130)
2026-04-14 [email protected] [AGP 9] Update AGP Error (flutter/flutter#185043)
2026-04-14 [email protected] Move widget_preview_scaffold into pub workspace (flutter/flutter#182627)
2026-04-14 [email protected] Fix gles interactive tests (flutter/flutter#181389)
2026-04-14 [email protected] Update customer tests.version (flutter/flutter#185044)
2026-04-14 [email protected] [SKILL] upgrade-browser (flutter/flutter#184894)
2026-04-14 [email protected] [ci] Split up integration.shard dart_data_asset_test.dart (flutter/flutter#185021)
2026-04-14 [email protected] Hold startup lock until after `pub get` to prevent races (flutter/flutter#184294)
2026-04-14 6226493[email protected] Add `--include-example` flag to `flutter clean` for package example projects (flutter/flutter#183455)
2026-04-14 [email protected] Disable multi-pack-index when calling flutter from Xcode (flutter/flutter#184998)
2026-04-14 [email protected] Fix icon tree shaking when building for desktop (flutter/flutter#184249)
2026-04-14 [email protected] Fix killing wrong xcrun command (flutter/flutter#184831)
2026-04-14 [email protected] Allow Xcode build configuration to not contain flavor name (flutter/flutter#183398)
2026-04-14 [email protected] [web] Async rendering for benchmarks (flutter/flutter#184677)
2026-04-14 [email protected] [ci] Split up integration.shard native_assets_test.dart (flutter/flutter#185020)
2026-04-14 [email protected] Skip flutter widget-preview test that times out frequently (flutter/flutter#184988)
...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CICD Run CI/CD framework flutter/packages/flutter repository. See also f: labels. platform-ios iOS applications specifically team-ios Owned by iOS platform team tool Affects the "flutter" command-line tool. See also t: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants