summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorBrendan Allan <[email protected]>2026-04-23 17:32:01 +0800
committerGitHub <[email protected]>2026-04-23 17:32:01 +0800
commit785f3589abb5b43d4e7d6d27e308188d961787de (patch)
tree5873a2fe3538e3e3d23559f5f87e02726936473f
parenta419f1c50f4efaf2119991eee1d9bc2eef78cb8f (diff)
downloadopencode-785f3589abb5b43d4e7d6d27e308188d961787de.tar.gz
opencode-785f3589abb5b43d4e7d6d27e308188d961787de.zip
fix: add keyed prop to Show components for proper reactivity (#23935)
-rw-r--r--packages/app/src/pages/layout/sidebar-items.tsx4
-rw-r--r--packages/app/src/pages/session/message-timeline.tsx6
2 files changed, 5 insertions, 5 deletions
diff --git a/packages/app/src/pages/layout/sidebar-items.tsx b/packages/app/src/pages/layout/sidebar-items.tsx
index 5170311a7..4c36eefa5 100644
--- a/packages/app/src/pages/layout/sidebar-items.tsx
+++ b/packages/app/src/pages/layout/sidebar-items.tsx
@@ -269,10 +269,10 @@ export const SessionItem = (props: SessionItemProps): JSX.Element => {
</Show>
</div>
</div>
- <Show when={currentChild()}>
+ <Show when={currentChild()} keyed>
{(child) => (
<div class="w-full">
- <SessionItem {...props} session={child()} level={(props.level ?? 0) + 1} />
+ <SessionItem {...props} session={child} level={(props.level ?? 0) + 1} />
</div>
)}
</Show>
diff --git a/packages/app/src/pages/session/message-timeline.tsx b/packages/app/src/pages/session/message-timeline.tsx
index fa57cabae..592ca774e 100644
--- a/packages/app/src/pages/session/message-timeline.tsx
+++ b/packages/app/src/pages/session/message-timeline.tsx
@@ -812,7 +812,7 @@ export function MessageTimeline(props: {
</Show>
</div>
</div>
- <Show when={sessionID()}>
+ <Show when={sessionID()} keyed>
{(id) => (
<div class="shrink-0 flex items-center gap-3">
<SessionContextUsage placement="bottom" />
@@ -878,12 +878,12 @@ export function MessageTimeline(props: {
</DropdownMenu.ItemLabel>
</DropdownMenu.Item>
</Show>
- <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>