Skip to content
quarry Update of ”Audit after change”
Login

Update of ”Audit after change”

Overview

Artifact ID: 1f1550cd0d8d17ea76f77cb379e93fbbe08a7f0db29072c5f719c9b05d419aea
Page Name:Audit after change
Date: 2026-08-21 11:56:20
Original User: dmestas
Mimetype:text/x-markdown
Next ef5084b7d3a9d592ac60b88aef2ddcbe33b1d546206748edcc0676744dd14946
Content

Audit after change

Features that are rarely reached in ordinary use, so a regression goes unnoticed until someone lands on the one page that exercises them. After any change touching the areas named, walk the relevant checklist by hand — the automated coverage is listed where it exists, and its gaps are the point of this page.

Add an entry when you build something that (a) only shows up on unusual data, (b) has a no-script or progressive-enhancement path, or (c) depends on a browser behaviour a unit test cannot see.


1. Large-diff windowing (check-in page, /diff, /diff.frag)

Why rare: only a check-in with more than ~3,000 diff lines triggers it. Most check-ins render in one window and the whole mechanism is invisible.

Canonical case: fossil 62b38332f7e0d122dd5d6b19b6a89033ea7612a3d38876972015db876cb34b44 — a 600-file, 216K-line merge.

Touch points: internal/diff.Window / LastWindow, checkin.diff op (offset, maxLines, file, nextOffset, lastOffset, totalLines), diffWindow() and the diff-body / diff-more / diff-pager templates in internal/web/web.go, the #diff-more sentinel, diffBudget.

Checklist

Automated: internal/diff/window_test.go (contiguous chain, snapping, LastWindow agreement). Not automated: the intersect fetch, the <noscript> swap, the attribute name data-on-intersect (the data-on:intersect spelling silently does nothing in Datastar RC.7).


2. Changed-file list on very large check-ins

Why rare: same data as §1; lists under ~30 files look fine as a flat list, so a broken grouping only shows at scale.

Planned shape: directory tree with <details> groups collapsed past a threshold, A/M/D summary strip with status filters, multi-column rows inside open groups. When built, add its checklist here: groups collapsed/open by threshold, single-child directory compression, anchors still reach the diff sections (including not-yet-loaded windows), <details> works with scripting off.


3. Fleet fragment parity (/fleet.frag, /fleet.rev)

Why rare: the live fragment replaces the server-rendered listing moments after load; a field the fragment omits flashes and vanishes, which is easy to miss and looks like flicker.

Checklist

Automated: TestFleetFragmentCarriesEverythingThePageDoes.


4. Explore vs. personal dashboard routing

Why rare: / is the explore listing for anonymous readers and the personal dashboard for signed-in ones, so links that say / behave differently depending on who clicks them.

Checklist


Conventions