mirror of
https://github.com/0xrsydn/idx-cli.git
synced 2026-11-07 09:45:36 +00:00
fix(ownership): update syncs when a same-date snapshot is rebuilt
A snapshot republished for the same as-of date (the TRUE ticker fix) kept the date, latest release, and release count, so sync saw nothing to do and existing installs kept the bad data without --force. The manifest gains an optional snapshot.replaces_sqlite_sha256 listing earlier builds for that date. Queries never write to a synced file, so a local database byte-identical to a listed build is replaced; one that matches nothing (local imports or edits) still needs --force. The publisher fills the list on a same-date rebuild. Older clients ignore the field. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
cda12fe2db
commit
ec17a1bd05
5 changed files with 191 additions and 2 deletions
|
|
@ -79,7 +79,9 @@ The publisher treats the published snapshot as current only when the manifest's
|
|||
`download_url` names this repo and tag and the referenced asset matches its
|
||||
SHA-256 and size. A missing or corrupt asset, a mismatched URL, an unreadable
|
||||
manifest, or any GitHub auth/network error means "publish", never "up to date".
|
||||
`--force` uploads regardless.
|
||||
`--force` uploads regardless. A forced rebuild for the already-published as-of
|
||||
date adds the replaced build's `sqlite_sha256` to `replaces_sqlite_sha256`
|
||||
(keeping the last 20), so clients still holding it update on their next sync.
|
||||
|
||||
## Run Result
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue