diff options
| author | Adam <[email protected]> | 2025-12-08 06:24:19 -0600 |
|---|---|---|
| committer | Adam <[email protected]> | 2025-12-08 06:24:24 -0600 |
| commit | 9363c15b4a1fafca2d30063ebcb166f36ba35235 (patch) | |
| tree | fa7d6c62a0b0d0f7811562d6d989735bfad49537 /packages/desktop/src | |
| parent | 3325823f23800687e4af8d9960438b848bd4e005 (diff) | |
| download | opencode-9363c15b4a1fafca2d30063ebcb166f36ba35235.tar.gz opencode-9363c15b4a1fafca2d30063ebcb166f36ba35235.zip | |
feat: better code and diff perf
Diffstat (limited to 'packages/desktop/src')
| -rw-r--r-- | packages/desktop/src/DesktopInterface.tsx | 2 | ||||
| -rw-r--r-- | packages/desktop/src/context/local.tsx | 2 | ||||
| -rw-r--r-- | packages/desktop/src/context/session.tsx | 2 | ||||
| -rw-r--r-- | packages/desktop/src/pages/directory-layout.tsx | 2 | ||||
| -rw-r--r-- | packages/desktop/src/pages/home.tsx | 2 | ||||
| -rw-r--r-- | packages/desktop/src/pages/layout.tsx | 2 | ||||
| -rw-r--r-- | packages/desktop/src/pages/session.tsx | 7 | ||||
| -rw-r--r-- | packages/desktop/src/utils/encode.ts | 7 | ||||
| -rw-r--r-- | packages/desktop/src/utils/index.ts | 1 |
9 files changed, 12 insertions, 15 deletions
diff --git a/packages/desktop/src/DesktopInterface.tsx b/packages/desktop/src/DesktopInterface.tsx index c4de3e089..1979308e4 100644 --- a/packages/desktop/src/DesktopInterface.tsx +++ b/packages/desktop/src/DesktopInterface.tsx @@ -13,7 +13,7 @@ import Session from "@/pages/session" import { LayoutProvider } from "./context/layout" import { GlobalSDKProvider } from "./context/global-sdk" import { SessionProvider } from "./context/session" -import { base64Encode } from "./utils" +import { base64Encode } from "@opencode-ai/util/encode" import { createMemo, Show } from "solid-js" const host = import.meta.env.VITE_OPENCODE_SERVER_HOST ?? "127.0.0.1" diff --git a/packages/desktop/src/context/local.tsx b/packages/desktop/src/context/local.tsx index de4202d9a..a9f48ec67 100644 --- a/packages/desktop/src/context/local.tsx +++ b/packages/desktop/src/context/local.tsx @@ -5,7 +5,7 @@ import type { FileContent, FileNode, Model, Provider, File as FileStatus } from import { createSimpleContext } from "@opencode-ai/ui/context" import { useSDK } from "./sdk" import { useSync } from "./sync" -import { base64Encode } from "@/utils" +import { base64Encode } from "@opencode-ai/util/encode" export type LocalFile = FileNode & Partial<{ diff --git a/packages/desktop/src/context/session.tsx b/packages/desktop/src/context/session.tsx index 5c0bad98a..8275ce12a 100644 --- a/packages/desktop/src/context/session.tsx +++ b/packages/desktop/src/context/session.tsx @@ -7,7 +7,7 @@ import { TextSelection } from "./local" import { pipe, sumBy } from "remeda" import { AssistantMessage, UserMessage } from "@opencode-ai/sdk/v2" import { useParams } from "@solidjs/router" -import { base64Encode } from "@/utils" +import { base64Encode } from "@opencode-ai/util/encode" import { useSDK } from "./sdk" export type LocalPTY = { diff --git a/packages/desktop/src/pages/directory-layout.tsx b/packages/desktop/src/pages/directory-layout.tsx index de16eff30..20467c066 100644 --- a/packages/desktop/src/pages/directory-layout.tsx +++ b/packages/desktop/src/pages/directory-layout.tsx @@ -4,7 +4,7 @@ import { SDKProvider } from "@/context/sdk" import { SyncProvider, useSync } from "@/context/sync" import { LocalProvider } from "@/context/local" import { useGlobalSync } from "@/context/global-sync" -import { base64Decode } from "@/utils" +import { base64Decode } from "@opencode-ai/util/encode" import { DataProvider } from "@opencode-ai/ui/context" import { iife } from "@opencode-ai/util/iife" diff --git a/packages/desktop/src/pages/home.tsx b/packages/desktop/src/pages/home.tsx index 58fcb20ce..c35d5754e 100644 --- a/packages/desktop/src/pages/home.tsx +++ b/packages/desktop/src/pages/home.tsx @@ -1,5 +1,5 @@ import { useGlobalSync } from "@/context/global-sync" -import { base64Encode } from "@/utils" +import { base64Encode } from "@opencode-ai/util/encode" import { For } from "solid-js" import { A } from "@solidjs/router" import { Button } from "@opencode-ai/ui/button" diff --git a/packages/desktop/src/pages/layout.tsx b/packages/desktop/src/pages/layout.tsx index 94ff4dd04..a1b575ee5 100644 --- a/packages/desktop/src/pages/layout.tsx +++ b/packages/desktop/src/pages/layout.tsx @@ -3,7 +3,7 @@ import { DateTime } from "luxon" import { A, useNavigate, useParams } from "@solidjs/router" import { useLayout } from "@/context/layout" import { useGlobalSync } from "@/context/global-sync" -import { base64Decode, base64Encode } from "@/utils" +import { base64Decode, base64Encode } from "@opencode-ai/util/encode" import { Mark } from "@opencode-ai/ui/logo" import { Button } from "@opencode-ai/ui/button" import { Icon } from "@opencode-ai/ui/icon" diff --git a/packages/desktop/src/pages/session.tsx b/packages/desktop/src/pages/session.tsx index 3cc6d307c..81f4dc1cb 100644 --- a/packages/desktop/src/pages/session.tsx +++ b/packages/desktop/src/pages/session.tsx @@ -31,6 +31,7 @@ import { useSession } from "@/context/session" import { useLayout } from "@/context/layout" import { getDirectory, getFilename } from "@opencode-ai/util/path" import { Terminal } from "@/components/terminal" +import { checksum } from "@opencode-ai/util/encode" export default function Page() { const layout = useLayout() @@ -489,7 +490,11 @@ export default function Page() { <Match when={file()}> {(f) => ( <Code - file={{ name: f().path, contents: f().content?.content ?? "" }} + file={{ + name: f().path, + contents: f().content?.content ?? "", + cacheKey: checksum(f().content?.content ?? ""), + }} overflow="scroll" class="pb-40" /> diff --git a/packages/desktop/src/utils/encode.ts b/packages/desktop/src/utils/encode.ts deleted file mode 100644 index 265bba5c4..000000000 --- a/packages/desktop/src/utils/encode.ts +++ /dev/null @@ -1,7 +0,0 @@ -export function base64Encode(value: string) { - return btoa(value).replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "") -} - -export function base64Decode(value: string) { - return atob(value.replace(/-/g, "+").replace(/_/g, "/")) -} diff --git a/packages/desktop/src/utils/index.ts b/packages/desktop/src/utils/index.ts index e50efe837..d87053269 100644 --- a/packages/desktop/src/utils/index.ts +++ b/packages/desktop/src/utils/index.ts @@ -1,2 +1 @@ export * from "./dom" -export * from "./encode" |
