Skip to content

Releases

v0.2.10 — Image upload, desktop keyboard toggle, mobile UX, bug fixes

Choose a tag to compare

@axisrow axisrow released this 11 Jun 04:43

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

Choose a tag to compare

@axisrow axisrow released this 31 Mar 04:46
8ff5097

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

Choose a tag to compare

@axisrow axisrow released this 31 Mar 04:46
6e78267

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 /health endpoint 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

Choose a tag to compare

@axisrow axisrow released this 31 Mar 04:42

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

Choose a tag to compare

@axisrow axisrow released this 31 Mar 04:41

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