diff options
| author | Adam <[email protected]> | 2026-01-08 07:41:20 -0600 |
|---|---|---|
| committer | Adam <[email protected]> | 2026-01-08 17:48:15 -0600 |
| commit | be9b2bab156d3eccaf1c8ea4fce2523407833fdd (patch) | |
| tree | 0fddff15d81bfd0e5dd8c88d55ac2948f56878d8 /packages/app/src/pages | |
| parent | c949e5b390814348a2a86802d4c350e964864da6 (diff) | |
| download | opencode-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.tsx | 14 |
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) |
