From 8033b4e929b0b154309c4dfeeace4e105f1c89d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Haris=20Gu=C5=A1i=C4=87?= Date: Fri, 31 Oct 2025 04:50:55 +0100 Subject: [PATCH] opentui: fix: Dialog button clicks leak through (#3589) --- packages/opencode/src/cli/cmd/tui/app.tsx | 1 - packages/opencode/src/cli/cmd/tui/ui/dialog-alert.tsx | 2 +- packages/opencode/src/cli/cmd/tui/ui/dialog-confirm.tsx | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/opencode/src/cli/cmd/tui/app.tsx b/packages/opencode/src/cli/cmd/tui/app.tsx index 4ac4b3cf9..d29011113 100644 --- a/packages/opencode/src/cli/cmd/tui/app.tsx +++ b/packages/opencode/src/cli/cmd/tui/app.tsx @@ -8,7 +8,6 @@ import { createEffect, untrack, ErrorBoundary, - createMemo, createSignal, } from "solid-js" import { Installation } from "@/installation" diff --git a/packages/opencode/src/cli/cmd/tui/ui/dialog-alert.tsx b/packages/opencode/src/cli/cmd/tui/ui/dialog-alert.tsx index 66c8334de..6bb59d6c7 100644 --- a/packages/opencode/src/cli/cmd/tui/ui/dialog-alert.tsx +++ b/packages/opencode/src/cli/cmd/tui/ui/dialog-alert.tsx @@ -33,7 +33,7 @@ export function DialogAlert(props: DialogAlertProps) { paddingLeft={3} paddingRight={3} backgroundColor={theme.primary} - onMouseDown={() => { + onMouseUp={() => { props.onConfirm?.() dialog.clear() }} diff --git a/packages/opencode/src/cli/cmd/tui/ui/dialog-confirm.tsx b/packages/opencode/src/cli/cmd/tui/ui/dialog-confirm.tsx index 9f78188f8..dd5b238b1 100644 --- a/packages/opencode/src/cli/cmd/tui/ui/dialog-confirm.tsx +++ b/packages/opencode/src/cli/cmd/tui/ui/dialog-confirm.tsx @@ -47,7 +47,7 @@ export function DialogConfirm(props: DialogConfirmProps) { paddingLeft={1} paddingRight={1} backgroundColor={key === store.active ? theme.primary : undefined} - onMouseDown={() => { + onMouseUp={(evt) => { if (key === "confirm") props.onConfirm?.() if (key === "cancel") props.onCancel?.() dialog.clear()