Tags: mplsllc/macsurf
Tags
MacSurf 1.0 — Showcase The first full release. 30+ issues closed since v0.7. Standards expansion (Bundles A-M), per-site favicons, the Netscape-7 tool-belt toolbar redesign, the DPI fix that unblocked macintoshgarden, the CopyBits- colorize fix that finally explained the long-running blue-tint / faded- image complaints. Showcase home page at home.macsurf.org. Engine HEAD: fixes304. Verified on: Power Macintosh G3 iMac, Mac OS 9.1. Full notes: docs/release-notes/MacSurf-1.0.md
v0.6.2 Speed-Run: cold mactrove.com 30+s -> ~2-3s ~33 fix rounds (fixes231 through fixes263) covering: Transport: 231/232a HTTPS keep-alive pool + start-gate 234 READ_CHUNK 1K->8K, PUMP_STEPS 8->32 235 no-progress timeout 15s -> 4s 236/244 dead-host blocklist + success-host guard 246 pool entry 20s TTL 252 TCP_NODELAY post-OTConnect 254 TLS session resumption (BearSSL session-params cache) 255 partial-body salvage threshold 512B + don't-pool-stalled 256 persistent dead-host blocklist (deadhosts.txt) 241 slot pool 32 -> 64 262/263 auto-upgrade FALLBACK actually works (URL lifetime + http_code=301) Cache + storage: 237 HTTPS cache HIT serving re-enabled 248 FlushVol off in cache_store Layout + render: 240 reformat 50ms coalescing 257 box-filter pre-downscale enabled + threshold 1.5x 239 hover-poll 10Hz debounce Image decode: 258 lodepng CRC+Adler skip (~10%) 259 deferred PNG decode at display resolution 260 per-image cap 8MB -> 16MB UX: 242 friendly fetch-error page (no more bare "MacSurf") 243 partial-body salvage (renders truncated HTML over about:fetcherror) 249/c HTTPS-default URL submit + HTTP fallback for retro sites Diagnostics: 233 log timestamps [N] 250/251/253 layout/paint/redraw spam silenced (~10k lines saved/cold load) 261 4 KB buffered log writes 247 font probes off by default 245 silenced unaccept counter Verified end-to-end on G3 iMac OS 9.1: mactrove.com cold ~2-3s, warm reload <200ms, classic.mactrove.com + macintoshgarden.org load via HTTPS-default + HTTP fallback path.
v0.6.1: HTTPS small-response delivery fix (fixes230) Root cause: hctx_poll retried on kOSTLSEventClosed BEFORE calling OSTLS_Read, throwing away decrypted bytes BearSSL already had buffered. nginx for small responses (404s, 304s, redirects, the bare mactrove homepage, favicons) sends body + close_notify in one batch; pump decrypts both and sees Closed; old code retried and discarded the data. Three attempts, three retries, FETCH_ERROR → about:fetcherror. Large responses (>~1500 bytes) needed multiple pump cycles naturally, so by the time Closed fired we'd already drained the body — that's why v0.6 advanced.php worked but the home page didn't. Fix: move the Closed-retry block from before-Read to after-Read. Read now always drains pending decrypted bytes first; only retry if state is still pre-body (status not parsed) after that. Bonus: macsurf_debug_log_writef doesn't support printf precision spec, so the setup log "path=%.40s" was printing literally. Changed to plain "%s" so the actual URL path lands in the log. Verified on G3 iMac OS 9.1: mactrove.com home page renders on cold boot without the about-page detour.
PreviousNext