v3.1.1
The text editor no longer writes files it will refuse to reopen
Two settings govern the inline editor and nothing tied them together.
EDITOR_MAX_FILESIZE decides what it will open; MAX_JSON_BODY_SIZE decides
how much can be sent back, because saving carries the whole file in a JSON
request body.
Saving checked neither. Open a small file, paste two megabytes into it, save —
accepted and written — and the next attempt to open it answered This file is
too large to open in the text editor. A file the editor had written and would
not take back.
Raising EDITOR_MAX_FILESIZE on its own, which the FAQ
recommended for editing larger documents, produced the other half:
the file opened, and saving answered request entity too large — a message
naming neither of the two settings involved. It is the failure reported
upstream as nxzai#368.
The pair is now one decision:
- Where no body ceiling has been set, it rises to carry whatever the editor
opens, twice over — JSON escaping can double the text, every quote and
newline becoming two characters. - Where one has been set, it is kept. A ceiling someone chose is a guard,
not a detail to be talked out of, so the editor is lowered to what that
ceiling can carry instead, with a warning naming both values.
Either way the editor cannot open a file it would not be able to save, and
saving refuses what it could not reopen. A request that really is too large now
says which setting governs it.
Every navigation reported an error it had recovered from
Moving between folders left Uncaught (in promise) InvalidStateError: Transition was aborted because of invalid state in the browser console, on
every navigation. Nothing was wrong — the view transition simply did not get to
animate, and the promise that says so had no listener. It is now observed, while
the two promises that would carry a genuine failure are deliberately left to
surface.
Also
- A release no longer rebuilds the images a push to
mainhas just built. It
checks that its tag and the manifests agree, which takes seconds instead of
two multi-architecture builds. - The image build itself lives in one place instead of being written out once
per channel — the duplication that had let a version tag exist for one
variant and not the other. - The documentation site is redeployed when documentation changes, rather than
on every push.
Images
ghcr.io/cerede2000/explorer:3.1.1
ghcr.io/cerede2000/explorer:3.1.1-lean
cerede2000/explorer:3.1.1
cerede2000/explorer:3.1.1-lean
latest and latest-lean follow main and now carry this release.
Full changelog: v3.1.0...v3.1.1