summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/pages/session
diff options
context:
space:
mode:
authorAdam <[email protected]>2026-03-26 13:41:22 -0500
committerGitHub <[email protected]>2026-03-26 13:41:22 -0500
commitc7760b433b1bdbcaed7e7cd55d53b5b331f0f0fa (patch)
tree4d1a865b8890dc30767b66293923c15e2b3f6d24 /packages/app/src/pages/session
parent2e6ac8ff49eabcb1b62c1bd504338e7449f80c6e (diff)
downloadopencode-c7760b433b1bdbcaed7e7cd55d53b5b331f0f0fa.tar.gz
opencode-c7760b433b1bdbcaed7e7cd55d53b5b331f0f0fa.zip
fix(app): more startup perf (#19288)
Diffstat (limited to 'packages/app/src/pages/session')
-rw-r--r--packages/app/src/pages/session/session-side-panel.tsx9
-rw-r--r--packages/app/src/pages/session/use-session-commands.tsx28
2 files changed, 25 insertions, 12 deletions
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(() => <DialogSelectFile mode="files" onOpenFile={showAllFiles} />)
- }
+ onClick={() => {
+ void import("@/components/dialog-select-file").then((x) => {
+ dialog.show(() => <x.DialogSelectFile mode="files" onOpenFile={showAllFiles} />)
+ })
+ }}
aria-label={language.t("command.file.open")}
/>
</TooltipKeybind>
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(() => <DialogSelectFile onOpenFile={showAllFiles} />),
+ onSelect: () => {
+ void import("@/components/dialog-select-file").then((x) => {
+ dialog.show(() => <x.DialogSelectFile onOpenFile={showAllFiles} />)
+ })
+ },
}),
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(() => <DialogSelectModel model={local.model} />),
+ onSelect: () => {
+ void import("@/components/dialog-select-model").then((x) => {
+ dialog.show(() => <x.DialogSelectModel model={local.model} />)
+ })
+ },
}),
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(() => <DialogSelectMcp />),
+ onSelect: () => {
+ void import("@/components/dialog-select-mcp").then((x) => {
+ dialog.show(() => <x.DialogSelectMcp />)
+ })
+ },
}),
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(() => <DialogFork />),
+ onSelect: () => {
+ void import("@/components/dialog-fork").then((x) => {
+ dialog.show(() => <x.DialogFork />)
+ })
+ },
}),
...share,
]