04fd0172cd
* feat(pty_bridge): mark the dashboard-spawned TUI with HERMES_PTY_HOST Ink needs to know when its emulator is the dashboard's xterm.js rather than a native terminal, so it can drop hidden-tab recovery work that only makes sense for emulators that coalesce output. Co-authored-by: Raymond <supere989@users.noreply.github.com> * fix(tui): skip the focus-in erase+repaint under the dashboard PTY Ink answers a DECSET 1004 focus-in with a full clear+repaint to heal rows a native emulator may have dropped while the tab was hidden. xterm.js fed by the dashboard WebSocket never drops frames, and it reports focus on every OS window blur/focus, so under the dashboard that repaint was a visible "session reloaded" flash on every alt-tab. Keep the mode re-assert and keep delivering the focus report to TerminalFocusProvider (the composer hides its cursor on blur); only the repaint is skipped. Co-authored-by: Raymond <supere989@users.noreply.github.com> * fix(web): restore terminal focus after an OS app-switch Alt-tabbing away and back lands browser focus on <body>, so Ctrl+V never reached the composer. Pull focus back into xterm on window focus under the same ownership rule tab activation already uses, extracted into shouldRestoreTerminalFocus so both paths share it. Co-authored-by: Raymond <supere989@users.noreply.github.com> --------- Co-authored-by: Raymond <supere989@users.noreply.github.com>