Update dependencies and enhance path ignore functionality

- Updated various dependencies in Cargo.lock and Cargo.toml, including aws-lc-rs, aws-lc-sys, tokio, and uuid to their latest versions.
- Refactored the memofs crate to simplify the notify dependency configuration.
- Introduced path ignore rules in ChangeProcessor and ServeSession to filter VFS events based on glob patterns, improving event handling efficiency.
This commit is contained in:
Joe 2026-03-06 23:01:20 -06:00
parent 093e62af8e
commit 6fcb1b9cf2
5 changed files with 122 additions and 74 deletions

130
Cargo.lock generated
View file

@ -273,9 +273,9 @@ checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
[[package]]
name = "aws-lc-rs"
version = "1.16.0"
version = "1.16.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d9a7b350e3bb1767102698302bc37256cbd48422809984b98d292c40e2579aa9"
checksum = "94bffc006df10ac2a68c83692d734a465f8ee6c5b384d8545a636f81d858f4bf"
dependencies = [
"aws-lc-sys",
"zeroize",
@ -283,9 +283,9 @@ dependencies = [
[[package]]
name = "aws-lc-sys"
version = "0.37.1"
version = "0.38.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b092fe214090261288111db7a2b2c2118e5a7f30dc2569f1732c4069a6840549"
checksum = "4321e568ed89bb5a7d291a7f37997c2c0df89809d7b6d12062c81ddb54aa782e"
dependencies = [
"cc",
"cmake",
@ -582,7 +582,7 @@ checksum = "a92793da1a46a5f2a02a6f4c46c6496b28c43638adea8306fcb0caa1634f24e5"
dependencies = [
"heck",
"proc-macro2 1.0.106",
"quote 1.0.44",
"quote 1.0.45",
"syn 2.0.117",
]
@ -649,9 +649,9 @@ dependencies = [
[[package]]
name = "const_fn"
version = "0.4.11"
version = "0.4.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2f8a2ca5ac02d09563609681103aada9e1777d54fc57a5acd7a41404f9c93b6e"
checksum = "413d67b29ef1021b4d60f4aa1e925ca031751e213832b4b1d588fae623c05c60"
[[package]]
name = "constant_time_eq"
@ -921,7 +921,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
dependencies = [
"proc-macro2 1.0.106",
"quote 1.0.44",
"quote 1.0.45",
"syn 2.0.117",
]
@ -1166,7 +1166,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b"
dependencies = [
"proc-macro2 1.0.106",
"quote 1.0.44",
"quote 1.0.45",
"syn 2.0.117",
]
@ -1257,20 +1257,20 @@ dependencies = [
"cfg-if 1.0.4",
"js-sys",
"libc",
"r-efi",
"r-efi 5.3.0",
"wasip2",
"wasm-bindgen",
]
[[package]]
name = "getrandom"
version = "0.4.1"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "139ef39800118c7683f2fd3c98c1b23c09ae076556b435f8e9064ae108aaeeec"
checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555"
dependencies = [
"cfg-if 1.0.4",
"libc",
"r-efi",
"r-efi 6.0.0",
"rand_core 0.10.0",
"wasip2",
"wasip3",
@ -1609,9 +1609,9 @@ dependencies = [
[[package]]
name = "inotify"
version = "0.11.0"
version = "0.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f37dccff2791ab604f9babef0ba14fbe0be30bd368dc541e2b08d07c8aa908f3"
checksum = "bd5b3eaf1a28b758ac0faa5a4254e8ab2705605496f1b1f3fbbc3988ad73d199"
dependencies = [
"bitflags 2.11.0",
"inotify-sys",
@ -1644,9 +1644,9 @@ dependencies = [
[[package]]
name = "ipnet"
version = "2.11.0"
version = "2.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130"
checksum = "d98f6fed1fde3f8c21bc40a1abb88dd75e67924f9cffc3ef95607bad8017f8e2"
[[package]]
name = "iri-string"
@ -1681,9 +1681,9 @@ checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2"
[[package]]
name = "jiff"
version = "0.2.22"
version = "0.2.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "819b44bc7c87d9117eb522f14d46e918add69ff12713c475946b0a29363ed1c2"
checksum = "1a3546dc96b6d42c5f24902af9e2538e82e39ad350b0c766eb3fbf2d8f3d8359"
dependencies = [
"jiff-static",
"log",
@ -1694,12 +1694,12 @@ dependencies = [
[[package]]
name = "jiff-static"
version = "0.2.22"
version = "0.2.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "470252db18ecc35fd766c0891b1e3ec6cbbcd62507e85276c01bf75d8e94d4a1"
checksum = "2a8c8b344124222efd714b73bb41f8b5120b27a7cc1c75593a6ff768d9d05aa4"
dependencies = [
"proc-macro2 1.0.106",
"quote 1.0.44",
"quote 1.0.45",
"syn 2.0.117",
]
@ -2176,7 +2176,7 @@ dependencies = [
"pest",
"pest_meta",
"proc-macro2 1.0.106",
"quote 1.0.44",
"quote 1.0.45",
"syn 2.0.117",
]
@ -2360,7 +2360,7 @@ version = "1.0.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "52717f9a02b6965224f95ca2a81e2e0c5c43baacd28ca057577988930b6c3d5b"
dependencies = [
"quote 1.0.44",
"quote 1.0.45",
"syn 2.0.117",
]
@ -2440,9 +2440,9 @@ dependencies = [
[[package]]
name = "quote"
version = "1.0.44"
version = "1.0.45"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4"
checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924"
dependencies = [
"proc-macro2 1.0.106",
]
@ -2453,6 +2453,12 @@ version = "5.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
[[package]]
name = "r-efi"
version = "6.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf"
[[package]]
name = "rand"
version = "0.9.2"
@ -2470,7 +2476,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bc266eb313df6c5c09c1c7b1fbe2510961e5bcd3add930c1e31f7ed9da0feff8"
dependencies = [
"chacha20",
"getrandom 0.4.1",
"getrandom 0.4.2",
"rand_core 0.10.0",
]
@ -2692,7 +2698,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da"
dependencies = [
"proc-macro2 1.0.106",
"quote 1.0.44",
"quote 1.0.45",
"syn 2.0.117",
]
@ -3021,7 +3027,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7d115b50f4aaeea07e79c1912f645c7513d81715d0420f8bc77a18c6260b307f"
dependencies = [
"proc-macro2 1.0.106",
"quote 1.0.44",
"quote 1.0.45",
"serde_derive_internals",
"syn 2.0.117",
]
@ -3118,7 +3124,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
dependencies = [
"proc-macro2 1.0.106",
"quote 1.0.44",
"quote 1.0.45",
"syn 2.0.117",
]
@ -3129,7 +3135,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711"
dependencies = [
"proc-macro2 1.0.106",
"quote 1.0.44",
"quote 1.0.45",
"syn 2.0.117",
]
@ -3255,12 +3261,12 @@ dependencies = [
[[package]]
name = "socket2"
version = "0.6.2"
version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "86f4aa3ad99f2088c990dfa82d367e19cb29268ed67c574d10d0a4bfe71f07e0"
checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e"
dependencies = [
"libc",
"windows-sys 0.60.2",
"windows-sys 0.61.2",
]
[[package]]
@ -3299,7 +3305,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c87a60a40fccc84bef0652345bbbbbe20a605bf5d0ce81719fc476f5c03b50ef"
dependencies = [
"proc-macro2 1.0.106",
"quote 1.0.44",
"quote 1.0.45",
"serde",
"serde_derive",
"syn 1.0.109",
@ -3313,7 +3319,7 @@ checksum = "58fa5ff6ad0d98d1ffa8cb115892b6e69d67799f6763e162a1c9db421dc22e11"
dependencies = [
"base-x",
"proc-macro2 1.0.106",
"quote 1.0.44",
"quote 1.0.45",
"serde",
"serde_derive",
"serde_json",
@ -3356,7 +3362,7 @@ checksum = "7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7"
dependencies = [
"heck",
"proc-macro2 1.0.106",
"quote 1.0.44",
"quote 1.0.45",
"syn 2.0.117",
]
@ -3373,7 +3379,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
dependencies = [
"proc-macro2 1.0.106",
"quote 1.0.44",
"quote 1.0.45",
"unicode-ident",
]
@ -3384,7 +3390,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99"
dependencies = [
"proc-macro2 1.0.106",
"quote 1.0.44",
"quote 1.0.45",
"unicode-ident",
]
@ -3404,7 +3410,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2"
dependencies = [
"proc-macro2 1.0.106",
"quote 1.0.44",
"quote 1.0.45",
"syn 2.0.117",
]
@ -3415,7 +3421,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "82a72c767771b47409d2345987fda8628641887d5466101319899796367354a0"
dependencies = [
"fastrand",
"getrandom 0.4.1",
"getrandom 0.4.2",
"once_cell",
"rustix",
"windows-sys 0.61.2",
@ -3464,7 +3470,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
dependencies = [
"proc-macro2 1.0.106",
"quote 1.0.44",
"quote 1.0.45",
"syn 2.0.117",
]
@ -3475,7 +3481,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5"
dependencies = [
"proc-macro2 1.0.106",
"quote 1.0.44",
"quote 1.0.45",
"syn 2.0.117",
]
@ -3552,7 +3558,7 @@ checksum = "fd3c141a1b43194f3f56a1411225df8646c55781d5f26db825b3d98507eb482f"
dependencies = [
"proc-macro-hack",
"proc-macro2 1.0.106",
"quote 1.0.44",
"quote 1.0.45",
"standback",
"syn 1.0.109",
]
@ -3594,9 +3600,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "tokio"
version = "1.49.0"
version = "1.50.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72a2903cd7736441aac9df9d7688bd0ce48edccaadf181c3b90be801e81d3d86"
checksum = "27ad5e34374e03cfffefc301becb44e9dc3c17584f414349ebe29ed26661822d"
dependencies = [
"bytes",
"libc",
@ -3609,12 +3615,12 @@ dependencies = [
[[package]]
name = "tokio-macros"
version = "2.6.0"
version = "2.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5"
checksum = "5c55a2eff8b69ce66c84f85e1da1c233edc36ceb85a2058d11b0d6a3c7e7569c"
dependencies = [
"proc-macro2 1.0.106",
"quote 1.0.44",
"quote 1.0.45",
"syn 2.0.117",
]
@ -3772,7 +3778,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da"
dependencies = [
"proc-macro2 1.0.106",
"quote 1.0.44",
"quote 1.0.45",
"syn 2.0.117",
]
@ -3971,11 +3977,11 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
[[package]]
name = "uuid"
version = "1.21.0"
version = "1.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b672338555252d43fd2240c714dc444b8c6fb0a5c5335e65a07bba7742735ddb"
checksum = "a68d3c8f01c0cfa54a75291d83601161799e4a89a39e0929f4b0354d88757a37"
dependencies = [
"getrandom 0.4.1",
"getrandom 0.4.2",
"js-sys",
"serde_core",
"wasm-bindgen",
@ -4107,7 +4113,7 @@ version = "0.2.114"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "18a2d50fcf105fb33bb15f00e7a77b772945a2ee45dcf454961fd843e74c18e6"
dependencies = [
"quote 1.0.44",
"quote 1.0.45",
"wasm-bindgen-macro-support",
]
@ -4119,7 +4125,7 @@ checksum = "03ce4caeaac547cdf713d280eda22a730824dd11e6b8c3ca9e42247b25c631e3"
dependencies = [
"bumpalo",
"proc-macro2 1.0.106",
"quote 1.0.44",
"quote 1.0.45",
"syn 2.0.117",
"wasm-bindgen-shared",
]
@ -4475,9 +4481,9 @@ checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650"
[[package]]
name = "winnow"
version = "0.7.14"
version = "0.7.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829"
checksum = "df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945"
[[package]]
name = "winreg"
@ -4552,7 +4558,7 @@ dependencies = [
"anyhow",
"prettyplease",
"proc-macro2 1.0.106",
"quote 1.0.44",
"quote 1.0.45",
"syn 2.0.117",
"wit-bindgen-core",
"wit-bindgen-rust",
@ -4651,7 +4657,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d"
dependencies = [
"proc-macro2 1.0.106",
"quote 1.0.44",
"quote 1.0.45",
"syn 2.0.117",
"synstructure",
]
@ -4672,7 +4678,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f65c489a7071a749c849713807783f70672b28094011623e200cb86dcb835953"
dependencies = [
"proc-macro2 1.0.106",
"quote 1.0.44",
"quote 1.0.45",
"syn 2.0.117",
]
@ -4692,7 +4698,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502"
dependencies = [
"proc-macro2 1.0.106",
"quote 1.0.44",
"quote 1.0.45",
"syn 2.0.117",
"synstructure",
]
@ -4732,7 +4738,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3"
dependencies = [
"proc-macro2 1.0.106",
"quote 1.0.44",
"quote 1.0.45",
"syn 2.0.117",
]

View file

@ -99,11 +99,11 @@ toml = "0.9"
termcolor = "1.4.1"
time = "0.3"
thiserror = "2"
tokio = { version = "1.49.0", features = ["rt", "rt-multi-thread", "macros", "sync"] }
tokio = { version = "1.50.0", features = ["rt", "rt-multi-thread", "macros", "sync"] }
tracing = "0.1"
tracing-appender = "0.2"
tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt", "time"] }
uuid = { version = "1.21.0", features = ["v4", "serde"] }
uuid = { version = "1.22.0", features = ["v4", "serde"] }
clap = { version = "4", features = ["derive", "env"] }
clap_complete = "4"
profiling = "1.0.17"

View file

@ -21,11 +21,8 @@ log = "0.4"
notify-debouncer-full = "0.7"
serde = { version = "1.0.228", features = ["derive"] }
[target.'cfg(target_os = "macos")'.dependencies]
notify = { version = "8.2", features = ["macos_kqueue"] }
[target.'cfg(not(target_os = "macos"))'.dependencies]
notify = "8.2"
[dependencies.notify]
version = "8.2"
[dev-dependencies]
tempfile = "3.26.0"

View file

@ -14,7 +14,8 @@ use std::{
use crate::{
message_queue::MessageQueue,
snapshot::{
apply_patch_set, compute_patch_set, AppliedPatchSet, InstigatingSource, PatchSet, RojoTree,
apply_patch_set, compute_patch_set, AppliedPatchSet, InstigatingSource, PatchSet,
PathIgnoreRule, RojoTree,
},
snapshot_middleware::{is_script_relevant_path, snapshot_from_vfs, snapshot_project_node},
syncback::{
@ -93,6 +94,7 @@ impl ChangeProcessor {
critical_error_receiver: Option<Receiver<memofs::WatcherCriticalError>>,
git_repo_root: Option<PathBuf>,
sync_scripts_only: bool,
path_ignore_rules: Vec<PathIgnoreRule>,
) -> Self {
let (shutdown_sender, shutdown_receiver) = crossbeam_channel::bounded(1);
let vfs_receiver = vfs.event_receiver();
@ -111,6 +113,7 @@ impl ChangeProcessor {
ref_path_index,
git_repo_root,
sync_scripts_only,
path_ignore_rules,
};
let job_thread = jod_thread::Builder::new()
@ -273,6 +276,9 @@ struct JobThreadContext {
/// When true, only script-related VFS events are processed.
sync_scripts_only: bool,
/// Rules from `globIgnorePaths` -- VFS events matching these are discarded.
path_ignore_rules: Vec<PathIgnoreRule>,
}
impl JobThreadContext {
@ -728,6 +734,16 @@ impl JobThreadContext {
}
}
if let Some(ref path) = event_path {
if !self.path_ignore_rules.iter().all(|rule| rule.passes(path)) {
log::trace!(
"VFS event SKIPPED (globIgnorePaths): {}",
self.display_path(path)
);
return Vec::new();
}
}
if self.sync_scripts_only {
if let Some(ref path) = event_path {
if path.is_file() {

View file

@ -17,7 +17,7 @@ use crate::{
session_id::SessionId,
snapshot::{
apply_patch_set, compute_patch_set, AppliedPatchSet, InstanceContext, InstanceSnapshot,
PatchSet, RojoTree,
PatchSet, PathIgnoreRule, RojoTree,
},
snapshot_middleware::{is_script_relevant_path, snapshot_from_vfs, INIT_FILE_PRIORITY},
};
@ -138,6 +138,15 @@ fn prefetch_project_files(project: &Project, sync_scripts_only: bool) -> io::Res
let folder = project.folder_location();
let ignore_rules: Vec<PathIgnoreRule> = project
.glob_ignore_paths
.iter()
.map(|glob| PathIgnoreRule {
glob: glob.clone(),
base_path: folder.to_path_buf(),
})
.collect();
let mut roots: Vec<std::path::PathBuf> = Vec::new();
collect_path_roots(&project.tree, folder, &mut roots);
@ -160,6 +169,10 @@ fn prefetch_project_files(project: &Project, sync_scripts_only: bool) -> io::Res
});
}
let passes_ignore = |entry: &walkdir::DirEntry| -> bool {
ignore_rules.iter().all(|rule| rule.passes(entry.path()))
};
let walk_start = Instant::now();
let mut entries: Vec<walkdir::DirEntry> = Vec::new();
@ -181,6 +194,8 @@ fn prefetch_project_files(project: &Project, sync_scripts_only: bool) -> io::Res
// Recursive walk of each $path root. Canonicalize to resolve ".."
// before the equality/starts_with checks.
// filter_entry skips entire subtrees when a directory matches
// globIgnorePaths, preventing descent into ignored directories.
let canonical_folder = std::fs::canonicalize(folder).unwrap_or_else(|_| folder.to_path_buf());
let mut walked_roots: Vec<PathBuf> = Vec::new();
for root in &roots {
@ -192,18 +207,22 @@ fn prefetch_project_files(project: &Project, sync_scripts_only: bool) -> io::Res
walked_roots.push(root.clone());
}
if canonical_root == canonical_folder {
// $path points to the project folder itself -- shallow walk
// already covers depth 0-1, fill in the subtree.
for e in WalkDir::new(root)
.follow_links(true)
.min_depth(2)
.into_iter()
.filter_entry(&passes_ignore)
.flatten()
{
entries.push(e);
}
} else {
for e in WalkDir::new(root).follow_links(true).into_iter().flatten() {
for e in WalkDir::new(root)
.follow_links(true)
.into_iter()
.filter_entry(&passes_ignore)
.flatten()
{
entries.push(e);
}
}
@ -435,6 +454,15 @@ impl ServeSession {
.as_deref()
.and_then(crate::git::git_head_commit);
let path_ignore_rules: Vec<PathIgnoreRule> = root_project
.glob_ignore_paths
.iter()
.map(|glob| PathIgnoreRule {
glob: glob.clone(),
base_path: root_project.folder_location().to_path_buf(),
})
.collect();
log::trace!("Starting ChangeProcessor");
let change_processor = ChangeProcessor::start(
Arc::clone(&tree),
@ -448,6 +476,7 @@ impl ServeSession {
critical_error_receiver,
git_repo_root.clone(),
root_project.sync_scripts_only.unwrap_or(false),
path_ignore_rules,
);
Ok(Self {