summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/pages
diff options
context:
space:
mode:
authorAdam <[email protected]>2026-01-08 07:41:20 -0600
committerAdam <[email protected]>2026-01-08 17:48:15 -0600
commitbe9b2bab156d3eccaf1c8ea4fce2523407833fdd (patch)
tree0fddff15d81bfd0e5dd8c88d55ac2948f56878d8 /packages/app/src/pages
parentc949e5b390814348a2a86802d4c350e964864da6 (diff)
downloadopencode-be9b2bab156d3eccaf1c8ea4fce2523407833fdd.tar.gz
opencode-be9b2bab156d3eccaf1c8ea4fce2523407833fdd.zip
feat(app): cache session-scoped stores, optional context gating
Diffstat (limited to 'packages/app/src/pages')
-rw-r--r--packages/app/src/pages/session.tsx14
1 files changed, 13 insertions, 1 deletions
diff --git a/packages/app/src/pages/session.tsx b/packages/app/src/pages/session.tsx
index e71177730..58f1e0a64 100644
--- a/packages/app/src/pages/session.tsx
+++ b/packages/app/src/pages/session.tsx
@@ -977,9 +977,18 @@ export default function Page() {
.join("")
.trim()
- onCleanup(() => {
+ createEffect(() => {
+ if (!prompt.ready()) return
handoff.prompt = previewPrompt()
+ })
+
+ createEffect(() => {
+ if (!terminal.ready()) return
handoff.terminals = terminal.all().map((t) => t.title)
+ })
+
+ createEffect(() => {
+ if (!file.ready()) return
handoff.files = Object.fromEntries(
tabs()
.all()
@@ -989,6 +998,9 @@ export default function Page() {
return [[path, file.selectedLines(path) ?? null] as const]
}),
)
+ })
+
+ onCleanup(() => {
cancelTurnBackfill()
document.removeEventListener("keydown", handleKeyDown)
if (scrollSpyFrame !== undefined) cancelAnimationFrame(scrollSpyFrame)