diff options
| author | Adam <[email protected]> | 2026-01-06 08:18:17 -0600 |
|---|---|---|
| committer | Adam <[email protected]> | 2026-01-06 08:19:17 -0600 |
| commit | b88bcd49fdea0955f2efc8f09a3614c188d22107 (patch) | |
| tree | 8ab04d7a9d2b892cd884eab5ab3bb5da9187191a /packages/app/src/components | |
| parent | 3f463bc9168abd907be9ae582e161ff89c3a27c9 (diff) | |
| download | opencode-b88bcd49fdea0955f2efc8f09a3614c188d22107.tar.gz opencode-b88bcd49fdea0955f2efc8f09a3614c188d22107.zip | |
fix(app): code splitting for web load perf gains
Diffstat (limited to 'packages/app/src/components')
| -rw-r--r-- | packages/app/src/components/session/session-header.tsx | 7 | ||||
| -rw-r--r-- | packages/app/src/components/terminal.tsx | 9 |
2 files changed, 11 insertions, 5 deletions
diff --git a/packages/app/src/components/session/session-header.tsx b/packages/app/src/components/session/session-header.tsx index e70e0790c..4958ad2c3 100644 --- a/packages/app/src/components/session/session-header.tsx +++ b/packages/app/src/components/session/session-header.tsx @@ -244,8 +244,13 @@ export function SessionHeader() { } return shareURL }, + { initialValue: "" }, + ) + return ( + <Show when={url.latest}> + {(shareUrl) => <TextField value={shareUrl()} readOnly copyable class="w-72" />} + </Show> ) - return <Show when={url()}>{(url) => <TextField value={url()} readOnly copyable class="w-72" />}</Show> })} </Popover> </Show> diff --git a/packages/app/src/components/terminal.tsx b/packages/app/src/components/terminal.tsx index a298e3f76..18c77653e 100644 --- a/packages/app/src/components/terminal.tsx +++ b/packages/app/src/components/terminal.tsx @@ -1,4 +1,4 @@ -import { Ghostty, Terminal as Term, FitAddon } from "ghostty-web" +import type { Ghostty, Terminal as Term, FitAddon } from "ghostty-web" import { ComponentProps, createEffect, createSignal, onCleanup, onMount, splitProps } from "solid-js" import { useSDK } from "@/context/sdk" import { SerializeAddon } from "@/addons/serialize" @@ -106,14 +106,15 @@ export const Terminal = (props: TerminalProps) => { } onMount(async () => { - ghostty = await Ghostty.load() + const mod = await import("ghostty-web") + ghostty = await mod.Ghostty.load() const socket = new WebSocket( sdk.url + `/pty/${local.pty.id}/connect?directory=${encodeURIComponent(sdk.directory)}`, ) ws = socket - const t = new Term({ + const t = new mod.Terminal({ cursorBlink: true, fontSize: 14, fontFamily: "IBM Plex Mono, monospace", @@ -142,7 +143,7 @@ export const Terminal = (props: TerminalProps) => { return false }) - fitAddon = new FitAddon() + fitAddon = new mod.FitAddon() serializeAddon = new SerializeAddon() t.loadAddon(serializeAddon) t.loadAddon(fitAddon) |
