fix(app): stabilize virtual session timeline interactions (#28422)

This commit is contained in:
Luke Parker
2026-05-25 12:05:27 +10:00
committed by GitHub
parent 9495ecd536
commit f023c63a60
14 changed files with 1062 additions and 177 deletions
+18 -3
View File
@@ -12,6 +12,8 @@ export interface ToolErrorCardProps extends Omit<ComponentProps<typeof Card>, "c
error: string
title?: string
defaultOpen?: boolean
open?: boolean
onOpenChange?: (open: boolean) => void
subtitle?: string
href?: string
}
@@ -22,9 +24,22 @@ export function ToolErrorCard(props: ToolErrorCardProps) {
open: props.defaultOpen ?? false,
copied: false,
})
const open = () => state.open
const open = () => props.open ?? state.open
const copied = () => state.copied
const [split, rest] = splitProps(props, ["tool", "error", "title", "defaultOpen", "subtitle", "href"])
const [split, rest] = splitProps(props, [
"tool",
"error",
"title",
"defaultOpen",
"open",
"onOpenChange",
"subtitle",
"href",
])
const setOpen = (value: boolean) => {
if (props.open === undefined) setState("open", value)
props.onOpenChange?.(value)
}
const name = createMemo(() => {
if (split.title) return split.title
const map: Record<string, string> = {
@@ -81,7 +96,7 @@ export function ToolErrorCard(props: ToolErrorCardProps) {
class="tool-collapsible"
data-open={open() ? "true" : "false"}
open={open()}
onOpenChange={(value) => setState("open", value)}
onOpenChange={setOpen}
>
<Collapsible.Trigger>
<div data-component="tool-trigger">