Skip to content

Commit 29ca13f

Browse files
chaxusclaude
andcommitted
docs: record the #144 batch in the changelog and the project guide
The per-thread write-ups sit with their commits; this is what spans them: the user-facing entries, the one-page summary a new session reads first, the first review pass over the branch, and the project guide -- which now carries the things that will bite whoever touches this next. Which stamp names which cache and why (a runtime cache named after the build is what made every deploy undeliverable), that 283 MB is not a tunable and what happens if you try, that the two x2t loaders must stay in step and that their failures have to carry their cause, why the promotion handshake asks about editor windows rather than window counts, and why the vendor stamp is hashed from inside the output directory. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 parent 04423ff commit 29ca13f

4 files changed

Lines changed: 482 additions & 19 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 50 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,50 @@ notes. Entries describe what users experience, not internal refactors.
1919

2020
### Fixed
2121

22+
- A document that fails to open because the browser cannot allocate memory for
23+
the conversion engine no longer claims the file "may be corrupted, in an
24+
unsupported format, or not what its extension says". The file is fine: the
25+
engine never started, so it never read it. The message now says so, suggests
26+
what actually helps (close other tabs, or use a 64-bit browser), and carries
27+
what the browser refused -- the 2 GB address-space reservation or the 283 MB
28+
of real memory -- plus the browser's build architecture. Such a failure is
29+
also retried once now, like the other "the editor was not ready" failures;
30+
it used to be treated as a verdict on the file and reported immediately. A
31+
document the engine did read and reject still fails straight away, even when
32+
it ran out of memory doing so -- retrying that one, or blaming the browser
33+
for it, would only waste the reader's time.
34+
- A hiccup from the CDN no longer costs you the document. The conversion
35+
engine is a 9.4 MB download, and a single failed answer for it (a 500, a
36+
dropped connection) used to end the open with "the document failed to open".
37+
It is now asked for again, twice, before anything is reported -- a file that
38+
is genuinely missing still fails immediately.
39+
- The conversion engine is now compiled as it downloads, so the 40 MB
40+
decompressed copy of it never exists at all. It used to be held in memory at
41+
the exact moment the engine asked for its own (much larger) working memory,
42+
which is when opening a document fails on a machine that is short of it.
43+
Where a browser cannot compile while downloading, the engine still loads the
44+
old way and that copy is released as soon as it has started.
45+
- A new version now applies on your next visit instead of waiting for you to
46+
close every tab of the site first. Updates were being downloaded and then
47+
left waiting indefinitely, which is why a fixed bug could look unchanged
48+
after an upgrade. Two things caused it: nothing was asking the update to take
49+
over (and the Chinese homepage did not register the offline worker at all),
50+
and every release looked to the browser as if it were replacing the editor
51+
engine even when only the app had changed. Keeping a second homepage tab open
52+
no longer holds an update back either -- only a tab with the editor actually
53+
open does, since that is the one an update could disturb. Releases that leave the engine
54+
untouched -- almost all of them -- now take over immediately; one that does
55+
replace it still waits until you have no document open, so a running editor
56+
cannot end up half-updated. Self-hosters: this is also why a freshly pulled
57+
image could keep serving the old app; the other half of that was fixed
58+
earlier in the image's cache contract. The offline cache no longer carries
59+
retired releases around either: each release's own files are cleared out when
60+
the next one takes over -- and never while a tab of the outgoing release is
61+
still open, so an editor left open across an update keeps working instead of
62+
losing pieces of itself. Two homepage scripts (the local-file picker and the
63+
editor prefetch) were also being served from the offline cache without
64+
checking for a newer copy, so a change to either could stay invisible on the
65+
homepage indefinitely; they now revalidate like the rest of the shell.
2266
- The pill-shaped buttons on the homepage and the landing pages no longer draw
2367
a straight line under themselves that pokes out past their rounded ends: the
2468
raised shadow was being painted on a square box behind the round button.
@@ -34,6 +78,10 @@ notes. Entries describe what users experience, not internal refactors.
3478

3579
### Changed
3680

81+
- The conversion engine downloads 377 KB smaller (about 4%), the largest single
82+
download in the app. Same engine, byte for byte -- only the compression of
83+
the file it ships in changed.
84+
3785
- Hovering (or focusing) an Open / New button starts downloading the editor
3886
engine in the background, so the document opens noticeably faster after the
3987
click; skipped on Save-Data and 2G connections.
@@ -54,8 +102,8 @@ notes. Entries describe what users experience, not internal refactors.
54102

55103
### Added
56104

57-
- The interface is now available in eight languages — English, 简体中文,
58-
日本語, 한국어, Deutsch, Español, Português and فارسی (right-to-left) —
105+
- The interface is now available in eight languages — English, 简体中文,
106+
日本語,한국어, Deutsch, Español, Português and فارسی (right-to-left) —
59107
following your browser language, or `?locale=<code>`.
60108
- Browser AI agents can drive the editor through WebMCP (Chrome origin trial):
61109
the page registers `open_document_url`, `open_document_buffer`,

0 commit comments

Comments
 (0)