Skip to content

Rename "subtext" to "supportingTextPadding" in FormField's documentation - #183582

Merged
auto-submit[bot] merged 17 commits into
flutter:masterfrom
MohanadAbdallah-mv:master
Sep 30, 2026
Merged

auto-submit[bot] merged 17 commits into
flutter:masterfrom
MohanadAbdallah-mv:master

Conversation

@MohanadAbdallah-mv

@MohanadAbdallah-mv MohanadAbdallah-mv commented Mar 12, 2026 •

Copy link
Copy Markdown
Contributor

Maintainer's note: This PR was originally named "Adding supportingTextPadding to InputDecorator and InputDecorationTheme", and has been split into two parts due to decoupling. The majority of the change is now applied by flutter/packages#12769 . This PR only addresses the terminology change, since we discovered that the M3 spec (https://m3.material.io/components/text-fields/specs ) officially refers to error text and hint text as "supporting text".


This PR introduces the supportingTextPadding property to InputDecorator, InputDecoration, and InputDecorationThemeData.
While originally conceived as errorPadding, this property was renamed to supportingTextPadding during review to align with the Material Design 3 specification, as it controls the padding for the entire supporting text row (which includes helper text, error text, and counter widgets).
Additionally, this PR addresses layout, intrinsic sizing, and code consistency concerns raised during the review process:

Key Features & Refactors:

  1. Added supportingTextPadding: Allows complete, independent control over the padding of the supporting text row (helper/error/counter).
  2. Decoupled Layout Constraints: Introduced supportingTextConstraints in _layout() to bound the supporting text row independently of contentConstraints, ensuring custom paddings do not break or shift the layout of inline prefix/suffix widgets.
  3. Fixed Intrinsic Height Mismatches: Corrected computeMinIntrinsicHeight() to compute supportingTextWidth separately from the primary width deflation path, ensuring intrinsic height calculations accurately predict wrapped text heights.
  4. Unified Terminology: Renamed all legacy internal subtext references (e.g. _SubtextSize, _computeSubtextSizes, subtextHeight) to supportingText to match the public property name and the M3 spec.

List which issues are fixed by this PR. You must list at least one issue. An issue is not required if the PR fixes something trivial like a typo.
Fixes #175834

Pre-launch Checklist

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Note: The Flutter team is currently trialing the use of Gemini Code Assist for GitHub. Comments from the gemini-code-assist bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.

@github-actions github-actions Bot added framework flutter/packages/flutter repository. See also f: labels. p: material_ui material_ui package in flutter/packages labels Mar 12, 2026

@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 introduces an errorPadding property to InputDecorator and InputDecorationThemeData, allowing for separate padding for error text. The implementation looks correct and includes relevant tests. I've made a couple of suggestions to improve the documentation and maintain code consistency.

Comment thread packages/flutter/lib/src/material/input_decorator.dart Outdated
Comment thread packages/flutter/lib/src/material/input_decorator.dart Outdated
@MohanadAbdallah-mv

Copy link
Copy Markdown
Contributor Author

Hi @dkwingsmt
it seems like there was a slight delay , is there any other thing I can do to ease up the review process ?

@dkwingsmt
dkwingsmt self-requested a review March 25, 2026 18:33

@dkwingsmt dkwingsmt 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.

I'm ok with the API design. Minor problems with the implementation. If you agree with the comments, new tests should be added accordingly.

case TextDirection.ltr:
start = contentPadding.start + _boxSize(icon).width;
startError = (errorPadding?.start ?? contentPadding.start) + _boxSize(icon).width;
end = overallWidth - contentPadding.end;

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.

Shouldn't this be affected by errorPadding? Also the rtl case below, where the end padding should have been more critical.

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.

I have just noticed i misunderstood the end padding in rtl case, what previously happened was that the counter , error and helper padding was affected by the content padding , as far as i know endPadding will take effect on the counter which in the current approach is handled with the old contentPadding so is that the case you mentioned and should the counter padding should be handled with end padding just as the contentPadding did before?
or helper and error padding should be separated from content Padding for now and later on maybe we can consider separating counter Padding as well to add more flexibility

TL;DR
do we add endError to control the counter padding along with the errorPadding or should it be handled with content Padding?

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.

Yes, I think it makes the most sense for this new padding to control the counter's alignment as well. If we only decouple the error text from contentPadding but leave the counter tied to it, they might become visually misaligned. Let's use the end value of the new padding for the counter.

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.

I agree with you on this part , in the last commit i separated counter padding from the contentPadding

_boxParentData(helperError).offset = Offset(
start + decoration.inputGap,
startError + decoration.inputGap,
subtextBaseline - helperErrorBaseline,

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.

Since this padding is also used for helper, I think we should also mention helper somewhere. I prefer changing the name to helperErrorPadding or errorHelperPadding, but if you prefer errorPadding, we can at least mention this in the property document.

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.

Also, should we also consider vertical padding here?

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.

you are right about the naming my main focus was on the error itself since the first issue #181755 was introduced , also i don't know if we should consider vertical padding or not, i guess then we will have to deal with the size itself of the size of the widget below in that method

927|  _SubtextSize? _computeSubtextSizes({
928| required BoxConstraints constraints,
929| required ChildLayouter layoutChild,
930|   required _ChildBaselineGetter getBaseline,
931|  }) {

and as mentioned before this will take effect on the bottom row which have error, counter and helper.
if we considered control over vertical padding in that case maybe we can use error vertical padding instead of the default subtextGap value if vertical padding like that

final double topPadding = errorPadding?.top ?? subtextGap;
final double bottomPadding = errorPadding?.bottom ?? 0.0;

that will take effect on the whole row and using the old subtextGap will not break any old application but is adding such flexibility for the developer is good considering UI guidelines also do we need to consider more flexibility and separate padding values of helper , text and counter padding .
my opinion if we going to consider vertical padding maybe
A- we can start padding with the whole row so adding vertical padding will affect counter, error and helper
B- we can separate vertical padding for each one of them in that case we will consider helper Padding , counter padding and error padding values
C- we can stick with the current hardcoded subtextGap value that controls the vertical padding of the bottom row
from my perspective "C" is the current approach, we can consider "A" as our next plan and maybe we can consider "B" as optional future plan.
let me know what do you think .

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.

I think we should directly go with Option A. It provides a much cleaner and more predictable API if this single property controls the EdgeInsets (both horizontal and vertical) for the entire subtext row (error, helper, and counter), which is also more intuitive for developers when they see this property.

We can still ensure backward compatibility with option A: When the new padding is null, we can fall back to the legacy behavior.

In fact, if we go with option C now, migrating to option A will be a breaking change, since vertical padding has been ignored but will be effective in the future.

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.

Also, in terms of name, since it now includes counter as well, we might call it supportingTextPadding. Although Flutter has not started using the name "supporting text" yet, it is an official name in the M3 spec (https://m3.material.io/components/text-fields/specs ).

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.

following the M3 spec everything looks clear now regarding the naming and how i handled the padding in the new commit,
counter , helper and error text will be aligned using supportingTextPadding .
let me know if there's anything is missing

Example with new API:

 supportingTextPadding: EdgeInsets.only(left: 10,right: 16,top: 10,bottom: 5),
 contentPadding: EdgeInsets.only(left: 12,right: 12,top: 12,bottom: 12),
image image

@dkwingsmt
dkwingsmt self-requested a review April 1, 2026 18:25

@dkwingsmt dkwingsmt 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.

Sorry for late review. I did another round of full review and these are the only thing I can find. Generally minor comments.

Also, there are still usages of subtextGap in this file (namely in computeMinIntrinsicHeight). The subtextGap field should no longer be used except as default values; all previous usages should be converted to something related to supportingTextPadding.

subtextBaseline - helperErrorBaseline,
);
if (counter != null) {
_boxParentData(counter).offset = Offset(
end - counter.size.width - decoration.inputGap,
endSupporting - counter.size.width - decoration.inputGap,
// endSupporting - counter.size.width - decoration.inputGap,

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.

Extra line?

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.

I have updated computeMinIntrinsicHeight to include the supportingTextPadding vertical and fallback to default value subtextGap in case of supportingTextPadding is not provided

Comment thread packages/flutter/lib/src/material/input_decorator.dart Outdated
Comment on lines +3943 to +3944
/// if [supportingTextPadding] is null, the value of [contentPadding] will be used for both supporting text widgets [InputDecoration.helper] , [InputDecoration.counter]
/// and [InputDecoration.error].

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.

Suggested change
/// if [supportingTextPadding] is null, the value of [contentPadding] will be used for both supporting text widgets [InputDecoration.helper] , [InputDecoration.counter]
/// and [InputDecoration.error].
/// If [supportingTextPadding] is null, the value of [contentPadding] will be used
/// for both supporting text widgets [InputDecoration.helper], [InputDecoration.counter],
/// and [InputDecoration.error].

It should also clearly state that when non-null, it completely overrides the default behavior (including subtextGap).

final double bottomHeight = math.max(counterAscent, helperErrorHeight) + subtextGap;
final double subtextHeight = math.max(counterSize.height, helperErrorHeight) + subtextGap;
math.max(counterAscent, getBaseline(helperError, helperErrorConstraints)) + topPadding;
final double bottomHeight = math.max(counterAscent, helperErrorHeight) + bottomPadding;

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.

Should this be

Suggested change
final double bottomHeight = math.max(counterAscent, helperErrorHeight) + bottomPadding;
final double bottomHeight = math.max(counterAscent, helperErrorHeight) + topPadding + bottomPadding;

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.

I misunderstood bottomHeight as the space including supporting text and the space below it , not as the "bottom" refers to the whole bottom widgets below the main container .

I have fixed it in e720eaae720eaa as well as giving the docs more context.

I guess we covered all the points now, let me know if there's any more concerns , do we need to provide specific test for computeMinIntrinsicHeight ?

@dkwingsmt since now there's code freeze what is the suggested next step ?

Comment on lines +954 to +955
// topPadding and bottomPadding control the vertical padding of the row containing [helper, error, counter] widgets
// in case of null values it will fallback to the legacy code to avoid breaking any established codebase

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.

Phrasing like "fallback to the legacy code" isn't ideal for future readers of the codebase because it doesn't describe the actual behavior. It's better to explicitly state what happens when the value is null. Something like:

    // The vertical padding around the row containing the helper, error, and counter widgets.
    // Defaults to `subtextGap` at the top and 0.0 at the bottom when `supportingTextPadding` is null.

@dkwingsmt
dkwingsmt self-requested a review May 6, 2026 18:20
@dkwingsmt dkwingsmt added the CICD Run CI/CD label May 7, 2026

@dkwingsmt dkwingsmt 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.

LGTM except for minor checks.

Also the analyzer shows that there are some format errors in both files, which can be solved by dart format ..

Comment thread packages/flutter/lib/src/material/input_decorator.dart Outdated
/// within a [Theme].
/// * [InputDecoration.visualDensity], which can override this setting for a
/// given decorator.
/// {@macro flutter.material.inputDecoration.visualDensity}

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.

This macro isn't defined. Did you write it by mistake?

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.

I wrote macro by mistake and removed it on latest commit, also reformatted both files on current PR Flutter version

@github-actions github-actions Bot removed the CICD Run CI/CD label May 11, 2026
@dkwingsmt dkwingsmt added the CICD Run CI/CD label May 13, 2026
dkwingsmt
dkwingsmt previously approved these changes May 14, 2026

@dkwingsmt dkwingsmt 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.

LGTM. (Also to trigger google tests)

@Renzo-Olivares Renzo-Olivares 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.

Hi @MohanadAbdallah-mv, thank you for your contribution and patience! I left a few small comments but overall this looks like a reasonable addition!

);
final BoxConstraints contentConstraints = containerConstraints.deflate(
EdgeInsetsDirectional.only(
start: contentPadding.start + decoration.inputGap,

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.

I think I found a bug here, contentConstraints are used for subtextSize but never consider supportingTextPadding override. This potentially causes overlaps where the supporting text is laid out with the size of the contentPadding instead of that of the supportingTextPadding.

Image
Center(
  child: Container(
    width: 300.0,
    decoration: BoxDecoration(
      border: Border.all(color: Colors.red, width: 2.0),
    ),
    child: const InputDecorator(
      decoration: InputDecoration(
        filled: true,
        labelText: 'Enter Text',
        supportingTextPadding: EdgeInsets.symmetric(
          horizontal: 80.0,
        ),
        helperText:
            'This is helper text that is long enough to wrap if constrained correctly but overflows instead.',
        helperMaxLines: 3,
      ),
    ),
  ),
),

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.

Hi @Renzo-Olivares , Thank you for addressing these concerns.
contentConstraints was passed to _computeSubtextSizes
I'd suggest going with separate constraints for supportingText/subText rather relying on changing the original contentConstraints because prefix and suffix depends on contentConstraints as well.
so my suggestion includes adding

final BoxConstraints subTextConstraints = containerConstraints.deflate(
      EdgeInsetsDirectional.only(
        start: (supportingTextPadding?.start??contentPadding.start) + decoration.inputGap ,
        end: (supportingTextPadding?.end??contentPadding.end) + decoration.inputGap,
      ),
    );

with a safe fallback to contentPadding and use it for _computeSubtextSizes like this

final _SubtextSize? subtextSize = _computeSubtextSizes(
      constraints: subTextConstraints,
      layoutChild: layoutChild,
      getBaseline: getBaseline,
    );    

But a small concern about the naming :
do we go with subTextConstraints to match the legacy naming or supportingTextConstraints to match M3 spec?

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.

I think we should probably change all references from subText to supportingText to match the material spec and so we do not have two names for the same concept which may be confusing to readers.

I suggest the following:

In one commit implement as subTextConstraints, and in the next commit change all references of subText to supportingText. That will make it easier to review since there are a few references of subText.

final double suffixIconHeight = _minHeight(suffixIcon, width);
final double suffixIconWidth = _minWidth(suffixIcon, suffixIconHeight);

width = math.max(width - contentPadding.horizontal - decoration.inputGap * 2, 0.0);

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.

This should probably take into account supportingTextPadding for counterHeight and helperErrorAvailableWidth.

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.

I'd suggest introducing supportingTextWidth right before calculating prefix/suffix icon sizes, since the subtext row (error, helper, and counter) is not inline with the prefix/suffix area., just to avoid the miscalculation conflicts and it would be like this

    width = math.max(width - iconWidth, 0.0);
    final double supportingTextWidth = math.max(width - (supportingTextPadding?.horizontal ?? contentPadding.horizontal) - decoration.inputGap * 2, 0.0);

    final double prefixIconHeight = _minHeight(prefixIcon, width);
    final double prefixIconWidth = _minWidth(prefixIcon, prefixIconHeight);
    final double suffixIconHeight = _minHeight(suffixIcon, width);
    final double suffixIconWidth = _minWidth(suffixIcon, suffixIconHeight);

    width = math.max(width - contentPadding.horizontal - decoration.inputGap * 2, 0.0);
    // supportingTextWidth  used instead of width
    final double counterHeight = _minHeight(counter, supportingTextWidth);
    final double counterWidth = _minWidth(counter, counterHeight);

    final double counterPadding = counter != null ? _kSubtextCounterPadding : 0.0;
    // supportingTextWidth  used instead of width 
    final double helperErrorAvailableWidth = math.max(supportingTextWidth - counterWidth - counterPadding, 0.0);

Let me know what do you think.

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.

Sounds good to me!

/// given decorator.
final VisualDensity? visualDensity;

/// The padding applied to the supporting text row.

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.

nit: consider making this a template and re-use it in this file.

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.

Also I wonder if we should exclude subtextGap since I don't think its part of the public API, so mentioning it is potentially leaking implementation detail. Just mentioning vertical gap should be fine.

@Renzo-Olivares Renzo-Olivares 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.

@MohanadAbdallah-mv, left a few more comments. We should probably also update the PR title/description to better match the current implementation.

@github-actions github-actions Bot removed the CICD Run CI/CD label May 20, 2026
@MohanadAbdallah-mv MohanadAbdallah-mv changed the title Adding errorPadding property to InputDecorator and InputDecorationThe… Adding supportingTextPadding to InputDecorator and InputDecorationTheme May 20, 2026
@MohanadAbdallah-mv

Copy link
Copy Markdown
Contributor Author

@Renzo-Olivares Everything should be up to date now , current implementation follow the plan we discussed earlier including the documentation update, PR title/description and replacing subtext references from packages/flutter/lib/src/material/input_decorator.dart , but there are still other files that still uses subtext.
Do we take initiative to replace it in that same PR or will it be handled in a separate one?

@Renzo-Olivares

Copy link
Copy Markdown
Contributor

@MohanadAbdallah-mv I did a quick search and the only other reference I could find is form.dart, is that what you're referring to? If so I think it's fine to change that reference to subtext as well. Are there others I missed?

@MohanadAbdallah-mv

Copy link
Copy Markdown
Contributor Author

@Renzo-Olivares yes , along with form.dart you can find subtextgap in text_field_test.dart and subtext in input_decorator_test.dart.
I will make sure to update these as well.

@github-actions github-actions Bot added the a: text input Entering text in a text field or keyboard related problems label May 21, 2026
@dkwingsmt
dkwingsmt self-requested a review May 27, 2026 18:05

@Renzo-Olivares Renzo-Olivares 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.

@MohanadAbdallah-mv thank you for your quick changes and patience! Left a few more comments that I noticed.

this.alignLabelWithHint = false,
this.constraints,
this.visualDensity,
this.supportingTextPadding,

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.

The InputDecorationTheme class should also add support for the new supportingTextPadding property. While InputDecorationThemeData has been correctly updated to include supportingTextPadding, the InputDecorationTheme class (which is an InheritedTheme wrapping InputDecorationThemeData) has not.

other.hintMaxLines == hintMaxLines &&
other.alignLabelWithHint == alignLabelWithHint &&
other.constraints == constraints &&
other.disabledBorder == disabledBorder &&

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.

Not from this PR, but this check is redundant as other.disabledBorder == disabledBorder is already checked on line 5685.

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.

@Renzo-Olivares I have added the missing property supportingTextPadding to InputDecorationTheme class and created separate PR for the redundant check.

@flutter-dashboard flutter-dashboard Bot removed the CICD Run CI/CD label Sep 9, 2026
auto-submit Bot pushed a commit to flutter/packages that referenced this pull request Sep 16, 2026
…nThemeData (#12797)

Removes a duplicate condition in the == operator of InputDecorationThemeData.
The check other.disabledBorder == disabledBorder appeared twice ,This was noticed during the review of flutter/flutter#183582.
No behavior change since the duplicate was always true when reached.

*List which issues are fixed by this PR. You must list at least one issue.*
Port of flutter/flutter#187556
## Pre-Review Checklist

**Note**: The Flutter team is currently trialing the use of [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). Comments from the `gemini-code-assist` bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.

[^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.
@dkwingsmt dkwingsmt added the CICD Run CI/CD label Sep 24, 2026
@flutter-dashboard flutter-dashboard Bot removed the CICD Run CI/CD label Sep 24, 2026

@justinmc justinmc 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.

LGTM 👍

@justinmc justinmc added autosubmit Merge PR when tree becomes green via auto submit App CICD Run CI/CD labels Sep 29, 2026
@auto-submit
auto-submit Bot added this pull request to the merge queue Sep 29, 2026
Merged via the queue into flutter:master with commit b63b216 Sep 30, 2026
27 checks passed
@flutter-dashboard flutter-dashboard Bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Sep 30, 2026
auto-submit Bot pushed a commit to flutter/packages that referenced this pull request Sep 30, 2026
flutter/flutter@55b8f88...d649d2b

2026-09-30 [email protected] [Android] Update the CLI to reject passing engine configuration flags with a prebuilt binary in release mode (flutter/flutter#190870)
2026-09-30 [email protected] Roll Skia from af1e8b356dd1 to c7b323126bf0 (1 revision) (flutter/flutter#193569)
2026-09-30 [email protected] [web] Respect text affinity in getLineBoundary at a soft wrap (flutter/flutter#192664)
2026-09-30 [email protected] [tool] Migrate TestCommand and platform runner to modular dependency injection (flutter/flutter#190789)
2026-09-30 [email protected] Roll Skia from 3a20a0464d25 to af1e8b356dd1 (1 revision) (flutter/flutter#193564)
2026-09-30 [email protected] Roll Skia from 554ef62d11a9 to 3a20a0464d25 (6 revisions) (flutter/flutter#193556)
2026-09-30 [email protected] Use null aware elements in `platform_views.dart` (flutter/flutter#193214)
2026-09-30 [email protected] Replace deprecated `withOpacity` in `flutter_logo.dart` (flutter/flutter#192583)
2026-09-30 [email protected] Roll Skia from f441ca223b2b to 554ef62d11a9 (72 revisions) (flutter/flutter#193548)
2026-09-30 [email protected] Fix StrcmpFixed matching prefixes in the Vulkan embedder tests (flutter/flutter#192999)
2026-09-30 [email protected] Update Engine to test Android 17 AVD (flutter/flutter#193239)
2026-09-29 [email protected] Give the Vulkan test context the extensions Impeller requires (flutter/flutter#193002)
2026-09-29 [email protected] Rename "subtext" to "supportingTextPadding" in `FormField`'s documentation (flutter/flutter#183582)
2026-09-29 [email protected] Set --no-js-strongly-connected-components for DDC compiles by default (flutter/flutter#193485)
2026-09-29 [email protected] Split pre-AGP 8.3 module AAR test into a Java 17 pinned target (flutter/flutter#193467)
2026-09-29 [email protected] Remove no-shuffle from gen_defaults_test (flutter/flutter#192280)
2026-09-29 [email protected] Update guidance on bumping Dart (flutter/flutter#193131)
2026-09-29 [email protected] Remove vestigial `download_jdk` gclient var (flutter/flutter#188571)
2026-09-29 [email protected] Roll pub packages (flutter/flutter#193522)
2026-09-29 [email protected] [flutter_tools] Lazily initialize AndroidSdk platform and build-tools discovery (flutter/flutter#191972)
2026-09-29 [email protected] [tool] Migrate Web build subcommands and toolchain to modular dependency injection (flutter/flutter#190783)
2026-09-29 [email protected] Pin androidx.test dependencies in integration_test (flutter/flutter#193316)
2026-09-29 [email protected] [flutter_tools] Include flutter.js.map in web builds (flutter/flutter#192257)
2026-09-29 [email protected] [WebParagraph] Fixing edge cases for wrapping text (with newlines) (flutter/flutter#189858)
2026-09-29 [email protected] Bump customer testing version for flutter/devtools update (flutter/flutter#193511)
2026-09-29 [email protected] Roll Packages from ba0364a to 3c6ce59 (14 revisions) (flutter/flutter#193507)
2026-09-29 [email protected] [flutter_tools] Guard socket streams and done futures against socket reset errors (flutter/flutter#192941)

If this roll has caused a breakage, revert this CL and set the roller
to dry run mode 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

CICD Run CI/CD Decoupling: Not ready to port yet Instructions will be provided when this is ready to move to flutter/packages. Decoupling: Split PR The PR will need to be split to separate Material & Cupertino changes framework flutter/packages/flutter repository. See also f: labels. waiting for code freeze This PR is waiting for a code freeze to resolve.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Theme-level option to align error text with the text field border (remove default indent/padding)

6 participants