mirror of
https://github.com/sotashimozono/obsidian-remote-ssh.git
synced 2026-07-22 17:10:32 +00:00
Dogfooding beta.13: the static-daemon fix shipped, but users still ran the old dynamically-linked binary — the cache was keyed by ARCH only (cacheHit = existsSync), so a plugin upgrade never re-downloaded the daemon. And locateDaemonBinary returned any staged binary at the dev filename, so a prior *download* masqueraded as a dev build and skipped the refresh entirely. Now (single cached file, no per-version pileup): - DaemonDownloader validates the cache by SHA against the release manifest, not mere existence: reuse iff the cached bytes still match the expected sha, else re-download (atomic overwrite = old dropped). A daemon that didn't change across a bump is NOT re-downloaded; a changed/stale one is. - ensureDaemonBinary fast-paths on `settings.daemonBinaryVersion === version` (cached file present) -> no GitHub round-trip, works offline; on mismatch it runs the sha re-check and records the new version after provisioning. - locateDaemonBinary now requires a `.dev-daemon` marker (written by dev-install) to treat a staged binary as a genuine dev build; an unmarked download is re-validated instead of trusted. This is what makes an existing store/BRAT user's stale binary auto-replace seamlessly (no manual delete). Implements the deferred #406 "re-verify cached binary sha before reuse". tsc/lint/vitest green (1188). Ships as beta.14. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| adapter | ||
| cache | ||
| conflict | ||
| offline | ||
| path | ||
| proto | ||
| settings | ||
| shadow | ||
| ssh | ||
| transport | ||
| ui | ||
| util | ||
| vault | ||
| ConnectionManager.ts | ||
| constants.ts | ||
| main.ts | ||
| types.ts | ||