Skip to content
go-libfossil Check-in [fa65d2c2d5]
Login

Check-in [fa65d2c2d5]

Overview
Comment:Merge remote-tracking branch 'origin/main' into feat/horizon-peer-serving
Timelines: family | ancestors | descendants | both | main | trunk | feat/horizon-peer-serving
Files: files | file ages | folders
SHA3-256: fa65d2c2d5c5607590433fb8f0355cd128416686e2e4d9f3a91ea1c4cf3b6f2d
User & Date: [email protected] on 2026-10-29 04:21:39.000
Other Links: branch diff | manifest | tags
Context
2026-10-29
04:57
refactor(sync): keep an allowlist of reply cards on a horizon refusal

A refusal keeps only gimmes, errors, messages and the session-level pragmas, so a pull-side card type added later is dropped until judged safe. The refused-pull case now asks for every pull-side card kind and asserts the reply holds only allowlisted types. check-in: fb36eb5653 user: [email protected] tags: feat/horizon-peer-serving, main, trunk

04:21
Merge remote-tracking branch 'origin/main' into feat/horizon-peer-serving leaf check-in: fa65d2c2d5 user: [email protected] tags: feat/horizon-peer-serving, main, trunk
03:45
fix(sync): a refused horizon sync still takes the peer's push

Re-review of #525. Resetting the reply after the card loop dropped the gimmes that answer the client's igot announcements. The real client sends only igots in its first round, so its push never landed.

- Server: a §6.4 refusal drops only what the pull half put in the reply. That is content, announcements and the pragmas serving the horizon. The push half's cards stay, its gimmes and any push error, and the horizon-not-held error goes last, since a client stops reading at an error card. - Client: on a horizon-not-held refusal the pull stops and later requests carry no pull card. Rounds go on answering gimmes until the push converges, bounded by MaxRounds, and Sync then returns the refusal. A structural store does not read the refusal as a reason to fall back. - The refused-push case now drives the real client: an earlier-C peer with a check-in of its own syncs, and the store holds that check-in while the peer is sent no content. A push error survives the refusal. - The requirement table and concept doc say why taking the push is consistent with §6.4's "no content". check-in: a557971c28 user: [email protected] tags: feat/horizon-peer-serving, main, trunk

03:30
Merge pull request #526 from danmestas/perf/wasm-size-and-refusal

Return receive-budget refusals as *RefusedError; libfossil_nohttp tag cuts the TinyGo engine ~97 KB check-in: 0ffed7ff5f user: [email protected] tags: main, trunk

Changes