-
Notifications
You must be signed in to change notification settings - Fork 71
Fix file watcher startup race on MacOS #2176
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
Fix file watcher startup race on MacOS #2176
Conversation
PR HealthBreaking changes ✔️
This check can be disabled by tagging the PR with Changelog Entry ✔️
Changes to files need to be accounted for in their respective changelogs. This check can be disabled by tagging the PR with
Coverage
|
File | Coverage |
---|---|
pkgs/watcher/lib/src/file_watcher/native.dart | 💔 81 % ⬇️ 13 % |
This check for test coverage is informational (issues shown here will not fail the PR).
This check can be disabled by tagging the PR with skip-coverage-check
.
API leaks ✔️
The following packages contain symbols visible in the public API, but not exported by the library. Export these symbols or remove them from your publicly visible API.
Package | Leaked API symbol | Leaking sources |
---|
This check can be disabled by tagging the PR with skip-leaking-check
.
License Headers ✔️
// Copyright (c) 2025, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
Files |
---|
no missing headers |
All source files should start with a license header.
Unrelated files missing license headers
Files |
---|
pkgs/bazel_worker/benchmark/benchmark.dart |
pkgs/bazel_worker/example/client.dart |
pkgs/bazel_worker/example/worker.dart |
pkgs/benchmark_harness/integration_test/perf_benchmark_test.dart |
pkgs/boolean_selector/example/example.dart |
pkgs/clock/lib/clock.dart |
pkgs/clock/lib/src/clock.dart |
pkgs/clock/lib/src/default.dart |
pkgs/clock/lib/src/stopwatch.dart |
pkgs/clock/lib/src/utils.dart |
pkgs/clock/test/clock_test.dart |
pkgs/clock/test/default_test.dart |
pkgs/clock/test/stopwatch_test.dart |
pkgs/clock/test/utils.dart |
pkgs/coverage/lib/src/coverage_options.dart |
pkgs/html/example/main.dart |
pkgs/html/lib/dom.dart |
pkgs/html/lib/dom_parsing.dart |
pkgs/html/lib/html_escape.dart |
pkgs/html/lib/parser.dart |
pkgs/html/lib/src/constants.dart |
pkgs/html/lib/src/encoding_parser.dart |
pkgs/html/lib/src/html_input_stream.dart |
pkgs/html/lib/src/list_proxy.dart |
pkgs/html/lib/src/query_selector.dart |
pkgs/html/lib/src/token.dart |
pkgs/html/lib/src/tokenizer.dart |
pkgs/html/lib/src/treebuilder.dart |
pkgs/html/lib/src/utils.dart |
pkgs/html/test/dom_test.dart |
pkgs/html/test/parser_feature_test.dart |
pkgs/html/test/parser_test.dart |
pkgs/html/test/query_selector_test.dart |
pkgs/html/test/selectors/level1_baseline_test.dart |
pkgs/html/test/selectors/level1_lib.dart |
pkgs/html/test/selectors/selectors.dart |
pkgs/html/test/support.dart |
pkgs/html/test/tokenizer_test.dart |
pkgs/html/test/trie_test.dart |
pkgs/html/tool/generate_trie.dart |
pkgs/pubspec_parse/test/git_uri_test.dart |
pkgs/stack_trace/example/example.dart |
pkgs/watcher/test/custom_watcher_factory_test.dart |
pkgs/yaml_edit/example/example.dart |
This check can be disabled by tagging the PR with skip-license-check
.
84130f0
to
533fb87
Compare
533fb87
to
3e3a73a
Compare
Package publishing
Documentation at https://github.com/dart-lang/ecosystem/wiki/Publishing-automation. |
3e3a73a
to
b92d4ac
Compare
b92d4ac
to
c69889e
Compare
…it_inspection_protocol Revisions updated by `dart tools/rev_sdk_deps.dart`. ai (https://github.com/dart-lang/ai/compare/901e2ce..ec5d6aa): ec5d6aa 2025-10-01 dependabot[bot] Bump the github-actions group with 2 updates (dart-lang/ai#288) http (https://github.com/dart-lang/http/compare/e0dadd1..2c53fa3): 2c53fa3 2025-10-01 dependabot[bot] Bump the github-actions group with 3 updates (dart-lang/http#1828) 1b5103f 2025-10-01 Alex Li [cronet_http] Upgrade `cronet-embedded` dependency version to support 16 KB page sizes (dart-lang/http#1824) f701e93 2025-09-29 Brian Quinlan Remove obsolete TODO comment (dart-lang/http#1816) i18n (https://github.com/dart-lang/i18n/compare/09627d2..34d1832): 34d1832b 2025-10-01 Moritz Fix casemapping on web (dart-lang/i18n#1013) 914b0178 2025-10-01 dependabot[bot] Bump actions/labeler from 5.0.0 to 6.0.1 in the github-actions group (dart-lang/i18n#1014) f171926e 2025-09-19 Moritz Upgrade SDK in package:intl_translation (dart-lang/i18n#983) shelf (https://github.com/dart-lang/shelf/compare/de91a5b..f30d650): f30d650 2025-10-01 dependabot[bot] Bump the github-actions group with 3 updates (dart-lang/shelf#483) test (https://github.com/dart-lang/test/compare/b99d556..a16f149): a16f1497 2025-10-01 dependabot[bot] Bump the github-actions group with 5 updates (dart-lang/test#2547) tools (https://github.com/dart-lang/tools/compare/2ef298e..19f91a0): 19f91a03 2025-10-01 Morgan :) Run file watcher symlink tests. (dart-lang/tools#2189) 7929379b 2025-10-01 Morgan :) Add test coverage for file watcher and symlinks. (dart-lang/tools#2178) d0e3edd1 2025-09-30 Morgan :) Fix file watcher startup race on MacOS (dart-lang/tools#2176) 36cefcee 2025-10-01 dependabot[bot] Bump the github-actions group with 5 updates (dart-lang/tools#2188) 08db1688 2025-10-01 Aleksey Garbarev Fixing structure issue of nested lists indented by tabs (`#2172`) (dart-lang/tools#2173) 16276f53 2025-09-30 Parker Lougheed [markdown] Simplify deindentation logic for fenced code block lines (dart-lang/tools#2187) vector_math (https://github.com/google/vector_math.dart/compare/3939545..a7b7e9c): a7b7e9c 2025-10-01 dependabot[bot] Bump the github-actions group with 2 updates (google/vector_math.dart#352) web (https://github.com/dart-lang/web/compare/0baaea4..816abcc): 816abcc 2025-10-01 dependabot[bot] Bump the github-actions group with 2 updates (dart-lang/web#473) webkit_inspection_protocol (https://github.com/google/webkit_inspection_protocol.dart/compare/effa752..0f76858): 0f76858 2025-10-01 dependabot[bot] Bump the github-actions group across 1 directory with 3 updates (google/webkit_inspection_protocol.dart#135) Change-Id: Id2cf6c1142aece53d531ca46122bb36a0fa2a34b Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/452902 Commit-Queue: Devon Carew <devoncarew@google.com> Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
On MacOS
File.watch
can report events from slightly before the watch is created.The startup race is annoying for testing, since tests very often create a file then immediately create a watcher.
It also doesn't seem useful to users, and it's inconsistent with other platforms.
So, fix it :)