diff options
| author | Adam <[email protected]> | 2026-02-18 13:23:20 -0600 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-02-18 13:23:20 -0600 |
| commit | 42aa28d512d4ea77bef6159530b8bac9c7c872a0 (patch) | |
| tree | 5f009761db79701af778fa0270f837def3f09ff5 /packages/app/src/components | |
| parent | c6bd32000302c0cf607c1e91c536537e43848237 (diff) | |
| download | opencode-42aa28d512d4ea77bef6159530b8bac9c7c872a0.tar.gz opencode-42aa28d512d4ea77bef6159530b8bac9c7c872a0.zip | |
chore: cleanup (#14181)
Diffstat (limited to 'packages/app/src/components')
| -rw-r--r-- | packages/app/src/components/prompt-input.tsx | 14 | ||||
| -rw-r--r-- | packages/app/src/components/session/session-header.tsx | 17 |
2 files changed, 6 insertions, 25 deletions
diff --git a/packages/app/src/components/prompt-input.tsx b/packages/app/src/components/prompt-input.tsx index 1ca085a42..b5a101994 100644 --- a/packages/app/src/components/prompt-input.tsx +++ b/packages/app/src/components/prompt-input.tsx @@ -403,15 +403,10 @@ export const PromptInput: Component<PromptInputProps> = (props) => { const [composing, setComposing] = createSignal(false) const isImeComposing = (event: KeyboardEvent) => event.isComposing || composing() || event.keyCode === 229 - createEffect(() => { - if (!isFocused()) closePopover() - }) - - // Safety: reset composing state on focus change to prevent stuck state - // This handles edge cases where compositionend event may not fire - createEffect(() => { - if (!isFocused()) setComposing(false) - }) + const handleBlur = () => { + closePopover() + setComposing(false) + } const agentList = createMemo(() => sync.data.agent @@ -1118,6 +1113,7 @@ export const PromptInput: Component<PromptInputProps> = (props) => { onPaste={handlePaste} onCompositionStart={() => setComposing(true)} onCompositionEnd={() => setComposing(false)} + onBlur={handleBlur} onKeyDown={handleKeyDown} classList={{ "select-text": true, diff --git a/packages/app/src/components/session/session-header.tsx b/packages/app/src/components/session/session-header.tsx index 912e449cf..3003d0514 100644 --- a/packages/app/src/components/session/session-header.tsx +++ b/packages/app/src/components/session/session-header.tsx @@ -257,27 +257,12 @@ export function SessionHeader() { ] as const }) - const checksReady = createMemo(() => { - if (platform.platform !== "desktop") return true - if (!platform.checkAppExists) return true - const list = apps() - return list.every((app) => exists[app.id] !== undefined) - }) - const [prefs, setPrefs] = persisted(Persist.global("open.app"), createStore({ app: "finder" as OpenApp })) const [menu, setMenu] = createStore({ open: false }) const canOpen = createMemo(() => platform.platform === "desktop" && !!platform.openPath && server.isLocal()) const current = createMemo(() => options().find((o) => o.id === prefs.app) ?? options()[0]) - createEffect(() => { - if (platform.platform !== "desktop") return - if (!checksReady()) return - const value = prefs.app - if (options().some((o) => o.id === value)) return - setPrefs("app", options()[0]?.id ?? "finder") - }) - const openDir = (app: OpenApp) => { const directory = projectDirectory() if (!directory) return @@ -398,7 +383,7 @@ export function SessionHeader() { <DropdownMenu.Group> <DropdownMenu.GroupLabel>{language.t("session.header.openIn")}</DropdownMenu.GroupLabel> <DropdownMenu.RadioGroup - value={prefs.app} + value={current().id} onChange={(value) => { if (!OPEN_APPS.includes(value as OpenApp)) return setPrefs("app", value as OpenApp) |
