Rewrite frontend in Rust + ratatui + WASM (Ratzilla) ✨#2
Open
mkljczk wants to merge 1 commit into
Open
Conversation
The landing page is now a terminal UI rendered in the browser: a Rust crate in frontend/ draws the whole page with ratatui through Ratzilla's DOM backend, compiled to wasm32-unknown-unknown. Same behaviour as the old index.html — pre-open countdown to registration, countdown to the event once open, the /api/count seats gauge with waitlist/full states, the how-to steps and the info cells — and memory safe. The built artifacts (frontend/dist: index.html shell + wasm-bindgen output) are committed and embedded by the Go binary, so go build, CI and the Docker image need no Rust toolchain. Rebuild with 'make frontend' (scripts/build-frontend.sh). Server: the two asset paths are whitelisted by exact name (serveStatic still takes no path input, so STATIC_DIR cannot leak), and the CSP gains 'wasm-unsafe-eval' so the browser may compile the module. CI gains a frontend job (fmt + clippy + wasm build). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01T3hKpyUVosNCRUZVJnB883
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.
The landing page is now a terminal UI rendered in the browser: a Rust crate in
frontend/draws the whole page with ratatui through Ratzilla's DOM backend, compiled towasm32-unknown-unknown. Same behaviour as the oldindex.html— pre-open countdown to registration, countdown to the event once open, the/api/countseats gauge with waitlist/full states, the how-to steps and the info cells — and memory safe.Details
frontend/dist(index.html shell + wasm-bindgen output) is committed and embedded by the Go binary, sogo build, CI and the Docker image need no Rust toolchain. Rebuild withmake frontend(scripts/build-frontend.sh).serveStaticstill takes no path input, soSTATIC_DIRcannot leak), and the CSP gains'wasm-unsafe-eval'so the browser may compile the module.🤖 Generated with Claude Code
https://claude.ai/code/session_01QPCMzG6nxf19QugmD8jPix