Introduce AppError enum to replace panic-based error handling in executable loading and state management. Adds proper error propagation with descriptive error messages for missing executables, key patterns, and environment variables.
Replace generic download icon with platform-specific icons (Windows,
macOS, Linux) using react-icons. Show detected platform name in the
main download button text and disable auto-download when platform
cannot be detected, requiring manual selection from dropdown instead.
Add GitHub Actions workflow job to build and publish Docker images to GitHub Container Registry. Images are pushed on master branch commits and tags, with appropriate tagging strategy including semver, branch refs, and SHA.
Improves Docker build performance and security through better layer caching,
dependency pre-building, and a minimal non-root runtime container.
- Add cargo-chef for Rust dependency caching across demo and server builds
- Separate planner and builder stages for optimal layer reuse
- Use pnpm with frozen lockfile for reproducible frontend builds
- Switch to debian:12-slim runtime with non-root user (uid 1000)
- Add health check endpoint monitoring
- Strip release binaries to reduce image size
- Pre-compress frontend assets during build
- Add Justfile with comprehensive development workflow commands (check,
lint, build, docker, etc.)
- Add @astrojs/check and typescript dependencies for frontend type
checking
Replace manual environment variable parsing with envy for structured configuration. Updates dotenv to dotenvy (maintained fork), adds dedicated Config struct with Railway-specific settings, and consolidates all environment variable access. Upgrades reqwest to 0.12.
Configure release profile with aggressive size optimizations:
- Set opt-level to 'z' for minimum binary size
- Enable LTO for better optimization across crates
- Strip debug info to reduce final binary size
- Use panic=abort to eliminate unwinding machinery
- Reduce codegen units to 1 for maximum optimization
- Keep overflow checks for safety in production