v3.8.1 — Content that had nowhere to go
A file longer than the window could not be scrolled in the editor. That was
issue #10, reported
against Firefox — and measuring it in both engines said Firefox was not the
fault. It was broken everywhere, and looking for the shape of it rather than the
case found three more.
What was wrong
The editor. CodeMirror grows with its document unless it is told to fill its
host, so a 900-line file drew an editor 20,000 px tall inside a page whose root
clips at the window. There was no viewport anywhere, and the wheel moved nothing
in any browser. What differed between engines was only what the keyboard did:
moving the caret scrolls a clipping container by as much as each one chooses —
57 px a press in Chromium, 9,747 in Firefox — which is what made it read as a
browser quirk rather than a layout fault.
The search results showed ten matches of a hundred. Every other list in the
application scrolls its own list: the trash, both share views, the folder
listing. This one alone drew all hundred into a box that clips, with no
scrollbar anywhere.
The dashboard clipped its last volumes — 460 px of 1,120 unreachable at
thirty-one volumes, which is a number of mounts an ordinary NAS has.
The sidebar could only be scrolled by a pointer hovering it, because that is
how its scrollbar was hidden: overflow-y: hidden until :hover. On a touch
screen nothing hovers, so 897 px of it had no way in at all. The scrollbar is
still hidden until hover; the scrolling is not.
What is left behind
Not four fixes but the search that found three of them. Content taller than its
box, with nothing scrollable between it and the first ancestor that clips: three
tests now fill the installation with more than fits — thirty volumes, three
hundred files, a nine-hundred-line file, a hundred search results — and walk the
screens, the panels and dialogs that open on top of them, and all of it again at
a phone's size. Anything hidden that way fails the build, naming the screen, the
element and the pixels lost.
Four more tests cover the editor's own contract, and they run in Firefox as well
as Chromium — this was reported against Firefox, and only a second engine could
say whether that mattered. Every one of them fails on the old code.
Upgrading
Nothing to do: no schema change, no configuration change.
ghcr.io/cerede2000/explorer:3.8.1
ghcr.io/cerede2000/explorer:3.8.1-lean
The Linux archive that installs without Docker is attached below, for x86_64 and
arm64 — sudo nextexplorer-upgrade takes it from here.