Skip to content

Conversation

@srujzs
Copy link
Contributor

@srujzs srujzs commented Jan 7, 2025

This gets us closer to enabling hot reload on the web as this format is a prerequisite. Historically, we added support for the DDC module format only to enable hot reload, but that format is not feasible for the goal, so we added the DDC library bundle format. The DDC library bundle format is currently represented as the combination of the ddc module format and canary. We no longer need to support the old DDC module format.

  • Adds build artifacts to build the SDKs for this format (but only in sound mode as unsound is unsupported), and removes said artifacts for the DDC module format.
  • Update artifact maps and constants to add the new format and remove the old format.
  • Adds handling of the canaryFeatures flag.
  • Update dwds to 24.3.0 and use the new FrontendServerDdcLibraryBundleStrategyProvider.
  • Add bootstrap code for the new format. Kept DDC module format bootstrap code as it's used internally.
  • Updates tests.

I ran spinning_square with the new module format to verify that it can run.

Pre-launch Checklist

  • I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
  • I read the [Tree Hygiene] wiki page, which explains my responsibilities.
  • I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
  • I signed the [CLA].
  • I listed at least one issue that this PR fixes in the description above.
  • I updated/added relevant documentation (doc comments with ///).
  • 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.
  • All existing and new tests are passing.

@github-actions github-actions bot added tool Affects the "flutter" command-line tool. See also t: labels. engine flutter/engine related. See also e: labels. platform-web Web applications specifically labels Jan 7, 2025
Copy link
Contributor

@eyebrowsoffire eyebrowsoffire left a comment

Choose a reason for hiding this comment

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

LGTM!

@srujzs srujzs added this pull request to the merge queue Jan 9, 2025
Merged via the queue into flutter:master with commit a38abc8 Jan 9, 2025
176 of 177 checks passed
@srujzs srujzs deleted the bundlehotrestart branch January 9, 2025 21:12
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jan 10, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jan 10, 2025
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Jan 11, 2025
Roll Flutter from 4b23b81 to 864d4f5 (50 revisions)

flutter/flutter@4b23b81...864d4f5

2025-01-10 magder@google.com Mark complex_layout_scroll_perf_macos__timeline_summary unflaky (flutter/flutter#160997)
2025-01-10 magder@google.com Mark hello_world_macos__compile unflaky (flutter/flutter#160998)
2025-01-10 magder@google.com Mark animated_complex_opacity_perf_macos__e2e_summary unflaky (flutter/flutter#160996)
2025-01-10 magder@google.com Mark integration_ui_test_test_macos unflaky (flutter/flutter#160999)
2025-01-10 magder@google.com Mark hot_mode_dev_cycle_macos_target__benchmark unflaky (flutter/flutter#161000)
2025-01-10 matanlurey@users.noreply.github.com Add a virtual-display (VD) platform view test, and refactor tests a bit. (flutter/flutter#161349)
2025-01-10 matanlurey@users.noreply.github.com Remove `CIRRUS_TASK_NAME` from what I can tell, is always omitted on `LUCI` (flutter/flutter#161391)
2025-01-10 matanlurey@users.noreply.github.com Replace the always omitted `CPU` environment variable with `numberOfProcessors`. (flutter/flutter#161392)
2025-01-10 matanlurey@users.noreply.github.com We no longer have a separate engine repo. (flutter/flutter#161400)
2025-01-10 goderbauer@google.com Update Style-guide-for-Flutter-repo.md (flutter/flutter#161344)
2025-01-09 chris@bracken.jp integration_test: Add gitignore of golden image (flutter/flutter#161404)
2025-01-09 goderbauer@google.com Fix link to engine docs in CONTRIBUTING.md (flutter/flutter#161401)
2025-01-09 engine-flutter-autoroll@skia.org Roll Packages from 3fc6b7a to 6554751 (11 revisions) (flutter/flutter#161379)
2025-01-09 32538273+ValentinVignal@users.noreply.github.com Add `mouseCursor` parameter to `ReorderableListView` (flutter/flutter#160246)
2025-01-09 matanlurey@users.noreply.github.com Remove Cirrus CI from Flutter goldens. (flutter/flutter#161396)
2025-01-09 lsaudon@gmail.com remove`useMaterial3: true,` in from the template (flutter/flutter#160525)
2025-01-09 matanlurey@users.noreply.github.com Remove `accept_android_sdk_licenses.sh`, which appears unused. (flutter/flutter#161388)
2025-01-09 a-siva@users.noreply.github.com Roll Dart to Version 3.7.0-312.0.dev (flutter/flutter#161394)
2025-01-09 fluttergithubbot@gmail.com Marks Linux analyzer_benchmark to be flaky (flutter/flutter#161307)
2025-01-09 jonahwilliams@google.com [Impeller] fix scaling of trampoline import of GLES textures into Vulkan. (flutter/flutter#161331)
2025-01-09 58529443+srujzs@users.noreply.github.com Support DDC library bundle format and remove support for DDC module format (flutter/flutter#161276)
2025-01-09 matanlurey@users.noreply.github.com Remove seemingly stale web Cirrus and "Web Installer" instructions (flutter/flutter#161389)
2025-01-09 matanlurey@users.noreply.github.com Proposal to deprecate `webGoldenComparator`. (flutter/flutter#161196)
2025-01-09 nate.w5687@gmail.com `ImplicitlyAnimatedWidgetState` code cleanup (flutter/flutter#160567)
2025-01-09 matanlurey@users.noreply.github.com Exclude `*texture*` as matching for `a: text input` (flutter/flutter#161354)
2025-01-09 jonahwilliams@google.com [Impeller] add opt in flag for SurfaceControl testing. (flutter/flutter#161353)
2025-01-09 a-siva@users.noreply.github.com Roll Dart to Version 3.7.0-307.0.dev (flutter/flutter#161278)
2025-01-09 goderbauer@google.com remove formatter from snippet tool (flutter/flutter#161347)
2025-01-09 robert.ancell@canonical.com Refactor keyboard manager tests (flutter/flutter#160637)
2025-01-09 jonahwilliams@google.com [flutter_tools] ignore viewpost ime and samsung spam messages. (flutter/flutter#161199)
2025-01-09 737941+loic-sharma@users.noreply.github.com Revert "[SwiftPM] Add separate feature flag for the app migration (#158897)" (flutter/flutter#161342)
2025-01-09 flar@google.com git ignore .ccls-cache (flutter/flutter#161340)
2025-01-08 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[SwiftPM] Turn on by default (#161275)" (flutter/flutter#161339)
2025-01-08 jmccandless@google.com Update engine instructions for monorepo (flutter/flutter#161184)
2025-01-08 jonahwilliams@google.com [Impeller] re-enable Adreno 630 (flutter/flutter#161287)
2025-01-08 737941+loic-sharma@users.noreply.github.com [SwiftPM] Turn on by default (flutter/flutter#161275)
2025-01-08 matanlurey@users.noreply.github.com Make the encoding of a `YamlNode` to a `String` more explicit. (flutter/flutter#161270)
2025-01-08 jacksongardner@google.com Normalize the translation column of the color matrix. (flutter/flutter#161109)
2025-01-08 matanlurey@users.noreply.github.com Rename `native_driver` to `android_{driver_extensions|engine_test}` (flutter/flutter#161263)
2025-01-08 jonahwilliams@google.com [Impeller] reland: fix porterduff shader and handle optimized out texture binding in GLES backend. (flutter/flutter#161326)
2025-01-08 jessiewong401@gmail.com Updating AVD Dependency for Android 28 Emulator (flutter/flutter#160978)
2025-01-08 69054810+M97Chahboun@users.noreply.github.com Adds onHover and onLongPress to IconButton widget (flutter/flutter#160032)
2025-01-08 fluttergithubbot@gmail.com Marks Linux linux_desktop_impeller to be unflaky (flutter/flutter#161302)
2025-01-08 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[Impeller] porter duff workarounds for Adreno GPU. (#161273)" (flutter/flutter#161318)
2025-01-08 victorsanniay@gmail.com Revert "fixed keyboardDismissBehavior on scroll without a drag" (flutter/flutter#161277)
2025-01-08 jiahaog@users.noreply.github.com Revert "use uuid from package:uuid instead of from package:usage" (flutter/flutter#161292)
...
github-merge-queue bot pushed a commit that referenced this pull request Jan 16, 2025
The bootstrapping for the DDC module format and library bundle module
format contained a preamble to dynamically set the meta tag to ensure
the document is parsed as utf-8. This doesn't work as the page has
already been parsed at that point. Instead, it should go in the html
directly.

The meta tag should not affect the AMD module format, as require.js
already ensures any loaded scripts are parsed as utf-8.

This tag in general is needed to parse this string correctly:
https://github.com/dart-lang/sdk/blob/main/sdk/lib/core/uri.dart#L4100

This is a follow-up to PR
#161276.

## 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.
- [X] I updated/added relevant documentation (doc comments with `///`).
- [ ] 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.
- [ ] All existing and new tests are passing.
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 12, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 13, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 13, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Mar 6, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Mar 7, 2025
androidseb pushed a commit to androidseb/packages that referenced this pull request Jun 8, 2025
Roll Flutter from 4b23b81 to 864d4f5 (50 revisions)

flutter/flutter@4b23b81...864d4f5

2025-01-10 magder@google.com Mark complex_layout_scroll_perf_macos__timeline_summary unflaky (flutter/flutter#160997)
2025-01-10 magder@google.com Mark hello_world_macos__compile unflaky (flutter/flutter#160998)
2025-01-10 magder@google.com Mark animated_complex_opacity_perf_macos__e2e_summary unflaky (flutter/flutter#160996)
2025-01-10 magder@google.com Mark integration_ui_test_test_macos unflaky (flutter/flutter#160999)
2025-01-10 magder@google.com Mark hot_mode_dev_cycle_macos_target__benchmark unflaky (flutter/flutter#161000)
2025-01-10 matanlurey@users.noreply.github.com Add a virtual-display (VD) platform view test, and refactor tests a bit. (flutter/flutter#161349)
2025-01-10 matanlurey@users.noreply.github.com Remove `CIRRUS_TASK_NAME` from what I can tell, is always omitted on `LUCI` (flutter/flutter#161391)
2025-01-10 matanlurey@users.noreply.github.com Replace the always omitted `CPU` environment variable with `numberOfProcessors`. (flutter/flutter#161392)
2025-01-10 matanlurey@users.noreply.github.com We no longer have a separate engine repo. (flutter/flutter#161400)
2025-01-10 goderbauer@google.com Update Style-guide-for-Flutter-repo.md (flutter/flutter#161344)
2025-01-09 chris@bracken.jp integration_test: Add gitignore of golden image (flutter/flutter#161404)
2025-01-09 goderbauer@google.com Fix link to engine docs in CONTRIBUTING.md (flutter/flutter#161401)
2025-01-09 engine-flutter-autoroll@skia.org Roll Packages from 3fc6b7a to 6554751 (11 revisions) (flutter/flutter#161379)
2025-01-09 32538273+ValentinVignal@users.noreply.github.com Add `mouseCursor` parameter to `ReorderableListView` (flutter/flutter#160246)
2025-01-09 matanlurey@users.noreply.github.com Remove Cirrus CI from Flutter goldens. (flutter/flutter#161396)
2025-01-09 lsaudon@gmail.com remove`useMaterial3: true,` in from the template (flutter/flutter#160525)
2025-01-09 matanlurey@users.noreply.github.com Remove `accept_android_sdk_licenses.sh`, which appears unused. (flutter/flutter#161388)
2025-01-09 a-siva@users.noreply.github.com Roll Dart to Version 3.7.0-312.0.dev (flutter/flutter#161394)
2025-01-09 fluttergithubbot@gmail.com Marks Linux analyzer_benchmark to be flaky (flutter/flutter#161307)
2025-01-09 jonahwilliams@google.com [Impeller] fix scaling of trampoline import of GLES textures into Vulkan. (flutter/flutter#161331)
2025-01-09 58529443+srujzs@users.noreply.github.com Support DDC library bundle format and remove support for DDC module format (flutter/flutter#161276)
2025-01-09 matanlurey@users.noreply.github.com Remove seemingly stale web Cirrus and "Web Installer" instructions (flutter/flutter#161389)
2025-01-09 matanlurey@users.noreply.github.com Proposal to deprecate `webGoldenComparator`. (flutter/flutter#161196)
2025-01-09 nate.w5687@gmail.com `ImplicitlyAnimatedWidgetState` code cleanup (flutter/flutter#160567)
2025-01-09 matanlurey@users.noreply.github.com Exclude `*texture*` as matching for `a: text input` (flutter/flutter#161354)
2025-01-09 jonahwilliams@google.com [Impeller] add opt in flag for SurfaceControl testing. (flutter/flutter#161353)
2025-01-09 a-siva@users.noreply.github.com Roll Dart to Version 3.7.0-307.0.dev (flutter/flutter#161278)
2025-01-09 goderbauer@google.com remove formatter from snippet tool (flutter/flutter#161347)
2025-01-09 robert.ancell@canonical.com Refactor keyboard manager tests (flutter/flutter#160637)
2025-01-09 jonahwilliams@google.com [flutter_tools] ignore viewpost ime and samsung spam messages. (flutter/flutter#161199)
2025-01-09 737941+loic-sharma@users.noreply.github.com Revert "[SwiftPM] Add separate feature flag for the app migration (#158897)" (flutter/flutter#161342)
2025-01-09 flar@google.com git ignore .ccls-cache (flutter/flutter#161340)
2025-01-08 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[SwiftPM] Turn on by default (#161275)" (flutter/flutter#161339)
2025-01-08 jmccandless@google.com Update engine instructions for monorepo (flutter/flutter#161184)
2025-01-08 jonahwilliams@google.com [Impeller] re-enable Adreno 630 (flutter/flutter#161287)
2025-01-08 737941+loic-sharma@users.noreply.github.com [SwiftPM] Turn on by default (flutter/flutter#161275)
2025-01-08 matanlurey@users.noreply.github.com Make the encoding of a `YamlNode` to a `String` more explicit. (flutter/flutter#161270)
2025-01-08 jacksongardner@google.com Normalize the translation column of the color matrix. (flutter/flutter#161109)
2025-01-08 matanlurey@users.noreply.github.com Rename `native_driver` to `android_{driver_extensions|engine_test}` (flutter/flutter#161263)
2025-01-08 jonahwilliams@google.com [Impeller] reland: fix porterduff shader and handle optimized out texture binding in GLES backend. (flutter/flutter#161326)
2025-01-08 jessiewong401@gmail.com Updating AVD Dependency for Android 28 Emulator (flutter/flutter#160978)
2025-01-08 69054810+M97Chahboun@users.noreply.github.com Adds onHover and onLongPress to IconButton widget (flutter/flutter#160032)
2025-01-08 fluttergithubbot@gmail.com Marks Linux linux_desktop_impeller to be unflaky (flutter/flutter#161302)
2025-01-08 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[Impeller] porter duff workarounds for Adreno GPU. (#161273)" (flutter/flutter#161318)
2025-01-08 victorsanniay@gmail.com Revert "fixed keyboardDismissBehavior on scroll without a drag" (flutter/flutter#161277)
2025-01-08 jiahaog@users.noreply.github.com Revert "use uuid from package:uuid instead of from package:usage" (flutter/flutter#161292)
...
FMorschel pushed a commit to FMorschel/packages that referenced this pull request Jun 9, 2025
Roll Flutter from 4b23b81 to 864d4f5 (50 revisions)

flutter/flutter@4b23b81...864d4f5

2025-01-10 magder@google.com Mark complex_layout_scroll_perf_macos__timeline_summary unflaky (flutter/flutter#160997)
2025-01-10 magder@google.com Mark hello_world_macos__compile unflaky (flutter/flutter#160998)
2025-01-10 magder@google.com Mark animated_complex_opacity_perf_macos__e2e_summary unflaky (flutter/flutter#160996)
2025-01-10 magder@google.com Mark integration_ui_test_test_macos unflaky (flutter/flutter#160999)
2025-01-10 magder@google.com Mark hot_mode_dev_cycle_macos_target__benchmark unflaky (flutter/flutter#161000)
2025-01-10 matanlurey@users.noreply.github.com Add a virtual-display (VD) platform view test, and refactor tests a bit. (flutter/flutter#161349)
2025-01-10 matanlurey@users.noreply.github.com Remove `CIRRUS_TASK_NAME` from what I can tell, is always omitted on `LUCI` (flutter/flutter#161391)
2025-01-10 matanlurey@users.noreply.github.com Replace the always omitted `CPU` environment variable with `numberOfProcessors`. (flutter/flutter#161392)
2025-01-10 matanlurey@users.noreply.github.com We no longer have a separate engine repo. (flutter/flutter#161400)
2025-01-10 goderbauer@google.com Update Style-guide-for-Flutter-repo.md (flutter/flutter#161344)
2025-01-09 chris@bracken.jp integration_test: Add gitignore of golden image (flutter/flutter#161404)
2025-01-09 goderbauer@google.com Fix link to engine docs in CONTRIBUTING.md (flutter/flutter#161401)
2025-01-09 engine-flutter-autoroll@skia.org Roll Packages from 3fc6b7a to 6554751 (11 revisions) (flutter/flutter#161379)
2025-01-09 32538273+ValentinVignal@users.noreply.github.com Add `mouseCursor` parameter to `ReorderableListView` (flutter/flutter#160246)
2025-01-09 matanlurey@users.noreply.github.com Remove Cirrus CI from Flutter goldens. (flutter/flutter#161396)
2025-01-09 lsaudon@gmail.com remove`useMaterial3: true,` in from the template (flutter/flutter#160525)
2025-01-09 matanlurey@users.noreply.github.com Remove `accept_android_sdk_licenses.sh`, which appears unused. (flutter/flutter#161388)
2025-01-09 a-siva@users.noreply.github.com Roll Dart to Version 3.7.0-312.0.dev (flutter/flutter#161394)
2025-01-09 fluttergithubbot@gmail.com Marks Linux analyzer_benchmark to be flaky (flutter/flutter#161307)
2025-01-09 jonahwilliams@google.com [Impeller] fix scaling of trampoline import of GLES textures into Vulkan. (flutter/flutter#161331)
2025-01-09 58529443+srujzs@users.noreply.github.com Support DDC library bundle format and remove support for DDC module format (flutter/flutter#161276)
2025-01-09 matanlurey@users.noreply.github.com Remove seemingly stale web Cirrus and "Web Installer" instructions (flutter/flutter#161389)
2025-01-09 matanlurey@users.noreply.github.com Proposal to deprecate `webGoldenComparator`. (flutter/flutter#161196)
2025-01-09 nate.w5687@gmail.com `ImplicitlyAnimatedWidgetState` code cleanup (flutter/flutter#160567)
2025-01-09 matanlurey@users.noreply.github.com Exclude `*texture*` as matching for `a: text input` (flutter/flutter#161354)
2025-01-09 jonahwilliams@google.com [Impeller] add opt in flag for SurfaceControl testing. (flutter/flutter#161353)
2025-01-09 a-siva@users.noreply.github.com Roll Dart to Version 3.7.0-307.0.dev (flutter/flutter#161278)
2025-01-09 goderbauer@google.com remove formatter from snippet tool (flutter/flutter#161347)
2025-01-09 robert.ancell@canonical.com Refactor keyboard manager tests (flutter/flutter#160637)
2025-01-09 jonahwilliams@google.com [flutter_tools] ignore viewpost ime and samsung spam messages. (flutter/flutter#161199)
2025-01-09 737941+loic-sharma@users.noreply.github.com Revert "[SwiftPM] Add separate feature flag for the app migration (#158897)" (flutter/flutter#161342)
2025-01-09 flar@google.com git ignore .ccls-cache (flutter/flutter#161340)
2025-01-08 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[SwiftPM] Turn on by default (#161275)" (flutter/flutter#161339)
2025-01-08 jmccandless@google.com Update engine instructions for monorepo (flutter/flutter#161184)
2025-01-08 jonahwilliams@google.com [Impeller] re-enable Adreno 630 (flutter/flutter#161287)
2025-01-08 737941+loic-sharma@users.noreply.github.com [SwiftPM] Turn on by default (flutter/flutter#161275)
2025-01-08 matanlurey@users.noreply.github.com Make the encoding of a `YamlNode` to a `String` more explicit. (flutter/flutter#161270)
2025-01-08 jacksongardner@google.com Normalize the translation column of the color matrix. (flutter/flutter#161109)
2025-01-08 matanlurey@users.noreply.github.com Rename `native_driver` to `android_{driver_extensions|engine_test}` (flutter/flutter#161263)
2025-01-08 jonahwilliams@google.com [Impeller] reland: fix porterduff shader and handle optimized out texture binding in GLES backend. (flutter/flutter#161326)
2025-01-08 jessiewong401@gmail.com Updating AVD Dependency for Android 28 Emulator (flutter/flutter#160978)
2025-01-08 69054810+M97Chahboun@users.noreply.github.com Adds onHover and onLongPress to IconButton widget (flutter/flutter#160032)
2025-01-08 fluttergithubbot@gmail.com Marks Linux linux_desktop_impeller to be unflaky (flutter/flutter#161302)
2025-01-08 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[Impeller] porter duff workarounds for Adreno GPU. (#161273)" (flutter/flutter#161318)
2025-01-08 victorsanniay@gmail.com Revert "fixed keyboardDismissBehavior on scroll without a drag" (flutter/flutter#161277)
2025-01-08 jiahaog@users.noreply.github.com Revert "use uuid from package:uuid instead of from package:usage" (flutter/flutter#161292)
...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

engine flutter/engine related. See also e: labels. platform-web Web applications specifically tool Affects the "flutter" command-line tool. See also t: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants