commits on main
2026-11-12
c43d1a79 dawn readme: describe svfe, how it pairs with svfe-pages, and a nixos example
readme: describe svfe, how it pairs with svfe-pages, and a nixos example
2026-11-11
49fa86f2 dawn web/repo: the file filter keeps the tree's height and says when nothing loaded matches, so filtering doesn't move the page
web/repo: the file filter keeps the tree's height and says when nothing loaded matches, so filtering doesn't move the page
000899f5 dawn web: a page's title says what it is in words without a site suffix, a knot names itself as the site, and og:image is the page's card on a knot
web: a page's title says what it is in words without a site suffix, a knot names itself as the site, and og:image is the page's card on a knot
Signed-off-by: dawn <dawn@tangled.org>
8d4f3029 dawn web/repo: a diff's file heads and a workflow's step heads are a line tall plus a little room, not two
web/repo: a diff's file heads and a workflow's step heads are a line tall plus a little room, not two
2c25ee7c dawn web/repo: a run's workflows are tabs in its ribbon, the ones past its end in a menu
web/repo: a run's workflows are tabs in its ribbon, the ones past its end in a menu
c49a5e89 dawn web/repo: a scroller's bands at its host's edge are css, drawn from the first frame, and scrollChrome draws the rest
web/repo: a scroller's bands at its host's edge are css, drawn from the first frame, and scrollChrome draws the rest
Signed-off-by: dawn <dawn@tangled.org>
2f9482fd dawn web/repo: the native scrollbars are hidden by css from the first frame, not once the app starts, and back without js
web/repo: the native scrollbars are hidden by css from the first frame, not once the app starts, and back without js
Signed-off-by: dawn <dawn@tangled.org>
541467bf dawn web/repo: a page loaded as a document draws the ticket count the session's last page drew, instead of … until the counts arrive
web/repo: a page loaded as a document draws the ticket count the session's last page drew, instead of … until the counts arrive
Signed-off-by: dawn <dawn@tangled.org>
1ba2505b dawn web/repo: the sidebar's file filter is in a page's html from its first frame, hidden only without js
web/repo: the sidebar's file filter is in a page's html from its first frame, hidden only without js
Signed-off-by: dawn <dawn@tangled.org>
99606b3e dawn web/repo: a repo's "+N more" topics go once opened
web/repo: a repo's "+N more" topics go once opened
6767535e dawn web/repo: a commit row's tags fit its line, so rows don't grow when they arrive
web/repo: a commit row's tags fit its line, so rows don't grow when they arrive
f2bf5858 dawn web/repo: a workflow's step heads centre their row, and its logs reach the pane's bottom
web/repo: a workflow's step heads centre their row, and its logs reach the pane's bottom
4db5fb7e dawn web/repo: a ribbon's line counts take the ribbon's size, and its file tree button centres its icon
web/repo: a ribbon's line counts take the ribbon's size, and its file tree button centres its icon
28de3770 dawn web: anything that acts on a click shows the pointer
web: anything that acts on a click shows the pointer
f789e846 dawn web: text never draws below 11.5 px, which the sizes set for a mono face did in a proportional one
web: text never draws below 11.5 px, which the sizes set for a mono face did in a proportional one
2026-11-10
c9c7d347 dawn web/repo: a pull comment's placeholder is one line tall, so a new comment grows in without first taking 112 px, and its arrival story clicks the lowercase button
web/repo: a pull comment's placeholder is one line tall, so a new comment grows in without first taking 112 px, and its arrival story clicks the lowercase button
Signed-off-by: dawn <dawn@tangled.org>
2df58398 dawn web/repo: on a phone the sidebar's windows wait for the pane to be parsed, so a page painted mid-parse no longer shows them where the pane goes and drops them a screen down
web/repo: on a phone the sidebar's windows wait for the pane to be parsed, so a page painted mid-parse no longer shows them where the pane goes and drops them a screen down
Signed-off-by: dawn <dawn@tangled.org>
bf1128aa dawn web: headings are set in kode mono, like the tabs
web: headings are set in kode mono, like the tabs
Signed-off-by: dawn <dawn@tangled.org>
17737cdd dawn web: host grotesk draws the ui and prose and kode mono the code, the repo name and the tabs, in place of outfit and maple mono
web: host grotesk draws the ui and prose and kode mono the code, the repo name and the tabs, in place of outfit and maple mono
Signed-off-by: dawn <dawn@tangled.org>
2ee07d91 dawn web/repo: a pull's commit rows and version heads draw their status slot before the statuses arrive, for a repo with a spindle
web/repo: a pull's commit rows and version heads draw their status slot before the statuses arrive, for a repo with a spindle
Signed-off-by: dawn <dawn@tangled.org>
88b417be dawn web/repo: a commit's refs land in the hash row's spare room, so their late arrival no longer re-breaks the title and pushes the page down
web/repo: a commit's refs land in the hash row's spare room, so their late arrival no longer re-breaks the title and pushes the page down
Signed-off-by: dawn <dawn@tangled.org>
9cca46be dawn web/repo: a commit row of a repo with a spindle draws its status slot before the statuses arrive, so a late mark cuts no subject
web/repo: a commit row of a repo with a spindle draws its status slot before the statuses arrive, so a late mark cuts no subject
Signed-off-by: dawn <dawn@tangled.org>
0788c207 dawn web/repo: a page loaded as a document paints with its open tab scrolled into view, instead of the strip jumping when the app starts
web/repo: a page loaded as a document paints with its open tab scrolled into view, instead of the strip jumping when the app starts
Signed-off-by: dawn <dawn@tangled.org>
20125331 dawn web/repo: the tickets tab keeps two digits' room for its count, so the tabs after it don't move when it lands
web/repo: the tickets tab keeps two digits' room for its count, so the tabs after it don't move when it lands
Signed-off-by: dawn <dawn@tangled.org>
cc2fa5b4 dawn web: a page loaded as a document swaps in without a view transition, which ios safari drew with the old page shifted up
web: a page loaded as a document swaps in without a view transition, which ios safari drew with the old page shifted up
Signed-off-by: dawn <dawn@tangled.org>
6bbf56b7 dawn web/repo: paths, file names, hashes and dids are set in maple mono
web/repo: paths, file names, hashes and dids are set in maple mono
Signed-off-by: dawn <dawn@tangled.org>
09e8630e dawn web: outfit draws the ui and prose and maple mono the code, both self-hosted latin subsets in place of plex mono
web: outfit draws the ui and prose and maple mono the code, both self-hosted latin subsets in place of plex mono
Signed-off-by: dawn <dawn@tangled.org>
d338c2c7 dawn web/repo: a file page draws a hundred rows of a big folder and a link to the folder's page, and the rest once the app starts
web/repo: a file page draws a hundred rows of a big folder and a link to the folder's page, and the rest once the app starts
Signed-off-by: dawn <90008@klbr.net>
ff52c880 dawn web/repo: a knot's file page names its folder's listing in a file shared by the folder's pages, instead of carrying the payload it was read from
web/repo: a knot's file page names its folder's listing in a file shared by the folder's pages, instead of carrying the payload it was read from
Signed-off-by: dawn <90008@klbr.net>
71251384 dawn web/repo: a rendered diff page carries the diff it built instead of the payload it built it from, so a big commit's page drops megabytes
web/repo: a rendered diff page carries the diff it built instead of the payload it built it from, so a big commit's page drops megabytes
Signed-off-by: dawn <90008@klbr.net>
df34704b dawn web: a hover on a link to a kept page preloads its route's code and css, so the page paints right after it commits
web: a hover on a link to a kept page preloads its route's code and css, so the page paints right after it commits
Signed-off-by: dawn <dawn@tangled.org>
959753ca dawn web/repo: the loading strip's stripes move by transform on the compositor, so they keep moving while a page's main thread is busy
web/repo: the loading strip's stripes move by transform on the compositor, so they keep moving while a page's main thread is busy
Signed-off-by: dawn <dawn@tangled.org>
e0ca587a dawn web: the time-ago script's text is built with the app, so node and bun render the same page
web: the time-ago script's text is built with the app, so node and bun render the same page
Signed-off-by: dawn <90008@klbr.net>
790b949b dawn web/repo: a rendered diff page ships the hunks it draws instead of both whole sides, and reads the sides only to expand
web/repo: a rendered diff page ships the hunks it draws instead of both whole sides, and reads the sides only to expand
Signed-off-by: dawn <90008@klbr.net>
ffbd6855 dawn web/repo: build the patch of the hunks pierre draws, checked against 258 real files
web/repo: build the patch of the hunks pierre draws, checked against 258 real files
Signed-off-by: dawn <90008@klbr.net>
390679b2 dawn web/repo: a diff drawn from its hunks alone can say how many unchanged lines follow the last one
web/repo: a diff drawn from its hunks alone can say how many unchanged lines follow the last one
Signed-off-by: dawn <90008@klbr.net>
e524bc37 dawn web/repo: a signed-out reader's pull page finds a same-repo source branch in the sidebar
web/repo: a signed-out reader's pull page finds a same-repo source branch in the sidebar
Signed-off-by: dawn <90008@klbr.net>
1d26de87 dawn web/repo: a diff side the page didn't ship costs one read, not two, since the diff already knows its size
web/repo: a diff side the page didn't ship costs one read, not two, since the diff already knows its size
Signed-off-by: dawn <90008@klbr.net>
5a26af47 dawn web/scripts: a probe fails on any knot read a prerendered page makes
web/scripts: a probe fails on any knot read a prerendered page makes
Signed-off-by: dawn <90008@klbr.net>
05ab5319 dawn web/repo: the pages after the first in a session reuse its counts, routes and newest sidebar a while
web/repo: the pages after the first in a session reuse its counts, routes and newest sidebar a while
Signed-off-by: dawn <90008@klbr.net>
667d72da dawn web/repo: a pull page asks for no diff of a round without commits, and finds its target branch in the sidebar
web/repo: a pull page asks for no diff of a round without commits, and finds its target branch in the sidebar
Signed-off-by: dawn <90008@klbr.net>
686b2632 dawn web/repo: the sidebar keeps every ref, so commit pages name refs without listing them again
web/repo: the sidebar keeps every ref, so commit pages name refs without listing them again
Signed-off-by: dawn <90008@klbr.net>
4b4bfcc4 dawn web/tickets: hovering the board's kind chips loads nothing
web/tickets: hovering the board's kind chips loads nothing
Signed-off-by: dawn <90008@klbr.net>
bd405bd6 dawn web: a prerendered page's first load uses the answers in its html, also the parts that stream in after the app starts
web: a prerendered page's first load uses the answers in its html, also the parts that stream in after the app starts
Signed-off-by: dawn <90008@klbr.net>
346f5c77 dawn web/repo: the header's owner and name are links to the user page and the repo, their popover still opens on hover and focus
web/repo: the header's owner and name are links to the user page and the repo, their popover still opens on hover and focus
Signed-off-by: dawn <dawn@tangled.org>
6f32bde4 dawn web/svfe: the scroll edge bands live in the repo app's own stacking context, so its drawer, scrim and menus paint over them
web/svfe: the scroll edge bands live in the repo app's own stacking context, so its drawer, scrim and menus paint over them
Signed-off-by: dawn <dawn@tangled.org>
c07e6ba1 dawn web/markup: lists leave room for their markers, so a numbered list's numbers aren't cut off at the pane's edge
web/markup: lists leave room for their markers, so a numbered list's numbers aren't cut off at the pane's edge
Signed-off-by: dawn <dawn@tangled.org>
b61b4094 dawn web: the head preloads the plex mono faces a first screen draws and they block, so a page never paints in a fallback mono
web: the head preloads the plex mono faces a first screen draws and they block, so a page never paints in a fallback mono
Signed-off-by: dawn <dawn@tangled.org>
19ecba6a dawn web/repo: the loading strip goes off once the page's skeletons are gone, also on a page the app renders itself
web/repo: the loading strip goes off once the page's skeletons are gone, also on a page the app renders itself
Signed-off-by: dawn <dawn@tangled.org>
830dfe74 dawn web: a prerendered page shows a signed-in reader their corner, new and their own repo's settings from the first paint, before the app hydrates
web: a prerendered page shows a signed-in reader their corner, new and their own repo's settings from the first paint, before the app hydrates
Signed-off-by: dawn <dawn@tangled.org>