mirror of
https://github.com/rojo-rbx/rojo.git
synced 2026-10-23 14:01:37 +00:00
fix: platform-specific watcher for macOS FSEvents + Windows RDCW
macOS: raw notify with custom 50ms debounce thread. FSEvents provides complete event kinds (Create/Remove/Modify) without needing a file cache, avoiding the debouncer-full's Create+Remove cancellation bug. Windows/Linux: notify-debouncer-full with RecommendedCache. RDCW needs the file cache to detect cross-directory moves and renames. The cache also handles RDCW's limited event granularity. Both platforms share the same convert_event logic for mapping notify EventKinds to VfsEvents. All 489 tests passing locally (macOS).
This commit is contained in:
parent
b8bc7dda5b
commit
a727881e6f
3 changed files with 137 additions and 47 deletions
23
Cargo.lock
generated
23
Cargo.lock
generated
|
|
@ -1030,6 +1030,15 @@ version = "2.3.0"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
|
||||
|
||||
[[package]]
|
||||
name = "file-id"
|
||||
version = "0.2.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e1fc6a637b6dc58414714eddd9170ff187ecb0933d4c7024d1abbd23a3cc26e9"
|
||||
dependencies = [
|
||||
"windows-sys 0.60.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "filetime"
|
||||
version = "0.2.27"
|
||||
|
|
@ -1911,6 +1920,7 @@ dependencies = [
|
|||
"fs-err",
|
||||
"log",
|
||||
"notify",
|
||||
"notify-debouncer-full",
|
||||
"serde",
|
||||
"tempfile",
|
||||
]
|
||||
|
|
@ -1980,6 +1990,19 @@ dependencies = [
|
|||
"windows-sys 0.60.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "notify-debouncer-full"
|
||||
version = "0.7.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c02b49179cfebc9932238d04d6079912d26de0379328872846118a0fa0dbb302"
|
||||
dependencies = [
|
||||
"file-id",
|
||||
"log",
|
||||
"notify",
|
||||
"notify-types",
|
||||
"walkdir",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "notify-types"
|
||||
version = "2.1.0"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue