diff --git a/packages/ui/src/stores/message-v2/instance-store.ts b/packages/ui/src/stores/message-v2/instance-store.ts index 82cb5751..a854babd 100644 --- a/packages/ui/src/stores/message-v2/instance-store.ts +++ b/packages/ui/src/stores/message-v2/instance-store.ts @@ -215,7 +215,15 @@ export function createInstanceMessageStore(instanceId: string): InstanceMessageS } setState("sessions", sessionId, session) - setState("sessionOrder", (order) => (order.includes(sessionId) ? order : [...order, sessionId])) + setState("sessionOrder", (order) => { + if (order.includes(sessionId)) { + return order + } + if (order.length >= 1024) { + return [...order.slice(-1023), sessionId] + } + return [...order, sessionId] + }) return session } @@ -239,6 +247,9 @@ export function createInstanceMessageStore(instanceId: string): InstanceMessageS if (ids.includes(messageId)) { return ids } + if (ids.length >= 2048) { + return [...ids.slice(-2047), messageId] + } return [...ids, messageId] }) }