-
Notifications
You must be signed in to change notification settings - Fork 3.5k
[go_router] Refactors imperative APIs and browser history #4134
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
Conversation
@@ -2,11 +2,13 @@ | |||
// Use of this source code is governed by a BSD-style license that can be |
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.
Nothing really change for this class, most of the code is copy paste from redirect.dart and matching.dart
@@ -149,3 +146,281 @@ class ImperativeRouteMatch<T> extends RouteMatch { | |||
@override | |||
int get hashCode => identityHashCode(this); | |||
} | |||
|
|||
/// The list of [RouteMatch] objects. |
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.
This is a copy paste from matching.dart
abb9022
to
9305fe5
Compare
ci seems to be weird this time, will try pushing a new commit later |
}) { | ||
switch (type) { | ||
case NavigatingType.push: | ||
return base!.push( |
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.
Is it safe to bang base and completer without doing a null check beforehand?
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.
If they are null, it means something wrong with the GoRouteInformationProvider that provides malformed RouteInformation
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, a few nitpicks.
} | ||
|
||
/// Handles encoding and decoding of [RouteMatchList] objects to a format | ||
/// suitable for using with [StandardMessageCodec]. |
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.
Is there any benefit / reason this doesn't extend the Codec class from dart:convert?
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.
fixed
return; | ||
} | ||
replace = _valueInEngine == _kEmptyRouteInformation; | ||
break; |
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.
break;
isn't needed if you're using Dart 3
44430a3
to
afb4f7a
Compare
Hi @johnpryan, I updated this pr, the change is in the last commit
|
afb4f7a
to
e4b4463
Compare
e4b4463
to
ed16a13
Compare
waiting for migration guide to merge flutter/website#8853 |
flutter/packages@a84b2c2...e13b8c4 2023-06-08 stuartmorgan@google.com [tool] Only run unit tests in Chrome for inline web (flutter/packages#4153) 2023-06-08 jason-simmons@users.noreply.github.com [in_app_purchase] Make the _FeatureCard constructor const in the Android example app (flutter/packages#4162) 2023-06-08 stuartmorgan@google.com [shared_preferences] Fix initialization race (flutter/packages#4159) 2023-06-07 47866232+chunhtai@users.noreply.github.com [go_router] Refactors imperative APIs and browser history (flutter/packages#4134) 2023-06-07 stuartmorgan@google.com [various] Add `http` 1.0 compatibility (flutter/packages#4147) 2023-06-07 32538273+ValentinVignal@users.noreply.github.com [go_router_builder] Accept required parameters not in path (flutter/packages#4039) 2023-06-07 engine-flutter-autoroll@skia.org Roll Flutter from 0b74153 to 8a5c22e (46 revisions) (flutter/packages#4160) 2023-06-07 scheglov@google.com [pigeon] Require analyzer 5.13.0, prepare for NamedType refactoring. (flutter/packages#4127) 2023-06-07 engine-flutter-autoroll@skia.org Roll Flutter (stable) from f92f441 to 682aa38 (1 revision) (flutter/packages#4157) 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
Several thing.
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.