commits on main
2026-11-12
5f7aba42 dawn readme: trim prose, list flags, and add a nixos services.knot-static example
readme: trim prose, list flags, and add a nixos services.knot-static example
2026-11-10
f5e3841f dawn count the responses kit inlines past 32 KB, and name each repo's biggest, so a page that carries a whole payload shows in the summary
count the responses kit inlines past 32 KB, and name each repo's biggest, so a page that carries a whole payload shows in the summary
Signed-off-by: dawn <90008@klbr.net>
9a345ced dawn a repo's state names each link once, so a big folder's pages don't make it tens of MB to write and read back
a repo's state names each link once, so a big folder's pages don't make it tens of MB to write and read back
Signed-off-by: dawn <90008@klbr.net>
0417102e dawn read the worker's peak rss in KiB on every platform, as bun 1.4 reports it on macos too
read the worker's peak rss in KiB on every platform, as bun 1.4 reports it on macos too
Signed-off-by: dawn <90008@klbr.net>
b7450e75 dawn log each repo's worker rss and peak, and how many workers a render started, so recycles show in the summary
log each repo's worker rss and peak, and how many workers a render started, so recycles show in the summary
Signed-off-by: dawn <90008@klbr.net>
8ca0a8ea dawn run under bun, which renders the same pages in a third less memory
run under bun, which renders the same pages in a third less memory
Signed-off-by: dawn <90008@klbr.net>
01ccffa3 dawn replace a bun worker past 360 MB as meant, not past node's 650
replace a bun worker past 360 MB as meant, not past node's 650
Signed-off-by: dawn <90008@klbr.net>
cd1ad604 dawn a page that outranks kept ones takes their room, so a re-render that grows never drops a repo's front page, and every repo renders again once to get one back
a page that outranks kept ones takes their room, so a re-render that grows never drops a repo's front page, and every repo renders again once to get one back
Signed-off-by: dawn <90008@klbr.net>
4e5d7557 dawn render the owners' user pages before the repos
render the owners' user pages before the repos
Signed-off-by: dawn <90008@klbr.net>
70738d23 dawn keep the client chunks of every build a served page was rendered by, so a deploy never breaks a page before its re-render
keep the client chunks of every build a served page was rendered by, so a deploy never breaks a page before its re-render
Signed-off-by: dawn <90008@klbr.net>
1e8fbec9 dawn save each repo's and owner's render as it finishes, so a superseded or killed run's work counts for the next
save each repo's and owner's render as it finishes, so a superseded or killed run's work counts for the next
Signed-off-by: dawn <90008@klbr.net>
ef67c298 dawn render each repo owner's user page, again when its profile, handle or repo list changes
render each repo owner's user page, again when its profile, handle or repo list changes
Signed-off-by: dawn <90008@klbr.net>
2026-11-09
1384bcfe dawn match a diff line to a read by the params the knot marks any, instead of guessing from a subset of them
match a diff line to a read by the params the knot marks any, instead of guessing from a subset of them
Signed-off-by: dawn <90008@klbr.net>
3b2d5816 dawn publish a repo's open ticket counts apart from its pages, so a new ticket rewrites one file and no page
publish a repo's open ticket counts apart from its pages, so a new ticket rewrites one file and no page
Signed-off-by: dawn <90008@klbr.net>
24cccda4 dawn revalidate pages and the app shell on every load, so a reader sees a new render at once
revalidate pages and the app shell on every load, so a reader sees a new render at once
Signed-off-by: dawn <90008@klbr.net>
d8752ca2 dawn publish the routes a repo has pages for, so the spa loads only those as documents
publish the routes a repo has pages for, so the spa loads only those as documents
Signed-off-by: dawn <90008@klbr.net>
05c81fac dawn keep a failed repo's pages and render it whole next run, while the other repos finish
keep a failed repo's pages and render it whole next run, while the other repos finish
Signed-off-by: dawn <90008@klbr.net>
d1be6399 dawn set the worker heap cap with --worker-heap-mb
set the worker heap cap with --worker-heap-mb
Signed-off-by: dawn <90008@klbr.net>
e2e9f8fc dawn report each repo's peak worker heap in the status
report each repo's peak worker heap in the status
Signed-off-by: dawn <90008@klbr.net>
aea88a2b dawn keep one copy per repo of the routes and read keys its pages share, so a folder of generated files fits a worker's heap
keep one copy per repo of the routes and read keys its pages share, so a folder of generated files fits a worker's heap
Signed-off-by: dawn <90008@klbr.net>
80b53268 dawn keep each ref's newest sidebar under a stable name for pages left to the spa
keep each ref's newest sidebar under a stable name for pages left to the spa
Signed-off-by: dawn <90008@klbr.net>
378c1b86 dawn render a repo's tickets board when a pull comes from a fork on another knot
render a repo's tickets board when a pull comes from a fork on another knot
Signed-off-by: dawn <90008@klbr.net>
23629333 dawn render a ticket page again when its comments, patches or labels change
render a ticket page again when its comments, patches or labels change
Signed-off-by: dawn <90008@klbr.net>
e4e163b3 dawn build svfe-pages with nix, a flake whose svfe-pages runs pages.mjs on nixpkgs' node
build svfe-pages with nix, a flake whose svfe-pages runs pages.mjs on nixpkgs' node
86bb3b20 dawn leave a page to the client when a path component is too long for a file name
leave a page to the client when a path component is too long for a file name
Signed-off-by: dawn <90008@klbr.net>
93274b73 dawn serve a list's ?page=N from its own page, or the spa when it wasn't rendered
serve a list's ?page=N from its own page, or the spa when it wasn't rendered
Signed-off-by: dawn <90008@klbr.net>
da8c9d00 dawn render the later pages of the commit log, branches and tags, after everything else
render the later pages of the commit log, branches and tags, after everything else
Signed-off-by: dawn <90008@klbr.net>
8acb6afc dawn check an incremental render against a fresh one with shared names masked
check an incremental render against a fresh one with shared names masked
Signed-off-by: dawn <90008@klbr.net>
518309b1 dawn store the sidebar every page of a repo shows once per content, outside the pages' reads
store the sidebar every page of a repo shows once per content, outside the pages' reads
Signed-off-by: dawn <90008@klbr.net>
ffbedd59 dawn fork worker processes under bun when the coordinator runs on bun
fork worker processes under bun when the coordinator runs on bun
Signed-off-by: dawn <90008@klbr.net>
b164d673 dawn compress static pages at gzip level 6
compress static pages at gzip level 6
Signed-off-by: dawn <90008@klbr.net>
4e3168c9 dawn scan only the fetched script tail in canonicalHtml and deduplicate hrefs in linksOf
scan only the fetched script tail in canonicalHtml and deduplicate hrefs in linksOf
Signed-off-by: dawn <90008@klbr.net>
2db8898b dawn reuse worker processes across repos and recycle them at rss or repo limits
reuse worker processes across repos and recycle them at rss or repo limits
Signed-off-by: dawn <90008@klbr.net>
8f69f1d8 dawn keep a skipped repo's store generation in state and index unchanged repos in knot.json
keep a skipped repo's store generation in state and index unchanged repos in knot.json
Signed-off-by: dawn <90008@klbr.net>
c4819b1b dawn cache xrpc reads within a repo in a bounded lru
cache xrpc reads within a repo in a bounded lru
Signed-off-by: dawn <90008@klbr.net>
7d65785f dawn stop rendering a batch once the repo's byte budget is full
stop rendering a batch once the repo's byte budget is full
Signed-off-by: dawn <90008@klbr.net>
f9a85bac dawn write finished pages in rank order as they complete and cap worker heap size
write finished pages in rank order as they complete and cap worker heap size
Signed-off-by: dawn <90008@klbr.net>
3917f941 dawn skip commit pages outside the commit budget before rendering them
skip commit pages outside the commit budget before rendering them
Signed-off-by: dawn <90008@klbr.net>
edafa53e dawn render svfe repo pages for knot-static generations
render svfe repo pages for knot-static generations
Signed-off-by: dawn <90008@klbr.net>
full history: git clone https://git.klbr.net/ptr.pet/svfe-pages