Skip to content
quarry Check-in [bf5ba9d2fc]
Login

Check-in [bf5ba9d2fc]

Overview
Comment:oltp: accounts and per-repo roles

0001 §8's v2 tables. Accounts are the web/API identity (argon2id verifier, site-admin flag, read/write/admin per repo); the RFC §6.3 shared secret stays the sync credential, since the protocol fixes its derivation and the server must recompute it.

ops.Auth becomes the required role, so the Admin level that was already declared now means something. The gate stays open until the first account exists, mirroring the sync-user policy, so existing deployments and local single-user serving are unaffected.

Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: bf5ba9d2fc27bae33e403fddf16452538763b4748a1cdf553327ddd8650721c9
User & Date: dmestas on 2026-08-16 17:07:31.049
Other Links: manifest | tags
Context
2026-08-16
18:12
write plane: author the C and N cards zit#77 opened

technote gains a Title field: the C card is what a timeline renders as the note's name, and zit refuses to attach it later, so it is write-once at save time. The edit form prefills it.

forum posts and replies now carry an N card. quarry's form invites markdown, but an omitted card is text/x-fossil-wiki by fossil's rule, so a markdown post was rendering as wiki markup — the same default wiki.save and technote.add already applied.

Tags (--tag) stay unadopted: repeatable inputs need a slice field the ops layer does not encode yet. check-in: 89c60b6ca1 user: dmestas tags: trunk

17:07
oltp: accounts and per-repo roles

0001 §8's v2 tables. Accounts are the web/API identity (argon2id verifier, site-admin flag, read/write/admin per repo); the RFC §6.3 shared secret stays the sync credential, since the protocol fixes its derivation and the server must recompute it.

ops.Auth becomes the required role, so the Admin level that was already declared now means something. The gate stays open until the first account exists, mirroring the sync-user policy, so existing deployments and local single-user serving are unaffected. check-in: bf5ba9d2fc user: dmestas tags: trunk

16:17
artifact: an empty trailing token is legal on any card

Broadens the previous J/T/U fix: fossil's next_token() returns a non-NULL empty string whenever a card ends in a space, on any letter, and each card's own validation decides. C is the common case — 1,009 empty-comment artifacts across sqlite and tcl were rejected and demoted to content. Interior empty tokens stay malformed, and arity still gates the rest. check-in: 5773517bde user: dmestas tags: trunk

Changes