From ec8c7adcd5c8b199f84b806eda91021c03255aea Mon Sep 17 00:00:00 2001 From: nozomemein Date: Fri, 22 Aug 2025 09:33:51 +0900 Subject: [PATCH 1/4] fix: preserve scheme and authority for Android Cold Start deep links with empty path --- packages/go_router/CHANGELOG.md | 4 ++++ packages/go_router/lib/src/router.dart | 5 +---- packages/go_router/pubspec.yaml | 2 +- packages/go_router/test/go_router_test.dart | 2 +- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/packages/go_router/CHANGELOG.md b/packages/go_router/CHANGELOG.md index 4547360555cf..6818583b7433 100644 --- a/packages/go_router/CHANGELOG.md +++ b/packages/go_router/CHANGELOG.md @@ -1,3 +1,7 @@ +## 16.2.3 + +- Fix Android Cold Start deep link with empty path losing scheme and authority. + ## 16.2.2 - Fixes broken links in readme. diff --git a/packages/go_router/lib/src/router.dart b/packages/go_router/lib/src/router.dart index 547520c24a11..f7568616af00 100644 --- a/packages/go_router/lib/src/router.dart +++ b/packages/go_router/lib/src/router.dart @@ -576,10 +576,7 @@ class GoRouter implements RouterConfig { if (platformDefaultUri.hasEmptyPath) { // TODO(chunhtai): Clean up this once `RouteInformation.uri` is available // in packages repo. - platformDefaultUri = Uri( - path: '/', - queryParameters: platformDefaultUri.queryParameters, - ); + platformDefaultUri = platformDefaultUri.replace(path: '/'); } final String platformDefault = platformDefaultUri.toString(); if (initialLocation == null) { diff --git a/packages/go_router/pubspec.yaml b/packages/go_router/pubspec.yaml index 08eef5c25307..4dee8932f80a 100644 --- a/packages/go_router/pubspec.yaml +++ b/packages/go_router/pubspec.yaml @@ -1,7 +1,7 @@ name: go_router description: A declarative router for Flutter based on Navigation 2 supporting deep linking, data-driven routes and more -version: 16.2.2 +version: 16.2.3 repository: https://github.com/flutter/packages/tree/main/packages/go_router issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+go_router%22 diff --git a/packages/go_router/test/go_router_test.dart b/packages/go_router/test/go_router_test.dart index a05a3902822c..8dfd2ecc3340 100644 --- a/packages/go_router/test/go_router_test.dart +++ b/packages/go_router/test/go_router_test.dart @@ -3371,7 +3371,7 @@ void main() { final GoRouter router = await createRouter(routes, tester); expect( router.routeInformationProvider.value.uri.toString(), - '/?param=1', + 'https://domain.com/?param=1', ); TestWidgetsFlutterBinding.instance.platformDispatcher .clearDefaultRouteNameTestValue(); From 799ec60129415b9c2cc176852ab4e627e5229c5e Mon Sep 17 00:00:00 2001 From: nozomemein Date: Tue, 26 Aug 2025 08:20:50 +0900 Subject: [PATCH 2/4] rm the obsolete todo comments --- packages/go_router/lib/src/router.dart | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/go_router/lib/src/router.dart b/packages/go_router/lib/src/router.dart index f7568616af00..9e1c4e40e1c9 100644 --- a/packages/go_router/lib/src/router.dart +++ b/packages/go_router/lib/src/router.dart @@ -574,8 +574,6 @@ class GoRouter implements RouterConfig { WidgetsBinding.instance.platformDispatcher.defaultRouteName, ); if (platformDefaultUri.hasEmptyPath) { - // TODO(chunhtai): Clean up this once `RouteInformation.uri` is available - // in packages repo. platformDefaultUri = platformDefaultUri.replace(path: '/'); } final String platformDefault = platformDefaultUri.toString(); From d3d31057ce6844fd2dd3c56a666dfdbbd254b002 Mon Sep 17 00:00:00 2001 From: Kate Lovett Date: Tue, 23 Sep 2025 17:28:58 -0500 Subject: [PATCH 3/4] Update packages/go_router/pubspec.yaml --- packages/go_router/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/go_router/pubspec.yaml b/packages/go_router/pubspec.yaml index 4dee8932f80a..5f5517bb3a54 100644 --- a/packages/go_router/pubspec.yaml +++ b/packages/go_router/pubspec.yaml @@ -1,7 +1,7 @@ name: go_router description: A declarative router for Flutter based on Navigation 2 supporting deep linking, data-driven routes and more -version: 16.2.3 +version: 16.2.4 repository: https://github.com/flutter/packages/tree/main/packages/go_router issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+go_router%22 From 11ecd2e44d1fda027a87c44b42d19ee0d8d6bbc4 Mon Sep 17 00:00:00 2001 From: Kate Lovett Date: Tue, 23 Sep 2025 17:29:07 -0500 Subject: [PATCH 4/4] Update packages/go_router/CHANGELOG.md --- packages/go_router/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/go_router/CHANGELOG.md b/packages/go_router/CHANGELOG.md index 6818583b7433..c791ab4ca10f 100644 --- a/packages/go_router/CHANGELOG.md +++ b/packages/go_router/CHANGELOG.md @@ -1,4 +1,4 @@ -## 16.2.3 +## 16.2.4 - Fix Android Cold Start deep link with empty path losing scheme and authority.