AgeCommit message (Collapse)AuthorLines
Keep the query string across the about redirectsBryce Kwon-0/+1
The hop to the trailing-slash form of the about page, and the hop back to the summary of a repository without a readme, were built from the path alone, so a request for the about page of another branch landed on the default one. The query goes into the Location line as the client sent it, with any byte a header cannot carry percent-encoded.
Harden the request path, scan and error recoveryBryce Kwon-4/+8
Clean up the whole treeBryce Kwon-7/+3
Trim the comments and dead code across the treeBryce Kwon-2/+2
Restyle the sources and fix the audit's findingsBryce Kwon-20/+50
Render each diff body while its file is openBryce Kwon-0/+5
Gather page output into one bufferBryce Kwon-0/+4
Emit generated runs in batches, not a write eachBryce Kwon-0/+7
Reorganize into source, assets and librariesBryce Kwon-0/+37
The C sources move to source/, the served files to assets/, the bundled Git submodule to libraries/git and the filter scripts to extensions/. Everything the build generates now lands in build/, so a clean is a single remove and the tree stays clean.