diff options
| author | Adam <[email protected]> | 2026-03-05 13:40:19 -0600 |
|---|---|---|
| committer | Adam <[email protected]> | 2026-03-05 13:40:25 -0600 |
| commit | 2ba1ecabc925d2a4a83c81d7ceab2f88abb90701 (patch) | |
| tree | 864c694c54e71579094e0dfd72eba649a5a1e50c /packages/app/src/pages/session | |
| parent | e3b6d84b570059030867a5e56fd47999f80243eb (diff) | |
| download | opencode-2ba1ecabc925d2a4a83c81d7ceab2f88abb90701.tar.gz opencode-2ba1ecabc925d2a4a83c81d7ceab2f88abb90701.zip | |
fix(app): load tab on open file
Diffstat (limited to 'packages/app/src/pages/session')
| -rw-r--r-- | packages/app/src/pages/session/helpers.test.ts | 3 | ||||
| -rw-r--r-- | packages/app/src/pages/session/helpers.ts | 11 |
2 files changed, 10 insertions, 4 deletions
diff --git a/packages/app/src/pages/session/helpers.test.ts b/packages/app/src/pages/session/helpers.test.ts index aaa5b932f..9c77c34af 100644 --- a/packages/app/src/pages/session/helpers.test.ts +++ b/packages/app/src/pages/session/helpers.test.ts @@ -11,12 +11,13 @@ describe("createOpenReviewFile", () => { return `file://${path}` }, openTab: (tab) => calls.push(`open:${tab}`), + setActive: (tab) => calls.push(`active:${tab}`), loadFile: (path) => calls.push(`load:${path}`), }) openReviewFile("src/a.ts") - expect(calls).toEqual(["show", "load:src/a.ts", "tab:src/a.ts", "open:file://src/a.ts"]) + expect(calls).toEqual(["show", "load:src/a.ts", "tab:src/a.ts", "open:file://src/a.ts", "active:file://src/a.ts"]) }) }) diff --git a/packages/app/src/pages/session/helpers.ts b/packages/app/src/pages/session/helpers.ts index 20f1d99a8..60b26cdf4 100644 --- a/packages/app/src/pages/session/helpers.ts +++ b/packages/app/src/pages/session/helpers.ts @@ -24,15 +24,20 @@ export const createOpenReviewFile = (input: { showAllFiles: () => void tabForPath: (path: string) => string openTab: (tab: string) => void + setActive: (tab: string) => void loadFile: (path: string) => any | Promise<void> }) => { return (path: string) => { batch(() => { input.showAllFiles() const maybePromise = input.loadFile(path) - const openTab = () => input.openTab(input.tabForPath(path)) - if (maybePromise instanceof Promise) maybePromise.then(openTab) - else openTab() + const open = () => { + const tab = input.tabForPath(path) + input.openTab(tab) + input.setActive(tab) + } + if (maybePromise instanceof Promise) maybePromise.then(open) + else open() }) } } |
