Fix stepper preview flash: render lake on client, screenshot-based test
Root cause: the lake had (when (not (client?)) ...) guard — SSR rendered "the joy of sx" preview but client skipped it. replaceChildren swapped in an empty lake. The rebuild-preview effect was skipped (first-run optimization), so the preview stayed blank for ~500ms. Fix: remove the client? guard so the lake renders on both server and client. The template's steps-to-preview produces the initial preview. The effect only fires on subsequent step changes (not first run). Test: replaced MutationObserver approach with screenshot comparison. Loads page with JS blocked (pure SSR), takes screenshot. Loads with JS (hydration), takes screenshot. Compares pixels. Any visual difference fails the test. Result: "No visual flash: screenshots identical" — passes. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -400,6 +400,4 @@
|
||||
"▶"))
|
||||
(lake
|
||||
:id "home-preview"
|
||||
(when
|
||||
(not (client?))
|
||||
(steps-to-preview (deref steps) (deref step-idx)))))))))
|
||||
(steps-to-preview (deref steps) (deref step-idx))))))))
|
||||
|
||||
Reference in New Issue
Block a user