summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src
diff options
context:
space:
mode:
authorAdam <[email protected]>2025-12-29 09:56:21 -0600
committerAdam <[email protected]>2025-12-29 09:56:33 -0600
commitfb0e1e4d8d3adc54b382c9daa5cdae7435d82e35 (patch)
treeb7ea9c0c05a5f323990a8ee16853f675bfa8486b /packages/app/src
parentb745b1593f3ac25302ab7e8fc375f5fbe956e403 (diff)
downloadopencode-fb0e1e4d8d3adc54b382c9daa5cdae7435d82e35.tar.gz
opencode-fb0e1e4d8d3adc54b382c9daa5cdae7435d82e35.zip
Revert "fix(desktop): jankiness"
This reverts commit 831e9bce51c035ec22ce9562bf0257d6b59b2fe4.
Diffstat (limited to 'packages/app/src')
-rw-r--r--packages/app/src/app.tsx2
-rw-r--r--packages/app/src/context/global-sync.tsx4
-rw-r--r--packages/app/src/context/sync.tsx4
-rw-r--r--packages/app/src/pages/session.tsx20
4 files changed, 13 insertions, 17 deletions
diff --git a/packages/app/src/app.tsx b/packages/app/src/app.tsx
index 9e38d5e98..bf5ba9566 100644
--- a/packages/app/src/app.tsx
+++ b/packages/app/src/app.tsx
@@ -69,7 +69,7 @@ export function App() {
<Route
path="/session/:id?"
component={(p) => (
- <Show when={p.params.id ?? "new"} keyed>
+ <Show when={p.params.id || true} keyed>
<TerminalProvider>
<PromptProvider>
<Session />
diff --git a/packages/app/src/context/global-sync.tsx b/packages/app/src/context/global-sync.tsx
index a6851aecb..e1dcf15fc 100644
--- a/packages/app/src/context/global-sync.tsx
+++ b/packages/app/src/context/global-sync.tsx
@@ -124,7 +124,7 @@ function createGlobalSync() {
const updated = new Date(s.time.updated).getTime()
return updated > fourHoursAgo
})
- setStore("session", reconcile(sessions, { key: "id" }))
+ setStore("session", sessions)
})
.catch((err) => {
console.error("Failed to load sessions", err)
@@ -263,7 +263,7 @@ function createGlobalSync() {
setStore("session_diff", event.properties.sessionID, reconcile(event.properties.diff, { key: "file" }))
break
case "todo.updated":
- setStore("todo", event.properties.sessionID, reconcile(event.properties.todos, { key: "id" }))
+ setStore("todo", event.properties.sessionID, reconcile(event.properties.todos))
break
case "session.status": {
setStore("session_status", event.properties.sessionID, reconcile(event.properties.status))
diff --git a/packages/app/src/context/sync.tsx b/packages/app/src/context/sync.tsx
index 05156613a..dad035fb3 100644
--- a/packages/app/src/context/sync.tsx
+++ b/packages/app/src/context/sync.tsx
@@ -81,7 +81,7 @@ export const { use: useSync, provider: SyncProvider } = createSimpleContext({
}),
)
- setStore("todo", sessionID, reconcile(todo.data ?? [], { key: "id" }))
+ setStore("todo", sessionID, reconcile(todo.data ?? []))
setStore(
"message",
sessionID,
@@ -115,7 +115,7 @@ export const { use: useSync, provider: SyncProvider } = createSimpleContext({
.slice()
.sort((a, b) => a.id.localeCompare(b.id))
.slice(0, store.limit)
- setStore("session", reconcile(sessions, { key: "id" }))
+ setStore("session", sessions)
})
},
more: createMemo(() => store.session.length >= store.limit),
diff --git a/packages/app/src/pages/session.tsx b/packages/app/src/pages/session.tsx
index a6dc804d1..6bc39daca 100644
--- a/packages/app/src/pages/session.tsx
+++ b/packages/app/src/pages/session.tsx
@@ -167,18 +167,14 @@ export default function Page() {
),
)
- createEffect(
- on(
- () => params.id,
- (id) => {
- const status = sync.data.session_status[id ?? ""] ?? { type: "idle" }
- batch(() => {
- setStore("userInteracted", false)
- setStore("stepsExpanded", status.type !== "idle")
- })
- },
- ),
- )
+ createEffect(() => {
+ params.id
+ const status = sync.data.session_status[params.id ?? ""] ?? { type: "idle" }
+ batch(() => {
+ setStore("userInteracted", false)
+ setStore("stepsExpanded", status.type !== "idle")
+ })
+ })
const status = createMemo(() => sync.data.session_status[params.id ?? ""] ?? { type: "idle" })
const working = createMemo(() => status().type !== "idle" && activeMessage()?.id === lastUserMessage()?.id)