diff options
| author | Adam <[email protected]> | 2026-03-05 08:42:50 -0600 |
|---|---|---|
| committer | Adam <[email protected]> | 2026-03-05 08:42:50 -0600 |
| commit | 7665b8e30def396059516ef6d870830baa1faedd (patch) | |
| tree | 0f0261b66bc0547e48787c6fe2c744401a4bb0f8 /packages/app/src | |
| parent | a3d4ea0de17ec208d73d27fdfe2f9a226db902f1 (diff) | |
| download | opencode-7665b8e30def396059516ef6d870830baa1faedd.tar.gz opencode-7665b8e30def396059516ef6d870830baa1faedd.zip | |
fix(app): stale keyed show errors
Diffstat (limited to 'packages/app/src')
| -rw-r--r-- | packages/app/src/pages/session/message-timeline.tsx | 6 | ||||
| -rw-r--r-- | packages/app/src/pages/session/session-side-panel.tsx | 4 | ||||
| -rw-r--r-- | packages/app/src/pages/session/terminal-panel.tsx | 16 |
3 files changed, 14 insertions, 12 deletions
diff --git a/packages/app/src/pages/session/message-timeline.tsx b/packages/app/src/pages/session/message-timeline.tsx index 433c36e2e..7a3b72ae4 100644 --- a/packages/app/src/pages/session/message-timeline.tsx +++ b/packages/app/src/pages/session/message-timeline.tsx @@ -611,7 +611,7 @@ export function MessageTimeline(props: { </Show> </Show> </div> - <Show when={sessionID()}> + <Show when={sessionID()} keyed> {(id) => ( <div class="shrink-0 flex items-center gap-3"> <SessionContextUsage placement="bottom" /> @@ -646,12 +646,12 @@ export function MessageTimeline(props: { > <DropdownMenu.ItemLabel>{language.t("common.rename")}</DropdownMenu.ItemLabel> </DropdownMenu.Item> - <DropdownMenu.Item onSelect={() => void archiveSession(id())}> + <DropdownMenu.Item onSelect={() => void archiveSession(id)}> <DropdownMenu.ItemLabel>{language.t("common.archive")}</DropdownMenu.ItemLabel> </DropdownMenu.Item> <DropdownMenu.Separator /> <DropdownMenu.Item - onSelect={() => dialog.show(() => <DialogDeleteSession sessionID={id()} />)} + onSelect={() => dialog.show(() => <DialogDeleteSession sessionID={id} />)} > <DropdownMenu.ItemLabel>{language.t("common.delete")}</DropdownMenu.ItemLabel> </DropdownMenu.Item> diff --git a/packages/app/src/pages/session/session-side-panel.tsx b/packages/app/src/pages/session/session-side-panel.tsx index ad802d15d..55c1607a0 100644 --- a/packages/app/src/pages/session/session-side-panel.tsx +++ b/packages/app/src/pages/session/session-side-panel.tsx @@ -331,7 +331,9 @@ export function SessionSidePanel(props: { const path = createMemo(() => file.pathFromTab(tab)) return ( <div data-component="tabs-drag-preview"> - <Show when={path()}>{(p) => <FileVisual active path={p()} />}</Show> + <Show when={path()} keyed> + {(p) => <FileVisual active path={p} />} + </Show> </div> ) }} diff --git a/packages/app/src/pages/session/terminal-panel.tsx b/packages/app/src/pages/session/terminal-panel.tsx index cc4c17ee2..c8bfc1405 100644 --- a/packages/app/src/pages/session/terminal-panel.tsx +++ b/packages/app/src/pages/session/terminal-panel.tsx @@ -191,8 +191,8 @@ export function TerminalPanel() { <SortableProvider ids={ids()}> <For each={ids()}> {(id) => ( - <Show when={byId().get(id)}> - {(pty) => <SortableTerminalTab terminal={pty()} onClose={close} />} + <Show when={byId().get(id)} keyed> + {(pty) => <SortableTerminalTab terminal={pty} onClose={close} />} </Show> )} </For> @@ -217,10 +217,10 @@ export function TerminalPanel() { <div class="flex-1 min-h-0 relative"> <Show when={terminal.active()} keyed> {(id) => ( - <Show when={byId().get(id)}> + <Show when={byId().get(id)} keyed> {(pty) => ( <div id={`terminal-wrapper-${id}`} class="absolute inset-0"> - <Terminal pty={pty()} onCleanup={terminal.update} onConnectError={() => terminal.clone(id)} /> + <Terminal pty={pty} onCleanup={terminal.update} onConnectError={() => terminal.clone(id)} /> </div> )} </Show> @@ -229,14 +229,14 @@ export function TerminalPanel() { </div> </div> <DragOverlay> - <Show when={store.activeDraggable}> + <Show when={store.activeDraggable} keyed> {(draggedId) => ( - <Show when={byId().get(draggedId())}> + <Show when={byId().get(draggedId)} keyed> {(t) => ( <div class="relative p-1 h-10 flex items-center bg-background-stronger text-14-regular"> {terminalTabLabel({ - title: t().title, - titleNumber: t().titleNumber, + title: t.title, + titleNumber: t.titleNumber, t: language.t as (key: string, vars?: Record<string, string | number | boolean>) => string, })} </div> |
