Fix hero blanking after view-transition nav; purge legacy fonts and dead components - #14
Merged
Merged
Conversation
…ts, and dead components Clicking the logo (any client-side nav back to a page) blanked the homepage hero: Astro's view-transition router strips <noscript> from swapped-in pages, so the CopyInstallButton's noscript fallback desynced React hydration, React regenerated the RedesignedHero tree, and the regenerated markup lost the data-site-reveal-visible attributes with nothing left to re-reveal them. The island now renders no noscript; the no-JS fallback uses the CSS scripting media query instead. Also sweeps out unused legacy weight: retired font families (Cartridge, Open Sans, Outfit, Perfectly Nineties, Prompt, Saira, Silkscreen, Darker Grotesque, Gloria Hallelujah), orphaned marketing/docs SVGs and textures, dead components (old Header/Navigation/Layout, ProductHero, sales pages, diagram set), and the matching fonts.css/main.css/tailwind config entries. Adds a shared CopyInstallCommand for product-page install commands. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
🚅 Deployed to the website-pr-14 environment in rivet-website
|
railway-app
Bot
temporarily deployed
to
rivet-website / website-pr-14
August 23, 2026 22:44
Destroyed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hero blanking on logo click (bug fix)
Clicking the Rivet logo (or any client-side navigation back to a page) permanently blanked the homepage hero until a hard refresh.
Root cause: Astro's view-transition router strips every
<noscript>element from swapped-in pages (router.js:newDocument.querySelectorAll("noscript").forEach((el) => el.remove())). The hero'sCopyInstallButtonrendered a<noscript>fallback, so after the swap React hydration hit a structural mismatch (error #418), regenerated the wholeRedesignedHeroisland, and the regenerated DOM lost thedata-site-reveal-visibleattributes ScrollObserver had set — with nothing left to re-reveal them (the 2s fallback is skipped once the observer reports ready). Reproduced against production; it is timing-dependent there.Fix: the island renders no
<noscript>; the no-JS fallback now uses the CSSscriptingmedia query ([@media(scripting:none)]:hiddenon the button, an always-rendered<code>shown via[@media(scripting:none)]:flex). Server and client markup are always identical, so hydration cannot fail. Verified with Playwright: initial load, double logo click, nav to /actors and back — hero stays revealed, zero page errors; JS-disabled load shows the selectable command and full hero.Rule of thumb going forward: never render
<noscript>inside a component hydrated with aclient:directive; plain.astromarkup is fine.Legacy asset and dead-code purge
public/fonts(Cartridge, Open Sans, Outfit, Perfectly Nineties, Prompt, Saira, Silkscreen, Darker Grotesque, Gloria Hallelujah) with matchingfonts.css/main.css/Tailwind config cleanup — Manrope and JetBrains Mono remain.CopyInstallCommandfor product-page install commands.🤖 Generated with Claude Code