v0.10.3
Install it as a web app
Open /ui on a phone and Add to Home Screen gives it an icon, a name, and a window
without browser chrome. That needs a manifest, the icons it names, and — because iOS
ignores manifests — the apple-* tags as well.
Installed, the page runs edge to edge, so the mobile rules now pad by
env(safe-area-inset-*). The notch and the home indicator would otherwise sit on top of
the header and the last row of a list. The padding goes on the bars and on the scrollable
content rather than on the container, since insetting the container would leave the
letterbox bars plainly visible.
The icons are drawn, not exported
go run tools/icongen.go renders them with nothing but the Go standard library, so the
same source produces the same bytes on any machine and the repository needs no image
toolchain. The mark is three bars of decreasing width on a dark rounded square, in the
page's own accent colours — a list of sessions, legible down to a browser tab.
| File | What reads it |
|---|---|
icon-192.png / icon-512.png |
launchers (purpose: any) |
icon-maskable-512.png |
Android, which crops the icon to its own shape — the background fills the square and the glyph stays inside the safe zone |
apple-touch-icon.png |
iOS home screen |
favicon.ico |
the browser tab (the same drawing in an ICO container, replacing the old placeholder) |
Unchanged behaviour
Nothing about the API, the data sources or the desktop layout moves in this release. The
page still serves one embedded binary; the icons and the manifest are embedded the same
way the stylesheet is.
A test fetches the manifest and every icon it names, and checks the page references them —
a file the generator wrote but go:embed did not pick up should fail in CI rather than on
someone's phone.
Full changelog: v0.10.2...v0.10.3