diff options
| author | adamelmore <[email protected]> | 2026-01-24 12:36:42 -0600 |
|---|---|---|
| committer | adamelmore <[email protected]> | 2026-01-24 12:41:50 -0600 |
| commit | 1080f37f9c86d8ad20de8f26136ea6e874ae39a9 (patch) | |
| tree | 35c6bd696d0b87e7a20efe021268e4f2145ea51b /packages/app/src | |
| parent | d90b4c9ebd648333aed27d372656b17597f629db (diff) | |
| download | opencode-1080f37f9c86d8ad20de8f26136ea6e874ae39a9.tar.gz opencode-1080f37f9c86d8ad20de8f26136ea6e874ae39a9.zip | |
fix(app): don't use findLast
Diffstat (limited to 'packages/app/src')
| -rw-r--r-- | packages/app/src/components/session-context-usage.tsx | 3 | ||||
| -rw-r--r-- | packages/app/src/components/session/session-context-tab.tsx | 5 | ||||
| -rw-r--r-- | packages/app/src/pages/session.tsx | 9 |
3 files changed, 10 insertions, 7 deletions
diff --git a/packages/app/src/components/session-context-usage.tsx b/packages/app/src/components/session-context-usage.tsx index 64133af72..00f300828 100644 --- a/packages/app/src/components/session-context-usage.tsx +++ b/packages/app/src/components/session-context-usage.tsx @@ -4,6 +4,7 @@ import { ProgressCircle } from "@opencode-ai/ui/progress-circle" import { Button } from "@opencode-ai/ui/button" import { useParams } from "@solidjs/router" import { AssistantMessage } from "@opencode-ai/sdk/v2/client" +import { findLast } from "@opencode-ai/util/array" import { useLayout } from "@/context/layout" import { useSync } from "@/context/sync" @@ -36,7 +37,7 @@ export function SessionContextUsage(props: SessionContextUsageProps) { const context = createMemo(() => { const locale = language.locale() - const last = messages().findLast((x) => { + const last = findLast(messages(), (x) => { if (x.role !== "assistant") return false const total = x.tokens.input + x.tokens.output + x.tokens.reasoning + x.tokens.cache.read + x.tokens.cache.write return total > 0 diff --git a/packages/app/src/components/session/session-context-tab.tsx b/packages/app/src/components/session/session-context-tab.tsx index 57648c380..4c672af3e 100644 --- a/packages/app/src/components/session/session-context-tab.tsx +++ b/packages/app/src/components/session/session-context-tab.tsx @@ -5,6 +5,7 @@ import { DateTime } from "luxon" import { useSync } from "@/context/sync" import { useLayout } from "@/context/layout" import { checksum } from "@opencode-ai/util/encode" +import { findLast } from "@opencode-ai/util/array" import { Icon } from "@opencode-ai/ui/icon" import { Accordion } from "@opencode-ai/ui/accordion" import { StickyAccordionHeader } from "@opencode-ai/ui/sticky-accordion-header" @@ -26,7 +27,7 @@ export function SessionContextTab(props: SessionContextTabProps) { const language = useLanguage() const ctx = createMemo(() => { - const last = props.messages().findLast((x) => { + const last = findLast(props.messages(), (x) => { if (x.role !== "assistant") return false const total = x.tokens.input + x.tokens.output + x.tokens.reasoning + x.tokens.cache.read + x.tokens.cache.write return total > 0 @@ -81,7 +82,7 @@ export function SessionContextTab(props: SessionContextTabProps) { }) const systemPrompt = createMemo(() => { - const msg = props.visibleUserMessages().findLast((m) => !!m.system) + const msg = findLast(props.visibleUserMessages(), (m) => !!m.system) const system = msg?.system if (!system) return const trimmed = system.trim() diff --git a/packages/app/src/pages/session.tsx b/packages/app/src/pages/session.tsx index 71ab03331..5bf337bfa 100644 --- a/packages/app/src/pages/session.tsx +++ b/packages/app/src/pages/session.tsx @@ -40,6 +40,7 @@ import { useTerminal, type LocalPTY } from "@/context/terminal" import { useLayout } from "@/context/layout" import { Terminal } from "@/components/terminal" import { checksum, base64Encode, base64Decode } from "@opencode-ai/util/encode" +import { findLast } from "@opencode-ai/util/array" import { getFilename } from "@opencode-ai/util/path" import { useDialog } from "@opencode-ai/ui/context/dialog" import { DialogSelectFile } from "@/components/dialog-select-file" @@ -748,7 +749,7 @@ export default function Page() { } const revert = info()?.revert?.messageID // Find the last user message that's not already reverted - const message = userMessages().findLast((x) => !revert || x.id < revert) + const message = findLast(userMessages(), (x) => !revert || x.id < revert) if (!message) return await sdk.client.session.revert({ sessionID, messageID: message.id }) // Restore the prompt from the reverted message @@ -758,7 +759,7 @@ export default function Page() { prompt.set(restored) } // Navigate to the message before the reverted one (which will be the new last visible message) - const priorMessage = userMessages().findLast((x) => x.id < message.id) + const priorMessage = findLast(userMessages(), (x) => x.id < message.id) setActiveMessage(priorMessage) }, }, @@ -780,14 +781,14 @@ export default function Page() { await sdk.client.session.unrevert({ sessionID }) prompt.reset() // Navigate to the last message (the one that was at the revert point) - const lastMsg = userMessages().findLast((x) => x.id >= revertMessageID) + const lastMsg = findLast(userMessages(), (x) => x.id >= revertMessageID) setActiveMessage(lastMsg) return } // Partial redo - move forward to next message await sdk.client.session.revert({ sessionID, messageID: nextMessage.id }) // Navigate to the message before the new revert point - const priorMsg = userMessages().findLast((x) => x.id < nextMessage.id) + const priorMsg = findLast(userMessages(), (x) => x.id < nextMessage.id) setActiveMessage(priorMsg) }, }, |
