Repository navigation
The Hybrid Network Protocol + the Leave-a-Page Contract. Pages load via the raw-TCP engine while images load through the OS HTTP stack — and every navigation now fully severs the previous site before the next one begins.
Hybrid Network Protocol (new default)
- New "Network Protocol" setting on row 13: TCP / HTTP / Hybrid (default) — fresh installs and out-of-range values clamp to Hybrid.
- Pages, stylesheets, scripts, and reader fetches ride the receipts raw-TCP machine; layout display-images ride the OS HTTP stack in parallel.
- Both backends remain stock — Hybrid is dispatch-only routing between them.
- AVIF decoding fixed for device hardware (ispe budget, in-loop filters, per-sample gray) — 8/8 AVIFs decode on device.
Leave-a-Page Contract
- Every navigation (B+Left back, hyperlinks, redirects, menu/home, loading-screen abort) now severs the previous site instantly:
- In-flight fetches cancelled on both lanes at navigation start.
- Old page's RAM freed before the new fetch begins — never 2 sites resident.
- Image queue + decoded-bitmap cache cleared; decode-task orphans freed (no leaked body copies on mid-decode leaves).
- Abandoned session spill files dropped from disk.
- Device receipt: image downloads mid-flight stopped instantly on leave, 0 rows from the departed host afterward, second site's images loaded fine.
Transport Auto-Retry
- Connection-class failures (connect fail / timeout / radio blips) auto-retry the same URL once after 2 seconds instead of dead-ending on the error page.
- Never loops: each manual navigation re-arms the single retry. Content failures (parse/4xx) still show the error page immediately.
Device performance (wikipedia receipt)
- All 23 distinct images decode on hardware, exactly once.
- ~2.5 MB steady / ~7.3 MB peak heap, 0 refusals, 49–50 fps steady after the decode queue drains.
- Empty errorlog, no watchdog.
Other fixes
- SVG decoder: real dithered fills (was outline-only wireframes), normalized polygon shape submission.
- Image cache keyed by full-length URLs (fixes long srcset URLs failing the cache).
- Honest memory-tracking counters (8192 slots + 128-frame resync).