Skip to content

[ios] Update the screen in didUpdateEffectiveGeometry - #195508

Merged
auto-submit[bot] merged 5 commits into
flutter:masterfrom
hellohuanlin:iphone_duo_uiscreen_update_scene_geometry_change
Nov 13, 2026
Merged

auto-submit[bot] merged 5 commits into
flutter:masterfrom
hellohuanlin:iphone_duo_uiscreen_update_scene_geometry_change

Conversation

@hellohuanlin

@hellohuanlin hellohuanlin commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

This is a follow up to #195199

As discussed in this thread, For a fixed-size FlutterView, viewDidLayoutSubviews is called when switching from outer to inner display, but not called when switching from inner to outer display. This is a puzzling behavior (possibly a bug in UIKit), but it does prove that relying on viewDidLayoutSubviews is not complete.

The only API we can find that triggers when a scene changes screen is didUpdateEffectiveGeometry. There won't be a breaking change, but it would require FlutterSceneLifeCycleProvider users to add a one-liner for this to work. We should update our website to include this (PR):

@available(iOS 26.0, *)
func windowScene(_ windowScene: UIWindowScene,
                 didUpdateEffectiveGeometry previousEffectiveGeometry: UIWindowScene.Geometry) {
  sceneLifeCycleDelegate.windowScene(windowScene, didUpdateEffectiveGeometry: previousEffectiveGeometry)
}

Testing

I have manually verified with a fixed-size 300x300 FlutterView, and confirmed the information is correctly updated when switching screen.

It is not possible to write integration test - I don't think there's a simctl sub-command that allows us to fold/unfold the simulator. We could add a integration test in the future if such api become available.

Fixes #195177

If you had to change anything in the flutter/tests repo, include a link to the migration guide as per the breaking change policy.

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.

@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 Oct 28, 2026
@hellohuanlin
hellohuanlin requested a review from cbracken October 28, 2026 18:03
@hellohuanlin
hellohuanlin marked this pull request as ready for review October 28, 2026 18:03
@hellohuanlin
hellohuanlin requested a review from a team as a code owner October 28, 2026 18:03

@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 support for responding to window scene geometry changes by implementing the windowScene:didUpdateEffectiveGeometry: delegate method across FlutterSceneLifeCycle, FlutterSceneDelegate, and associated tests. The feedback points out that the iOS availability checks incorrectly target iOS 26.0 instead of iOS 16.0, and recommends adding the API_AVAILABLE attribute to the implementation in FlutterSceneLifeCycle.mm. Additionally, a type mismatch in XCTAssertEqual within the tests should be resolved by comparing the array count to an integer literal instead of a double.

sfshaza2 pushed a commit to flutter/website that referenced this pull request Oct 28, 2026
…change (#14012)

This accompanies this change:
flutter/flutter#195508
On iPhone Duo, when switching between inner/outer screens, we want to
make sure the display info is correctly updated to the dart side.

## Presubmit checklist

- [x] If you are unwilling, or unable, to sign the CLA, even for a
_tiny_, one-word PR, please file an issue instead of a PR.
- [ ] If this PR is not meant to land until a future stable release,
mark it as draft with an explanation.
- [x] This PR follows the [Google Developer Documentation Style
Guidelines](https://developers.google.com/style)—for example, it doesn't
use _i.e._ or _e.g._, and it avoids _I_ and _we_ (first-person
pronouns).
- [ ] This PR uses [semantic line
breaks](https://github.com/dart-lang/site-shared/blob/main/doc/writing-for-dart-and-flutter-websites.md#semantic-line-breaks)
  of 80 characters or fewer.
cbracken
cbracken previously approved these changes Nov 4, 2026

@cbracken cbracken left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Overall LGTM.

The Swift snippet in the PR description should probably have @available(iOS 26.0, *) just for completeness; no idea if anyone looks in there but sometimes we use them as a source for blog posts etc.

The comment on -[FlutterViewController updateEngineDisplays] from #195199 still says layout handles moving between the inner and outer displays. Can you update it here to point at the new check too?

LGTM stamp from a Japanese personal seal

@cbracken cbracken left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Re-LGTM!

@hellohuanlin hellohuanlin added autosubmit Merge PR when tree becomes green via auto submit App CICD Run CI/CD labels Nov 5, 2026
@auto-submit auto-submit Bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Nov 5, 2026
@auto-submit

auto-submit Bot commented Nov 5, 2026

Copy link
Copy Markdown
Contributor

autosubmit label was removed for flutter/flutter/195508, because The base commit of the PR is older than 7 days and can not be merged. Please merge the latest changes from the main into this branch and resubmit the PR.

@auto-submit

auto-submit Bot commented Nov 5, 2026

Copy link
Copy Markdown
Contributor

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

  • The status or check suite Mac_arm64_verify_binaries has failed. Please fix the issues identified (or deflake) before re-applying this label.
  • The status or check suite Tree_analyze has failed. Please fix the issues identified (or deflake) before re-applying this label.

@cbracken

cbracken commented Nov 5, 2026

Copy link
Copy Markdown
Member

LGTM, but looks like presubmit is failing.

Animated GIF of a delivery truck approaching a highway overpass, then failing to meet the height clearance requirement and crashing into it

File an issue then kick off a re-run:

Test Case '-[AccessibilityBridgeTest testAccessibilityMessageAfterDeletion]' started.
2026-11-05 12:12:38.402554-0800 IosUnitTests[21782:131236] [IMPORTANT:flutter/shell/platform/darwin/graphics/FlutterDarwinContextMetalImpeller.mm(45)] Using the Impeller rendering backend (Metal).
=================================================================
Main Thread Checker: UI API called on a background thread: -[UIView initWithFrame:]
PID: 21782, TID: 131564, Thread name: AccessibilityBridgeTest, Queue name: com.apple.root.default-qos.overcommit, QoS: 0
Backtrace:
5   libios_test_flutter.dylib           0x000000010e51be28 _ZN7flutter19AccessibilityBridgeC2EP21FlutterViewControllerPNS_15PlatformViewIOSEP30FlutterPlatformViewsControllerNSt4__fl10unique_ptrINS0_11IosDelegateENS7_14default_deleteIS9_EEEE + 208
6   libios_test_flutter.dylib           0x000000010e51cb44 _ZN7flutter19AccessibilityBridgeC1EP21FlutterViewControllerPNS_15PlatformViewIOSEP30FlutterPlatformViewsControllerNSt4__fl10unique_ptrINS0_11IosDelegateENS7_14default_deleteIS9_EEEE + 96
7   libios_test_flutter.dylib           0x000000010e39f750 _ZNSt4__fl11make_uniqueB8nn210000IN7flutter19AccessibilityBridgeEJDnPNS1_15PlatformViewIOSEDnETnNS_9enable_ifIXntsr8is_arrayIT_EE5valueEiE4typeELi0EEENS_10unique_ptrIS6_NS_14default_deleteIS6_EEEEDpOT0_ + 116
8   libios_test_flutter.dylib           0x000000010e3f9cf4 _ZZ64-[AccessibilityBridgeTest testAccessibilityMessageAfterDeletion]ENK4$_18clEv + 112
9   libios_test_flutter.dylib           0x000000010e3f9c78 _ZNSt4__fl8__invokeB8nn210000IRZ64-[AccessibilityBridgeTest testAccessibilityMessageAfterDeletion]E4$_18JEEEDTclclsr3stdE7declvalIT_EEspclsr3stdE7declvalIT0_EEEEOS3_DpOS4_ + 24
10  libios_test_flutter.dylib           0x000000010e3f9c54 _ZNSt4__fl28__invoke_void_return_wrapperIvLb1EE6__callB8nn210000IJRZ64-[AccessibilityBridgeTest testAccessibilityMessageAfterDeletion]E4$_18EEEvDpOT_ + 24
11  libios_test_flutter.dylib           0x000000010e3f9c30 _ZNSt4__fl10__invoke_rB8nn210000IvJRZ64-[AccessibilityBridgeTest testAccessibilityMessageAfterDeletion]E4$_18EEET_DpOT0_ + 24
12  libios_test_flutter.dylib           0x000000010e3f9c0c _ZNSt4__fl10__function12__alloc_funcIZ64-[AccessibilityBridgeTest testAccessibilityMessageAfterDeletion]E4$_18NS_9allocatorIS2_EEFvvEEclB8nn210000Ev + 24
13  libios_test_flutter.dylib           0x000000010e3f95b4 _ZNSt4__fl10__function6__funcIZ64-[AccessibilityBridgeTest testAccessibilityMessageAfterDeletion]E4$_18NS_9allocatorIS2_EEFvvEEclEv + 28
14  libios_test_flutter.dylib           0x000000010e6bd5c8 _ZNKSt4__fl10__function12__value_funcIFvvEEclB8nn210000Ev + 60
15  libios_test_flutter.dylib           0x000000010e6bd560 _ZNKSt4__fl8functionIFvvEEclEv + 24
16  libios_test_flutter.dylib           0x000000010e83bed8 _ZN3fml15MessageLoopImpl10FlushTasksENS_9FlushTypeE + 160
17  libios_test_flutter.dylib           0x000000010e83bde8 _ZN3fml15MessageLoopImpl18RunExpiredTasksNowEv + 28
18  libios_test_flutter.dylib           0x000000010e85b740 _ZN3fml17MessageLoopDarwin11OnTimerFireEP16__CFRunLoopTimerPS0_ + 36
19  CoreFoundation                      0x0000000180456a68 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 28
20  CoreFoundation                      0x0000000180456740 __CFRunLoopDoTimer + 916
21  CoreFoundation                      0x0000000180455e18 __CFRunLoopDoTimers + 276
22  CoreFoundation                      0x0000000180455030 __CFRunLoopRun + 1756
23  CoreFoundation                      0x000000018044fcec _CFRunLoopRunSpecificWithOptions + 496
24  libios_test_flutter.dylib           0x000000010e85ba9c _ZN3fml17MessageLoopDarwin3RunEv + 284
25  libios_test_flutter.dylib           0x000000010e83bd3c _ZN3fml15MessageLoopImpl5DoRunEv + 60
26  libios_test_flutter.dylib           0x000000010e83af14 _ZN3fml11MessageLoop3RunEv + 28
27  libios_test_flutter.dylib           0x000000010e8568e0 _ZZN3fml6ThreadC1ERKNSt4__fl8functionIFvRKNS0_12ThreadConfigEEEES5_ENK3$_0clEv + 108
28  libios_test_flutter.dylib           0x000000010e856868 _ZNSt4__fl8__invokeB8nn210000IRZN3fml6ThreadC1ERKNS_8functionIFvRKNS2_12ThreadConfigEEEES6_E3$_0JEEEDTclclsr3stdE7declvalIT_EEspclsr3stdE7declvalIT0_EEEEOSD_DpOSE_ + 24
29  libios_test_flutter.dylib           0x000000010e856844 _ZNSt4__fl28__invoke_void_return_wrapperIvLb1EE6__callB8nn210000IJRZN3fml6ThreadC1ERKNS_8functionIFvRKNS4_12ThreadConfigEEEES8_E3$_0EEEvDpOT_ + 24
30  libios_test_flu2026-11-05 12:12:39.003706-0800 IosUnitTests[21782:131564] [reports] Main Thread Checker: UI API called on a background thread: -[UIView initWithFrame:]
PID: 21782, TID: 131564, Thread name: AccessibilityBridgeTest, Queue name: com.apple.root.default-qos.overcommit, QoS: 0
Backtrace:
5   libios_test_flutter.dylib           0x000000010e51be28 _ZN7flutter19AccessibilityBridgeC2EP21FlutterViewControllerPNS_15PlatformViewIOSEP30FlutterPlatformViewsControllerNSt4__fl10unique_ptrINS0_11IosDelegateENS7_14default_deleteIS9_EEEE + 208
6   libios_test_flutter.dylib           0x000000010e51cb44 _ZN7flutter19AccessibilityBridgeC1EP21FlutterViewControllerPNS_15PlatformViewIOSEP30FlutterPlatformViewsControllerNSt4__fl10unique_ptrINS0_11IosDelegateENS7_14default_deleteIS9_EEEE + 96
7   libios_test_flutter.dylib           0x000000010e39f750 _ZNSt4__fl11make_uniqueB8nn210000IN7flutter19AccessibilityBridgeEJDnPNS1_15PlatformViewIOSEDnETnNS_9enable_ifIXntsr8is_arrayIT_EE5valueEiE4typeELi0EEENS_10unique_ptrIS6_NS_14default_deleteIS6_EEEEDpOT0_ + 116
8   libios_test_flutter.dylib           0x000000010e3f9cf4 _ZZ64-[AccessibilityBridgeTest testAccessibilityMessageAfterDeletion]ENK4$_18clEv + 112
9   libios_test_flutter.dylib           0x000000010e3f9c78 _ZNSt4__fl8__invokeB8nn210000IRZ64-[AccessibilityBridgeTest testAccessibilityMessageAfterDeletion]E4$_18JEEEDTclclsr3stdE7declvalIT_EEspclsr3stdE7declvalIT0_EEEEOS3_DpOS4_ + 24
10  libios_test_flutter.dylib           0x000000010e3f9c54 _ZNSt4__fl28__invoke_void_return_wrapperIvLb1EE6__callB8nn210000IJRZ64-[AccessibilityBridgeTest testAccessibilityMessageAfterDeletion]E4$_18EEEvDpOT_ + 24
11  libios_test_flutter.dylib           0x000000010e3f9c30 _ZNSt4__fl10__invoke_rB8nn210000IvJRZ64-[AccessibilityBridgeTest testAccessibilityMessageAfterDeletion]E4$_18EEET_DpOT0_ + 24
12  libios_test_flutter.dylib           0x000000010e3f9c0c _ZNSt4__fl10__function12__alloc_funcIZ64-[AccessibilityBridgeTest testAccessibilityMessageAfterDeletion]E4$_18NS_9allocatorIS2_EEFvvEEclB8nn210000Ev + 24
13  libios_test_flutter.dylib           0x000000010e3f95b4 _ZNSt4__fl10__function6__funcIZ64-[AccessibilityBridgeTest testAccessibilityMessageAfterDeletion]E4$_18NS_9allocatorIS2_EEFvvEEclEv + 28
14  libios_test_flutter.dylib           0x000000010e6bd5c8 _ZNKSt4__fl10__function12__value_funcIFvvEEclB8nn210000Ev + 60
15  libios_test_flutter.dylib           0x000000010e6bd560 _ZNKSt4__fl8functionIFvvEEclEv + 24
16  libios_test_flutter.dylib           0x000000010e83bed8 _ZN3fml15MessageLoopImpl10FlushTasksENS_9FlushTypeE + 160
17  libios_test_flutter.dylib           0x000000010e83bde8 _ZN3fml15MessageLoopImpl18RunExpiredTasksNowEv + 28
18  libios_test_flutter.dylib           0x000000010e85b740 _ZN3fml17MessageLoopDarwin11OnTimerFireEP16__CFRunLoopTimerPS0_ + 36
19  CoreFoundation                      0x0000000180456a68 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 28
20  CoreFoundation                      0x0000000180456740 __CFRunLoopDoTimer + 916
21  CoreFoundation                      0x0000000180455e18 __CFRunLoopDoTimers + 276
22  CoreFoundation                      0x0000000180455030 __CFRunLoopRun + 1756
23  CoreFoundation                      0x000000018044fcec _CFRunLoopRunSpecificWithOptions + 496
24  libios_test_flutter.dylib           0x000000010e85ba9c _ZN3fml17MessageLoopDarwin3RunEv + 284
25  libios_test_flutter.dylib           0x000000010e83bd3c _ZN3fml15MessageLoopImpl5DoRunEv + 60
26  libios_test_flutter.dylib           0x000000010e83af14 _ZN3fml11MessageLoop3RunEv + 28
27  libios_test_flutter.dylib           0x000000010e8568e0 _ZZN3fml6ThreadC1ERKNSt4__fl8functionIFvRKNS0_12ThreadConfigEEEES5_ENK3$_0clEv + 108
28  libios_test_flutter.dylib           0x000000010e856868 _ZNSt4__fl8__invokeB8nn210000IRZN3fml6ThreadC1ERKNS_8functionIFvRKNS2_12ThreadConfigEEEES6_E3$_0JEEEDTclclsr3stdE7declvalIT_EEspclsr3stdE7declvalIT0_EEEEOSD_DpOSE_ + 24
29  libios_test_flutter.dylib           0x000000010e856844 _ZNSt4__fl28__invoke_void_return_wrapperIvLb1EE6__callB8nn210000IJRZN3fml6ThreadC1ERKNS_8functionIFvRKNS4_12ThreadConfigEEEES8_E3$_0EEEvDpOT_ + 24
30  libios_test_flu
2026-11-05 12:12:39.059946-0800 IosUnitTests[21782:131564] [Assert] Modifying properties of a view's layer off the main thread is not allowed: view <UIView: 0x10cf4ca80> with no associated or ancestor view controller; backtrace:
(
	0   UIKitCore                           0x000000018691fcfc -[UIView(UIKitManual) _raiseExceptionForBackgroundThreadLayerPropertyModification] + 652
	1   UIKitCore                           0x0000000186920134 -[UIView(UIKitManual) actionForLayer:forKey:] + 576
	2   QuartzCore                          0x000000018c7dc240 -[CALayer actionForKey:] + 148
	3   QuartzCore                          0x000000018c7e2fcc _ZN2CA5Layer12begin_changeEPNS_11TransactionEjP11objc_objectRS4_ + 204
	4   QuartzCore                          0x000000018c7e2dfc _ZN2CA5Layer7set_bitEjjjbMS0_FvPNS_11TransactionEE + 188
	5   UIKitCore                           0x00000001868e7704 UIViewCommonInitWithFrame + 1380
	6   UIKitCore                           0x00000001868e714c -[UIView initWithFrame:] + 124
	7   libios_test_flutter.dylib           0x000000010e51be28 _ZN7flutter19AccessibilityBridgeC2EP21FlutterViewControllerPNS_15PlatformViewIOSEP30FlutterPlatformViewsControllerNSt4__fl10unique_ptrINS0_11IosDelegateENS7_14default_deleteIS9_EEEE + 208
	8   libios_test_flutter.dylib           0x000000010e51cb44 _ZN7flutter19AccessibilityBridgeC1EP21FlutterViewControllerPNS_15PlatformViewIOSEP30FlutterPlatformViewsControllerNSt4__fl10unique_ptrINS0_11IosDelegateENS7_14default_deleteIS9_EEEE + 96
	9   libios_test_flutter.dylib           0x000000010e39f750 _ZNSt4__fl11make_uniqueB8nn210000IN7flutter19AccessibilityBridgeEJDnPNS1_15PlatformViewIOSEDnETnNS_9enable_ifIXntsr8is_arrayIT_EE5valueEiE4typeELi0EEENS_10unique_ptrIS6_NS_14default_deleteIS6_EEEEDpOT0_ + 116
	10  libios_test_flutter.dylib           0x000000010e3f9cf4 _ZZ64-[AccessibilityBridgeTest testAccessibilityMessageAfterDeletion]ENK4$_18clEv + 112
	11  libios_test_flutter.dylib           0x000000010e3f9c78 _ZNSt4__fl8__invokeB8nn210000IRZ64-[AccessibilityBridgeTest testAccessibilityMessageAfterDeletion]E4$_18JEEEDTclclsr3stdE7declvalIT_EEspclsr3stdE7declvalIT0_EEEEOS3_DpOS4_ + 24
	12  libios_test_flutter.dylib           0x000000010e3f9c54 _ZNSt4__fl28__invoke_void_return_wrapperIvLb1EE6__callB8nn210000IJRZ64-[AccessibilityBridgeTest testAccessibilityMessageAfterDeletion]E4$_18EEEvDpOT_ + 24
	13  libios_test_flutter.dylib           0x000000010e3f9c30 _ZNSt4__fl10__invoke_rB8nn210000IvJRZ64-[AccessibilityBridgeTest testAccessibilityMessageAfterDeletion]E4$_18EEET_DpOT0_ + 24
	14  libios_test_flutter.dylib           0x000000010e3f9c0c _ZNSt4__fl10__function12__alloc_funcIZ64-[AccessibilityBridgeTest testAccessibilityMessageAfterDeletion]E4$_18NS_9allocatorIS2_EEFvvEEclB8nn210000Ev + 24
	15  libios_test_flutter.dylib           0x000000010e3f95b4 _ZNSt4__fl10__function6__funcIZ64-[AccessibilityBridgeTest testAccessibilityMessageAfterDeletion]E4$_18NS_9allocatorIS2_EEFvvEEclEv + 28
	16  libios_test_flutter.dylib           0x000000010e6bd5c8 _ZNKSt4__fl10__function12__value_funcIFvvEEclB8nn210000Ev + 60
	17  libios_test_flutter.dylib           0x000000010e6bd560 _ZNKSt4__fl8functionIFvvEEclEv + 24
	18  libios_test_flutter.dylib           0x000000010e83bed8 _ZN3fml15MessageLoopImpl10FlushTasksENS_9FlushTypeE + 160
	19  libios_test_flutter.dylib           0x000000010e83bde8 _ZN3fml15MessageLoopImpl18RunExpiredTasksNowEv + 28
	20  libios_test_flutter.dylib           0x000000010e85b740 _ZN3fml17MessageLoopDarwin11OnTimerFireEP16__CFRunLoopTimerPS0_ + 36
	21  CoreFoundation                      0x0000000180456a68 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 28
	22  CoreFoundation                      0x0000000180456740 __CFRunLoopDoTimer + 916
	23  CoreFoundation                      0x0000000180455e18 __CFRunLoopDoTimers + 276
	24  CoreFoundation                      0x0000000180455030 __CFRunLoopRun + 1756
	25  CoreFoundation                      0x000000018044fcec _CFRunLoopRunSpecificWithOptions + 496
	26  libios_test_flutter.dylib           0x000000010e85ba9c _ZN3fml17MessageLoopDarwin3RunEv + 284
	27  libios_test_flutter.dylib           0x000000010e83bd3c _ZN3fml15MessageLoopImpl5DoRunEv + 60
	28  libios_test_flutter.dylib           0x000000010e83af14 _ZN3fml11MessageLoop3RunEv + 28
	29  libios_test_flutter.dylib           0x000000010e8568e0 _ZZN3fml6ThreadC1ERKNSt4__fl8functionIFvRKNS0_12ThreadConfigEEEES5_ENK3$_0clEv + 108
	30  libios_test_flutter.dylib           0x000000010e856868 _ZNSt4__fl8__invokeB8nn210000IRZN3fml6ThreadC1ERKNS_8functionIFvRKNS2_12ThreadConfigEEEES6_E3$_0JEEEDTclclsr3stdE7declvalIT_EEspclsr3stdE7declvalIT0_EEEEOSD_DpOSE_ + 24
	31  libios_test_flutter.dylib           0x000000010e856844 _ZNSt4__fl28__invoke_void_return_wrapperIvLb1EE6__callB8nn210000IJRZN3fml6ThreadC1ERKNS_8functionIFvRKNS4_12ThreadConfigEEEES8_E3$_0EEEvDpOT_ + 24
	32  libios_test_flutter.dylib           0x000000010e856820 _ZNSt4__fl10__invoke_rB8nn210000IvJRZN3fml6ThreadC1ERKNS_8functionIFvRKNS2_12ThreadConfigEEEES6_E3$_0EEET_DpOT0_ + 24
	33  libios_test_flutter.dylib           0x000000010e8567fc _ZNSt4__fl10__function12__alloc_funcIZN3fml6ThreadC1ERKNS_8functionIFvRKNS3_12ThreadConfigEEEES7_E3$_0NS_9allocatorISC_EEFvvEEclB8nn210000Ev + 24
	34  libios_test_flutter.dylib           0x000000010e8560e8 _ZNSt4__fl10__function6__funcIZN3fml6ThreadC1ERKNS_8functionIFvRKNS3_12ThreadConfigEEEES7_E3$_0NS_9allocatorISC_EEFvvEEclEv + 28
	35  libios_test_flutter.dylib           0x000000010e6bd5c8 _ZNKSt4__fl10__function12__value_funcIFvvEEclB8nn210000Ev + 60
	36  libios_test_flutter.dylib           0x000000010e6bd560 _ZNKSt4__fl8functionIFvvEEclEv + 24
	37  libios_test_flutter.dylib           0x000000010e855574 _ZZN3fml12ThreadHandleC1EONSt4__fl8functionIFvvEEEENK3$_0clEPv + 48
	38  libios_test_flutter.dylib           0x000000010e855538 _ZZN3fml12ThreadHandleC1EONSt4__fl8functionIFvvEEEEN3$_08__invokeEPv + 28
	39  libsystem_pthread.dylib             0x000000010551e63c _pthread_start + 104
	40  libsystem_pthread.dylib             0x0000000105519a34 thread_start + 8
)
2026-11-05 12:12:39.080576-0800 IosUnitTests[21782:131564] [Assert] Unsupported layout off the main thread for <UIView: 0x10cf4ca80> with no associated or ancestor view controller
Test Case '-[AccessibilityBridgeTest testAccessibilityMessageAfterDeletion]' passed (0.736 seconds).
Test Case '-[AccessibilityBridgeTest testAccessibilityObjectDidBecomeFocused]' started.
2026-11-05 12:12:39.125526-0800 IosUnitTests[21782:131236] [IMPORTANT:flutter/shell/platform/darwin/graphics/FlutterDarwinContextMetalImpeller.mm(45)] Using the Impeller rendering backend (Metal).
2026-11-05 12:12:39.193939-0800 IosUnitTests[21782:131614] [Assert] Modifying properties of a view's layer off the main thread is not allowed: view <UIView: 0x10d40e300> with no associated or ancestor view controller; backtrace:
(
	0   UIKitCore                           0x000000018691fcfc -[UIView(UIKitManual) _raiseExceptionForBackgroundThreadLayerPropertyModification] + 652
	1   UIKitCore                           0x0000000186920134 -[UIView(UIKitManual) actionForLayer:forKey:] + 576
	2   QuartzCore                          0x000000018c7dc240 -[CALayer actionForKey:] + 148
	3   QuartzCore                          0x000000018c7e2fcc _ZN2CA5Layer12begin_changeEPNS_11TransactionEjP11objc_objectRS4_ + 204
	4   QuartzCore                          0x000000018c7e2dfc _ZN2CA5Layer7set_bitEjjjbMS0_FvPNS_11TransactionEE + 188
	5   UIKitCore                           0x00000001868e7704 UIViewCommonInitWithFrame + 1380
	6   UIKitCore                           0x00000001868e714c -[UIView initWithFrame:] + 124
	7   libios_test_flutter.dylib           0x000000010e51be28 _ZN7flutter19AccessibilityBridgeC2EP21FlutterViewControllerPNS_15PlatformViewIOSEP30FlutterPlatformViewsControllerNSt4__fl10unique_ptrINS0_11IosDelegateENS7_14default_deleteIS9_EEEE + 208
	8   libios_test_flutter.dylib           0x000000010e51cb44 _ZN7flutter19AccessibilityBridgeC1EP21FlutterViewControllerPNS_15PlatformViewIOSEP30FlutterPlatformViewsControllerNSt4__fl10unique_ptrINS0_11IosDelegateENS7_14default_deleteIS9_EEEE + 96
	9   libios_test_flutter.dylib           0x000000010e39f750 _ZNSt4__fl11make_uniqueB8nn210000IN7flutter19AccessibilityBridgeEJDnPNS1_15PlatformViewIOSEDnETnNS_9enable_ifIXntsr8is_arrayIT_EE5valueEiE4typeELi0EEENS_10unique_ptrIS6_NS_14default_deleteIS6_EEEEDpOT0_ + 116
	10  libios_test_flutter.dylib           0x000000010e3edcac _ZZ66-[AccessibilityBridgeTest testAccessibilityObjectDidBecomeFocused]ENK3$_8clEv + 116
	11  libios_test_flutter.dylib           0x000000010e3edc2c _ZNSt4__fl8__invokeB8nn210000IRZ66-[AccessibilityBridgeTest testAccessibilityObjectDidBecomeFocused]E3$_8JEEEDTclclsr3stdE7declvalIT_EEspclsr3stdE7declvalIT0_EEEEOS3_DpOS4_ + 24
	12  libios_test_flutter.dylib           0x000000010e3edc08 _ZNSt4__fl28__invoke_void_return_wrapperIvLb1EE6__callB8nn210000IJRZ66-[AccessibilityBridgeTest testAccessibilityObjectDidBecomeFocused]E3$_8EEEvDpOT_ + 24
	13  libios_test_flutter.dylib           0x000000010e3edbe4 _ZNSt4__fl10__invoke_rB8nn210000IvJRZ66-[AccessibilityBridgeTest testAccessibilityObjectDidBecomeFocused]E3$_8EEET_DpOT0_ + 24
	14  libios_test_flutter.dylib           0x000000010e3edbc0 _ZNSt4__fl10__function12__alloc_funcIZ66-[AccessibilityBridgeTest testAccessibilityObjectDidBecomeFocused]E3$_8NS_9allocatorIS2_EEFvvEEclB8nn210000Ev + 24
	15  libios_test_flutter.dylib           0x000000010e3ed568 _ZNSt4__fl10__function6__funcIZ66-[AccessibilityBridgeTest testAccessibilityObjectDidBecomeFocused]E3$_8NS_9allocatorIS2_EEFvvEEclEv + 28
	16  libios_test_flutter.dylib           0x000000010e6bd5c8 _ZNKSt4__fl10__function12__value_funcIFvvEEclB8nn210000Ev + 60
	17  libios_test_flutter.dylib           0x000000010e6bd560 _ZNKSt4__fl8functionIFvvEEclEv + 24
	18  libios_test_flutter.dylib           0x000000010e83bed8 _ZN3fml15MessageLoopImpl10FlushTasksENS_9FlushTypeE + 160
	19  libios_test_flutter.dylib           0x000000010e83bde8 _ZN3fml15MessageLoopImpl18RunExpiredTasksNowEv + 28
	20  libios_test_flutter.dylib           0x000000010e85b740 _ZN3fml17MessageLoopDarwin11OnTimerFireEP16__CFRunLoopTimerPS0_ + 36
	21  CoreFoundation                      0x0000000180456a68 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 28
	22  CoreFoundation                      0x0000000180456740 __CFRunLoopDoTimer + 916
	23  CoreFoundation                      0x0000000180455e18 __CFRunLoopDoTimers + 276
	24  CoreFoundation                      0x0000000180455030 __CFRunLoopRun + 1756
	25  CoreFoundation                      0x000000018044fcec _CFRunLoopRunSpecificWithOptions + 496
	26  libios_test_flutter.dylib           0x000000010e85ba9c _ZN3fml17MessageLoopDarwin3RunEv + 284
	27  libios_test_flutter.dylib           0x000000010e83bd3c _ZN3fml15MessageLoopImpl5DoRunEv + 60
	28  libios_test_flutter.dylib           0x000000010e83af14 _ZN3fml11MessageLoop3RunEv + 28
	29  libios_test_flutter.dylib           0x000000010e8568e0 _ZZN3fml6ThreadC1ERKNSt4__fl8functionIFvRKNS0_12ThreadConfigEEEES5_ENK3$_0clEv + 108
	30  libios_test_flutter.dylib           0x000000010e856868 _ZNSt4__fl8__invokeB8nn210000IRZN3fml6ThreadC1ERKNS_8functionIFvRKNS2_12ThreadConfigEEEES6_E3$_0JEEEDTclclsr3stdE7declvalIT_EEspclsr3stdE7declvalIT0_EEEEOSD_DpOSE_ + 24
	31  libios_test_flutter.dylib           0x000000010e856844 _ZNSt4__fl28__invoke_void_return_wrapperIvLb1EE6__callB8nn210000IJRZN3fml6ThreadC1ERKNS_8functionIFvRKNS4_12ThreadConfigEEEES8_E3$_0EEEvDpOT_ + 24
	32  libios_test_flutter.dylib           0x000000010e856820 _ZNSt4__fl10__invoke_rB8nn210000IvJRZN3fml6ThreadC1ERKNS_8functionIFvRKNS2_12ThreadConfigEEEES6_E3$_0EEET_DpOT0_ + 24
	33  libios_test_flutter.dylib           0x000000010e8567fc _ZNSt4__fl10__function12__alloc_funcIZN3fml6ThreadC1ERKNS_8functionIFvRKNS3_12ThreadConfigEEEES7_E3$_0NS_9allocatorISC_EEFvvEEclB8nn210000Ev + 24
	34  libios_test_flutter.dylib           0x000000010e8560e8 _ZNSt4__fl10__function6__funcIZN3fml6ThreadC1ERKNS_8functionIFvRKNS3_12ThreadConfigEEEES7_E3$_0NS_9allocatorISC_EEFvvEEclEv + 28
	35  libios_test_flutter.dylib           0x000000010e6bd5c8 _ZNKSt4__fl10__function12__value_funcIFvvEEclB8nn210000Ev + 60
	36  libios_test_flutter.dylib           0x000000010e6bd560 _ZNKSt4__fl8functionIFvvEEclEv + 24
	37  libios_test_flutter.dylib           0x000000010e855574 _ZZN3fml12ThreadHandleC1EONSt4__fl8functionIFvvEEEENK3$_0clEPv + 48
	38  libios_test_flutter.dylib           0x000000010e855538 _ZZN3fml12ThreadHandleC1EONSt4__fl8functionIFvvEEEEN3$_08__invokeEPv + 28
	39  libsystem_pthread.dylib             0x000000010551e63c _pthread_start + 104
	40  libsystem_pthread.dylib             0x0000000105519a34 thread_start + 8
)
2026-11-05 12:12:39.325144-0800 IosUnitTests[21782:131614] [Assert] Unsupported layout off the main thread for <UIView: 0x10d40e300> with no associated or ancestor view controller
Test Case '-[AccessibilityBridgeTest testAccessibilityObjectDidBecomeFocused]' passed (0.233 seconds).
Test Case '-[AccessibilityBridgeTest testAnnouncesIgnoresLayoutChangeWhenModal]' started.
2026-11-05 12:12:39.360398-0800 IosUnitTests[21782:131236] [IMPORTANT:flutter/shell/platform/darwin/graphics/FlutterDarwinContextMetalImpeller.mm(45)] Using the Impeller rendering backend (Metal).
Test Case '-[AccessibilityBridgeTest testAnnouncesIgnoresLayoutChangeWhenModal]' passed (0.048 seconds).
Test Case '-[AccessibilityBridgeTest testAnnouncesIgnoresRouteChangesWhenModal]' started.
2026-11-05 12:12:39.408975-0800 IosUnitTests[21782:131236] [IMPORTANT:flutter/shell/platform/darwin/graphics/FlutterDarwinContextMetalImpeller.mm(45)] Using the Impeller rendering backend (Metal).
Test Case '-[AccessibilityBridgeTest testAnnouncesIgnoresRouteChangesWhenModal]' passed (0.046 seconds).
Test Case '-[AccessibilityBridgeTest testAnnouncesIgnoresScrollChangeWhenModal]' started.

@LouiseHsu LouiseHsu added the autosubmit Merge PR when tree becomes green via auto submit App label Nov 12, 2026
@auto-submit
auto-submit Bot added this pull request to the merge queue Nov 12, 2026
Merged via the queue into flutter:master with commit e0d804f Nov 13, 2026
21 checks passed
@flutter-dashboard flutter-dashboard Bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Nov 13, 2026
auto-submit Bot pushed a commit to flutter/packages that referenced this pull request Nov 13, 2026
…13653)

Manual roll Flutter from 9c427b5d7b1c to 1b9585481095 (32 revisions)

Manual roll requested by [email protected]

flutter/flutter@9c427b5...1b95854

2026-11-13 [email protected] Roll pub packages (flutter/flutter#196541)
2026-11-13 [email protected] Do not route PRs for review without cla, convert to draft (flutter/flutter#196341)
2026-11-13 [email protected] Roll Skia from d87a6c04da74 to 11f46cfe8838 (13 revisions) (flutter/flutter#196533)
2026-11-13 [email protected] [flutter_tools, flutter_test] Deprecate --experimental-faster-testing (flutter/flutter#196123)
2026-11-13 [email protected] [flutter_tools] Handle RPCError in ScreenshotCommand.runSkia (flutter/flutter#196132)
2026-11-13 [email protected] Roll Dart SDK from a8b961fd48bb to c91e8b6674e2 (2 revisions) (flutter/flutter#196502)
2026-11-13 [email protected] Roll Skia from 0c5ce4960cef to d87a6c04da74 (12 revisions) (flutter/flutter#196497)
2026-11-13 [email protected] Don't call `skia_image()`  for raster-owned images in `DlImage::Equals` (flutter/flutter#196473)
2026-11-13 [email protected] [flutter_tools] Require FlutterCommandRunner DI fields and extract findCommandName (flutter/flutter#196331)
2026-11-13 [email protected] [web] Unify ui.Canvas behind a shared EngineCanvas frontend (flutter/flutter#196348)
2026-11-13 [email protected] Link to MediaQuery.displayFeaturesOf from DisplayFeatures (flutter/flutter#193728)
2026-11-13 [email protected] Removes reference to unnecessary ensureSemantics call in doc (flutter/flutter#195831)
2026-11-13 [email protected] [flutter_tools] Register trackWidgetCreation in AppleBuildOptionsBundle (flutter/flutter#196078)
2026-11-12 [email protected] [Android] Skip the HardwareBuffer defect fallback for platform views (flutter/flutter#193441)
2026-11-12 [email protected] Fix supports_decal check in framebuffer_blend.frag (flutter/flutter#196227)
2026-11-12 [email protected] [ios] Update the screen in didUpdateEffectiveGeometry (flutter/flutter#195508)
2026-11-12 [email protected] [flutter_tools] Add `Cache-Control` headers for web test assets (flutter/flutter#196414)
2026-11-12 [email protected] Roll Skia from 3b71ec08218f to 0c5ce4960cef (16 revisions) (flutter/flutter#196472)
2026-11-12 [email protected] [web] Render bounded ImageFilter.blur on wimp (flutter/flutter#196081)
2026-11-12 [email protected] Roll Dart SDK from 69567bd3c427 to a8b961fd48bb (2 revisions) (flutter/flutter#196464)
2026-11-12 [email protected] [engine] Release the Skia OpenGL resource context on shutdown (flutter/flutter#193592)
2026-11-12 [email protected] [web] Fix decoding of still AVIF images on Chrome (flutter/flutter#195958)
2026-11-12 [email protected] Gate SurfaceControl context setting on API 34+ (flutter/flutter#196394)
2026-11-12 [email protected] [flutter_tools] Only pass on a valid root tool in DASH__TOOL (flutter/flutter#196228)
2026-11-12 [email protected] Support GL_TEXTURE_EXTERNAL_OES embedder textures in Impeller (flutter/flutter#195857)
2026-11-12 [email protected] Stop building linux/wasm_release in local_engine_builds (flutter/flutter#196345)
2026-11-12 [email protected] Split flame out of Linux customer_testing (flutter/flutter#196347)
2026-11-12 Jiwon Lee [Windows] Fix Space input after Alt+Space with previous Microsoft IME (flutter/flutter#192105)
2026-11-12 [email protected] [flutter_tools] Add ToolExtensionException, exit() guard, graceful shutdown, and base modifiers (flutter/flutter#195908)
2026-11-12 [email protected] Roll Packages from 653628e to 14f9933 (9 revisions) (flutter/flutter#196450)
2026-11-12 [email protected] Roll Dart SDK from e5add7a25b32 to 69567bd3c427 (2 revisions) (flutter/flutter#196437)
2026-11-12 [email protected] Roll Skia from 9aa2513a4ac9 to 3b71ec08218f (1 revision) (flutter/flutter#196436)

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

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

[iPhone Duo] Make sure PlatformDispatcher.instance.displays is correct when open/close iPhone Duo

3 participants