The key bar carries only what a browser will not hand over: Ctrl+C, Ctrl+Z, Ctrl+D, Escape, Tab and the arrows. It is a fallback, not the way to use the terminal — typing works for everything else, and the bar deliberately does not take focus so the keyboard keeps it. The arrow buttons ask the emulator for the sequence, so they follow the mode a full-screen program requested just like the real keys do. Paste was broken on Windows and Linux. Ctrl+V fell through to the control-key mapping and sent 0x16 with preventDefault, so the browser never got to fire a paste event, and Shift+Insert did the same with the Insert sequence. Both, and Ctrl+Shift+Insert, are now left to the platform; Cmd+V on macOS already worked. The control keys were wrong in a way only running it showed: a control byte cannot be written into an HTML attribute, so data-raw="\u0003" arrived as six literal characters and the buttons typed them instead of sending them. They carry a name now and the byte is looked up in JavaScript. Verified against a real container: the bar's bytes (003, 032, 004, 033, ESC[A-D), arrows inside less, Tab completion, Ctrl+V and Shift+Insert pasting, Enter running a two-line paste, and Ctrl+C copying when something is selected.
Documentation
Technical documentation for vpsmgr. All docs are in English.
| Doc | What it covers |
|---|---|
| architecture.md | System design: components, storage, network, security, traffic, users and user groups, image, install/uninstall lifecycle |
| configuration.md | Full reference for /etc/vpsmgr/config.yaml |
| ipv6.md | IPv6 pass-through design: deterministic addresses, prefix support, routing, installer flow |
| ipv6-ndp-responder.md | Why prefix mode replaced ndppd with an in-tree NDP responder, design hardening, and what to test at scale |
| web-ssh.md | The browser terminal: how it reaches a container, how a session survives a dropped connection, and how to disable it |
| development.md | Building, testing, releasing, conventions |
See also AGENTS.md at the repo root — short version aimed at AI coding agents.