Don't resize terminal on session disconnect

Rename DISCONNECT_RESIZE to DEFAULT_TERMINAL_SIZE
Update tests for removed _resize_on_disconnect and stricter available check

Bump version to 0.2.7
This commit is contained in:
GitHub Copilot
2026-01-24 16:09:53 +00:00
parent b5b144dcd0
commit 2f61bd7747
4 changed files with 11 additions and 28 deletions
+5 -14
View File
@@ -33,7 +33,7 @@ if TYPE_CHECKING:
log = logging.getLogger("textual-web")
DISCONNECT_RESIZE = (132, 45)
DEFAULT_TERMINAL_SIZE = (132, 45)
SCREENSHOT_CACHE_SECONDS = 1.0
SCREENSHOT_MAX_CACHE_SECONDS = 60.0
@@ -431,14 +431,6 @@ class LocalServer:
return session_created
async def _resize_on_disconnect(self, route_key: str) -> None:
session_process = self.session_manager.get_session_by_route_key(RouteKey(route_key))
if session_process is None or not hasattr(session_process, "set_terminal_size"):
return
width, height = DISCONNECT_RESIZE
with contextlib.suppress(OSError):
await session_process.set_terminal_size(width, height)
async def _handle_websocket(self, request: web.Request) -> web.WebSocketResponse:
route_key = request.match_info["route_key"]
ws = web.WebSocketResponse(heartbeat=30.0, max_msg_size=64 * 1024)
@@ -478,7 +470,6 @@ class LocalServer:
finally:
log.info("WebSocket connection closed for route %s", route_key)
self._websocket_connections.pop(route_key, None)
await self._resize_on_disconnect(route_key)
return ws
@@ -535,15 +526,15 @@ class LocalServer:
# Parse requested dimensions (used when creating new sessions)
try:
req_width = int(request.query.get("width", str(DISCONNECT_RESIZE[0])))
req_width = int(request.query.get("width", str(DEFAULT_TERMINAL_SIZE[0])))
except ValueError:
req_width = DISCONNECT_RESIZE[0]
req_width = DEFAULT_TERMINAL_SIZE[0]
req_width = max(10, min(400, req_width))
try:
req_height = int(request.query.get("height", str(DISCONNECT_RESIZE[1])))
req_height = int(request.query.get("height", str(DEFAULT_TERMINAL_SIZE[1])))
except ValueError:
req_height = DISCONNECT_RESIZE[1]
req_height = DEFAULT_TERMINAL_SIZE[1]
req_height = max(5, min(200, req_height))
session_process = self.session_manager.get_session_by_route_key(RouteKey(route_key))