diff options
| author | Brendan Allan <[email protected]> | 2026-04-23 17:32:01 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-04-23 17:32:01 +0800 |
| commit | 785f3589abb5b43d4e7d6d27e308188d961787de (patch) | |
| tree | 5873a2fe3538e3e3d23559f5f87e02726936473f | |
| parent | a419f1c50f4efaf2119991eee1d9bc2eef78cb8f (diff) | |
| download | opencode-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.tsx | 4 | ||||
| -rw-r--r-- | packages/app/src/pages/session/message-timeline.tsx | 6 |
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> |
