-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[go_router] Adds on exit #4699
[go_router] Adds on exit #4699
Conversation
cc @GP4cK |
/// | ||
/// If the return value is true or the future resolve to true, the route will | ||
/// exit as usual. Otherwise, the operation will abort. | ||
typedef ExitCallback = FutureOr<bool> Function(BuildContext context); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we use Future<bool>
instead? Using FutureOr<T>
is discouraged iirc.
I get the intent, but a user can always do onExit: (BuildContext context) async => false
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We will like to provide a chance to handle this synchronously. Otherwise it would introduce one frame delay between navigation. Also the ship has sailed for GoRoute.redirect, so I will keep this as is.
@chunhtai Any major blockers to this being rolled out? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
77dd0fd
to
44d6694
Compare
flutter/packages@d4e2454...51e74b9 2023-09-19 stuartmorgan@google.com [ios_platform_images] Convert to Pigeon (flutter/packages#4945) 2023-09-19 abdeluached@gmail.com [go_router_builder] Generate initialLocation with StatefulShellBranchConfig (flutter/packages#4880) 2023-09-19 engine-flutter-autoroll@skia.org Roll Flutter from b7d0e8c to 8936504 (15 revisions) (flutter/packages#4947) 2023-09-18 47866232+chunhtai@users.noreply.github.com [go_router] Adds on exit (flutter/packages#4699) 2023-09-18 47866232+chunhtai@users.noreply.github.com [go_router] Fixes RouteInformationParser that does not restore full RouteMatchList if the optionURLReflectsImperativeAPIs is set (flutter/packages#4713) 2023-09-18 stuartmorgan@google.com [file_selector] Fix unknown extensions on macOS (flutter/packages#4946) 2023-09-18 30872003+misos1@users.noreply.github.com [camera_avfoundation] ignore audio samples until first video sample (flutter/packages#4587) 2023-09-18 engine-flutter-autoroll@skia.org Roll Flutter from 1b18b13 to b7d0e8c (11 revisions) (flutter/packages#4944) 2023-09-18 tarrinneal@gmail.com [video_player] isCompleted event. (flutter/packages#4923) 2023-09-18 32538273+ValentinVignal@users.noreply.github.com [go_router] Fix an issue in the documentation that used `state.queryParameters` instead of `state.uri.queryParameters` (flutter/packages#4881) 2023-09-18 stuartmorgan@google.com [google_sign_in] Convert iOS to Pigeon (flutter/packages#4941) 2023-09-18 stuartmorgan@google.com Add dashboard link to README (flutter/packages#4902) 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-flutter-autoroll Please CC flutter-ecosystem@google.com,rmistry@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
* main: (590 commits) Bump github/codeql-action from 2.21.7 to 2.21.8 (flutter#4952) Manual roll Flutter from 8936504 to f92884c (48 revisions) (flutter#4985) [image_picker_android] check if data from result is empty when picking a single img or video (flutter#4836) [camera_android] Removes usage of `_ambiguate` method in tests (flutter#4948) [sign_in]: Bump com.google.android.gms:play-services-auth from 20.6.0 to 20.7.0 in /packages/google_sign_in/google_sign_in_android/android (flutter#4841) Manual roll Flutter (stable) from 367f9ea16bfa to 12fccda59847 (2 revisions) (flutter#4976) [go_router] Fixes the GoRouter.goBranch so that it doesn't reset extr… (flutter#4723) [webview_flutter_wkwebview] Adds WKWebView implementation to override console log (flutter#4703) [various] Update invalid NSURL tests (flutter#4959) [ios_platform_images] Convert to Pigeon (flutter#4945) [go_router_builder] Generate initialLocation with StatefulShellBranchConfig (flutter#4880) Roll Flutter from b7d0e8c to 8936504 (15 revisions) (flutter#4947) [go_router] Adds on exit (flutter#4699) [go_router] Fixes RouteInformationParser that does not restore full RouteMatchList if the optionURLReflectsImperativeAPIs is set (flutter#4713) [file_selector] Fix unknown extensions on macOS (flutter#4946) [camera_avfoundation] ignore audio samples until first video sample (flutter#4587) Roll Flutter from 1b18b13 to b7d0e8c (11 revisions) (flutter#4944) [video_player] isCompleted event. (flutter#4923) [go_router] Fix an issue in the documentation that used `state.queryParameters` instead of `state.uri.queryParameters` (flutter#4881) [google_sign_in] Convert iOS to Pigeon (flutter#4941) ... # Conflicts: # packages/camera/camera/pubspec.yaml
flutter/packages@d4e2454...51e74b9 2023-09-19 stuartmorgan@google.com [ios_platform_images] Convert to Pigeon (flutter/packages#4945) 2023-09-19 abdeluached@gmail.com [go_router_builder] Generate initialLocation with StatefulShellBranchConfig (flutter/packages#4880) 2023-09-19 engine-flutter-autoroll@skia.org Roll Flutter from b7d0e8c to 8936504 (15 revisions) (flutter/packages#4947) 2023-09-18 47866232+chunhtai@users.noreply.github.com [go_router] Adds on exit (flutter/packages#4699) 2023-09-18 47866232+chunhtai@users.noreply.github.com [go_router] Fixes RouteInformationParser that does not restore full RouteMatchList if the optionURLReflectsImperativeAPIs is set (flutter/packages#4713) 2023-09-18 stuartmorgan@google.com [file_selector] Fix unknown extensions on macOS (flutter/packages#4946) 2023-09-18 30872003+misos1@users.noreply.github.com [camera_avfoundation] ignore audio samples until first video sample (flutter/packages#4587) 2023-09-18 engine-flutter-autoroll@skia.org Roll Flutter from 1b18b13 to b7d0e8c (11 revisions) (flutter/packages#4944) 2023-09-18 tarrinneal@gmail.com [video_player] isCompleted event. (flutter/packages#4923) 2023-09-18 32538273+ValentinVignal@users.noreply.github.com [go_router] Fix an issue in the documentation that used `state.queryParameters` instead of `state.uri.queryParameters` (flutter/packages#4881) 2023-09-18 stuartmorgan@google.com [google_sign_in] Convert iOS to Pigeon (flutter/packages#4941) 2023-09-18 stuartmorgan@google.com Add dashboard link to README (flutter/packages#4902) 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-flutter-autoroll Please CC flutter-ecosystem@google.com,rmistry@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
related flutter/flutter#102408
Pre-launch Checklist
dart format
.)[shared_preferences]
pubspec.yaml
with an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes.CHANGELOG.md
to add a description of the change, following repository CHANGELOG style.///
).If you need help, consider asking for advice on the #hackers-new channel on Discord.