VectorDash 0.3.46-beta.3
Includes beta.1 and beta.2 features and fixes, with notification-first network indexing:
- Periodic network safety checks now compare directory metadata in bounded background batches instead of queuing a recursive share-root indexing job. Only new/changed/missing file paths enter the normal index queue; unchanged file contents are not opened.
- Startup and watcher-gap recovery on network sources use the same incremental reconciler. Disabling periodic checks preserves notifications and required gap recovery.
- Increased Windows change-notification buffers from 16 KiB to the SMB-compatible 64 KiB limit. Suitable shares use a nonrecursive root watch plus up to 32 recursive branch watches, so an overflow or reconnect can recover only its branch. Very wide roots retain a recursive watcher.
- New top-level branches are watched automatically. Watch counts, directory-discovery limits and fallback modes stay bounded.
- Fixed completion ordering: a successful full scan acknowledges older recovery requests and resets network timers before periodic work can be queued. Newer genuine gaps remain pending.
- Directory progress and exact changed paths are committed together. Interrupted/incomplete listings retain indexed data and never establish deletions. Periodic progress is retained; a new offline gap starts a fresh metadata pass so already-checked branches are not missed.
- Network metadata comes from directory-listing entries on Windows, avoiding a separate file-stat request per entry. Work pauses for indexing, idle rules and an automatic-indexing hold.
- Added batch and reconciliation-run counts to logs, plus regression coverage for budgets, changed-file-only queueing, interruptions, disconnected shares, branch scopes and timer handling.
Settings and testing
The existing Scheduling toggle and interval remain available (default enabled, 5 minutes). The interval now controls the delay between completed incremental passes, not a whole-share scan every five minutes.
Create one file and edit three existing files in a test folder on T:. Test nested directory creation/rename and reconnect after a brief disconnect. Inspect the log for Network reconciliation batch/run counts; ordinary notifications should still produce small targeted jobs. No embedding rebuild is required.
Safety reconciliation still enumerates metadata across a share over a complete pass; it spreads that work out and only indexes differences. It is not a replayable remote USN journal. A single slow SMB operation can exceed the scheduling time slice, but it runs off the UI/scheduler thread. Explicit manual full-source updates remain full scans. See docs/NETWORK-INDEXING.md for architecture and limits.
Validation
466 Rust tests and 10 Python tests passed. Live tests on T: verified one new file plus three edits queue exactly four paths, and verified nested/new-branch notification delivery with safety reconciliation disabled in the notification checks. Only test-owned temporary folders were created and removed. These checks validate behavior, not a general NAS performance claim.