Skip to content

Conversation

PrimaelQuemerais
Copy link
Contributor

@PrimaelQuemerais PrimaelQuemerais commented May 19, 2025

Fixes #169061
Expands on #155297

This PR fixes the issue where TapRegion with consumeOutsideTaps enabled would consume taps even after navigating to a different page.

Pre-launch Checklist

  • I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
  • I read the [Tree Hygiene] wiki page, which explains my responsibilities.
  • I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
  • I signed the [CLA].
  • I listed at least one issue that this PR fixes in the description above.
  • I updated/added relevant documentation (doc comments with ///).
  • I added new tests to check the change I am making, or this PR is [test-exempt].
  • I followed the [breaking change policy] and added [Data Driven Fixes] where supported.
  • All existing and new tests are passing.

@flutter-dashboard
Copy link

It looks like this pull request may not have tests. Please make sure to add tests or get an explicit test exemption before merging.

If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix?

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing.If you believe this PR qualifies for a test exemption, contact "@test-exemption-reviewer" in the #hackers channel in Discord (don't just cc them here, they won't see it!). The test exemption team is a small volunteer group, so all reviewers should feel empowered to ask for tests, without delegating that responsibility entirely to the test exemption group.

@github-actions github-actions bot added the framework flutter/packages/flutter repository. See also f: labels. label May 19, 2025
Copy link
Contributor

@justinmc justinmc left a comment

Choose a reason for hiding this comment

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

@PrimaelQuemerais Can you add a test for this?

@@ -480,7 +480,7 @@ class TapRegion extends SingleChildRenderObjectWidget {
return RenderTapRegion(
registry: TapRegionRegistry.maybeOf(context),
enabled: enabled,
consumeOutsideTaps: consumeOutsideTaps,
consumeOutsideTaps: isCurrent && consumeOutsideTaps,
Copy link
Contributor

Choose a reason for hiding this comment

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

@gspencergoog Do you know if this is a reasonable solution to TapRegion listening to taps outside of its route?

@Piinks Piinks requested a review from justinmc June 18, 2025 18:29
Copy link
Contributor

@justinmc justinmc left a comment

Choose a reason for hiding this comment

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

LGTM as this is along the same lines as #155297. FYI @chunhtai @Mairramer .

@@ -1177,4 +1177,69 @@ void main() {
expect(count1, 1); // tapRegion1 should respond.
expect(count2, 1); // tapRegion2 should not respond anymore.
});

// Regression test for the consumeOutsideTaps issue when navigating between pages
Copy link
Contributor

Choose a reason for hiding this comment

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

Just leave the GitHub URL: "Regression test for #169061."


await tester.pumpAndSettle();

// Navigate to the second page
Copy link
Contributor

Choose a reason for hiding this comment

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

Nit: Period at the end of the sentence here and below.

true,
reason: 'Button tap was not consumed by a TapRegion on a non-current route',
);
});
Copy link
Contributor

Choose a reason for hiding this comment

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

Confirmed that this test fails on master 👍

Copy link
Contributor

@chunhtai chunhtai left a comment

Choose a reason for hiding this comment

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

LGTM

@justinmc justinmc added the autosubmit Merge PR when tree becomes green via auto submit App label Jul 8, 2025
@auto-submit auto-submit bot added this pull request to the merge queue Jul 8, 2025
Merged via the queue into flutter:master with commit ae3823c Jul 8, 2025
76 checks passed
@flutter-dashboard flutter-dashboard bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Jul 8, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jul 9, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jul 9, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jul 9, 2025
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Jul 9, 2025
flutter/flutter@adffe24...ac12f66

2025-07-09 engine-flutter-autoroll@skia.org Roll Packages from cba2e90 to 4a231ae (5 revisions) (flutter/flutter#171879)
2025-07-09 ahmedsameha1@gmail.com Replace [FinderBase] with [Finder] in the documentation of Matchers (flutter/flutter#168279)
2025-07-09 mdebbar@google.com Revert "Mark web_long_running_tests_2_5 as bringup" (flutter/flutter#171872)
2025-07-09 bruno.leroux@gmail.com Apply normalization to TimePickerThemeData.inputDecorationTheme (flutter/flutter#171584)
2025-07-09 bruno.leroux@gmail.com Fix InputDecorationThemeData.activeIndicatorBorder is not applied (flutter/flutter#171764)
2025-07-09 robert.ancell@canonical.com Fix multi-view GL rendering not working since software rendering was added (flutter/flutter#171409)
2025-07-09 fluttergithubbot@gmail.com Marks Linux_android_emu android_engine_vulkan_tests to be unflaky (flutter/flutter#171141)
2025-07-08 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from AinHuT0vgOelA1g7_... to 0-xqmXWc4cXzw3tfe... (flutter/flutter#171823)
2025-07-08 fluttergithubbot@gmail.com Marks Linux_android_emu android_display_cutout to be unflaky (flutter/flutter#171140)
2025-07-08 1063596+reidbaker@users.noreply.github.com [Documentation] When updating kgp minimum document additional changes that are required (flutter/flutter#171819)
2025-07-08 fluttergithubbot@gmail.com Marks Linux_android_emu android_engine_opengles_tests to be unflaky (flutter/flutter#171142)
2025-07-08 biggs0125@gmail.com Add support for running dart2wasm in dry run mode on js compilations (flutter/flutter#171682)
2025-07-08 matanlurey@users.noreply.github.com Remove now duplicate un-forward ports for Android (flutter/flutter#171473)
2025-07-08 kjlubick@users.noreply.github.com [skia] Update usage of removed gn flag (flutter/flutter#171800)
2025-07-08 mdebbar@google.com [web] Disable auto-formatting for the stack_trace.dart test file (flutter/flutter#171801)
2025-07-08 1063596+reidbaker@users.noreply.github.com Bump warn and error versions of agp, kotlin and gradle versions in preparation for gradle 9 (flutter/flutter#171776)
2025-07-08 63253361+Phantom-101@users.noreply.github.com Removed string keys (flutter/flutter#171293)
2025-07-08 32538273+ValentinVignal@users.noreply.github.com Add `radioSide` to `RadioListTile` (flutter/flutter#171318)
2025-07-08 engine-flutter-autoroll@skia.org Roll Fuchsia Test Scripts from ZpnML-jis0gVIvtx5... to MnFlN7VWM_7h7EmBV... (flutter/flutter#171787)
2025-07-08 matanlurey@users.noreply.github.com Add/use `addMachineOutputFlag`/`outputsMachineFormat` instead of strings (flutter/flutter#171459)
2025-07-08 36861262+QuncCccccc@users.noreply.github.com Update translation from console (flutter/flutter#171556)
2025-07-08 bkonyi@google.com [ Tool ] Support upgrading to a new Flutter version pointing to the same revision as a previous version (flutter/flutter#171783)
2025-07-08 matej.knopp@gmail.com Multi-window support (engine) (flutter/flutter#168728)
2025-07-08 34269530+PrimaelQuemerais@users.noreply.github.com Fixes an issue where TapRegion would consume taps regardless of navigation state (flutter/flutter#169067)
2025-07-08 rmolivares@renzo-olivares.dev SliverSemantics (flutter/flutter#167300)
2025-07-08 engine-flutter-autoroll@skia.org Roll Skia from e159882c6ce0 to 0fef076beec3 (3 revisions) (flutter/flutter#171779)
2025-07-08 mdebbar@google.com Run hot_restart_web_amd_test.dart on Mac/Windows (flutter/flutter#171281)
2025-07-08 engine-flutter-autoroll@skia.org Roll Packages from 2c52f24 to cba2e90 (2 revisions) (flutter/flutter#171775)

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 louisehsu@google.com,stuartmorgan@google.com 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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
mboetger pushed a commit to mboetger/flutter that referenced this pull request Jul 9, 2025
…ation state (flutter#169067)

Fixes flutter#169061
Expands on flutter#155297

This PR fixes the issue where TapRegion with consumeOutsideTaps enabled
would consume taps even after navigating to a different page.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [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.
mboetger pushed a commit to mboetger/flutter that referenced this pull request Jul 21, 2025
…ation state (flutter#169067)

Fixes flutter#169061
Expands on flutter#155297

This PR fixes the issue where TapRegion with consumeOutsideTaps enabled
would consume taps even after navigating to a different page.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [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.
azatech pushed a commit to azatech/flutter that referenced this pull request Jul 28, 2025
…ation state (flutter#169067)

Fixes flutter#169061
Expands on flutter#155297

This PR fixes the issue where TapRegion with consumeOutsideTaps enabled
would consume taps even after navigating to a different page.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [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.
vashworth pushed a commit to vashworth/packages that referenced this pull request Jul 30, 2025
…r#9584)

flutter/flutter@adffe24...ac12f66

2025-07-09 engine-flutter-autoroll@skia.org Roll Packages from cba2e90 to 4a231ae (5 revisions) (flutter/flutter#171879)
2025-07-09 ahmedsameha1@gmail.com Replace [FinderBase] with [Finder] in the documentation of Matchers (flutter/flutter#168279)
2025-07-09 mdebbar@google.com Revert "Mark web_long_running_tests_2_5 as bringup" (flutter/flutter#171872)
2025-07-09 bruno.leroux@gmail.com Apply normalization to TimePickerThemeData.inputDecorationTheme (flutter/flutter#171584)
2025-07-09 bruno.leroux@gmail.com Fix InputDecorationThemeData.activeIndicatorBorder is not applied (flutter/flutter#171764)
2025-07-09 robert.ancell@canonical.com Fix multi-view GL rendering not working since software rendering was added (flutter/flutter#171409)
2025-07-09 fluttergithubbot@gmail.com Marks Linux_android_emu android_engine_vulkan_tests to be unflaky (flutter/flutter#171141)
2025-07-08 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from AinHuT0vgOelA1g7_... to 0-xqmXWc4cXzw3tfe... (flutter/flutter#171823)
2025-07-08 fluttergithubbot@gmail.com Marks Linux_android_emu android_display_cutout to be unflaky (flutter/flutter#171140)
2025-07-08 1063596+reidbaker@users.noreply.github.com [Documentation] When updating kgp minimum document additional changes that are required (flutter/flutter#171819)
2025-07-08 fluttergithubbot@gmail.com Marks Linux_android_emu android_engine_opengles_tests to be unflaky (flutter/flutter#171142)
2025-07-08 biggs0125@gmail.com Add support for running dart2wasm in dry run mode on js compilations (flutter/flutter#171682)
2025-07-08 matanlurey@users.noreply.github.com Remove now duplicate un-forward ports for Android (flutter/flutter#171473)
2025-07-08 kjlubick@users.noreply.github.com [skia] Update usage of removed gn flag (flutter/flutter#171800)
2025-07-08 mdebbar@google.com [web] Disable auto-formatting for the stack_trace.dart test file (flutter/flutter#171801)
2025-07-08 1063596+reidbaker@users.noreply.github.com Bump warn and error versions of agp, kotlin and gradle versions in preparation for gradle 9 (flutter/flutter#171776)
2025-07-08 63253361+Phantom-101@users.noreply.github.com Removed string keys (flutter/flutter#171293)
2025-07-08 32538273+ValentinVignal@users.noreply.github.com Add `radioSide` to `RadioListTile` (flutter/flutter#171318)
2025-07-08 engine-flutter-autoroll@skia.org Roll Fuchsia Test Scripts from ZpnML-jis0gVIvtx5... to MnFlN7VWM_7h7EmBV... (flutter/flutter#171787)
2025-07-08 matanlurey@users.noreply.github.com Add/use `addMachineOutputFlag`/`outputsMachineFormat` instead of strings (flutter/flutter#171459)
2025-07-08 36861262+QuncCccccc@users.noreply.github.com Update translation from console (flutter/flutter#171556)
2025-07-08 bkonyi@google.com [ Tool ] Support upgrading to a new Flutter version pointing to the same revision as a previous version (flutter/flutter#171783)
2025-07-08 matej.knopp@gmail.com Multi-window support (engine) (flutter/flutter#168728)
2025-07-08 34269530+PrimaelQuemerais@users.noreply.github.com Fixes an issue where TapRegion would consume taps regardless of navigation state (flutter/flutter#169067)
2025-07-08 rmolivares@renzo-olivares.dev SliverSemantics (flutter/flutter#167300)
2025-07-08 engine-flutter-autoroll@skia.org Roll Skia from e159882c6ce0 to 0fef076beec3 (3 revisions) (flutter/flutter#171779)
2025-07-08 mdebbar@google.com Run hot_restart_web_amd_test.dart on Mac/Windows (flutter/flutter#171281)
2025-07-08 engine-flutter-autoroll@skia.org Roll Packages from 2c52f24 to cba2e90 (2 revisions) (flutter/flutter#171775)

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 louisehsu@google.com,stuartmorgan@google.com 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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 14, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 14, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 15, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 15, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 16, 2025
ksokolovskyi pushed a commit to ksokolovskyi/flutter that referenced this pull request Aug 19, 2025
…ation state (flutter#169067)

Fixes flutter#169061
Expands on flutter#155297

This PR fixes the issue where TapRegion with consumeOutsideTaps enabled
would consume taps even after navigating to a different page.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
framework flutter/packages/flutter repository. See also f: labels.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

TapRegion consumes taps after navigation
3 participants