fix(coding-agent): propagate focus in extension editor for cursor positioning (#1784)

This commit is contained in:
Zhou Rui 2026-03-04 04:58:45 +08:00 committed by GitHub
parent 9a4fe52654
commit d4084a7ad6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 15 additions and 1 deletions

View file

@ -2,6 +2,10 @@
## [Unreleased]
### Fixed
- Fixed IME hardware cursor positioning in the custom extension editor (`ctx.ui.editor()` / extension editor dialog) by propagating focus to the internal `Editor`, preventing the terminal cursor from getting stuck at the bottom-right during composition.
## [0.55.4] - 2026-03-02
### New Features

View file

@ -11,6 +11,7 @@ import {
Container,
Editor,
type EditorOptions,
type Focusable,
getEditorKeybindings,
Spacer,
Text,
@ -21,13 +22,22 @@ import { getEditorTheme, theme } from "../theme/theme.js";
import { DynamicBorder } from "./dynamic-border.js";
import { appKeyHint, keyHint } from "./keybinding-hints.js";
export class ExtensionEditorComponent extends Container {
export class ExtensionEditorComponent extends Container implements Focusable {
private editor: Editor;
private onSubmitCallback: (value: string) => void;
private onCancelCallback: () => void;
private tui: TUI;
private keybindings: KeybindingsManager;
private _focused = false;
get focused(): boolean {
return this._focused;
}
set focused(value: boolean) {
this._focused = value;
this.editor.focused = value;
}
constructor(
tui: TUI,
keybindings: KeybindingsManager,