infra/stacks/terminal/files
Viktor Barzin 0396fdadb2 terminal: inline session switching via sidebar + iframe
Replace full-page navigation with a two-pane lobby. Sidebar holds the
session list as clickable cards; an iframe in the content pane swaps
its src on click so switching sessions takes one click instead of two
navigations.

- #lobby-shell grid (260px sidebar + iframe pane)
- Cards become role=button, kill button stops propagation
- activateSession/deactivateSession with hash routing
  (location.hash <-> active session, replaceState so back stack stays
  clean)
- Killed active session deactivates the iframe before re-render
- 5s session poll preserves currentActive; deactivates if gone
- Mobile media query collapses to one column

CSP frame-ancestors already permits same-origin embedding
(*.viktorbarzin.me), no infra changes needed. Direct-link
?arg=<name> path is unchanged.
2026-05-13 20:08:01 +00:00
..
devvm terminal: per-Authentik-user OS-user isolation; deny unmapped users 2026-05-13 19:25:55 +00:00
index.html terminal: inline session switching via sidebar + iframe 2026-05-13 20:08:01 +00:00