From c7760b433b1bdbcaed7e7cd55d53b5b331f0f0fa Mon Sep 17 00:00:00 2001
From: Adam <2363879+adamdotdevin@users.noreply.github.com>
Date: Thu, 26 Mar 2026 13:41:22 -0500
Subject: fix(app): more startup perf (#19288)
---
.../app/src/pages/session/session-side-panel.tsx | 9 +++----
.../app/src/pages/session/use-session-commands.tsx | 28 +++++++++++++++-------
2 files changed, 25 insertions(+), 12 deletions(-)
(limited to 'packages/app/src/pages/session')
diff --git a/packages/app/src/pages/session/session-side-panel.tsx b/packages/app/src/pages/session/session-side-panel.tsx
index 58c650fcd..c07942627 100644
--- a/packages/app/src/pages/session/session-side-panel.tsx
+++ b/packages/app/src/pages/session/session-side-panel.tsx
@@ -13,7 +13,6 @@ import { useDialog } from "@opencode-ai/ui/context/dialog"
import FileTree from "@/components/file-tree"
import { SessionContextUsage } from "@/components/session-context-usage"
-import { DialogSelectFile } from "@/components/dialog-select-file"
import { SessionContextTab, SortableTab, FileVisual } from "@/components/session"
import { useCommand } from "@/context/command"
import { useFile, type SelectedLineRange } from "@/context/file"
@@ -293,9 +292,11 @@ export function SessionSidePanel(props: {
variant="ghost"
iconSize="large"
class="!rounded-md"
- onClick={() =>
- dialog.show(() => )
- }
+ onClick={() => {
+ void import("@/components/dialog-select-file").then((x) => {
+ dialog.show(() => )
+ })
+ }}
aria-label={language.t("command.file.open")}
/>
diff --git a/packages/app/src/pages/session/use-session-commands.tsx b/packages/app/src/pages/session/use-session-commands.tsx
index 7394765ae..1a1c290f6 100644
--- a/packages/app/src/pages/session/use-session-commands.tsx
+++ b/packages/app/src/pages/session/use-session-commands.tsx
@@ -11,10 +11,6 @@ import { usePrompt } from "@/context/prompt"
import { useSDK } from "@/context/sdk"
import { useSync } from "@/context/sync"
import { useTerminal } from "@/context/terminal"
-import { DialogSelectFile } from "@/components/dialog-select-file"
-import { DialogSelectModel } from "@/components/dialog-select-model"
-import { DialogSelectMcp } from "@/components/dialog-select-mcp"
-import { DialogFork } from "@/components/dialog-fork"
import { showToast } from "@opencode-ai/ui/toast"
import { findLast } from "@opencode-ai/util/array"
import { createSessionTabs } from "@/pages/session/helpers"
@@ -257,7 +253,11 @@ export const useSessionCommands = (actions: SessionCommandContext) => {
description: language.t("palette.search.placeholder"),
keybind: "mod+k,mod+p",
slash: "open",
- onSelect: () => dialog.show(() => ),
+ onSelect: () => {
+ void import("@/components/dialog-select-file").then((x) => {
+ dialog.show(() => )
+ })
+ },
}),
fileCommand({
id: "tab.close",
@@ -351,7 +351,11 @@ export const useSessionCommands = (actions: SessionCommandContext) => {
description: language.t("command.model.choose.description"),
keybind: "mod+'",
slash: "model",
- onSelect: () => dialog.show(() => ),
+ onSelect: () => {
+ void import("@/components/dialog-select-model").then((x) => {
+ dialog.show(() => )
+ })
+ },
}),
mcpCommand({
id: "mcp.toggle",
@@ -359,7 +363,11 @@ export const useSessionCommands = (actions: SessionCommandContext) => {
description: language.t("command.mcp.toggle.description"),
keybind: "mod+;",
slash: "mcp",
- onSelect: () => dialog.show(() => ),
+ onSelect: () => {
+ void import("@/components/dialog-select-mcp").then((x) => {
+ dialog.show(() => )
+ })
+ },
}),
agentCommand({
id: "agent.cycle",
@@ -487,7 +495,11 @@ export const useSessionCommands = (actions: SessionCommandContext) => {
description: language.t("command.session.fork.description"),
slash: "fork",
disabled: !params.id || visibleUserMessages().length === 0,
- onSelect: () => dialog.show(() => ),
+ onSelect: () => {
+ void import("@/components/dialog-fork").then((x) => {
+ dialog.show(() => )
+ })
+ },
}),
...share,
]
--
cgit v1.2.3