11bbeeaefb0840d715574431669bb1c179f400ba
Two retention sweeps run once on app launch before the sync worker spawns. Mirrors doctate-client-core::startup + ::pending_cleanup. - Marker sweep: synced markers older than 72h are dropped via caseStore.cleanupStale; unsynced markers (guarding pending uploads) are preserved indefinitely. - Orphan audio sweep: m4a without sidecar (or vice versa) older than 24h goes; tmp leftovers go unconditionally. Paired files survive regardless of age — the upload worker owns deletion of valid pairs. Best-effort: failures are logged but never thrown. A hostile filesystem must not stop the watch from starting. 9 new tests (PendingCleanupTest 6, StartupCleanupTest 3) covering the window, sibling, and tmp-leftover edges. 52 tests green total.
Description
No description provided
Languages
Rust
74%
Kotlin
12.7%
HTML
4.9%
Python
4.1%
Shell
3.8%
Other
0.5%