Skip to content

iOS: Add null check for touch rate correction task runner - #191641

Merged
cbracken merged 1 commit into
flutter:masterfrom
cbracken:null-check-platform-taskrunner
Aug 25, 2026
Merged

cbracken merged 1 commit into
flutter:masterfrom
cbracken:null-check-platform-taskrunner

Conversation

@cbracken

Copy link
Copy Markdown
Member

FlutterViewController.viewDidLoad creates a vsync client to correct the rate at which touch events are delivered on ProMotion displays, and passes it self.engine.platformTaskRunner. That property is nullable and only set once the engine's shell is created, then cleared again in destroyContext. FlutterVSyncClient requires a non-null task runner and dereferences it. A view controller whose engine is nil would dereference null and takes the app down with it, at launch. We now bail out when there's no task runner.

The argument is that losing whatever smoothing effect this has while we have no running egnine has no effect, and either way it's better than a null deref.

There's the separate argument detailed in #191199 that this entire client isn't really doing anything positive and should be deleted. This simply prevents the null deref until that work can land.

Also worth noting that platformTaskRunner is declared nullable and the Swift-generated initWithTaskRunner: takes a _Nonnull task runner, so clang spotted this issue when I enabled -Wnullable-to-nonnull-conversion:

FlutterViewController.mm:1332:36: warning: implicit conversion from nullable
pointer 'FlutterFMLTaskRunner * _Nullable' to non-nullable pointer type
'FlutterFMLTaskRunner * _Nonnull' [-Wnullable-to-nonnull-conversion]

I'll follow up with a patch that enables that warning, but it requires a few other cleanups first.

Issue: #190030

Pre-launch Checklist

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

@cbracken
cbracken requested a review from a team as a code owner August 25, 2026 03:44
@flutter-dashboard flutter-dashboard Bot added the CICD Run CI/CD label Aug 25, 2026
@github-actions github-actions Bot added platform-ios iOS applications specifically engine flutter/engine related. See also e: labels. team-ios Owned by iOS platform team labels Aug 25, 2026
@cbracken cbracken changed the title iOS: Add null-check for touch rate correction task runner iOS: Add null check for touch rate correction task runner Aug 25, 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 adds a null check for the engine's platform task runner in FlutterViewController before creating the touch rate correction vsync client to prevent a null dereference. It also adds a corresponding unit test. Feedback suggests simplifying the new unit test by removing unnecessary engine initialization steps and mocking, as a newly initialized FlutterEngine already has a nil platform task runner by default.

Comment on lines +2901 to +2910
FlutterEngine* engine = [[FlutterEngine alloc] init];
[engine runWithEntrypoint:nil];
FlutterViewController* viewController = [[FlutterViewController alloc] initWithEngine:engine
nibName:nil
bundle:nil];
id mockEngine = OCMPartialMock(engine);
[self addTeardownBlock:^{
[mockEngine stopMocking];
}];
OCMStub([mockEngine platformTaskRunner]).andReturn(nil);

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.

medium

Since a newly initialized FlutterEngine does not have its shell created yet, its platformTaskRunner is already nil by default. We can simplify this test by removing the unnecessary call to runWithEntrypoint: and the subsequent partial mocking of the engine. This avoids spawning engine threads and reduces mocking overhead, making the test faster and more reliable.

  FlutterEngine* engine = [[FlutterEngine alloc] init];
  FlutterViewController* viewController = [[FlutterViewController alloc] initWithEngine:engine
                                                                                nibName:nil
                                                                                 bundle:nil];
References
  1. Suggest simplification and refactoring: Assess whether the code can be made simpler or refactored to enhance readability and maintainability. (link)

@cbracken cbracken Aug 25, 2026 •

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

This is wrong, but it gave me an idea.

It's correct that a newly-constructed engine does have a nil platformTaskRunner, but the proposed change will crash. initWithEngine:... calls setViewController: which does FML_DCHECK(self.platformView), but platformView is null while the shell is null so we'll get an abort instead of running the test. You need a running engine, but a running engine has a platform task runner.

That said... we can run the engine, attach the view controller then call [engine destroyContext] to kill the shell (and the task runner) which lets us test this without the partial engine mock. Done.

`FlutterViewController.viewDidLoad` creates a vsync client to correct
the rate at which touch events are delivered on ProMotion displays, and
passes it `self.engine.platformTaskRunner`. That property is nullable
and only set once the engine's shell is created, then cleared again in
`destroyContext`. `FlutterVSyncClient` requires a non-null task runner
and dereferences it. A view controller whose engine is nil would
dereference null and takes the app down with it, at launch. We now bail
out when there's no task runner.

The argument is that losing whatever smoothing effect this has while we
have no running egnine has no effect, and either way it's better than a
null deref.

There's the separate argument detailed in flutter#191199 that this entire
client isn't really doing anything positive and should be deleted. This
simply prevents the null deref until that work can land.

Also worth noting that `platformTaskRunner` is declared `nullable` and
the Swift-generated `initWithTaskRunner:` takes a `_Nonnull` task
runner, so clang spotted this issue when I enabled
`-Wnullable-to-nonnull-conversion`:

```
FlutterViewController.mm:1332:36: warning: implicit conversion from nullable
pointer 'FlutterFMLTaskRunner * _Nullable' to non-nullable pointer type
'FlutterFMLTaskRunner * _Nonnull' [-Wnullable-to-nonnull-conversion]
```

I'll follow up with a patch that enables that warning, but it requires a
few other cleanups first.

Issue: flutter#190030
@cbracken
cbracken force-pushed the null-check-platform-taskrunner branch from 4ea08c0 to 5358e59 Compare August 25, 2026 04:45

@LongCatIsLooong LongCatIsLooong 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 since the touch correction stuff is going to be deleted soon.

@cbracken
cbracken added this pull request to the merge queue Aug 25, 2026
Merged via the queue into flutter:master with commit d2e6834 Aug 25, 2026
17 of 18 checks passed
@cbracken
cbracken deleted the null-check-platform-taskrunner branch August 25, 2026 09:55
auto-submit Bot pushed a commit to flutter/packages that referenced this pull request Aug 26, 2026
Roll Flutter from 9a8278982588 to 15d8908addf6 (37 revisions)

flutter/flutter@9a82789...15d8908

2026-08-25 [email protected] Roll Packages from df2ba94 to 740f093 (17 revisions) (flutter/flutter#191734)
2026-08-25 [email protected] [record_use] Remove const_finder (flutter/flutter#191702)
2026-08-25 [email protected] Warn when SwiftPM is disabled (flutter/flutter#188695)
2026-08-25 [email protected] Roll Skia from b1a31575c373 to 480540178356 (1 revision) (flutter/flutter#191723)
2026-08-25 [email protected] Roll pub packages (flutter/flutter#191726)
2026-08-25 [email protected] Roll Skia from bfa276ed9ac5 to b1a31575c373 (1 revision) (flutter/flutter#191717)
2026-08-25 [email protected] Roll Dart SDK from 0818e6dc28cc to 8996935d3d0a (2 revisions) (flutter/flutter#191706)
2026-08-25 [email protected] Roll Skia from 31799e707cd4 to bfa276ed9ac5 (1 revision) (flutter/flutter#191701)
2026-08-25 [email protected] iOS: Add null check for touch rate correction task runner (flutter/flutter#191641)
2026-08-25 [email protected] iOS: Add test for engineAllowHeadlessExecution (flutter/flutter#191635)
2026-08-25 [email protected] Roll Skia from cfae2af1bfeb to 31799e707cd4 (4 revisions) (flutter/flutter#191649)
2026-08-25 [email protected] Roll Dart SDK from 2b75c83ddd77 to 0818e6dc28cc (1 revision) (flutter/flutter#191643)
2026-08-25 [email protected] Roll Skia from 4a2fddefd3d8 to cfae2af1bfeb (1 revision) (flutter/flutter#191642)
2026-08-25 [email protected] Roll Skia from 256c15026b91 to 4a2fddefd3d8 (6 revisions) (flutter/flutter#191633)
2026-08-25 [email protected] Remove octant_offset_c uniform from ubersdf, reorder/document ubersdf uniforms (flutter/flutter#191597)
2026-08-25 [email protected] Roll Fuchsia Linux SDK from 8Xu4ujBJniC0nQGx3... to MstTWE1RDOT-RnrtH... (flutter/flutter#191621)
2026-08-25 [email protected] Roll Dart SDK from 78bbc37b6ff6 to 2b75c83ddd77 (3 revisions) (flutter/flutter#191614)
2026-08-24 [email protected] [flutter_tools] Fix $git typo in shared.bat to restore cache invalidation on Windows (flutter/flutter#191217)
2026-08-24 [email protected] Skip removed observers during app exit requests (flutter/flutter#190343)
2026-08-24 [email protected] [engine] Support UTF-8 paths in Windows filesystem and path APIs (flutter/flutter#191360)
2026-08-24 [email protected] Migrate ios driver tests batch 3 to simulators (flutter/flutter#191333)
2026-08-24 [email protected] Migrate texture example to material_ui (flutter/flutter#190673)
2026-08-24 [email protected] Remove outdated test todo about `dither` property of `Paint` (flutter/flutter#190936)
2026-08-24 [email protected] Add agent rule to prevent using material and cupertino in widget tests (flutter/flutter#191588)
2026-08-24 [email protected] [flutter_tools] Prevent crash when stdout is broken and print fails (flutter/flutter#191356)
2026-08-24 [email protected] Add FlViewRendererSubsurface (flutter/flutter#191389)
2026-08-24 [email protected] [Android] Inject `route` into manifest when specified on the command line in release mode (flutter/flutter#191328)
2026-08-24 [email protected] [AGP 9.1.0 Migration #3] Add buildModeFor overloads and wire Flutter dependencies through the new DSL (flutter/flutter#191218)
2026-08-24 [email protected] Roll Skia from 698c60bf58f1 to 256c15026b91 (1 revision) (flutter/flutter#191586)
2026-08-24 [email protected] On iOS 27+ devices, manually process lldb stops (flutter/flutter#191434)
2026-08-24 [email protected] [flutter_tools] Handle missing Xcode gracefully in getInfo and buildMacOS (flutter/flutter#191180)
2026-08-24 [email protected] [flutter_tools] Handle null version gracefully in CachedArtifact and MaterialFonts (flutter/flutter#191494)
2026-08-24 [email protected] [flutter_tools] Do not treat 'daemon' argument as daemon command in logger initialization (flutter/flutter#191442)
2026-08-24 [email protected] [flutter_tools] Resolve workspace root when running widget preview from member package (flutter/flutter#190952)
2026-08-24 [email protected] [native_assets] Roll native packages (flutter/flutter#191253)
2026-08-24 [email protected] [flutter_tools] Add --force flag to flutter channel (flutter/flutter#191579)
2026-08-24 [email protected] Roll Skia from 57968d087d18 to 698c60bf58f1 (1 revision) (flutter/flutter#191577)

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

...
danielleon-cmd pushed a commit to victogomez-cs/packages-fork that referenced this pull request Aug 27, 2026
…r#12619)

Roll Flutter from 9a8278982588 to 15d8908addf6 (37 revisions)

flutter/flutter@9a82789...15d8908

2026-08-25 [email protected] Roll Packages from df2ba94 to 740f093 (17 revisions) (flutter/flutter#191734)
2026-08-25 [email protected] [record_use] Remove const_finder (flutter/flutter#191702)
2026-08-25 [email protected] Warn when SwiftPM is disabled (flutter/flutter#188695)
2026-08-25 [email protected] Roll Skia from b1a31575c373 to 480540178356 (1 revision) (flutter/flutter#191723)
2026-08-25 [email protected] Roll pub packages (flutter/flutter#191726)
2026-08-25 [email protected] Roll Skia from bfa276ed9ac5 to b1a31575c373 (1 revision) (flutter/flutter#191717)
2026-08-25 [email protected] Roll Dart SDK from 0818e6dc28cc to 8996935d3d0a (2 revisions) (flutter/flutter#191706)
2026-08-25 [email protected] Roll Skia from 31799e707cd4 to bfa276ed9ac5 (1 revision) (flutter/flutter#191701)
2026-08-25 [email protected] iOS: Add null check for touch rate correction task runner (flutter/flutter#191641)
2026-08-25 [email protected] iOS: Add test for engineAllowHeadlessExecution (flutter/flutter#191635)
2026-08-25 [email protected] Roll Skia from cfae2af1bfeb to 31799e707cd4 (4 revisions) (flutter/flutter#191649)
2026-08-25 [email protected] Roll Dart SDK from 2b75c83ddd77 to 0818e6dc28cc (1 revision) (flutter/flutter#191643)
2026-08-25 [email protected] Roll Skia from 4a2fddefd3d8 to cfae2af1bfeb (1 revision) (flutter/flutter#191642)
2026-08-25 [email protected] Roll Skia from 256c15026b91 to 4a2fddefd3d8 (6 revisions) (flutter/flutter#191633)
2026-08-25 [email protected] Remove octant_offset_c uniform from ubersdf, reorder/document ubersdf uniforms (flutter/flutter#191597)
2026-08-25 [email protected] Roll Fuchsia Linux SDK from 8Xu4ujBJniC0nQGx3... to MstTWE1RDOT-RnrtH... (flutter/flutter#191621)
2026-08-25 [email protected] Roll Dart SDK from 78bbc37b6ff6 to 2b75c83ddd77 (3 revisions) (flutter/flutter#191614)
2026-08-24 [email protected] [flutter_tools] Fix $git typo in shared.bat to restore cache invalidation on Windows (flutter/flutter#191217)
2026-08-24 [email protected] Skip removed observers during app exit requests (flutter/flutter#190343)
2026-08-24 [email protected] [engine] Support UTF-8 paths in Windows filesystem and path APIs (flutter/flutter#191360)
2026-08-24 [email protected] Migrate ios driver tests batch 3 to simulators (flutter/flutter#191333)
2026-08-24 [email protected] Migrate texture example to material_ui (flutter/flutter#190673)
2026-08-24 [email protected] Remove outdated test todo about `dither` property of `Paint` (flutter/flutter#190936)
2026-08-24 [email protected] Add agent rule to prevent using material and cupertino in widget tests (flutter/flutter#191588)
2026-08-24 [email protected] [flutter_tools] Prevent crash when stdout is broken and print fails (flutter/flutter#191356)
2026-08-24 [email protected] Add FlViewRendererSubsurface (flutter/flutter#191389)
2026-08-24 [email protected] [Android] Inject `route` into manifest when specified on the command line in release mode (flutter/flutter#191328)
2026-08-24 [email protected] [AGP 9.1.0 Migration #3] Add buildModeFor overloads and wire Flutter dependencies through the new DSL (flutter/flutter#191218)
2026-08-24 [email protected] Roll Skia from 698c60bf58f1 to 256c15026b91 (1 revision) (flutter/flutter#191586)
2026-08-24 [email protected] On iOS 27+ devices, manually process lldb stops (flutter/flutter#191434)
2026-08-24 [email protected] [flutter_tools] Handle missing Xcode gracefully in getInfo and buildMacOS (flutter/flutter#191180)
2026-08-24 [email protected] [flutter_tools] Handle null version gracefully in CachedArtifact and MaterialFonts (flutter/flutter#191494)
2026-08-24 [email protected] [flutter_tools] Do not treat 'daemon' argument as daemon command in logger initialization (flutter/flutter#191442)
2026-08-24 [email protected] [flutter_tools] Resolve workspace root when running widget preview from member package (flutter/flutter#190952)
2026-08-24 [email protected] [native_assets] Roll native packages (flutter/flutter#191253)
2026-08-24 [email protected] [flutter_tools] Add --force flag to flutter channel (flutter/flutter#191579)
2026-08-24 [email protected] Roll Skia from 57968d087d18 to 698c60bf58f1 (1 revision) (flutter/flutter#191577)

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

...
victorsanni pushed a commit to victorsanni/packages that referenced this pull request Sep 9, 2026
…r#12619)

Roll Flutter from 9a8278982588 to 15d8908addf6 (37 revisions)

flutter/flutter@9a82789...15d8908

2026-08-25 [email protected] Roll Packages from df2ba94 to 740f093 (17 revisions) (flutter/flutter#191734)
2026-08-25 [email protected] [record_use] Remove const_finder (flutter/flutter#191702)
2026-08-25 [email protected] Warn when SwiftPM is disabled (flutter/flutter#188695)
2026-08-25 [email protected] Roll Skia from b1a31575c373 to 480540178356 (1 revision) (flutter/flutter#191723)
2026-08-25 [email protected] Roll pub packages (flutter/flutter#191726)
2026-08-25 [email protected] Roll Skia from bfa276ed9ac5 to b1a31575c373 (1 revision) (flutter/flutter#191717)
2026-08-25 [email protected] Roll Dart SDK from 0818e6dc28cc to 8996935d3d0a (2 revisions) (flutter/flutter#191706)
2026-08-25 [email protected] Roll Skia from 31799e707cd4 to bfa276ed9ac5 (1 revision) (flutter/flutter#191701)
2026-08-25 [email protected] iOS: Add null check for touch rate correction task runner (flutter/flutter#191641)
2026-08-25 [email protected] iOS: Add test for engineAllowHeadlessExecution (flutter/flutter#191635)
2026-08-25 [email protected] Roll Skia from cfae2af1bfeb to 31799e707cd4 (4 revisions) (flutter/flutter#191649)
2026-08-25 [email protected] Roll Dart SDK from 2b75c83ddd77 to 0818e6dc28cc (1 revision) (flutter/flutter#191643)
2026-08-25 [email protected] Roll Skia from 4a2fddefd3d8 to cfae2af1bfeb (1 revision) (flutter/flutter#191642)
2026-08-25 [email protected] Roll Skia from 256c15026b91 to 4a2fddefd3d8 (6 revisions) (flutter/flutter#191633)
2026-08-25 [email protected] Remove octant_offset_c uniform from ubersdf, reorder/document ubersdf uniforms (flutter/flutter#191597)
2026-08-25 [email protected] Roll Fuchsia Linux SDK from 8Xu4ujBJniC0nQGx3... to MstTWE1RDOT-RnrtH... (flutter/flutter#191621)
2026-08-25 [email protected] Roll Dart SDK from 78bbc37b6ff6 to 2b75c83ddd77 (3 revisions) (flutter/flutter#191614)
2026-08-24 [email protected] [flutter_tools] Fix $git typo in shared.bat to restore cache invalidation on Windows (flutter/flutter#191217)
2026-08-24 [email protected] Skip removed observers during app exit requests (flutter/flutter#190343)
2026-08-24 [email protected] [engine] Support UTF-8 paths in Windows filesystem and path APIs (flutter/flutter#191360)
2026-08-24 [email protected] Migrate ios driver tests batch 3 to simulators (flutter/flutter#191333)
2026-08-24 [email protected] Migrate texture example to material_ui (flutter/flutter#190673)
2026-08-24 [email protected] Remove outdated test todo about `dither` property of `Paint` (flutter/flutter#190936)
2026-08-24 [email protected] Add agent rule to prevent using material and cupertino in widget tests (flutter/flutter#191588)
2026-08-24 [email protected] [flutter_tools] Prevent crash when stdout is broken and print fails (flutter/flutter#191356)
2026-08-24 [email protected] Add FlViewRendererSubsurface (flutter/flutter#191389)
2026-08-24 [email protected] [Android] Inject `route` into manifest when specified on the command line in release mode (flutter/flutter#191328)
2026-08-24 [email protected] [AGP 9.1.0 Migration flutter#3] Add buildModeFor overloads and wire Flutter dependencies through the new DSL (flutter/flutter#191218)
2026-08-24 [email protected] Roll Skia from 698c60bf58f1 to 256c15026b91 (1 revision) (flutter/flutter#191586)
2026-08-24 [email protected] On iOS 27+ devices, manually process lldb stops (flutter/flutter#191434)
2026-08-24 [email protected] [flutter_tools] Handle missing Xcode gracefully in getInfo and buildMacOS (flutter/flutter#191180)
2026-08-24 [email protected] [flutter_tools] Handle null version gracefully in CachedArtifact and MaterialFonts (flutter/flutter#191494)
2026-08-24 [email protected] [flutter_tools] Do not treat 'daemon' argument as daemon command in logger initialization (flutter/flutter#191442)
2026-08-24 [email protected] [flutter_tools] Resolve workspace root when running widget preview from member package (flutter/flutter#190952)
2026-08-24 [email protected] [native_assets] Roll native packages (flutter/flutter#191253)
2026-08-24 [email protected] [flutter_tools] Add --force flag to flutter channel (flutter/flutter#191579)
2026-08-24 [email protected] Roll Skia from 57968d087d18 to 698c60bf58f1 (1 revision) (flutter/flutter#191577)

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

...
victorsanni pushed a commit to victorsanni/packages that referenced this pull request Sep 9, 2026
…r#12619)

Roll Flutter from 9a8278982588 to 15d8908addf6 (37 revisions)

flutter/flutter@9a82789...15d8908

2026-08-25 [email protected] Roll Packages from df2ba94 to 740f093 (17 revisions) (flutter/flutter#191734)
2026-08-25 [email protected] [record_use] Remove const_finder (flutter/flutter#191702)
2026-08-25 [email protected] Warn when SwiftPM is disabled (flutter/flutter#188695)
2026-08-25 [email protected] Roll Skia from b1a31575c373 to 480540178356 (1 revision) (flutter/flutter#191723)
2026-08-25 [email protected] Roll pub packages (flutter/flutter#191726)
2026-08-25 [email protected] Roll Skia from bfa276ed9ac5 to b1a31575c373 (1 revision) (flutter/flutter#191717)
2026-08-25 [email protected] Roll Dart SDK from 0818e6dc28cc to 8996935d3d0a (2 revisions) (flutter/flutter#191706)
2026-08-25 [email protected] Roll Skia from 31799e707cd4 to bfa276ed9ac5 (1 revision) (flutter/flutter#191701)
2026-08-25 [email protected] iOS: Add null check for touch rate correction task runner (flutter/flutter#191641)
2026-08-25 [email protected] iOS: Add test for engineAllowHeadlessExecution (flutter/flutter#191635)
2026-08-25 [email protected] Roll Skia from cfae2af1bfeb to 31799e707cd4 (4 revisions) (flutter/flutter#191649)
2026-08-25 [email protected] Roll Dart SDK from 2b75c83ddd77 to 0818e6dc28cc (1 revision) (flutter/flutter#191643)
2026-08-25 [email protected] Roll Skia from 4a2fddefd3d8 to cfae2af1bfeb (1 revision) (flutter/flutter#191642)
2026-08-25 [email protected] Roll Skia from 256c15026b91 to 4a2fddefd3d8 (6 revisions) (flutter/flutter#191633)
2026-08-25 [email protected] Remove octant_offset_c uniform from ubersdf, reorder/document ubersdf uniforms (flutter/flutter#191597)
2026-08-25 [email protected] Roll Fuchsia Linux SDK from 8Xu4ujBJniC0nQGx3... to MstTWE1RDOT-RnrtH... (flutter/flutter#191621)
2026-08-25 [email protected] Roll Dart SDK from 78bbc37b6ff6 to 2b75c83ddd77 (3 revisions) (flutter/flutter#191614)
2026-08-24 [email protected] [flutter_tools] Fix $git typo in shared.bat to restore cache invalidation on Windows (flutter/flutter#191217)
2026-08-24 [email protected] Skip removed observers during app exit requests (flutter/flutter#190343)
2026-08-24 [email protected] [engine] Support UTF-8 paths in Windows filesystem and path APIs (flutter/flutter#191360)
2026-08-24 [email protected] Migrate ios driver tests batch 3 to simulators (flutter/flutter#191333)
2026-08-24 [email protected] Migrate texture example to material_ui (flutter/flutter#190673)
2026-08-24 [email protected] Remove outdated test todo about `dither` property of `Paint` (flutter/flutter#190936)
2026-08-24 [email protected] Add agent rule to prevent using material and cupertino in widget tests (flutter/flutter#191588)
2026-08-24 [email protected] [flutter_tools] Prevent crash when stdout is broken and print fails (flutter/flutter#191356)
2026-08-24 [email protected] Add FlViewRendererSubsurface (flutter/flutter#191389)
2026-08-24 [email protected] [Android] Inject `route` into manifest when specified on the command line in release mode (flutter/flutter#191328)
2026-08-24 [email protected] [AGP 9.1.0 Migration flutter#3] Add buildModeFor overloads and wire Flutter dependencies through the new DSL (flutter/flutter#191218)
2026-08-24 [email protected] Roll Skia from 698c60bf58f1 to 256c15026b91 (1 revision) (flutter/flutter#191586)
2026-08-24 [email protected] On iOS 27+ devices, manually process lldb stops (flutter/flutter#191434)
2026-08-24 [email protected] [flutter_tools] Handle missing Xcode gracefully in getInfo and buildMacOS (flutter/flutter#191180)
2026-08-24 [email protected] [flutter_tools] Handle null version gracefully in CachedArtifact and MaterialFonts (flutter/flutter#191494)
2026-08-24 [email protected] [flutter_tools] Do not treat 'daemon' argument as daemon command in logger initialization (flutter/flutter#191442)
2026-08-24 [email protected] [flutter_tools] Resolve workspace root when running widget preview from member package (flutter/flutter#190952)
2026-08-24 [email protected] [native_assets] Roll native packages (flutter/flutter#191253)
2026-08-24 [email protected] [flutter_tools] Add --force flag to flutter channel (flutter/flutter#191579)
2026-08-24 [email protected] Roll Skia from 57968d087d18 to 698c60bf58f1 (1 revision) (flutter/flutter#191577)

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

...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CICD Run CI/CD engine flutter/engine related. See also e: labels. platform-ios iOS applications specifically team-ios Owned by iOS platform team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants