ttyd (a small C program; no Node on the server) runs the launcher once per browser connection and serves the terminal (xterm.js) to the browser.
Done when
A systemd unit, as an unprivileged user, listening on localhost only
A cap on concurrent sessions, with a clear "busy, try again" past it
A browser session reaches the prompt, in a scripted test against the websocket
## What
ttyd (a small C program; no Node on the server) runs the launcher once per browser connection and serves the terminal (xterm.js) to the browser.
## Done when
- [ ] A systemd unit, as an unprivileged user, listening on localhost only
- [ ] A cap on concurrent sessions, with a clear "busy, try again" past it
- [ ] A browser session reaches the prompt, in a scripted test against the websocket
rajames
added this to the Public demo terminal milestone 2026-11-06 19:21:56 +00:00
Built and tested in 9e711563, on StarForth-v4.0.0; reaches master by PR, through acceptance. See demo/README.md, Tested: ready 0.2 s after a session starts (a cold boot is 87 s); 3 4 + . -> 7 ok through ttyd's websocket; QEMU gone at once on hang-up, close and time-out.
**Built and tested** in `9e711563`, on `StarForth-v4.0.0`; reaches `master` by PR, through acceptance. See `demo/README.md`, *Tested*: ready 0.2 s after a session starts (a cold boot is 87 s); `3 4 + .` -> `7 ok` through ttyd's websocket; QEMU gone at once on hang-up, close and time-out.
Merged to master in #118 (0332a2e1), accepted by run 163 on 4f6a267b. Gitea's "Closes #112, #113, #114" closed only the first; closed here by hand.
Merged to `master` in #118 (`0332a2e1`), accepted by run 163 on `4f6a267b`. Gitea's "Closes #112, #113, #114" closed only the first; closed here by hand.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
What
ttyd (a small C program; no Node on the server) runs the launcher once per browser connection and serves the terminal (xterm.js) to the browser.
Done when
Built and tested in
9e711563, onStarForth-v4.0.0; reachesmasterby PR, through acceptance. Seedemo/README.md, Tested: ready 0.2 s after a session starts (a cold boot is 87 s);3 4 + .->7 okthrough ttyd's websocket; QEMU gone at once on hang-up, close and time-out.Merged to
masterin #118 (0332a2e1), accepted by run 163 on4f6a267b. Gitea's "Closes #112, #113, #114" closed only the first; closed here by hand.