-
Notifications
You must be signed in to change notification settings - Fork 29.8k
[ Widget Preview ] Handle changes to unexpected pubspec.yaml files gracefully #179157
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
…acefully This change fixes an issue where the preview command would crash if a pubspec.yaml was added / deleted somewhere under the previewed directory. It also improves testing for `PreviewManifest` in the context of pub workspaces and ensures that `FlutterProject` instances are refreshed based on the latest `pubspec.yaml` contents. Fixes #179155
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.
Code Review
This pull request introduces robust handling for pubspec.yaml file changes within the widget preview feature, addressing a crash that occurred when these files were added or deleted. The changes include logic to refresh project manifests and improved testing for pub workspaces. Overall, the changes are well-structured and thoroughly tested. I've identified one issue related to set comparison that could lead to inefficient behavior, which I've detailed in a specific comment.
packages/flutter_tools/lib/src/widget_preview/preview_manifest.dart
Outdated
Show resolved
Hide resolved
….dart Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
jyameo
left a comment
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!
…acefully (flutter#179157) This change fixes an issue where the preview command would crash if a `pubspec.yaml` was added / deleted somewhere under the previewed directory. It also improves testing for `PreviewManifest` in the context of pub workspaces and ensures that `FlutterProject` instances are refreshed based on the latest `pubspec.yaml` contents. Fixes flutter#179155 --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
…acefully (flutter#179157) This change fixes an issue where the preview command would crash if a `pubspec.yaml` was added / deleted somewhere under the previewed directory. It also improves testing for `PreviewManifest` in the context of pub workspaces and ensures that `FlutterProject` instances are refreshed based on the latest `pubspec.yaml` contents. Fixes flutter#179155 --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
flutter/flutter@022b155...2b5fa94 2025-11-29 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from 3mkBM9XuntkUl3G9l... to sY2ExxZc0A8bgMF11... (flutter/flutter#179233) 2025-11-29 engine-flutter-autoroll@skia.org Roll Dart SDK from 09b91afe9f4d to 56cc05dd11a8 (1 revision) (flutter/flutter#179231) 2025-11-28 bkonyi@google.com [ Tool ] Don't try to reattach when attach target disappears (flutter/flutter#179193) 2025-11-28 engine-flutter-autoroll@skia.org Roll Dart SDK from 4bd803e19d22 to 09b91afe9f4d (1 revision) (flutter/flutter#179222) 2025-11-28 bot@stepsecurity.io Fix GitHub Actions not pinned by hash (flutter/flutter#178917) 2025-11-28 6655696+guidezpl@users.noreply.github.com Update workflow permissions in easy-cp.yml (flutter/flutter#178919) 2025-11-28 engine-flutter-autoroll@skia.org Roll Packages from b505d41 to c8be05d (1 revision) (flutter/flutter#179218) 2025-11-28 engine-flutter-autoroll@skia.org Roll Dart SDK from 394606994711 to 4bd803e19d22 (1 revision) (flutter/flutter#179215) 2025-11-28 engine-flutter-autoroll@skia.org Roll Dart SDK from 74247cdd0f18 to 394606994711 (1 revision) (flutter/flutter#179205) 2025-11-28 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from _e9MNK4nfBOrERVP_... to 3mkBM9XuntkUl3G9l... (flutter/flutter#179203) 2025-11-28 engine-flutter-autoroll@skia.org Roll Dart SDK from 1e6edf8a8dab to 74247cdd0f18 (2 revisions) (flutter/flutter#179201) 2025-11-27 bkonyi@google.com [ Widget Preview ] Handle changes to unexpected pubspec.yaml files gracefully (flutter/flutter#179157) 2025-11-27 engine-flutter-autoroll@skia.org Roll Dart SDK from 1d8dc04bd1d7 to 1e6edf8a8dab (9 revisions) (flutter/flutter#179190) 2025-11-27 engine-flutter-autoroll@skia.org Roll Packages from 5d8d954 to b505d41 (4 revisions) (flutter/flutter#179188) 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 bmparr@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
…acefully (flutter#179157) This change fixes an issue where the preview command would crash if a `pubspec.yaml` was added / deleted somewhere under the previewed directory. It also improves testing for `PreviewManifest` in the context of pub workspaces and ensures that `FlutterProject` instances are refreshed based on the latest `pubspec.yaml` contents. Fixes flutter#179155 --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
…acefully (flutter#179157) This change fixes an issue where the preview command would crash if a `pubspec.yaml` was added / deleted somewhere under the previewed directory. It also improves testing for `PreviewManifest` in the context of pub workspaces and ensures that `FlutterProject` instances are refreshed based on the latest `pubspec.yaml` contents. Fixes flutter#179155 --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
This change fixes an issue where the preview command would crash if a
pubspec.yamlwas added / deleted somewhere under the previewed directory. It also improves testing forPreviewManifestin the context of pub workspaces and ensures thatFlutterProjectinstances are refreshed based on the latestpubspec.yamlcontents.Fixes #179155