You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: review pass on v0.9.2 features + render-notice and interruption bugs
Downloads:
- WebKit emits failed THEN finished: flag the failure so finished can't
toast a false 'Saved' or import a truncated file into the library
- dedupe destination as name-1.ext (WebKit's EEXIST cleanup would delete
the user's previous file); library import runs off the worker thread
(large files no longer freeze the engine); 'Downloading...' toast;
sweep *.wkdownload/zero-byte leftovers at startup; destination fallback
and absolute-path guard; import detection by response MIME / %PDF-
magic, not only the file extension
- library.h: dir fsync after rename, per-point errno, 0-byte reject,
UTF-8-safe name cap, O_NOFOLLOW, absolute-dir check; tests for the
failure paths, uniqueDownloadName, forcedExt, uuid fuzz
TLS continue-anyway (hardened after review):
- tls-continue now requires a real tap (m_expectUserNav — all taps here
are synthetic JS, WebKit gesture APIs never fire) and the one-shot
m_tlsErrorHost armed by the TLS failure itself; a foreign page can no
longer open the IGNORE window
- the IGNORE window now closes on cancelled superseded loads too, and on
WebProcess termination; m_tlsContinueKick disarmed on failure
- repeat visits to an approved host flip IGNORE at the decision (no
second tap); the never-painting proceed path is gone for good
Rendering:
- blank-check flags 'failed to render' only when the load never painted
anything (m_firstContentLogged); a transient white frame late in the
load (SPA re-render / anti-adblock hiccup) no longer whites out the
page under the notice
- 'Frame load interrupted' (policy error 102: superseded or
download-converted load) is swallowed like CANCELLED — a double-tapped
Go no longer fakes 'site won't load', and downloads stop flashing an
error page under the toast
- B&W fast mode: single-pass fused grayscale+LUT conversion (~200 ms off
every frame on this CPU); RMWEB_BW_HOOK=0 debug escape hatch; the
presentFast hook measured faster than the QPA auto waveform and stays
- new debug: RMWEB_DUMP_FRAMES=/dir dumps engine frames as PNG
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
0 commit comments