Skip to content

Conversation

@yshamass9
Copy link
Contributor

@yshamass9 yshamass9 commented Nov 18, 2025

addressing a regression from #172510 that caused the assemble command to fail in the validation phase when a dart-define was passed as a base64-encoded value.

Example command:

flutter --verbose assemble --no-version-check \
  --output=<build_output_path>/ \
  -dTargetPlatform=ios \
  -dTargetFile=lib/main.dart \
  -dBuildMode=release \
  -dConfiguration=Debug \
  -dIosArchs=arm64 \
  -dSdkRoot=<xcode_sdk_path>/iPhoneOS.sdk \
  -dSplitDebugInfo= \
  -dTreeShakeIcons=false \
  -dTrackWidgetCreation=true \
  -dDartObfuscation=false \
  -dAction=install \
  -dFrontendServerStarterPath= \
  --ExtraGenSnapshotOptions= \
  --DartDefines=ZW52PXFh \
  --ExtraFrontEndOptions= \
  -dSrcRoot=<project_root> \
  -dTargetDeviceOSVersion= \
  -dCodesignIdentity=<codesign_identity> \
  release_ios_bundle_flutter_assets

Partially addressing: #178452

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.

…nment, honoring how the value is written during build
@github-actions github-actions bot added the tool Affects the "flutter" command-line tool. See also t: labels. label Nov 18, 2025
Copy link
Contributor

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

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 addresses a regression where base64-encoded dart-define values caused the assemble command to fail. The fix involves decoding these values before they are parsed, which correctly resolves the crash. My review identifies a couple of issues with the implementation: a redundancy in how dart-define arguments are processed, and an incorrect logic check for deferred components validation which could break that functionality. I have provided comments and suggestions to address these points.

@yshamass9 yshamass9 changed the title [ Tool ] Assemble: Improper validation error when dealing with base64 encoded dart-define value [ Tool ] Assemble: "Improper" validation error when dealing with base64 encoded dart-define value Nov 18, 2025
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@zohaibcodes9642

This comment was marked as off-topic.

@zohaibcodes9642

This comment was marked as off-topic.

Copy link
Contributor

@bkonyi bkonyi left a comment

Choose a reason for hiding this comment

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

LGTM! @vashworth can you also take a look?

@bkonyi bkonyi requested a review from vashworth November 25, 2025 21:35
@zohaibcodes9642

This comment was marked as off-topic.

@yshamass9
Copy link
Contributor Author

@vashworth i’d love your review here, happy to clarify anything if needed.

@vashworth vashworth added the autosubmit Merge PR when tree becomes green via auto submit App label Dec 11, 2025
@vashworth
Copy link
Contributor

Sorry about the delay!

@auto-submit auto-submit bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Dec 11, 2025
@auto-submit
Copy link
Contributor

auto-submit bot commented Dec 11, 2025

autosubmit label was removed for flutter/flutter/178737, 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.

@bkonyi bkonyi added the autosubmit Merge PR when tree becomes green via auto submit App label Dec 11, 2025
@auto-submit
Copy link
Contributor

auto-submit bot commented Dec 11, 2025

autosubmit label was removed for flutter/flutter/178737, because - The status or check suite Linux tool_integration_tests_5_7 has failed. Please fix the issues identified (or deflake) before re-applying this label.

@auto-submit auto-submit bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Dec 11, 2025
@vashworth vashworth added the autosubmit Merge PR when tree becomes green via auto submit App label Dec 11, 2025
@auto-submit auto-submit bot added this pull request to the merge queue Dec 12, 2025
Merged via the queue into flutter:master with commit 927f9ba Dec 12, 2025
143 checks passed
@flutter-dashboard flutter-dashboard bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Dec 12, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Dec 12, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Dec 12, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Dec 12, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Dec 12, 2025
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Dec 12, 2025
flutter/flutter@e25d71b...6e1aa82

2025-12-12 [email protected] Add documentation for what to do when bumping the minimum sdk version supported by flutter (flutter/flutter#179795)
2025-12-12 [email protected] Roll Skia from ee08571bbf67 to e66816c3645e (2 revisions) (flutter/flutter#179792)
2025-12-12 [email protected] Roll Packages from 36383d6 to 0ac7a03 (1 revision) (flutter/flutter#179793)
2025-12-12 [email protected] Roll Fuchsia Linux SDK from QssSL8DkxIbMvf89C... to fppT9ZrwbFx7iYrIh... (flutter/flutter#179785)
2025-12-12 [email protected] Roll Skia from 4251aa7454da to ee08571bbf67 (1 revision) (flutter/flutter#179783)
2025-12-12 [email protected] Roll Skia from 344ff9c41fb6 to 4251aa7454da (2 revisions) (flutter/flutter#179779)
2025-12-12 [email protected] Fix draggable scrollable sheet example drag speed is off  (flutter/flutter#179179)
2025-12-12 [email protected] [ios][pv] accept/reject gesture based on hitTest (with new widget API) (flutter/flutter#179659)
2025-12-12 [email protected] Roll Skia from 7ad91f64b468 to 344ff9c41fb6 (1 revision) (flutter/flutter#179774)
2025-12-12 [email protected] [fuchsia] temporarily disable touch-input-test due to the flakiness (flutter/flutter#179747)
2025-12-12 [email protected] Roll Skia from 979b7ae09145 to 7ad91f64b468 (6 revisions) (flutter/flutter#179770)
2025-12-12 [email protected] Exit with code 1 when calling `flutter build` without arguments (flutter/flutter#175900)
2025-12-12 [email protected] [ Tool ] Assemble: "Improper" validation error when dealing with base64 encoded dart-define value  (flutter/flutter#178737)
2025-12-12 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[ Analysis ] Added initial implementation of the `flutter_analyzer_plugin` (#175679)" (flutter/flutter#179766)
2025-12-11 [email protected] Add 3.38.5 changelog (flutter/flutter#179750)
2025-12-11 [email protected] Roll Dart SDK from 3d4b989bdc41 to 9a65db770758 (2 revisions) (flutter/flutter#179746)
2025-12-11 [email protected] fix: fresh install of windows support (flutter/flutter#179720)
2025-12-11 [email protected] [ Analysis ] Added initial implementation of the `flutter_analyzer_plugin` (flutter/flutter#175679)
2025-12-11 [email protected] Roll Skia from d570e2317110 to 979b7ae09145 (4 revisions) (flutter/flutter#179742)
2025-12-11 [email protected] chore: linux fuchsia tests are flaking (flutter/flutter#179744)
2025-12-11 [email protected] Roll Packages from 74a5a53 to 36383d6 (4 revisions) (flutter/flutter#179740)
2025-12-11 [email protected] Revert "Android implementation of content sizing" (flutter/flutter#179698)
2025-12-11 [email protected] [skia] Disable legacy image decoders (flutter/flutter#179277)
2025-12-11 [email protected] Roll Skia from deb0153719dd to d570e2317110 (2 revisions) (flutter/flutter#179734)
2025-12-11 [email protected] Roll Dart SDK from dbcb567e2432 to 3d4b989bdc41 (1 revision) (flutter/flutter#179733)
2025-12-11 [email protected] Roll Fuchsia Linux SDK from u5vxWTRT0HlxOP5_r... to QssSL8DkxIbMvf89C... (flutter/flutter#179729)
2025-12-11 [email protected] Roll Skia from 59c6cad539f7 to deb0153719dd (2 revisions) (flutter/flutter#179721)
2025-12-11 [email protected] Roll Dart SDK from 077062c5e515 to dbcb567e2432 (2 revisions) (flutter/flutter#179715)
2025-12-11 [email protected] Use kPreventOverdraw for arcs with overlapping stroke caps (flutter/flutter#179312)
2025-12-11 [email protected] Roll Skia from e61cc6d073fd to 59c6cad539f7 (22 revisions) (flutter/flutter#179714)
2025-12-10 [email protected] Reland: Add framework-side hitTestBehavior support to Semantics (#178817) (flutter/flutter#179352)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC [email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

tool Affects the "flutter" command-line tool. See also t: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants