From 6a9d1eea69291aa73b90cb398e25a5dcc056473c Mon Sep 17 00:00:00 2001 From: LukeParkerDev <10430890+Hona@users.noreply.github.com> Date: Fri, 6 Mar 2026 16:40:28 +1000 Subject: [PATCH] fix(app): use shared array.same helper for session memo equality --- packages/app/src/pages/session.tsx | 2 +- packages/util/src/array.ts | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/app/src/pages/session.tsx b/packages/app/src/pages/session.tsx index 1476e616e58..3f9dea671db 100644 --- a/packages/app/src/pages/session.tsx +++ b/packages/app/src/pages/session.tsx @@ -40,7 +40,7 @@ import { SessionSidePanel } from "@/pages/session/session-side-panel" import { TerminalPanel } from "@/pages/session/terminal-panel" import { useSessionCommands } from "@/pages/session/use-session-commands" import { useSessionHashScroll } from "@/pages/session/use-session-hash-scroll" -import { same } from "@/utils/same" +import { same } from "@opencode-ai/util/array" const emptyUserMessages: UserMessage[] = [] diff --git a/packages/util/src/array.ts b/packages/util/src/array.ts index 1fb8ac69ecd..91b923dee2a 100644 --- a/packages/util/src/array.ts +++ b/packages/util/src/array.ts @@ -1,3 +1,10 @@ +export function same(a: readonly T[] | undefined, b: readonly T[] | undefined) { + if (a === b) return true + if (!a || !b) return false + if (a.length !== b.length) return false + return a.every((x, i) => x === b[i]) +} + export function findLast( items: readonly T[], predicate: (item: T, index: number, items: readonly T[]) => boolean,