文件最后提交记录最后更新时间
[go_router] Use leak_tracker_flutter_testing (#6210) 2 年前
[various] Fixes unawaited_futures violations (#4067) This option had been disabled to match flutter/flutter, but the reason it was disabled there was "too many false positives", mostly around animation. That doesn't apply to most packages here, and we've had a number of production bugs—especially in plugins, that use async heavily in ways that are intended to be client-awaitable—that this would have caught. This PR: - Enables the option at the repo level. - Permanently (unless the owners decide to change it) opts out animations and go_router, both of which looked like mostly or entirely false positives. - Temporarily opted out a few plugins that have a lot of violations that should be handled in their own PRs later (camera_android_camerax, most of webview_flutter). - Fixes all remaining violations. In many cases this PR is behavior-changing, replacing implicitly unawaited futures that did not seem obviously intentional with awaited futures, so non-test code in particular should be reviewed carefully to make sure the changes are correct. All of the changes are manual, not fix-generated. Part of https://github.com/flutter/flutter/issues/1273232 年前
[go_router] Fix requestFocus propagation to Navigator (#9177) Fixes [166972](https://github.com/flutter/flutter/issues/166972) ## Pre-Review Checklist [^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.1 年前
[go_router] New feature improve debug full path (#6714) This PR fixes https://github.com/flutter/flutter/issues/148121 - Replaced => with | , ├─ and └─ to improve readability - It prints the Widget name for easy referencing - Shell routes does not have their own paths for it is presented as (Shell route) in the tree - Prints the widget name of the routes it is building.1 年前
[analysis_options] sync lint rules with flutter/flutter (#2495) 3 年前
[go_router] Use leak_tracker_flutter_testing (#6210) 2 年前
[go_router] fix: PopScope.onPopInvokedWithResult not called in branch routes (#9245) 11 个月前
[various] Sync lints with flutter/flutter (#5717) Applying the latest analysis_options.yaml from flutter/flutter to this repo. Most fixes were auto-generated by dart fix.2 年前
[go_router] Fixes missing state.extra in onException() (#5077) This will help in knowing the extra Object passed when the _non-existing-location_ was asked. *List which issues are fixed by this PR. You must list at least one issue.* - The issue looks small, I will create it if needed by the maintainers *If you had to change anything in the [flutter/tests] repo, include a link to the migration guide as per the [breaking change policy].* - No breaking changes2 年前
[go_router] Fixes replace and pushReplacement uri when only one route… (#7433) … match in current route match list fixes https://github.com/flutter/flutter/issues/1499511 年前
[go_router] Activate leak testing (#7546) 1 年前
[go_router] Activate leak testing (#7546) 1 年前
[go _route] fragment parameter added (#8232) ### Description of Change This PR addresses the need for fragments/hashes to be treated as first-party parameters within the go_router package, as highlighted in [issue #150155](https://github.com/flutter/flutter/issues/150155). Previously, users had to manually append the fragment to the URL, which could lead to potential bugs. With this update, the fragment is now a dedicated parameter, allowing for a more seamless and bug-free integration. #### Before: ```dart final location = context.namedLocation('some_route'); // const nested records // Manually adding the fragment, hoping there aren't any weird bugs surrounding it context.replace('$location#https://a.url/that?i=mightuse'); ``` #### After: ```dart // Directly passing the fragment as a parameter context.goNamed("details", fragment: 'https://a.url/that?i=mightuse'); // or final location = GoRouterState.of(context).namedLocation( 'details', fragment: 'section3', ); context.go(location); // or final location = context.namedLocation( 'details', fragment: 'section3', ); context.go(location); ``` ### Issues Fixed This PR resolves [issue #150155](https://github.com/flutter/flutter/issues/150155). --- ## Pre-launch Checklist - [✔️ ] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [✔️ ] I read the [Tree Hygiene] page, which explains my responsibilities. - [✔️ ] I read and followed the [relevant style guides] and ran the auto-formatter. (Unlike the flutter/flutter repo, the flutter/packages repo does use dart format.) - [x] I signed the [CLA]. - [✔️ ] The title of the PR starts with the name of the package surrounded by square brackets, e.g. [shared_preferences] - [✔️ ] I [linked to at least one issue that this PR fixes] in the description above. - [✔️ ] I updated pubspec.yaml with an appropriate new version according to the [pub versioning philosophy], or this PR is [exempt from version changes]. - [ ✔️] I updated CHANGELOG.md to add a description of the change, [following repository CHANGELOG style], or this PR is [exempt from CHANGELOG changes]. - [✔️ ] 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]. - [ ✔️] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. <!-- Links --> [Contributor Guide]: https://github.com/flutter/packages/blob/main/CONTRIBUTING.md [Tree Hygiene]: https://github.com/flutter/flutter/blob/master/docs/contributing/Tree-hygiene.md [relevant style guides]: https://github.com/flutter/packages/blob/main/CONTRIBUTING.md#style [CLA]: https://cla.developers.google.com/ [Discord]: https://github.com/flutter/flutter/blob/master/docs/contributing/Chat.md [linked to at least one issue that this PR fixes]: https://github.com/flutter/flutter/blob/master/docs/contributing/Tree-hygiene.md#overview [pub versioning philosophy]: https://dart.dev/tools/pub/versioning [exempt from version changes]: https://github.com/flutter/flutter/blob/master/docs/ecosystem/contributing/README.md#version [following repository CHANGELOG style]: https://github.com/flutter/flutter/blob/master/docs/ecosystem/contributing/README.md#changelog-style [exempt from CHANGELOG changes]: https://github.com/flutter/flutter/blob/master/docs/ecosystem/contributing/README.md#changelog [test-exempt]: https://github.com/flutter/flutter/blob/master/docs/contributing/Tree-hygiene.md#tests1 年前
[go_router] Makes GoRouterState lookup more robust. (#6920) fixes https://github.com/flutter/flutter/issues/1328241 年前
[go_router] Fix routing to treat URLs with different cases (e.g., /Home vs /home) as distinct routes. (#9426) Fixes https://github.com/flutter/flutter/issues/169809 ## Pre-Review Checklist [^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.10 个月前
[various] Sync lints with flutter/flutter (#5717) Applying the latest analysis_options.yaml from flutter/flutter to this repo. Most fixes were auto-generated by dart fix.2 年前
[go_router] Activate leak testing (#7546) 1 年前
[go_router] Use leak_tracker_flutter_testing (#6210) 2 年前
[go_router] New feature improve debug full path (#6714) This PR fixes https://github.com/flutter/flutter/issues/148121 - Replaced => with | , ├─ and └─ to improve readability - It prints the Widget name for easy referencing - Shell routes does not have their own paths for it is presented as (Shell route) in the tree - Prints the widget name of the routes it is building.1 年前
[go_router] Refactored RouteMatchList and imperative APIs (#5497) This pr refactor RouteMatchList to be a tree structure. Added a common base class RouteMatchBase. It is extended by both RouteMatch and ShellRouteMatch. The RouteMatch is for GoRoute, and is always a leaf node The ShellRouteMatch is for ShellRouteBase, and is always and intermediate node with a list of child RouteMatchBase[s]. This pr also redo how push is processed. Will add a doc explain this shortly. This is a breaking change, will write a migration guide soon. fixes https://github.com/flutter/flutter/issues/134524 fixes https://github.com/flutter/flutter/issues/130406 fixes https://github.com/flutter/flutter/issues/126365 fixes https://github.com/flutter/flutter/issues/125752 fixes https://github.com/flutter/flutter/issues/120791 fixes https://github.com/flutter/flutter/issues/120665 fixes https://github.com/flutter/flutter/issues/113001 fixes https://github.com/flutter/flutter/issues/1105122 年前
[go_router] Fixes issue so that the parseRouteInformationWithContext … (#7337) …can handle non-http Uris. fixes https://github.com/flutter/flutter/issues/1483891 年前
[analysis_options] sync lint rules with flutter/flutter (#2495) 3 年前
[go_router] Use leak_tracker_flutter_testing (#6210) 2 年前
[go_router] Use the correct configuration to build the state passed to the onExit (#6623) While working on https://github.com/flutter/packages/pull/6614, I notice some issues with the state that is given to the onExit (see the run https://github.com/flutter/packages/pull/6614/checks?check_run_id=24284539541) This PR uses the correct configuration to build the state and pass it to the onExit2 年前
[go_router] Fixes issue so that the parseRouteInformationWithContext … (#7337) …can handle non-http Uris. fixes https://github.com/flutter/flutter/issues/1483891 年前
[go_router] Fix routing to treat URLs with different cases (e.g., /Home vs /home) as distinct routes. (#9426) Fixes https://github.com/flutter/flutter/issues/169809 ## Pre-Review Checklist [^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.10 个月前
[go_router] Reduces excessive rebuilds due to inherited look up. (#4227) fixes https://github.com/flutter/flutter/issues/1235702 年前
go_router should allow setting requestFocus (#4636) fixes: https://github.com/flutter/flutter/issues/1295812 年前
[go_router] Fix routing to treat URLs with different cases (e.g., /Home vs /home) as distinct routes. (#9426) Fixes https://github.com/flutter/flutter/issues/169809 ## Pre-Review Checklist [^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.10 个月前
[go_router] Add support for preloading branches of StatefulShellRoute (revised solution) (#6467) Adds support for preloading branches in a StatefulShellRoute. This functionality was initially part of an early implementation of flutter/packages#2650, however it was decided to implement this in a separate PR. The current implementation is a rewrite of the original implementation to better fit the final version of StatefulShellRoute (and go_router in general). **NOTE**: this is a revised version of the initial solution (see flutter/packages#4251), containing a substantially simpler implementation made possible thanks to recent refactoring in go_router. This fixes issue flutter/flutter#127804.1 年前
[go_router] [shell_route] Add observers parameter (#2664) * [go_router] [shell_route] Add observers parameter * [go_router] [shell_route] Add observers parameter test * Added Licence for shell_route_observers_test.dart * [go_router] [shell_route] Added type annotation to shell_route_observers_test.dart * [go_router] [shell_route] Use HeroControllerScope for nested Navigator * Use the correct HeroController based on the App type. * Cache the HeroController for the nested Navigator. * Clean up previous cache to prevent memory leak. * Added better cache-clearing policy for the HeroController cache. * Fixed Typos Co-authored-by: chunhtai <47866232+chunhtai@users.noreply.github.com> * Fixed Typos Co-authored-by: chunhtai <47866232+chunhtai@users.noreply.github.com> * [go_router] [shell_route] Added a better Hero test Credits to @flodaniel! --------- Co-authored-by: chunhtai <47866232+chunhtai@users.noreply.github.com>3 年前
[go _route] fragment parameter added (#8232) ### Description of Change This PR addresses the need for fragments/hashes to be treated as first-party parameters within the go_router package, as highlighted in [issue #150155](https://github.com/flutter/flutter/issues/150155). Previously, users had to manually append the fragment to the URL, which could lead to potential bugs. With this update, the fragment is now a dedicated parameter, allowing for a more seamless and bug-free integration. #### Before: ```dart final location = context.namedLocation('some_route'); // const nested records // Manually adding the fragment, hoping there aren't any weird bugs surrounding it context.replace('$location#https://a.url/that?i=mightuse'); ``` #### After: ```dart // Directly passing the fragment as a parameter context.goNamed("details", fragment: 'https://a.url/that?i=mightuse'); // or final location = GoRouterState.of(context).namedLocation( 'details', fragment: 'section3', ); context.go(location); // or final location = context.namedLocation( 'details', fragment: 'section3', ); context.go(location); ``` ### Issues Fixed This PR resolves [issue #150155](https://github.com/flutter/flutter/issues/150155). --- ## Pre-launch Checklist - [✔️ ] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [✔️ ] I read the [Tree Hygiene] page, which explains my responsibilities. - [✔️ ] I read and followed the [relevant style guides] and ran the auto-formatter. (Unlike the flutter/flutter repo, the flutter/packages repo does use dart format.) - [x] I signed the [CLA]. - [✔️ ] The title of the PR starts with the name of the package surrounded by square brackets, e.g. [shared_preferences] - [✔️ ] I [linked to at least one issue that this PR fixes] in the description above. - [✔️ ] I updated pubspec.yaml with an appropriate new version according to the [pub versioning philosophy], or this PR is [exempt from version changes]. - [ ✔️] I updated CHANGELOG.md to add a description of the change, [following repository CHANGELOG style], or this PR is [exempt from CHANGELOG changes]. - [✔️ ] 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]. - [ ✔️] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. <!-- Links --> [Contributor Guide]: https://github.com/flutter/packages/blob/main/CONTRIBUTING.md [Tree Hygiene]: https://github.com/flutter/flutter/blob/master/docs/contributing/Tree-hygiene.md [relevant style guides]: https://github.com/flutter/packages/blob/main/CONTRIBUTING.md#style [CLA]: https://cla.developers.google.com/ [Discord]: https://github.com/flutter/flutter/blob/master/docs/contributing/Chat.md [linked to at least one issue that this PR fixes]: https://github.com/flutter/flutter/blob/master/docs/contributing/Tree-hygiene.md#overview [pub versioning philosophy]: https://dart.dev/tools/pub/versioning [exempt from version changes]: https://github.com/flutter/flutter/blob/master/docs/ecosystem/contributing/README.md#version [following repository CHANGELOG style]: https://github.com/flutter/flutter/blob/master/docs/ecosystem/contributing/README.md#changelog-style [exempt from CHANGELOG changes]: https://github.com/flutter/flutter/blob/master/docs/ecosystem/contributing/README.md#changelog [test-exempt]: https://github.com/flutter/flutter/blob/master/docs/contributing/Tree-hygiene.md#tests1 年前