Skip to content

[web]: No back/forward gesture support on iOS and MacOS browsers #76478

Open
@PeterKnego

Description

@PeterKnego

I'm testing Navigator 2.0 functionality for a web apps, as described here: https://flutter.dev/docs/development/ui/navigation
The example I'm trying is the one described in the blog post. Here is the code. I also tried my own examples and other flutter-web demos on the web with the same result.
Also this official Flutter Animation web demo, has full PWA history support via back button, but back gesture does not work.

The problem: flutter web apps do not have support for back/forward gesture (swipe right/left from edge) that is normally available on all web pages in all MacOS and iOS browsers (Safari, Chrome, Firefox). History navigation works as intended if back/forward button is used, just the back/forward gesture does not work. It seems that the flutter web by default consumes all gesture events and does not propagate them to browser.

Platform: the problem occurs on all MacOS browsers: Safari, Chrome, Firefox. It also occurs on iOS (iPad) in Safari browser.

How is it expected to work: flutter web apps run in MacOS & iOS browsers should have the default behavior as all other web pages or web apps do: have beck/forward gestures available and the app navigation (history API) should honor the back/forward gesture the same as it does with the back/forward buttons.

Activity

changed the title [-][web]: No back&forward gesture support on iOS and MacOS browsers[/-] [+][web]: No back/forward gesture support on iOS and MacOS browsers[/+] on Feb 21, 2021
TahaTesser

TahaTesser commented on Feb 22, 2021

@TahaTesser
Member

Hi @PeterKnego
Back gesture works on Flutter web, not sure about forward gesture

Screen.Recording.2021-02-22.at.2.12.15.PM.mov

Can you please provide a demo of this behavior that works as intended compare to Flutter web?
Thank you

added
waiting for customer responseThe Flutter team cannot make further progress on this issue until the original reporter responds
on Feb 22, 2021
PeterKnego

PeterKnego commented on Feb 22, 2021

@PeterKnego
Author

Ahh, I see. The feature works as it is re-implemented inside Flutter using default system gesture: tap-hold-swipe. But on MacOS and iOS, most user use two-finger swipe (no-tap or press) to get back/forward between pages, which does not seem to be implemented.

Screen.Recording.2021-02-22.at.10.14.55.mov
removed
waiting for customer responseThe Flutter team cannot make further progress on this issue until the original reporter responds
on Feb 22, 2021
added
f: gesturesflutter/packages/flutter/gestures repository.
f: routesNavigator, Router, and related APIs.
frameworkflutter/packages/flutter repository. See also f: labels.
platform-iosiOS applications specifically
platform-macBuilding on or for macOS specifically
platform-webWeb applications specifically
c: proposalA detailed proposal for a change to Flutter
c: new featureNothing broken; request for a new capability
and removed
in triagePresently being triaged by the triage team
on Feb 23, 2021

35 remaining items

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Issues that are less important to the Flutter projectc: new featureNothing broken; request for a new capabilityc: proposalA detailed proposal for a change to Flutterf: gesturesflutter/packages/flutter/gestures repository.f: routesNavigator, Router, and related APIs.frameworkflutter/packages/flutter repository. See also f: labels.platform-webWeb applications specificallyteam-webOwned by Web platform teamtriaged-webTriaged by Web platform team

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @yjbanov@PeterKnego@JoydS@Hixie@tomgilder

        Issue actions

          [web]: No back/forward gesture support on iOS and MacOS browsers · Issue #76478 · flutter/flutter