Browse Source

tui: fix session resumption with --session-id flag to navigate after app initialization

Previously when passing a session ID directly, the route was set during initial
render which could cause navigation issues before the router was fully ready.
Now the session navigation happens after initialization completes, ensuring
the TUI properly loads the requested session when users resume with --session-id.
Dax Raad 4 months ago
parent
commit
a27d3c1623
1 changed files with 7 additions and 1 deletions
  1. 7 1
      packages/opencode/src/cli/cmd/tui/app.tsx

+ 7 - 1
packages/opencode/src/cli/cmd/tui/app.tsx

@@ -150,7 +150,7 @@ export function tui(input: {
                 <ToastProvider>
                   <RouteProvider
                     initialRoute={
-                      (input.args.sessionID || input.args.continue) && !input.args.fork
+                      input.args.continue
                         ? {
                             type: "session",
                             sessionID: "dummy",
@@ -342,6 +342,12 @@ function App(props: { onSnapshot?: () => Promise<string[]> }) {
           })
         local.model.set({ providerID, modelID }, { recent: true })
       }
+      if (args.sessionID && !args.fork) {
+        route.navigate({
+          type: "session",
+          sessionID: args.sessionID,
+        })
+      }
     })
   })