Features
- GUI: New sidebar-driven layout. Tabs and multi-window are gone; pages are now split into
ui/components/andui/pages/, repo selection persists by name (survives reordering/renaming), Overview shows the newest three snapshots, an in-window Cancel button mirrors the tray path, andPageis now a typed enum shared between Slint and Rust (4610137). - GUI: Browse snapshots via WebDAV. A new Mount button on Overview (whole repo) and Snapshots (single snapshot) binds
127.0.0.1:0, opens the default browser at the bound URL, and shows a footer banner with a clickable link and Stop button (2dac663).
Performance
- File cache: ~33% smaller on disk and in RAM. The save path is now zstd-compressed behind a new
FORMAT_VERSION_BYTE 0x10,csizeis no longer cached (rehydrated from the index at commit), and single-chunk entries are inlined via a custom serde codec that emits the same wire format asVec<CachedChunkRef>with zeroVecallocation on deserialize. Measures 63 B/entry on disk on a 10k-entry regression test (was ~95 B) (806d24b).
Bug Fixes
- Scheduler survives system sleep. Both GUI and daemon schedulers stored
next_runasInstant; on macOS and Linux monotonic clocks freeze during sleep, so a 2h interval effectively restarted from wake.next_runis nowSystemTime, and each wait is capped at 60s so the loop re-evaluates wall-clock state within a minute of wake. Fixes #110 (9276384). - Sessions reap stale markers at 45 min with an independent heartbeat. Long-running backups on one host could block maintenance on another for up to 72h. A dedicated
SessionGuardheartbeat thread replaces pipeline-driven refreshes,refresh_sessionis now non-resurrecting, andVykarError::ActiveSessionsnow carries host/pid/age plus a structuralNonefor malformed markers so maintenance fails closed. Fixes #107 (2c7a393). - File cache: drop hardcoded 256 MiB plausibility cap. A ~714 MiB cache on a host backing up
/srv/mail+/srv/nextcloud/datawas silently rejected every run, costing ~7 min of parent-reuse rebuild per backup. Cap removed; decode outcomes are now split intoLoaded/Rejected/Malformedso rejections and parse failures log distinctly (49a1ea3). - Retry: default backoff widened to ~70s.
max_retriesraised from 3 to 5 andretry_delay_msfrom 1000 to 1500, so cumulative backoff (base 47s, max 93s with jitter) can ride out a typical WiFi reconnect after laptop sleep. Healthy connections are unaffected (0a48b13).
Downloads
| Platform | Artifact |
|---|---|
| Linux x86_64 (glibc) | vykar-v0.13.0-x86_64-unknown-linux-gnu.tar.gz
|
| Linux x86_64 (musl) | vykar-v0.13.0-x86_64-unknown-linux-musl.tar.gz
|
| Linux aarch64 (glibc) | vykar-v0.13.0-aarch64-unknown-linux-gnu.tar.gz
|
| Linux aarch64 (musl) | vykar-v0.13.0-aarch64-unknown-linux-musl.tar.gz
|
| Linux GUI | vykar-gui-v0.13.0-x86_64.AppImage
|
| macOS aarch64 | vykar-v0.13.0-aarch64-apple-darwin.tar.gz
|
| Windows x86_64 | vykar-v0.13.0-x86_64-pc-windows-msvc.zip
|