summaryrefslogtreecommitdiffhomepage
path: root/packages/desktop/src
diff options
context:
space:
mode:
authorAdam <[email protected]>2025-12-08 06:24:19 -0600
committerAdam <[email protected]>2025-12-08 06:24:24 -0600
commit9363c15b4a1fafca2d30063ebcb166f36ba35235 (patch)
treefa7d6c62a0b0d0f7811562d6d989735bfad49537 /packages/desktop/src
parent3325823f23800687e4af8d9960438b848bd4e005 (diff)
downloadopencode-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.tsx2
-rw-r--r--packages/desktop/src/context/local.tsx2
-rw-r--r--packages/desktop/src/context/session.tsx2
-rw-r--r--packages/desktop/src/pages/directory-layout.tsx2
-rw-r--r--packages/desktop/src/pages/home.tsx2
-rw-r--r--packages/desktop/src/pages/layout.tsx2
-rw-r--r--packages/desktop/src/pages/session.tsx7
-rw-r--r--packages/desktop/src/utils/encode.ts7
-rw-r--r--packages/desktop/src/utils/index.ts1
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"