infra/stacks/terminal
Viktor Barzin 04fd241679 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-22 14:16:45 +00:00
..
clipboard-upload feat(terminal): add clipboard paste support for text and images 2026-04-06 16:57:18 +03:00
files terminal: inline session switching via sidebar + iframe 2026-05-22 14:16:45 +00:00
tmux-api terminal: per-Authentik-user OS-user isolation; deny unmapped users 2026-05-22 14:16:45 +00:00
backend.tf Woodpecker CI deploy [CI SKIP] 2026-05-22 14:16:45 +00:00
main.tf terminal: cut over to multi-session lobby on terminal.viktorbarzin.me 2026-05-22 14:16:45 +00:00
providers.tf Woodpecker CI deploy [CI SKIP] 2026-05-22 14:16:45 +00:00
secrets Add broker-sync Terraform stack (#7) 2026-04-17 21:17:45 +01:00
terragrunt.hcl Add terminal stack - reverse proxy to ttyd behind authentik 2026-03-10 23:46:01 +00:00