v1.67.0 — a pass through the web interface
A pass through the web interface page by page, looking at it in a browser rather than reading its code. Everything below was measured before it was touched.
On a phone, the whole page scrolled sideways
The container table is wider than a phone and had no scroll container of its own, so the page moved instead — and the header went with it.
360px wide → 286px of horizontal page overflow
390px → 256px
768px → 46px
Every table sits in its own horizontal scroll container now. The table scrolls, the page stays put. Checked afterwards at 360 / 390 / 768 / 1024 across every page: no horizontal page overflow anywhere.
The container page and the status table disagreed about the same container
Measured on a live container carrying docksentry.auto=true: the status row showed auto 🏷, and the container page showed the checkbox unchecked and still clickable. Clicking it wrote to storage, changed nothing because the label wins, and left the two pages contradicting each other.
That is the same defect @LeeNX reported in #51 — a control showing a state it does not have — one page over. The status table has read container labels since #42; this page never did. It now reads docksentry.auto, .ask-major and .trust-running, marks them 🏷, and disables the control rather than merely marking it. A click that silently does nothing is what this whole class of bug is made of.
Four pixels
@LeeNX in #46: "the force recheck buttons always seems a little higher than the rest." He was right, and it had a cause. The check button sits bare in the row while every other action is wrapped in a <form>, and forms carry a browser default top margin — so inside that flex row the forms' margin box measured 40px against the bare button's 32px, and centring put them at different heights. 572.5 versus 576.5 before; one shared position after.
German that was English wearing a hat
The cron preview read today 18:00 · tomorrow 18:00 · Tue 18:00 inside a German interface — two hardcoded words plus a weekday from strftime("%a"), which reads the process locale, and in a container that is C. The weekday picker for update windows was hardcoded English too.
And nine German strings turned out to be word-for-word transliterations that kept every English compound: "Drag-and-Drop-Sortierung", "Edit-in-place", "Head-Container-Visualisierung", "persistierte Settings", "forward-compatible". One was wrong as well as ugly — "Container-Gruppen wohnen jetzt auf einer eigenen Seite", a literal rendering of "now live", which in German is what people do to houses. All rewritten.
Known and not fixed
Rows in the container table stand at different heights depending on how many actions a container has — 66px with four buttons, 89px with six, because six 32px buttons need 212px and the column is 179px, so they wrap. That raggedness is the second half of #46.
Widening the column to 212px did not fix it: min-width loses to the table layout algorithm, the buttons still wrapped, and one row grew from 91px to 108px into the bargain. Backed out rather than shipped. Still open, and I'd rather say so than quietly leave it looking solved.
Upgrading is the usual docker pull ghcr.io/amayer1983/docksentry:latest, or nothing at all with auto-selfupdate on.