Force terminal redraw on reconnect

- Track last known terminal size in TerminalSession
- Add force_redraw() method that re-sends SIGWINCH to trigger redraw
- Call force_redraw() when WebSocket reconnects to existing session
- Helps tmux and similar apps restore proper display after disconnect
This commit is contained in:
GitHub Copilot
2026-01-24 16:28:50 +00:00
parent 2f61bd7747
commit 728681a195
2 changed files with 23 additions and 0 deletions
+3
View File
@@ -445,6 +445,9 @@ class LocalServer:
if session is None or not session.is_running():
self.session_manager.on_session_end(session_id)
session_id = None
elif hasattr(session, "force_redraw"):
# Force redraw on reconnect to refresh tmux/screen displays
await session.force_redraw()
session_created = session_id is not None