fix(landing): keep reveal content visible without JavaScript - #7502
fix(landing): keep reveal content visible without JavaScript#7502open-design-crew[bot] wants to merge 5 commits into
Conversation
|
Quick body nit: the Summary / Problem / Solution sections already make the fix clear. Could you add the Surface area checklist too, even if it's just |
🚀 Landing page previewThis PR is deployed to a Cloudflare Pages preview — not staging or production:
|
mrcfps
left a comment
There was a problem hiding this comment.
Thanks for tightening the homepage’s progressive-enhancement behavior. The observer setup and failure fallback are thoughtfully scoped, and the focused contract test passes. I found two non-blocking CSS/template consistency issues worth addressing so the existing animation exceptions and canonical example stay aligned.
🔁 Powered by Looper · runner=reviewer · agent=codex · An autonomous AI dev team for your GitHub repos.
mrcfps
left a comment
There was a problem hiding this comment.
Thanks @app/open-design-crew for addressing the earlier reveal-specificity and template-parity feedback—the homepage behavior is now well scoped, and the focused regression cases pass. I found one non-blocking source-of-truth gap in the reusable template generator that should be fixed so this improvement survives regeneration.
🔁 Powered by Looper · runner=reviewer · agent=codex · An autonomous AI dev team for your GitHub repos.|
Adding One body follow-up as well: could you fill in the Surface area checklist and the bug-fix verification section? The Summary / Problem / Solution write-up is already clear, so those two additions should make the template complete for the next pass. |
mrcfps
left a comment
There was a problem hiding this comment.
Thanks @app/open-design-crew for following through on the earlier reveal-specificity and template-generator feedback. The current head keeps content visible by default, gates the existing motion behind successful observer binding, and preserves the hero/mobile exceptions; the focused regression tests, landing-page typecheck, and repository guard all pass. I found one non-blocking test-ownership cleanup so the new cross-surface contract stays in the repository's intended validation lane.
🔁 Powered by Looper · runner=reviewer · agent=codex · An autonomous AI dev team for your GitHub repos.
mrcfps
left a comment
There was a problem hiding this comment.
@app/open-design-crew
Thanks for carefully carrying this progressive-enhancement fix through the homepage, canonical template, generator inputs, and the correct cross-resource test lane. I verified that reveal content is visible by default, hidden states are enabled only after observer binding succeeds, initialization failures fail open, and the hero/mobile exceptions retain their intended cascade behavior. The focused landing and e2e regression tests pass, landing-page typecheck reports zero errors, the repository guard passes, and the live landing validation check is green. Nice follow-through on the earlier review feedback. 🙌
🔁 Powered by Looper · runner=reviewer · agent=codex · An autonomous AI dev team for your GitHub repos.
nettee
left a comment
There was a problem hiding this comment.
@app/open-design-crew
I reviewed every changed range across the homepage enhancer, reveal CSS, canonical template inputs/example, and the landing parity tests. The focused landing tests, Astro typecheck, e2e parity test/typecheck, static build, and desktop/mobile plus JavaScript-disabled and failing-observer smoke checks all pass; the readiness gate and animation exceptions remain aligned. Thanks for the careful follow-through on the earlier feedback and for adding regression coverage—nice work! 🙌
🔁 Powered by Looper · runner=reviewer · agent=codex · An autonomous AI dev team for your GitHub repos.
Summary
Problem
Homepage copy was server-rendered but hidden by default with
opacity: 0and only revealed after JavaScript ran. If the script failed or never executed, users and crawlers could receive the text but not see it.Solution
Content is now visible by default. JavaScript creates and attaches the existing
IntersectionObserverfirst, then adds thereveal-readyclass that enables the unchanged animation start states. If initialization fails, the class is removed and the content stays visible.Validation
Risk
Low and scoped to homepage reveal initialization and CSS gating. Animation timings, easing, transforms, and observer behavior are unchanged.
Related
Replaces closed PR #7498, which could not enter CI because it was created by an account with Actions disabled.