From 66e365c94aa69b0ecbd350dbdf207150fcba330e Mon Sep 17 00:00:00 2001 From: Kiet Nguyen Tuan Date: Tue, 26 May 2026 02:51:39 +0700 Subject: [PATCH 1/9] feat: SSR head/compression, branded starter, a11y, router guards, async deps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Spans three threads of work from this session: WASM delivery + SSR DX - serveStaticAsset: prefer pre-compressed .br/.gz siblings, else gzip on the fly; gzip the SSR HTML; Vary + Cache-Control:no-cache. ~11.7MB→3.0MB on the fullstack app.wasm. - gutter build/deploy precompress dist (BestCompression); nginx gzip_static. - SSR doc template carries the CSR margin reset (fixes stray body padding). Branded starter template - gutter new embeds gutter.ico → public/favicon.ico, shows the logo, defaults to themes.Meta, adds Runway Club footer/caption + a slogan, and a Head with favicon/font links so SSR matches CSR. Known-limitations Batch A (each with tests; host + browser green) - a11y: Body/Caption render

(Inline opt-out); Scaffold

/