Critical fix for completely broken terminal (blinking cursor, no input). Root Cause: The WebSocket was being connected before xterm.js was initialized, causing the WebSocket reference to be lost because this.terminals map didn't have the entry yet. Broken Flow: 1. createTerminalUI() - Creates DOM elements only 2. connectTerminal() - Tries to store ws in terminal, but terminal = null 3. WebSocket reference lost immediately 4. No input/output possible Fixed Flow: 1. createTerminalUI() - Creates DOM elements 2. initializeXTerm() - Creates xterm.js instance AND stores in map 3. connectTerminal() - Now finds terminal in map, stores ws successfully 4. switchToTerminal() - Terminal works! Changes: - Add explicit initializeXTerm() call before connectTerminal() - Add error checking in connectTerminal() to verify terminal exists - Add comments enforcing ordering requirements Resolves: "All I see is blinging | and nothing else, no claude cli, no commands, i cant type in anything. terminal is not woring." Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
8c448315c1
·
2026-01-19 18:43:20 +00:00
History