| Comment: | Release 0.3.19
log opens once, on the zero-parse image; the open mode is declared, never defaulted. |
|---|---|
| Timelines: | family | ancestors | descendants | both | trunk | version-0.3.19 |
| Files: | files | file ages | folders |
| SHA3-256: |
61ae22616f5521acee722cafba8a8a89 |
| User & Date: | dmestas on 2026-09-17 13:46:15.908 |
| Other Links: | manifest | tags |
|
2026-09-17
| ||
| 15:21 |
sync: encode every server error card
The bad-command and malformed-card refusals were written with raw spaces, so on the wire they were four tokens. A stock fossil client reads an error card as two, reported the rest as unknown commands, dropped the refusal and printed its success summary; a refused push looked landed and re-sent the same artifacts on every autosync. Every error card is now assembled at one point with its text encoded, as fossil's own server writes it. A test drives each refusal through the emitter and fails on a raw space after the operator. check-in: 8f5dff81b0 user: dmestas tags: trunk | |
| 13:46 |
Release 0.3.19
log opens once, on the zero-parse image; the open mode is declared, never defaulted. check-in: 61ae22616f user: dmestas tags: trunk, version-0.3.19 | |
| 13:39 |
log: open once, on the zero-parse image
log reached past the open funnel and called Repository.open with the default options, which is the full record replay meant for write verbs, and did so twice for a symbolic name. On pkgsrc that was 0.94s before the first row; on the image path it is 0.05-0.10s, output byte-identical on every route. The open mode has no default any more: every direct caller declares it, so the next verb written past the funnel cannot inherit the expensive one silently. An e2e runs every log route under the derive-footprint seam and fails if any of them replays a record. check-in: 0910bc00f5 user: dmestas tags: trunk | |