fix(ui): restore composer focus after CodeMirror migration

This commit is contained in:
Bohdan Triapitsyn
2026-07-28 19:29:34 +03:00
parent 8ff6525906
commit 673951cb3a
7 changed files with 43 additions and 50 deletions
@@ -504,6 +504,7 @@ export const ComposerEditor = React.forwardRef<ComposerEditorHandle, ComposerEdi
<div
ref={hostRef}
data-testid={props['data-testid']}
data-chat-input="true"
onMouseDown={handleHostMouseDown}
className={cn(
'composer-editor w-full',
@@ -0,0 +1,25 @@
import { afterEach, expect, test } from 'bun:test';
import { focusChatInput } from '../dom';
const originalDocument = globalThis.document;
afterEach(() => {
globalThis.document = originalDocument;
});
test('focuses the CodeMirror chat input content', () => {
let selector = '';
let focused = false;
globalThis.document = {
querySelector: (value: string) => {
selector = value;
return { focus: () => { focused = true; } };
},
} as unknown as Document;
focusChatInput();
expect(selector).toBe('[data-chat-input="true"] .cm-content');
expect(focused).toBe(true);
});
@@ -0,0 +1,5 @@
const CHAT_INPUT_EDITOR_SELECTOR = '[data-chat-input="true"] .cm-content';
export function focusChatInput(): void {
document.querySelector<HTMLElement>(CHAT_INPUT_EDITOR_SELECTOR)?.focus();
}