-
Notifications
You must be signed in to change notification settings - Fork 29.7k
[ Widget Preview ] Don't crash when directory watcher restarts on Windows #173987
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
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 effectively addresses a crash on Windows related to the directory watcher by handling a specific FileSystemException. The approach of using an onError handler in the stream listener is appropriate and well-contained. The introduction of a WatcherBuilder is a good change that improves testability.
I have one suggestion regarding code style to improve the logical grouping of class members in PreviewDetector, in accordance with the Flutter style guide.
packages/flutter_tools/lib/src/widget_preview/preview_detector.dart
Outdated
Show resolved
Hide resolved
….dart Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Should have been included in #173987
flutter/flutter@2265d94...e65380a 2025-08-19 [email protected] Roll Dart SDK from 502455ee300b to 9105d946af95 (3 revisions) (flutter/flutter#174002) 2025-08-18 [email protected] Add `open_jdk` to `Linux analyze` (flutter/flutter#173988) 2025-08-18 [email protected] Add "team-ios" label to iOS team triage query (flutter/flutter#173997) 2025-08-18 [email protected] Migrate deeplink json creation to public AGP api (flutter/flutter#173794) 2025-08-18 [email protected] [ Widget Preview ] Don't crash when directory watcher restarts on Windows (flutter/flutter#173987) 2025-08-18 [email protected] [ Widget Preview ] Don't try to instantiate invalid `@Preview()` applications (flutter/flutter#173984) 2025-08-18 [email protected] Explain how to run Google Test tests directly (flutter/flutter#173978) 2025-08-18 [email protected] [flutter_tools] Use DWDS 25.0.1 (flutter/flutter#173777) 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 [email protected],[email protected] 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
…dows (flutter#173987) Fixes flutter#173895 This is a top-10 crasher for `3.35.{0,1}`. --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
…dows (flutter#173987) Fixes flutter#173895 This is a top-10 crasher for `3.35.{0,1}`. --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
…#9850) flutter/flutter@2265d94...e65380a 2025-08-19 [email protected] Roll Dart SDK from 502455ee300b to 9105d946af95 (3 revisions) (flutter/flutter#174002) 2025-08-18 [email protected] Add `open_jdk` to `Linux analyze` (flutter/flutter#173988) 2025-08-18 [email protected] Add "team-ios" label to iOS team triage query (flutter/flutter#173997) 2025-08-18 [email protected] Migrate deeplink json creation to public AGP api (flutter/flutter#173794) 2025-08-18 [email protected] [ Widget Preview ] Don't crash when directory watcher restarts on Windows (flutter/flutter#173987) 2025-08-18 [email protected] [ Widget Preview ] Don't try to instantiate invalid `@Preview()` applications (flutter/flutter#173984) 2025-08-18 [email protected] Explain how to run Google Test tests directly (flutter/flutter#173978) 2025-08-18 [email protected] [flutter_tools] Use DWDS 25.0.1 (flutter/flutter#173777) 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 [email protected],[email protected] 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
…dows (flutter#173987) Fixes flutter#173895 This is a top-10 crasher for `3.35.{0,1}`. --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Should have been included in #173987 --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
…dows (flutter#173987) Fixes flutter#173895 This is a top-10 crasher for `3.35.{0,1}`. --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Should have been included in flutter#173987 --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
…dows (flutter#173987) Fixes flutter#173895 This is a top-10 crasher for `3.35.{0,1}`. --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Should have been included in flutter#173987 --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Should have been included in flutter#173987 --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
…dows (flutter#173987) Fixes flutter#173895 This is a top-10 crasher for `3.35.{0,1}`. --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Should have been included in flutter#173987 --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
…dows (flutter#173987) Fixes flutter#173895 This is a top-10 crasher for `3.35.{0,1}`. --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Should have been included in flutter#173987 --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
…dows (flutter#173987) Fixes flutter#173895 This is a top-10 crasher for `3.35.{0,1}`. --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Should have been included in flutter#173987 --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
…dows (flutter#173987) Fixes flutter#173895 This is a top-10 crasher for `3.35.{0,1}`. --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Should have been included in flutter#173987 --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Fixes #173895
This is a top-10 crasher for
3.35.{0,1}.