From c9638c91e048abdb96b744e2aebd429d7f5a09b1 Mon Sep 17 00:00:00 2001 From: Carlo Wood Date: Wed, 11 Mar 2026 23:50:21 +0100 Subject: [PATCH 1/2] Fix default timeout value. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Many callsites don’t pass duration, relying on the default. The way the default was specified was wrong, resulting in an 'undefined' value if no duration is passed instead of 5000. Passing `undefined` to setTimeout causes an immediate timeout (in practise a very shortly visible TUI toast UI. --- packages/opencode/src/cli/cmd/tui/event.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/opencode/src/cli/cmd/tui/event.ts b/packages/opencode/src/cli/cmd/tui/event.ts index b2e4b92c551..4c6e344a0d9 100644 --- a/packages/opencode/src/cli/cmd/tui/event.ts +++ b/packages/opencode/src/cli/cmd/tui/event.ts @@ -37,7 +37,7 @@ export const TuiEvent = { title: z.string().optional(), message: z.string(), variant: z.enum(["info", "success", "warning", "error"]), - duration: z.number().default(5000).optional().describe("Duration in milliseconds"), + duration: z.number().optional().default(5000).describe("Duration in milliseconds"), }), ), SessionSelect: BusEvent.define( From 30582719d463244e06017cd85b98ca7af691bff5 Mon Sep 17 00:00:00 2001 From: Ariane Emory Date: Wed, 18 Mar 2026 13:31:57 -0400 Subject: [PATCH 2/2] fix: use z.input for ToastOptions to make duration optional --- packages/opencode/src/cli/cmd/tui/ui/toast.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/opencode/src/cli/cmd/tui/ui/toast.tsx b/packages/opencode/src/cli/cmd/tui/ui/toast.tsx index 36095580fb0..495634f7e30 100644 --- a/packages/opencode/src/cli/cmd/tui/ui/toast.tsx +++ b/packages/opencode/src/cli/cmd/tui/ui/toast.tsx @@ -7,7 +7,7 @@ import { TextAttributes } from "@opentui/core" import z from "zod" import { TuiEvent } from "../event" -export type ToastOptions = z.infer +export type ToastOptions = z.input export function Toast() { const toast = useToast()