sotashimozono_obsidian-remo.../plugin/scripts
Souta 8e258b4ce6 feat(daemon): version-aware provisioning — refresh the daemon on plugin upgrade
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>
2026-07-02 18:48:49 +09:00
..
perf ci(plugin): Phase C.M10 — perf-bench off the PR critical path; nightly + workflow_dispatch (0.4.48) 2026-04-29 08:39:01 +09:00
build-server.mjs feat(plugin): auto-deploy obsidian-remote-server over SSH 2026-04-25 17:40:45 +09:00
bump-stable.mjs feat(release): formalize next=beta / main=stable two-channel model 2026-05-10 12:11:35 +09:00
bump-version.mjs feat(release): formalize next=beta / main=stable two-channel model 2026-05-10 12:11:35 +09:00
cdp-tail.mjs chore: monorepo restructure (plugin/ + server/ + proto/) 2026-04-25 10:52:52 +09:00
dev-install.mjs feat(daemon): version-aware provisioning — refresh the daemon on plugin upgrade 2026-07-02 18:48:49 +09:00
replay-prev-tests.mjs ci(replay): replay previous release tag's tests against current source 2026-04-30 17:54:22 +09:00
start-test-sshd.mjs fix(test): integration sshd healthcheck (install iproute2 + dump logs on fail) 2026-04-27 14:23:59 +09:00
stop-test-sshd.mjs feat(test): docker sshd integration test environment (Tier B-1+B-3, 0.4.0) 2026-04-27 14:05:55 +09:00