Repository navigation
Releases
Releases · axisrow/clihost
v0.2.10 — Image upload, desktop keyboard toggle, mobile UX, bug fixes
Features
- On-screen keyboard on any device (#32): a floating ⌨ button in the top-right corner shows or hides the on-screen keyboard, now available on desktop too. It opens by default on mobile and stays closed on desktop, and your choice is remembered.
- Paste or drop images into the terminal (#41, #35): paste or drag-and-drop an image into the web terminal and it's uploaded automatically (PNG/JPG/GIF/WebP), with the file path inserted at the prompt for you. New settings:
MAX_UPLOAD_SIZE,UPLOAD_DIR. - The web terminal no longer runs with root privileges (#52): it now runs as a regular, unprivileged user for better security, and secrets can be supplied from a file instead of environment variables.
- Cleanup dashboard (#38): view and delete space-hungry caches and logs straight from the web UI.
- Project favicons (#46, #28): the web UI now ships with a proper icon set.
Fixes
- Copying text on macOS works again (#40): native text selection and Cmd+C are back on by default; a new ↕ key (or
Ctrl+B m) toggles terminal-level mouse mode when you need it. - Fixed all 8 issues found in a bug-hunt audit (#48).
- Fixed an "Invalid CSRF token" error that could block login (#42).
- Fixed mobile scrolling after reconnecting and when scrolling through terminal output on iOS/Android (#36, #29).
Other
- #31 (start CLIs in "yolo" mode) was closed as no longer needed — superseded by auto mode.
Full Changelog: v0.2.9...v0.2.10
v0.2.9 — Fix mouse wheel scroll in TTYD terminal
Bug fix
- The mouse wheel moved the command-line cursor instead of scrolling the terminal (#24). Scrolling up or down was being interpreted as pressing the Up/Down arrow keys, so instead of scrolling through output you'd cycle through your command history.
Now the mouse wheel scrolls the terminal as expected:
- On a normal shell prompt (bash/zsh) it scrolls through the output history
- In full-screen apps (vim, less, htop) it scrolls within the app, just like in a desktop terminal
- Works consistently across different mice and trackpads
v0.2.8 — Railway deploy, Docker 4.9 GB → 737 MB, /health improvements
What's new
One-click Railway deployment
- Added a "Deploy on Railway" button to the README, plus ready-to-use deploy configuration (#21)
- Documented which settings are required and which are recommended for a secure setup
Much smaller Docker image (4.9 GB -> ~737 MB)
- Reworked the image build so dependencies are no longer duplicated, and stripped out unused packages — the image is now roughly 7x smaller and faster to pull
More useful health check
- The
/healthendpoint now reports uptime, how many terminals are open (and whether each is alive), and memory usage (#22)
v0.2.7 — Bug fixes: race condition, threading, CSRF TTL, session cookie
Bug fixes
- New terminals sometimes failed to connect — the page tried to open a terminal before it was ready. It now waits until the terminal is up before loading (#19)
- The server could freeze under load — one slow connection could block everything; requests are now handled in parallel (#20)
- Frequent "session expired" errors — sessions used to expire after 10 minutes; they now last 7 days, matching the login timeout (#20)
- Staying logged in across browser restarts — the session is now remembered after you close and reopen the browser
v0.2.6 — Multi-terminal support, CSRF fixes, CSP hardening
What's new
Features
- Multiple terminals at once — open, switch between, and close several terminal sessions in one window (#5)
Bug fixes
- Fixed a stored XSS vulnerability in the web terminal proxy (#3)
- Fixed a memory leak, a crash, and an internal-data leak in the proxy (#4)
- Fixed the terminal failing to load because the browser blocked it (#7)
- Expired sessions now show a clear error instead of silently reloading the page (#6)
Tests
- Added 129 automated tests covering session handling, the terminal API, and the on-screen keyboard