fix(vscode): handle contenteditable focus

This commit is contained in:
marius-kilocode
2026-08-04 12:41:45 +02:00
parent b5c135bc60
commit 77fdb79e7f
2 changed files with 4 additions and 1 deletions
@@ -61,11 +61,14 @@ describe("Agent Manager focus", () => {
rename.className = "am-worktree-rename-input"
const prompt = window.document.createElement("textarea")
prompt.className = "prompt-input"
const editor = window.document.createElement("div")
editor.contentEditable = "plaintext-only"
const button = window.document.createElement("button")
expect(isTextControl(rename)).toBe(true)
expect(preservesTextFocus(rename)).toBe(true)
expect(preservesTextFocus(prompt)).toBe(false)
expect(isTextControl(editor)).toBe(true)
expect(isTextControl(button)).toBe(false)
})
})
@@ -5,5 +5,5 @@ export const isTextControl = (el: Element | null): boolean => {
if (!el) return false
if (el.tagName === "TEXTAREA" || el.tagName === "SELECT") return true
if (el.tagName === "INPUT") return !nonText.has((el as HTMLInputElement).type.toLowerCase())
return el.getAttribute("contenteditable") === "true" || el.getAttribute("role") === "textbox"
return ("isContentEditable" in el && (el as HTMLElement).isContentEditable) || el.getAttribute("role") === "textbox"
}