fix: disable local echo overlay for OpenCode sessions

The local echo overlay buffers keystrokes locally and renders them
in a DOM overlay anchored to the '>' prompt character. OpenCode's
Bubble Tea TUI uses a different prompt (┃), so the overlay can't
find it — keystrokes buffer invisibly and nothing appears on screen.

Disable local echo for OpenCode sessions so keystrokes flow directly
to the PTY via the normal input path.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
arkon
2026-02-26 10:40:50 +01:00
co-authored by Claude Opus 4.6
parent 02f3bea3c1
commit c6d4294dde
+4 -1
View File
@@ -3622,7 +3622,10 @@ class ClaudemanApp {
const settings = this.loadAppSettingsFromStorage();
const session = this.activeSessionId ? this.sessions.get(this.activeSessionId) : null;
const echoEnabled = settings.localEchoEnabled ?? MobileDetection.isTouchDevice();
const shouldEnable = !!(echoEnabled && session);
// Disable local echo for OpenCode sessions — Bubble Tea TUI has no '>' prompt
// for the overlay to anchor to, so keystrokes buffer invisibly
const isOpenCode = session?.mode === 'opencode';
const shouldEnable = !!(echoEnabled && session && !isOpenCode);
if (this._localEchoEnabled && !shouldEnable) {
this._localEchoOverlay?.clear();
}