1a2b8c4407
refactor: convert to Cargo workspace structure
2025-12-11 17:21:10 -06:00
702205e181
refactor(docker): optimize multi-stage build with cargo-chef and layer caching
...
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
2025-12-11 12:18:57 -06:00
006055cb7f
chore: add Justfile, apply clippy fixes, add frontend type checking
...
- Add Justfile with comprehensive development workflow commands (check,
lint, build, docker, etc.)
- Add @astrojs/check and typescript dependencies for frontend type
checking
2025-12-11 12:15:51 -06:00
8129975ecc
chore(deps): resolve cargo-audit warnings, update dependencies
2025-12-11 12:07:22 -06:00
3ba9250cca
refactor: apply clippy suggestions
2025-12-11 12:01:45 -06:00
82ac8caa88
refactor: migrate to envy for type-safe config parsing
...
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.
2025-12-11 11:55:39 -06:00
a9e3ab8337
perf: optimize release profile for smaller binary size
...
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
2025-12-11 11:51:30 -06:00
24c2c2b3c5
ci: add Renovate config and GitHub Actions quality workflow
...
Add automated dependency management with Renovate and comprehensive CI
checks including formatting, clippy, audit, and frontend build validation.
2025-12-11 11:50:59 -06:00
280f01bb28
feat: dynamic deployment id fetching in debug mode for development
2025-08-20 18:03:05 -05:00
1ffdd2b6eb
fix(demo): avoid logging assumptions about state
2025-08-20 17:51:16 -05:00
e0bb0f52f0
feat: dynamically set PORT from Dockerfile, add .env.example
2025-08-20 17:40:09 -05:00
d20f298da5
feat: fetch builds logs for Railway on startup
2025-08-20 17:40:09 -05:00
8431290ea7
fix: RAILWAY_PUBLIC_DOMAIN envvar not resolving, add fallback & warning, change Dockerfile interpolation
2025-08-20 16:45:18 -05:00
d0b17fdc94
Improve README, add badges, add demo links, add Security section
2025-01-06 16:09:10 -06:00
eed66f96d7
Use proper buildLog variable for download button
2025-01-06 15:37:47 -06:00
b22d92dfb3
Add screenshots to README
2025-01-06 15:37:29 -06:00
cdbc474819
Pass ARG RAILWAY_PUBLIC_DOMAIN
2025-01-02 16:56:06 -06:00
a5e93f2afc
debug log RAILWAY_PUBLIC_DOMAIN
2025-01-02 16:46:30 -06:00
8e0ca95c8a
Use buildLog href
2025-01-02 15:54:06 -06:00
e68384abcf
Use connectionStatus enum properly, further improve mobile scaling for screen-sm basis
2025-01-02 15:46:42 -06:00
721d0afc73
Add reconnection option, prevent autoplay, remove state on disconnect, mobile height adjustment
2025-01-02 15:40:58 -06:00
f18f4a0c7c
Finish up highlight, minor increase in time, switch to react-use-webhook, client only rendering
2025-01-02 15:21:29 -06:00
178eb40c1a
animate-pulse-border
2025-01-02 14:55:35 -06:00
bb224eed43
Audio via ref, DownloadButton key, highlight by token not index, deleteDownload onClick
2025-01-02 14:55:26 -06:00
d71433fa52
Fix minor react/badge issues
2025-01-02 14:54:56 -06:00
452f663884
Add delete_download incoming message handler, add future message logging for transmit
2025-01-02 14:39:27 -06:00
7736b0694e
Fix CORS options/ordering
2025-01-02 13:46:27 -06:00
0663d38834
Remove unnecessary logs, switch to simple window.open download, suppressHydrationWarning
2025-01-02 13:46:02 -06:00
2a2daefd8c
DownloadButton progress
2025-01-02 13:33:40 -06:00
5f2dcfa5c9
build log inte gration, delete-download-token name, fix className
2025-01-02 13:33:17 -06:00
4ae4e2c64e
build_log sent with executables, use Same-Site = None in dev, partitioned cookies, CORS OPTIONS
2025-01-02 13:32:34 -06:00
3de98ca7e2
class vs className
2025-01-02 10:39:30 -06:00
3e97becf67
Rename DeleteSessionToken to DeleteDownloadToken
2025-01-02 10:37:28 -06:00
e61c4715e1
Switch from preact to react
2025-01-02 10:36:58 -06:00
e8fe3e8ec9
Setup websocket reconnection logic
2025-01-01 11:21:32 -06:00
d2ec94f578
demo: Use strong binary size reduction for release profile
2024-12-23 21:14:39 -06:00
dc332d954b
server: switch to hexadecimal form, use proper download token instead of session id as key, stop panicing on unavailable websocket
2024-12-23 21:10:33 -06:00
a4f8aa1f23
demo: separate request function, switch to 0xABCD hex form, add debug / forced token env, add port to localhost default host
2024-12-23 21:09:52 -06:00
846a9adb51
fix preact.devtools config
2024-12-23 20:24:58 -06:00
c288c52517
include const time host info for reqwest endpoint
2024-12-23 20:24:50 -06:00
0ab8ad9660
Copy send_message result for send_state
2024-12-23 19:56:12 -06:00
bc39909f3c
Apply Session middleware to all but /notify with separate router, improve /notify key error handling
2024-12-23 19:53:26 -06:00
de3dacda77
Fix notify sending TokenAlert to incorrect session id, use 'notify' id for TokenAlert name
2024-12-23 19:36:51 -06:00
b5a5c47ece
Use query not param, anyhow for errors, websocket tx result tracing
2024-12-23 19:22:42 -06:00
61efe6c194
Add /notify route, fix filename extension generation, Message u32 id, 08x format pad
2024-12-23 19:13:22 -06:00
45bd617ba7
Remove extra type, fix deleteDownload type for useSocket
2024-12-23 19:12:20 -06:00
f228cbc7e4
Add token request step to demo with reqwest
2024-12-23 19:12:09 -06:00
fc643e5223
simplify thread_rng calls
2024-12-23 18:57:03 -06:00
f98c9ccc71
Switch cookie id to u32 as well
2024-12-23 18:52:26 -06:00
0c49eacd7f
use send_state, fix sending state without tx ready, switch to u32 for download token
2024-12-23 18:50:27 -06:00