$ the-wire · showcase
fs-safe watcher survives sustained churn, Rust hub replaces Node workers
By RepoJournal · Filed · About OpenClaw · Composed from the cited sources · methodology
The fs-safe watcher no longer disables subscriptions under heavy write load, and its new shared Rust observation hub removes the per-subscription Node worker plus the timer tick that kept it busy.
fix(watch): keep subscriptions available under sustained churn (#695) openclaw/fs-safe
Watch reconciliation demanded two agreeing guarded scans inside a four-pass budget, and sustained writes blew that budget, routing a timeout into lose() and permanently disabling the subscription with consumer caches left stale. In a Linux reproduction with 1,024 files and 1,752 writes over 2 seconds, the subscription was unavailable after 515 ms; readiness now registers each directory before l...
feat(watch): add Rust-backed guarded filesystem observation openclaw/fs-safe
Replaces the per-subscription Node Worker with a shared Rust hub, with native events on Linux, macOS, and Windows and Bun kept on explicit polling until TSFN lifetime is qualified. The idle-hub follow-up blocks on kernel events or explicit commands with no timer tick, measured at 994 to 0 voluntary hub context switches over 10 seconds on Linux AWS.
fix(fs-safe): accept process-owned temp roots under user namespaces openclaw/fs-safe
Extends private temp-workspace creation to Linux user namespaces, including systemd user units with PrivateUsers=true, where host-root-owned ancestors surface as overflow UID/GID rather than UID 0. The first admitted unmapped ancestor emits a path-free FS_SAFE_UNMAPPED_TEMP_ANCESTOR warning.
fix(viewer): prevent watcher stalls and finish pending shutdowns openclaw/acpx
macOS replay-viewer requests no longer time out during watcher startup, and shutdown completes even when dependency warmup is still pending, without callers having to settle those requests first. macOS asset watching moves to periodic filesystem checks via polling and selects Vite 8.3.1.
refactor: remove narrowly used helper dependencies openclaw/openclaw
Four direct dependencies covering task-checkbox, Telegram sequencing, and duration-helper behavior are now owned locally, with task-list markup, duration parsing, and normal Telegram ordering unchanged and no SDK or storage migration. The Telegram queue also preserves overlapping-key ordering when a predecessor fails instead of advancing while another conflict is outstanding.