fitAddon.fit() was called synchronously on mount before the browser laid out the container, sending 0-dimension cols/rows to the PTY. The shell would hang without displaying a prompt. Now defers WS connection by 50ms, re-fits after the shell reports ready, and shows an error if WS fails.