Skip to content

0.37.0

Choose a tag to compare

@github-actions github-actions released this 10 Sep 00:13
· 1 commit to main since this release
1ad9355

The stylesheet was 1023 lines of 208 rules and the script 1398 lines of 54
functions, each covering seven unrelated areas with nothing but a comment
between them. Those comments are where the cuts went: the split follows the
structure the code already had rather than one invented for it. Nothing is over
295 lines and most are under 200.

css/ tokens, sessions, shell, transcript, composer, browser, fleet, stage
js/ markdown, transcript, which-session, composer, browser, sessions,
rail, workspace, stage, splitter

The order is declared in one place and it is load-bearing: the script is a
single tag with top-level bindings, and a file running before its dependencies
would kill the whole thing in the way this project has recorded twice - an error
at the top level ends the file, the document still draws, and the suite stays
green while the page is dead.

The assembled page is identical to the bytes it replaced, character for
character, checked three ways: the module, the server's response, and the page
rebuilt from the wheel. That is the whole safety of the move. 595 assertions
across fifteen gate files read this page as text, dozens of them pinning exact
strings of stylesheet and script - whole function signatures, whole expressions,
selectors. Reword any of that and they stop meaning what they meant; rewriting
them to match is how a suite stops being evidence.

Two gates followed the files. The one that named the pieces by hand now reads
the declared order, because it had gone on naming app.css after the split and
only failed when a wheel happened to exist in the checkout. And there is a
ceiling on each piece, so the next change cannot quietly grow one of them back
to a thousand lines.

Measured while looking, and deliberately NOT changed: there is no dead CSS (no
class or id the markup and the script never name), no dead JavaScript, and no
unused imports. The Python is 3 to 40 lines a function after the last split. The
one real duplication left is localStorage - ten touches, eight try/catch blocks,
three different failure strategies, and one write with no guard at all - and
unifying it would change what that unguarded site does today, which is a bugfix
and not a refactor.