Repository navigation
fix(landing): clamp canvas size to avoid exceeding browser max - #47
Merged
Merged
Conversation
Resize transients could size theater/sky canvases past the browser limit and throw 'Canvas exceeds max size' from setTransform. fitCanvas skips redraw when the layout size is out of bounds and clamps physical canvas pixels. Also add a Ko-fi donation block with humble copy to the final CTA (es/en).
The theater grid used 1fr rows and flex:1 canvases, so cards always stretched to fill the full 100svh sticky (392px+ each, more after every resize). Switch to auto rows, fixed canvas heights and drop the flex:1 from the battery body so cards keep their natural size and stay centered.
The statutes section shared the .statutes class with its <ol>, so the 3-column grid was applied to the whole <section>, squeezing the card list into a 638px track (202px per card). Scope the grid to ol.statutes so the three cards stretch across the full width, and give the Cloudless Club button a proper amber pill style with an animated arrow.
- Center all .section-head (features/how/screens/faq/statutes).
- Theater: bigger title/sub font, dark translucent card backgrounds so
the white text is readable over a bright sky ('white on white' fix),
and center the home icon in its energy-flow node.
- Move the 'Thanks, Home Assistant' card to its own section right
before the footer.
- Footer links: inline SVG icons (club globe, play, github, heart);
drop the arrow from footer.club since the icon replaces it.
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.
What
Two fixes for the public landing (helios.cloudless.club):
Canvas exceeds max size on resize (the bug you reported). The
frameloop sized the chart canvases toclientWidth × devicePixelRatiowith no cap; during a transient layout state on window resize the browser got a size past its max canvas area andsetTransformthrew aDOMExceptionthat broke the draw loop (reproduced in Firefox; same crash surfaced in Chrome/Edge). Fix:fitCanvas()skips redraw when the layout size is out of bounds and clamps physical canvas pixels to a safe ceiling.Ko-fi donation block in the final CTA, with humble/warm/lightly humorous copy (es/en) inviting optional support, since Helios is free and not the author's main income.
Also: the landing source is now versioned in
landing/(same pattern as the other apps); it previously only lived on the server.Verification
static-helios-web.conf, root/opt/helios-web/public), md5 prod == repo 4/4.Closes #46