Просмотр исходного кода

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 месяцев назад
Родитель
Сommit
a27d3c1623
1 измененных файлов с 7 добавлено и 1 удалено
  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,
+        })
+      }
     })
   })