Visitar URL original
Comparing 8d8c1aabb47a...c97838627ff5 · flutter/flutter · GitHub
Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: flutter/flutter
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 8d8c1aabb47a
Choose a base ref
...
head repository: flutter/flutter
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: c97838627ff5
Choose a head ref
  • 20 commits
  • 46 files changed
  • 11 contributors

Commits on Aug 28, 2026

  1. [tool] Migrate SymbolizeCommand to modular dependency injection (#190744

    )
    
    ## Summary
    
    Part 5 of the modular dependency injection migration.
    
    Migrates `SymbolizeCommand` to explicit constructor dependency injection
    via `ToolContext`, removing ambient access from `FlutterCommand` and
    adding hermetic unit tests.
    
    Part of #47161
    bkonyi authored Aug 28, 2026
    Configuration menu
    Copy the full SHA
    4301cf5 View commit details
    Browse the repository at this point in the history
  2. Uiscene migrate remaining apps (#191652)

    i got tired of making seperate prs, so these are the rest of the easy
    ones from #188336
    LouiseHsu authored Aug 28, 2026
    Configuration menu
    Copy the full SHA
    5a70a4c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    ce126e5 View commit details
    Browse the repository at this point in the history
  4. Roll Skia from fe0b9a5261f9 to 0b4249b26b38 (1 revision) (#191974)

    https://skia.googlesource.com/skia.git/+log/fe0b9a5261f9..0b4249b26b38
    
    2026-08-28 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll
    Dawn from afe69b63e0ce to 3916b915ac5f (7 revisions)
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/skia-flutter-autoroll
    Please CC fmalita@google.com,jsimmons@google.com,kjlubick@google.com on
    the revert to ensure that a human
    is aware of the problem.
    
    To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
    To file a bug in Flutter:
    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
    engine-flutter-autoroll authored Aug 28, 2026
    Configuration menu
    Copy the full SHA
    7ad34c9 View commit details
    Browse the repository at this point in the history
  5. [AGP 9.1.0 Migration #4] Replace plugin build-type copy with initWith…

    … on public DSL (#191606)
    
    This is PR 4 of 11 in the AGP 9.1.0 / public `gradle-api` / newdsl
    migration stack.
    
    There are no breaking changes expected in this pr. Only internal logic
    is impacted.
    
    I will be honest I also found the tests hard to review. I had the agent
    pull out shared mocking logic but I am not sure that actually made
    review easier.
    
    Depends on #191218 (PR 3).
    - @reidbaker
    
    ---
    Standard review context for this pr stack
    
    This is PR is part of an 11 pr stack to migrate the "newdsl"
    `gradle-api` specifically in agp 9.1.0.
    
    All of the code was LLM authored. A mix of manual prompting, automatic
    prompting, several models and adversarial review. The combined sessions
    are enough that I cannot include relevant prompts like I have been doing
    on other prs.
    
    If you want to review the pr stack you can find it here. These prs will
    be abandoned/closed as prs land into flutter/flutter.
    1. reidbaker-agent#1 (branch:
    agp-api-doc)
    2. reidbaker-agent#2 (branch:
    agp-internal-utils)
    3. reidbaker-agent#3 (branch:
    agp-buildmode-deps)
    4. reidbaker-agent#4 (branch:
    agp-plugin-buildtypes)
    5. reidbaker-agent#5 (branch:
    agp-ndk-fallback)
    6. reidbaker-agent#6 (branch:
    agp-assets-onvariants)
    7. reidbaker-agent#7 (branch:
    agp-apk-copy-versioncode)
    8. reidbaker-agent#8 (branch:
    agp-add-to-app)
    9. reidbaker-agent#9 (branch:
    agp-aar-script)
    10. reidbaker-agent#10 (branch:
    agp-newdsl-flip)
    11. reidbaker-agent#11 (branch:
    agp-gradle-api)
    
    This work is urgent in the sense that we are worried that android will
    publish agp 10 with no opt out but not so urgent that we are willing to
    break flutter users because we didn't review or understand the code
    because we were in a rush.
    
    Breaking changes are expected as part of this work. There are patterns
    the android team explicitly does not want apps to use and apis that have
    no equivalent.
    
    As part of the effort to ensure this work does not slip into ai slop,
    prs from this stack will be reviewed by me (@reidbaker) before asking
    for review. Then we will have 2 android expert reviewers also review
    every pr.
    
    ---
    Agent authored description.
    This is PR 4 of 11 in the AGP 9.1.0 / public `gradle-api` migration
    stack (#180137, #166550).
    
    ### Key Changes
    - **Public DSL `initWith` Copy**: Replaces the legacy
    `getLegacyAndroidExtension` build-type copy in `PluginHandler` with
    `initWith` on the public DSL (`AgpCommonExtensionWrapper.buildTypes`).
    Missing build types on the plugin project are created with
    `initWith(appBuildType)`, and `isDebuggable` is copied when both sides
    are `ApplicationBuildType`.
    - **Zero AGP Internals in Production Sources**: Removes the last
    remaining `com.android.build.gradle.internal` imports from production
    code (`src/main`).
    - **Internal AGP Import Guard**: Adds `InternalAgpApiImportTest` to
    continuously enforce that production sources do not introduce
    `com.android.build.gradle.internal.*` imports.
    - **Decomposed & Robust Unit Tests**: Replaces legacy mock-only tests in
    `PluginHandlerTest` with tests that execute `configurePlugins` and
    verify `initWith` copying for both library and application plugin
    projects, mapping custom debuggable build types to debug engine
    artifacts, and verifying that pre-existing plugin build types are
    skipped.
    - **Migration Documentation Update**: Adds details for the P3 pre-spike
    and `finalizeDsl` fallback in
    `Migrating-Flutter-Gradle-Plugin-to-AGP-public-API.md`.
    
    ## Pre-launch Checklist
    
    - [x] I read the [Contributor Guide] and followed the process outlined
    there for submitting PRs.
    - [x] I read the [AI contribution guidelines] and understand my
    responsibilities, or I am not using AI tools.
    - [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 `///`).
    - [x] I added new tests to check the change I am making, or this PR is
    [test-exempt].
    - [x] I followed the [breaking change policy] and added [Data Driven
    Fixes] where supported.
    - [x] All existing and new tests are passing.
    reidbaker-agent authored Aug 28, 2026
    Configuration menu
    Copy the full SHA
    f051143 View commit details
    Browse the repository at this point in the history
  6. Update no-main-prs to leave a comment (#191973)

    Related:
    - #191970
    - #191931
    
    This updates the no-main-prs to leave a comment on the PR to let the
    author know they need to change the target branch.
    
    Also cleans up some lints for a clean `actionlint` run.
    - Related: #191987
    
    ## Pre-launch Checklist
    
    - [x] I read the [Contributor Guide] and followed the process outlined
    there for submitting PRs.
    - [x] I read the [AI contribution guidelines] and understand my
    responsibilities, or I am not using AI tools.
    - [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].
    - [ ] I listed at least one issue that this PR fixes in the description
    above.
    - [x] 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].
    - [x] I followed the [breaking change policy] and added [Data Driven
    Fixes] where supported.
    - [x] All existing and new tests are passing.
    
    If you need help, consider asking for advice on the #hackers-new channel
    on [Discord].
    
    If this change needs to override an active code freeze, provide a
    comment explaining why. The code freeze workflow can be overridden by
    code reviewers. See pinned issues for any active code freezes with
    guidance.
    
    **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.
    
    <!-- Links -->
    [Contributor Guide]:
    https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
    [AI contribution guidelines]:
    https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#ai-contribution-guidelines
    [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
    Piinks authored Aug 28, 2026
    Configuration menu
    Copy the full SHA
    67710a5 View commit details
    Browse the repository at this point in the history
  7. Update scheduled workflow for more tasks, add goldctl update (#191991)

    Updates the scheduled-localization-update workflow to a more general
    workflow for quarterly recurring tasks.
    Adds quarterly task of bumping goldtctl. 
    
    Also addresses all lint errors:
    - Related #191987
    
    Having a separate workflow for every recurring task was well-pointed out
    that it will not scale well. GitHub also does not support nesting
    workflows in subdirectories. So, I updated this to contain all quarterly
    tasks in the same workflow. There are a couple more on the way.
    
    
    ## Pre-launch Checklist
    
    - [x] I read the [Contributor Guide] and followed the process outlined
    there for submitting PRs.
    - [x] I read the [AI contribution guidelines] and understand my
    responsibilities, or I am not using AI tools.
    - [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].
    - [ ] I listed at least one issue that this PR fixes in the description
    above.
    - [x] 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].
    - [x] I followed the [breaking change policy] and added [Data Driven
    Fixes] where supported.
    - [x] All existing and new tests are passing.
    
    If you need help, consider asking for advice on the #hackers-new channel
    on [Discord].
    
    If this change needs to override an active code freeze, provide a
    comment explaining why. The code freeze workflow can be overridden by
    code reviewers. See pinned issues for any active code freezes with
    guidance.
    
    **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.
    
    <!-- Links -->
    [Contributor Guide]:
    https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
    [AI contribution guidelines]:
    https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#ai-contribution-guidelines
    [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
    Piinks authored Aug 28, 2026
    Configuration menu
    Copy the full SHA
    ddb0f5b View commit details
    Browse the repository at this point in the history
  8. Roll Fuchsia Linux SDK from dDxH8G5cDBP602eyG... to J123CwfDPYyVDpkMl…

    …... (#191984)
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter
    Please CC jsimmons@google.com,zra@google.com on the revert to ensure
    that a human
    is aware of the problem.
    
    To file a bug in Flutter:
    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
    engine-flutter-autoroll authored Aug 28, 2026
    Configuration menu
    Copy the full SHA
    b9c725b View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    0116c83 View commit details
    Browse the repository at this point in the history

Commits on Aug 29, 2026

  1. [flutter_tools] Pause web server requests until initial compilation f…

    …inishes (#191990)
    
    ## Description
    
    When launching a web application using `flutter run -d web-server`, the
    HTTP server begins listening as soon as `WebDevFS.create()` starts
    `WebAssetServer`. However, application compilation in `_updateDevFS()`
    has not yet completed.
    
    If a client requests the page before compilation finishes, DWDS attempts
    to read module metadata while `_webMemoryFS.mergedMetadata` is still
    null. DWDS then injects an empty module list into the bootstrap script
    (`main_module.bootstrap.js`) and permanently memoizes that 0 modules
    exist in `MetadataProvider._metadataMemoizer`, causing the page to only
    load `dart_sdk.js` and hang on a blank white screen. In Chrome console
    logs, this exhibits as `DDC is about to load 1/2 scripts with pool size
    = 1000` with nothing else loading afterwards.
    
    Additionally, if the client connects to DWDS before `webDevFS.connect()`
    starts listening, the `connectedApps` broadcast event is dropped without
    listeners, causing the tool to hang waiting for a connection.
    
    This PR adds a readiness completer to `WebAssetServer` and a Shelf
    middleware to pause incoming HTTP requests until initial compilation
    completes and the DWDS connection listener is attached.
    
    ## Related Issues
    
    Fixes #191957
    
    ## Tests
    
    - Added tests in
    `packages/flutter_tools/test/general.shard/web/web_asset_server_test.dart`
    verifying that `isReady` completes on `markReady()`/`dispose()` and that
    incoming HTTP requests are held until `markReady()` is called.
    - Added test in
    `packages/flutter_tools/test/general.shard/resident_web_runner_test.dart`
    verifying that `ResidentWebRunner.run()` marks `WebDevFS` as ready
    before starting the app.
    bkonyi authored Aug 29, 2026
    Configuration menu
    Copy the full SHA
    625c5c9 View commit details
    Browse the repository at this point in the history
  2. Fix Android license detection for cmdline-tools 23.0+ (#191554)

    ## Description
    
    Fixes #191487
    
    Android SDK cmdline-tools 23.0 deprecated `sdkmanager --licenses` in
    favor of the new `android` CLI. Running `sdkmanager --licenses` now only
    prints a deprecation warning instead of the parseable license summary
    Flutter previously relied on:
    
    ```
    WARNING: The SDK Manager CLI tool (sdkmanager) is deprecated. Android CLI will be used instead.
    The 'android' binary can also be found in the cmdline-tools directory, and 'android sdk' is the replacement for 'sdkmanager'.
    To learn more about the Android CLI and how to use it, see the documentation (https://d.android.com/tools/agents/android-cli)
    Warning: The --licenses option is no longer needed.
    ```
    
    None of the existing regexes in `licensesAccepted` match this output, so
    `flutter doctor` incorrectly reports `Android license status unknown`
    even when licenses are actually accepted.
    
    ## Approach
    
    I initially considered treating the new deprecation message as
    `LicensesAccepted.all`, but testing against a real cmdline-tools 23.0
    install showed this message prints identically whether or not the
    licenses directory exists — so it can't be trusted as a signal of actual
    license state. I verified this by temporarily renaming my
    `<sdk>/licenses` directory and re-running `sdkmanager --licenses`; the
    output was byte-for-byte identical either way.
    
    I also checked the new `android` CLI's `--help` output (`sdk`, `sdk
    install`, `info`) — there's no license-status subcommand or flag exposed
    in this version, so there's no better structured signal to query
    instead.
    
    Since the SDK's actual license acceptance state is still tracked on disk
    under `<sdk>/licenses/` (this is presumably what Gradle checks directly,
    since Gradle builds still succeed after this cmdline-tools update), this
    PR adds a narrow, additive fallback:
    
    - When `sdkmanager`'s output matches the specific new-CLI deprecation
    message (and only then — not for arbitrary unparseable/garbage output),
    `licensesAccepted` checks the `licenses/` directory on disk directly
    instead of trusting stdout.
    - All existing regex-based parsing for older `sdkmanager` versions is
    untouched.
    
    ## Known limitation
    
    This fallback can only distinguish "some license files are present and
    non-empty" (→ `all`) from "no license files at all" (→ `none`). It
    cannot reproduce the previous `LicensesAccepted.some` state for the new
    CLI, since that information is no longer exposed by the tool in any form
    I could find. Happy to adjust the approach if maintainers have a
    preference here.
    
    ## Tests
    
    Added two regression tests reproducing the exact real-world output
    captured from a Windows machine running cmdline-tools 23.0:
    - `licensesAccepted falls back to the licenses directory when sdkmanager
    output is unparseable (new Android CLI, licenses present)`
    - `licensesAccepted falls back to none when sdkmanager output is
    unparseable and no licenses are present (new Android CLI, licenses
    missing)`
    
    All existing tests in `android_workflow_test.dart` continue to pass
    (35/35).
    
    Also manually verified end-to-end: `flutter doctor -v` on the affected
    machine now correctly reports `All Android licenses accepted.` instead
    of `Android license status unknown.`
    
    ---------
    
    Co-authored-by: Gray Mackall <34871572+gmackall@users.noreply.github.com>
    ik020 and gmackall authored Aug 29, 2026
    Configuration menu
    Copy the full SHA
    9d0f24e View commit details
    Browse the repository at this point in the history
  3. Roll Dart SDK from ae63a6eca3f1 to 391ff83cd1d3 (3 revisions) (#192010)

    https://dart.googlesource.com/sdk.git/+log/ae63a6eca3f1..391ff83cd1d3
    
    2026-08-29 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
    Version 3.14.0-179.0.dev
    2026-08-28 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
    Version 3.14.0-178.0.dev
    2026-08-28 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
    Version 3.14.0-177.0.dev
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/dart-sdk-flutter
    Please CC dart-vm-team@google.com,jsimmons@google.com on the revert to
    ensure that a human
    is aware of the problem.
    
    To file a bug in Flutter:
    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
    engine-flutter-autoroll authored Aug 29, 2026
    Configuration menu
    Copy the full SHA
    cbb8915 View commit details
    Browse the repository at this point in the history
  4. Fixes for texture-backed gradients (#191925)

    Two fixes for texture-backed gradients:
    
    1. Fix incorrect ending coord check in IPSampleLinearWithTileMode for
    decal mode. This fixes an issue where decal gradients end a pixel early.
    2. Make CreateGradientBuffer compatible with overlapping color stops
    
    Related: #190401
    
    This re-implements part of
    #190874. That PR was reverted
    because it didn't handle wide gamut colors properly. I will re-implement
    a fixed version of it in multiple parts. In the original reviews for
    that PR, it was suggested that these self-contained gradient fixes could
    be put in their own separate PR. Now that the PR is reverted, we get our
    chance to put these fixes in their own PR.
    
    ## Pre-launch Checklist
    
    - [x] I read the [Contributor Guide] and followed the process outlined
    there for submitting PRs.
    - [x] I read the [AI contribution guidelines] and understand my
    responsibilities, or I am not using AI tools.
    - [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 `///`).
    - [x] I added new tests to check the change I am making, or this PR is
    [test-exempt].
    - [x] I followed the [breaking change policy] and added [Data Driven
    Fixes] where supported.
    - [ ] All existing and new tests are passing.
    
    If you need help, consider asking for advice on the #hackers-new channel
    on [Discord].
    
    If this change needs to override an active code freeze, provide a
    comment explaining why. The code freeze workflow can be overridden by
    code reviewers. See pinned issues for any active code freezes with
    guidance.
    
    **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.
    
    <!-- Links -->
    [Contributor Guide]:
    https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
    [AI contribution guidelines]:
    https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#ai-contribution-guidelines
    [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
    b-luk authored Aug 29, 2026
    Configuration menu
    Copy the full SHA
    67d7e55 View commit details
    Browse the repository at this point in the history
  5. Roll Skia from 0b4249b26b38 to b392fb672d13 (6 revisions) (#192016)

    https://skia.googlesource.com/skia.git/+log/0b4249b26b38..b392fb672d13
    
    2026-08-29 alexisdavidc@google.com [Maintenance] Remove SkBigPicture
    2026-08-28 thomsmit@google.com [SkSL] Fix incorrect SPIR-V decorations
    2026-08-28 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
    vulkan-deps from c9447e520acc to af7b602a8439 (7 revisions)
    2026-08-28 thomsmit@google.com [graphite] Add AlphaAtlasManager
    2026-08-28 robertphillips@google.com Manual Roll vulkan-deps from
    a850ee2ab309 to c9447e520acc (8 revisions)
    2026-08-28 arthursonzogni@chromium.org Ensure proper resource
    destruction in GrVkGpu::destroyResources
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/skia-flutter-autoroll
    Please CC fmalita@google.com,jsimmons@google.com,kjlubick@google.com on
    the revert to ensure that a human
    is aware of the problem.
    
    To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
    To file a bug in Flutter:
    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
    engine-flutter-autoroll authored Aug 29, 2026
    Configuration menu
    Copy the full SHA
    634d370 View commit details
    Browse the repository at this point in the history
  6. Roll Skia from b392fb672d13 to 3ae8e3d1e335 (1 revision) (#192020)

    https://skia.googlesource.com/skia.git/+log/b392fb672d13..3ae8e3d1e335
    
    2026-08-29 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
    vulkan-deps from af7b602a8439 to bae94fa5093d (3 revisions)
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/skia-flutter-autoroll
    Please CC fmalita@google.com,jsimmons@google.com,kjlubick@google.com on
    the revert to ensure that a human
    is aware of the problem.
    
    To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
    To file a bug in Flutter:
    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
    engine-flutter-autoroll authored Aug 29, 2026
    Configuration menu
    Copy the full SHA
    6dd7e57 View commit details
    Browse the repository at this point in the history
  7. Roll Dart SDK from 391ff83cd1d3 to 76abdf94faa8 (1 revision) (#192021)

    https://dart.googlesource.com/sdk.git/+log/391ff83cd1d3..76abdf94faa8
    
    2026-08-29 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
    Version 3.14.0-180.0.dev
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/dart-sdk-flutter
    Please CC dart-vm-team@google.com,jsimmons@google.com on the revert to
    ensure that a human
    is aware of the problem.
    
    To file a bug in Flutter:
    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
    engine-flutter-autoroll authored Aug 29, 2026
    Configuration menu
    Copy the full SHA
    4e12c1a View commit details
    Browse the repository at this point in the history
  8. Make the AbsorbPointer sample show the difference from IgnorePointer (#…

    …188940)
    
    The `AbsorbPointer` sample shows two overlapping buttons in a `Stack`,
    but neither button gives any visible feedback when tapped, so the sample
    doesn't let you observe what `AbsorbPointer` actually does — and as
    #87936 points out, it
    especially doesn't show how it differs from `IgnorePointer`.
    
    This implements the design discussed on the issue (keep the existing
    example, add an `IgnorePointer` counterpart so the side-by-side makes
    the distinction observable — suggested by @victorsanni):
    
    - The sample now shows the original crossed-buttons stack twice, side by
    side: one overlay wrapped in `AbsorbPointer`, the other in
    `IgnorePointer`, with a visible "Taps received" counter under each
    stack.
    - Tapping the overlapping region on the `AbsorbPointer` side does
    nothing — the `AbsorbPointer` absorbs the pointer events itself, so
    neither its child button nor the button behind it receives the tap.
    Tapping the same region on the `IgnorePointer` side increments the
    counter of the button behind — the `IgnorePointer` is invisible to hit
    testing, so the event goes through to the next target in the stack.
    - The `{@tool dartpad}` blurb on the `AbsorbPointer` class docs is
    updated to describe the comparison.
    - The sample test now asserts the observable tap behavior on both sides
    (including that the uncovered part of the button behind the
    `AbsorbPointer` still receives taps), replacing the previous
    mouse-cursor-only check.
    
    Fixes #87936
    
    ## Pre-launch Checklist
    
    - [x] I read the [Contributor Guide] and followed the process outlined
    there for submitting PRs.
    - [x] I read the [AI contribution guidelines] and understand my
    responsibilities, or I am not using AI tools.
    - [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 `///`).
    - [x] I added new tests to check the change I am making, or this PR is
    [test-exempt].
    - [x] 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
    [AI contribution guidelines]:
    https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#ai-contribution-guidelines
    [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/
    [breaking change policy]:
    https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
    [Data Driven Fixes]:
    https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
    
    ---------
    
    Co-authored-by: Victor Sanni <victorsanniay@gmail.com>
    theprantadutta and victorsanni authored Aug 29, 2026
    Configuration menu
    Copy the full SHA
    b254071 View commit details
    Browse the repository at this point in the history

Commits on Aug 30, 2026

  1. Roll Fuchsia Linux SDK from J123CwfDPYyVDpkMl... to o9DikEfRoFyVK3LKD…

    …... (#192031)
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter
    Please CC jsimmons@google.com,zra@google.com on the revert to ensure
    that a human
    is aware of the problem.
    
    To file a bug in Flutter:
    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
    engine-flutter-autoroll authored Aug 30, 2026
    Configuration menu
    Copy the full SHA
    5360c77 View commit details
    Browse the repository at this point in the history
  2. Roll Skia from 3ae8e3d1e335 to ce359c7fbfe6 (1 revision) (#192037)

    https://skia.googlesource.com/skia.git/+log/3ae8e3d1e335..ce359c7fbfe6
    
    2026-08-30 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SKP
    CIPD package from 574 to 575
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/skia-flutter-autoroll
    Please CC
    jsimmons@google.com,kjlubick@google.com,nathanasanchez@google.com on the
    revert to ensure that a human
    is aware of the problem.
    
    To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
    To file a bug in Flutter:
    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
    engine-flutter-autoroll authored Aug 30, 2026
    Configuration menu
    Copy the full SHA
    f72e026 View commit details
    Browse the repository at this point in the history
  3. Roll Skia from ce359c7fbfe6 to 588b550a4dd8 (1 revision) (#192040)

    https://skia.googlesource.com/skia.git/+log/ce359c7fbfe6..588b550a4dd8
    
    2026-08-30 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
    vulkan-deps from bae94fa5093d to 87c22542b6b7 (1 revision)
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/skia-flutter-autoroll
    Please CC
    jsimmons@google.com,kjlubick@google.com,nathanasanchez@google.com on the
    revert to ensure that a human
    is aware of the problem.
    
    To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
    To file a bug in Flutter:
    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
    engine-flutter-autoroll authored Aug 30, 2026
    Configuration menu
    Copy the full SHA
    c978386 View commit details
    Browse the repository at this point in the history
Loading