github borgbase/vykar v0.13.0

8 hours ago

Features

  • GUI: New sidebar-driven layout. Tabs and multi-window are gone; pages are now split into ui/components/ and ui/pages/, repo selection persists by name (survives reordering/renaming), Overview shows the newest three snapshots, an in-window Cancel button mirrors the tray path, and Page is 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).
v0-13-0

Performance

  • File cache: ~33% smaller on disk and in RAM. The save path is now zstd-compressed behind a new FORMAT_VERSION_BYTE 0x10, csize is 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 as Vec<CachedChunkRef> with zero Vec allocation 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_run as Instant; on macOS and Linux monotonic clocks freeze during sleep, so a 2h interval effectively restarted from wake. next_run is now SystemTime, 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 SessionGuard heartbeat thread replaces pipeline-driven refreshes, refresh_session is now non-resurrecting, and VykarError::ActiveSessions now carries host/pid/age plus a structural None for 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/data was silently rejected every run, costing ~7 min of parent-reuse rebuild per backup. Cap removed; decode outcomes are now split into Loaded / Rejected / Malformed so rejections and parse failures log distinctly (49a1ea3).
  • Retry: default backoff widened to ~70s. max_retries raised from 3 to 5 and retry_delay_ms from 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

Don't miss a new vykar release

NewReleases is sending notifications on new releases.