CI and Macroscope pass; GitHub evidence upload pending

Keep large image previews from stalling composer typing · #11324

A cached 256-pixel thumbnail removes repeated full-image rendering from both composer layouts. The original file remains available for sending and expanded viewing. This partially addresses #10361; synchronous original-image draft persistence remains a separate cost.

29 focused tests and web typecheck pass. Scoped lint exactly matches 35 base warnings. The 2304 × 32766 PNG caused 28 typing long tasks before the fix and zero after thumbnail readiness, including reload. Median beforeinput-to-second-frame time fell from 33.8 to 17.6 ms; storage writes still reached 29 ms. Original SHA-256 matches after reload; lightbox dimensions remain original. One earlier measurement immediately after attachment had a 389 ms task, so initial decode cost remains. The collapsed-chip integration was not conclusively exercised. CI, CodeRabbit status and both Macroscope checks pass, with no inline findings. Cursor is paused by its spending limit.

No merge. Stacked on #11298, which retains its authentication and Fable holds. Local images and video are captured, but GitHub evidence upload is pending because the collaborative browser failed to connect twice. Animated images have static composer thumbnails. No native mobile change.

Reviewed commit 37906892355213b5ad2552850b502e60d91881de
GPT-6 / Codex. No GitHub approval or merge.

Before

After

Typing after thumbnail readiness