Files
ElyOffice/tasks/reviews/M-08-r1.md
T
ZacharyZhang-NYandClaude Opus 5.5 22d2d04d1e ElyMark: renders asked of a failed page end at once (M-08)
The tally remembers why the page went down; until a load succeeds,
render() ends each new request with that reason instead of calling a
dead page. end_renders is a free function with a gpui test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 11:59:47 -04:00

1.8 KiB

FAIL

apps/ely-mark/src/view.rs:212 — render queues requests after the page has failed; heard at line 270 only ends requests already pending. Native WSL CEF reproduction: deny read access to the disposable page's index.html and reload. Both existing renders correctly receive ERR_ACCESS_DENIED. Request another render while the fault is displayed: Chromium logs ely is not defined, and its callback never runs until a later successful reload ends it with the page reloaded. HTML, text and PDF exports therefore still hang without an output or export error when requested after failure. Retain the failure state and asynchronously reject new renders until a successful load clears it. Evidence: /home/raidenmei/m08-native-probe.log; rendering succeeds again after recovery.

apps/ely-mark/src/tally.rs:102 — The render regression checks one value returned by restart, but never verifies callback execution through Loaded/Failed, end_renders, or the export error handlers. In a disposable source copy, replacing the entire end_renders body with a no-op leaves all 22 Linux tests passing while silently dropping every interrupted export. The native CEF probe detects that mutation: after failure, zero callbacks complete instead of two. Add regression tests that exercise both lifecycle events with multiple owed renders, assert each callback receives its error exactly once and reaches the export failure path, reject late replies, and cover requests made after failure. Evidence: /home/raidenmei/m08-mutation-tests.log, /home/raidenmei/m08-native-mutation.log. Baseline cargo tests: Linux 22/22; Windows 20/21, with only the documented W-02 trailing-space Git-path failure (20/20 when excluded). Probe copies, their target directories and both platforms' incremental caches were removed before this verdict; only small evidence logs remain.