Repository navigation
Overlays close immediately after opening on iPadOS 26.1 #177992
Description
Activity
- changed the title
[-]Scaffold's endDrawer closes automatically on iPadOS 26.1[/-][+]Scaffold endDrawer closes immediately after opening on iPadOS 26.1[/+]on Nov 4, 2025 I don't know if it's related, but since iOS 26.1, on physical iPads only (not iPhone), all overlays (PopupMenu, Dialog, BottomSheet) randomly dismiss themselves.
Reacted by Dmytro Turskyi, xunhuaref, Jannik, Tobias Marschall, Florian Marschall, Aulig, Cristian de Mellos, Saif Addin, Victor Uvarov, GoldenSoju and 3 more- addedin triagePresently being triaged by the triage teamPresently being triaged by the triage team
on Nov 5, 2025 @johnvuko thanks for the detailed report. Seeing the same behaviour with latest SDK versions on iPad OS 26.1. It is working fine on iPad OS 26.0.
I do not have a physical iPad. Issue is replicable on simulators as well.
stable : 3.35.7 master : 3.38.0-1.0.pre-428Screen.Recording.2025-11-05.at.1.30.56.PM.mov
Reacted by Dmytro Turskyi, Cristian de Mellos, Victor Uvarov, Riko-Neko, AymanElOuariachi, KoheiKanagu, 권기현 and Htut Win Latt- addedplatform-iosiOS applications specificallyiOS applications specificallye: OS-version specificAffects only some versions of the relevant operating systemAffects only some versions of the relevant operating systemteam-iosOwned by iOS platform teamOwned by iOS platform teamhas reproducible stepsThe issue has been confirmed reproducible and is ready to work onThe issue has been confirmed reproducible and is ready to work onfound in release: 3.35Found to occur in 3.35Found to occur in 3.35found in release: 3.38Found to occur in 3.38Found to occur in 3.38frameworkflutter/packages/flutter repository. See also f: labels.flutter/packages/flutter repository. See also f: labels.engineflutter/engine related. See also e: labels.flutter/engine related. See also e: labels.p: material_uimaterial_ui package in flutter/packagesmaterial_ui package in flutter/packagese: device-specificOnly manifests on certain devicesOnly manifests on certain devicesand removedin triagePresently being triaged by the triage teamPresently being triaged by the triage team
on Nov 5, 2025 65 remaining items
- added a commit that references this issue
on Feb 20, 2026 Currently , I solved this issue using the following code. If any one want's to use it as a temp solution. Generate one common file and load all your dialog from here so in future easy to fix for next change. Also you can add this only apply for ios based on your requirements.
popupInitializer(Widget child) async { var result = await Navigator.of(context).push( PageRouteBuilder( opaque: false, barrierDismissible: true, transitionDuration: const Duration(milliseconds: 200), reverseTransitionDuration: const Duration(milliseconds: 150), pageBuilder: (pageContext, __, ___) { return Container( color: Colors.black54, child: SafeArea( child: GestureDetector( onTap: () { Navigator.pop(pageContext); }, behavior: HitTestBehavior.opaque, child: widget, ), ), ); }, transitionsBuilder: (buildContext, animation, secondaryAnimation, child) { return FadeTransition(opacity: animation, child: child); }, ), ); }- added 3 commits that reference this issue
on Feb 20, 2026 @LongCatIsLooong @jmagman Is this fix included in any stable version?
I think the issue in iPadOS 26.x is that on tapping a button, say top left menu button, it registers 2 taps instead of 1.
As a result, if there's ashowModalBottomSheet, it gets dismissed immediately as the second tap is registered outside of the ModalBottomSheet. After an App review, I had to make isisDismissible: false, which is not ideal UX-wise.I realised this when in the next review, they pointed out how the top menu gets selected instantly when the
Draweropens. This confirms my 2 taps theory.This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of
flutter doctor -vand a minimal reproduction of the issue.- locked as resolved and limited conversation to collaborators
on Mar 14, 2026 - added a commit that references this issue
on Jun 12, 2026 - added a commit that references this issue
on Sep 28, 2026
Steps to reproduce
Expected results
The end drawer should remain open until the user actively dismisses it.
Actual results
On iPadOS 26.1, the end drawer closes by itself just after opening.
On older iPadOS versions, including 26.0, it behaves correctly and stays open until dismissed.
Code sample
Code sample
Screenshots or Video
Screenshots / Video demonstration
Logs
Logs
Flutter Doctor output
Doctor output