Fix automatic JavaScript fallback for flutter run when WASM is not available #172002
+92
−19
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.
When using
flutter run -d chrome --wasm --web-hostname 0.0.0.0
, I realized the JavaScript fallback mechanism was not kicking in on iOS browsers (Safari, Chrome, etc.), resulting in the app load failure. The issue was that ResidentWebRunner only provided a single compiler configuration when WASM was enabled.This fix updates ResidentWebRunner to provide both WasmCompilerConfig and JsCompilerConfig when the
--wasm
flag is used, matching the behavior offlutter build web --wasm
. The WebAssetServer's build configuration is also updated to include both dart2wasm and dart2js targets, enabling proper fallback to JavaScript when WASM is not supported.The changes ensure that:
flutter run --wasm
Fixes the following error -
Fixes #172006
Relates to #160581
Pre-launch Checklist
///
).