Skip to content
quarry Timeline
Login

Timeline

10 most recent check-ins occurring on or after 2026-08-23 12:31:59.

More ↑
2026-08-23
20:02
merge ci-context: context panel, graph nodes, identicons check-in: f78fd539af user: dmestas tags: trunk
20:01
check-in: context panel, graph nodes, identicons on every name

Fossil's Context panel: the check-in among its neighbours in time, which is the question somebody bisecting a regression is asking. Two bounded index walks, no store read.

Needed a new index — every index on checkin led with branch, so ordering by date alone was a full scan of 20,928 rows plus a sort, twice a page. checkin_by_date puts the panel back at ~10ms.

Nodes reuse the timeline's palette so a branch is one colour across the forge. One lane deliberately: three neighbours are a slice of time, not a graph. On a phone the row stacks and the drawn rail becomes a border, since an SVG node cannot stretch without distorting its circle.

Identicons now appear wherever a person is named — check-in metadata, context rows, timeline, technotes, chat, attachments, wiki history. closed check-in: f73b5b9f05 user: dmestas tags: ci-context

19:19
merge landings with trunk check-in: 8a034b58c7 user: dmestas tags: trunk
19:17
landings: the decision surface

A list of what awaits a decision and a page per record: proposal, diff against target computed at view time, discussion, and the controls. accept rides `i` because it merges; everything else is a forum cap. Transitions render as events — zit stores them as replies, which is encoding the interface exists to hide. check-in: 7d2a820f65 user: dmestas tags: trunk

14:28
merge checkin-page: comment links, About placement, diff payload check-in: 071724226f user: dmestas tags: trunk
14:28
check-in: link comment routes, move About, stop shipping a dead patch

Comment links resolved only hashes and http URLs, so fossil's own Markdown and limitations rendered as raw markup. They now go through the same route table the wiki renderer uses, and an unmapped one degrades to its label instead of showing brackets.

About moves below the comment and metadata — fossil's order. Above the title it was an empty bar floating over the page name.

checkin.diff returned the raw patch on every call and nothing read it: ~78KB of duplicate serialised and parsed back per view. Now opt-in. Diffs are also memoised per immutable pair, like listings already are. closed check-in: 7a2510835d user: dmestas tags: checkin-page

13:50
merge struct-links: wanted and unlinked reachable from the filter row check-in: c9c04092a9 user: dmestas tags: trunk
13:49
docs: surface the structure lists where they can be found

They were reachable only from a panel at the foot of the page — 36 rows down on a small wiki, a hundred on fossil. That is where you put something a reader already knows about, not where they discover it. Counts now sit in the filter row: wanted 1, unlinked 7. closed check-in: 6554752b15 user: dmestas tags: struct-links

13:42
index: fold landing records into a queryable surface

A landing (zit#127) is a reading of forum_post, not a new artifact kind, so the table is derived and recomputed whenever any post in its thread folds -- which is what makes a reply indexed before its root converge on the same row. Backfilled once at open for indexes whose posts predate the table. check-in: 3c6bee847a user: dmestas tags: trunk

12:31
timeline: the mainline claims rail 0 only when it is free

A merge whose two parents are both on trunk puts two chains in front of one column. Claiming rail 0 anyway stopped drawing the line that was already travelling there — the gap — and overwrote the commit it was heading to. Test asserts every head resumes its predecessor's tail. check-in: 6f34d948a0 user: dmestas tags: trunk

More ↓