Artifact f3d3b570b66bcbc04a827f41f335922e96431f877025699cbe9c0b5753fcf612:
- File
docs/site/content/docs/reference/sdk/libfossil/api.md
-
2026-10-29 01:42:14
— part of check-in
[41102e04af]
on branch main
— fix(sync): name a too-big file only to a reader, never by a private check-in
The budget refusal names the file and check-in only when the requester may read the repository, and phantomName skips private check-ins. HandleOpts, XferHandler and ServeHTTP document that the default handler applies no budget, so a host that needs one serves HandleSyncWithOpts itself.
Tests: an artifact held in full is not refused; a bare phantom is; a path holding card syntax goes out as one encoded error line; a sync round with pull and igot cards is refused whole with FilesReceived 0. Atomicity checks now cover unclustered, phantom, delta and mlink alongside blob. (user: [email protected], size: 129004) [annotate] [blame] [check-ins using]
-
2026-10-29 01:51:38
— part of check-in
[d385bc8746]
on branch main
— Merge pull request #524 from danmestas/feat/receive-size-budget
feat(sync): per-store artifact size budget on the receive path (user: [email protected], size: 129004) [annotate] [blame] [check-ins using]
-
2026-10-29 03:02:04
— part of check-in
[ad975ea85b]
on branch feat/horizon-peer-serving
— fix(sync): judge the horizon refusal after the push, serve later peers
Review of #525.
- A requested C this store cannot place is a peer ahead of it, not one asking for history it lacks, and is served what the store holds. A peer at a later C the store holds is placed inside its held set and served. - The refusal is judged after the card loop, once the pull card has passed its permission check and the push half is stored. Only the pull half is refused: the reply is reset to the one error card, the request is not rolled back, and a push in the same sync is kept. - The held sets are computed through the classification memo, which keeps them per store and drops them when the store changes; the inventory reuses the view the judgment read. - The refusal begins with the machine-readable prefix horizon-not-held:, which the client matches instead of the whole text. - The fallback remedy moves from a new result field into the existing diagnostics, prefixed horizon-fallback:: SyncResult.Errors and CloneResult.Messages. The CLI still prints it. (user: [email protected], size: 129004) [annotate] [blame] [check-ins using]
-
2026-10-29 01:42:14
— part of check-in
[41102e04af]
on branch main
— fix(sync): name a too-big file only to a reader, never by a private check-in