Fix local shell: fit before sending shell request to companion

터미널 패널이 닫힌 상태에서 로컬 셸을 열면 레이아웃 계산 전에
fitAddon.fit()이 실행돼 rows=0/cols=0으로 companion에 전달됨.
300ms 타임아웃 안에서 fit을 재실행하고 최솟값(24x80) 보장.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
kim
2026-06-06 13:24:38 +09:00
co-authored by Claude Sonnet 4.6
parent 7c6a73512a
commit 3bebb4efc5
+4 -1
View File
@@ -759,7 +759,10 @@ function addLocalShell() {
setTimeout(() => {
const shell = codeTermShells.find(s => s.id === id);
if (companionConnected && companionWs && shell?.term) {
companionWs.send(JSON.stringify({ type: 'shell', rows: shell.term.rows, cols: shell.term.cols }));
if (shell.fitAddon) shell.fitAddon.fit();
const rows = shell.term.rows > 0 ? shell.term.rows : 24;
const cols = shell.term.cols > 0 ? shell.term.cols : 80;
companionWs.send(JSON.stringify({ type: 'shell', rows, cols }));
}
}, 300);
}