From ec0cc7a8321a84c7834a9e47eed7da616367a227 Mon Sep 17 00:00:00 2001 From: LukeParkerDev <10430890+Hona@users.noreply.github.com> Date: Mon, 20 Jul 2026 21:36:56 +1000 Subject: [PATCH 1/9] feat(app): sync terminal color scheme --- bun.lock | 4 ++-- packages/app/package.json | 2 +- packages/app/src/addons/serialize.test.ts | 8 ++++++++ packages/app/src/addons/serialize.ts | 10 +++++++++- packages/app/src/components/terminal.tsx | 10 +++++++++- 5 files changed, 29 insertions(+), 5 deletions(-) diff --git a/bun.lock b/bun.lock index 4d6d657727d5..90da0ab08fc5 100644 --- a/bun.lock +++ b/bun.lock @@ -65,7 +65,7 @@ "diff": "catalog:", "effect": "catalog:", "fuzzysort": "catalog:", - "ghostty-web": "github:anomalyco/ghostty-web#513463a6f1190253057e8a3f0dac8f6ee8393553", + "ghostty-web": "github:anomalyco/ghostty-web#9332dba5b189db5220511623524aeadbd4af7182", "luxon": "catalog:", "marked": "catalog:", "marked-shiki": "catalog:", @@ -3845,7 +3845,7 @@ "get-tsconfig": ["get-tsconfig@4.14.0", "", { "dependencies": { "resolve-pkg-maps": "^1.0.0" } }, "sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA=="], - "ghostty-web": ["ghostty-web@github:anomalyco/ghostty-web#513463a", {}, "anomalyco-ghostty-web-513463a", "sha512-GZR8LSmgGzViWnBJrqRI8MpAZRCJxhcr1Hi9Tyeh7YRooHZQjK9J97FQRD3tbBaM2wjq05gzGY2UEsG+JtZeBw=="], + "ghostty-web": ["ghostty-web@github:anomalyco/ghostty-web#9332dba", {}, "anomalyco-ghostty-web-9332dba", "sha512-ViEuxfNXiJItlAWzekMLlsqCiwCCZQ3HSB5zahB7AXea09kqQ1gpnvW9JTT49sOba10uk1/NSbEODLw2niybsQ=="], "giget": ["giget@2.0.0", "", { "dependencies": { "citty": "^0.1.6", "consola": "^3.4.0", "defu": "^6.1.4", "node-fetch-native": "^1.6.6", "nypm": "^0.6.0", "pathe": "^2.0.3" }, "bin": { "giget": "dist/cli.mjs" } }, "sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA=="], diff --git a/packages/app/package.json b/packages/app/package.json index 482fe7ff858e..bd2a40c23ef0 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -81,7 +81,7 @@ "diff": "catalog:", "effect": "catalog:", "fuzzysort": "catalog:", - "ghostty-web": "github:anomalyco/ghostty-web#513463a6f1190253057e8a3f0dac8f6ee8393553", + "ghostty-web": "github:anomalyco/ghostty-web#9332dba5b189db5220511623524aeadbd4af7182", "luxon": "catalog:", "marked": "catalog:", "marked-shiki": "catalog:", diff --git a/packages/app/src/addons/serialize.test.ts b/packages/app/src/addons/serialize.test.ts index 6828e60f8479..d45af34c43cb 100644 --- a/packages/app/src/addons/serialize.test.ts +++ b/packages/app/src/addons/serialize.test.ts @@ -37,6 +37,14 @@ function writeAndWait(term: Terminal, data: string): Promise { } describe("SerializeAddon", () => { + test("preserves color scheme reporting mode", async () => { + const { term, addon } = createTerminal() + await writeAndWait(term, "\x1b[?2031h") + + expect(addon.serialize().startsWith("\x1b[?2031h")).toBe(true) + expect(addon.serialize({ excludeModes: true }).startsWith("\x1b[?2031h")).toBe(false) + }) + describe("ANSI color preservation", () => { test("should preserve text attributes (bold, italic, underline)", async () => { const { term, addon } = createTerminal() diff --git a/packages/app/src/addons/serialize.ts b/packages/app/src/addons/serialize.ts index 3823fb443afe..515153488c1d 100644 --- a/packages/app/src/addons/serialize.ts +++ b/packages/app/src/addons/serialize.ts @@ -89,6 +89,13 @@ const getTerminalBuffers = (value: ITerminalCore): TerminalBuffers | undefined = return { active, normal, alternate } } +const getTerminalMode = (value: ITerminalCore, mode: number) => { + if (!isRecord(value)) return false + const terminal = value.wasmTerm + if (!isRecord(terminal) || typeof terminal.getMode !== "function") return false + return terminal.getMode(mode) === true +} + // ============================================================================ // Types // ============================================================================ @@ -544,7 +551,8 @@ export class SerializeAddon implements ITerminalAddon { return "" } - let content = options?.range + let content = !options?.excludeModes && getTerminalMode(this._terminal, 2031) ? "\u001b[?2031h" : "" + content += options?.range ? this._serializeBufferByRange(normalBuffer, options.range, true) : this._serializeBufferByScrollback(normalBuffer, options?.scrollback) diff --git a/packages/app/src/components/terminal.tsx b/packages/app/src/components/terminal.tsx index 5a0b510787d2..1295c8a6b384 100644 --- a/packages/app/src/components/terminal.tsx +++ b/packages/app/src/components/terminal.tsx @@ -292,7 +292,12 @@ export const Terminal = (props: TerminalProps) => { const scheduleSize = (cols: number, rows: number) => { if (disposed) return - if (lastSize?.cols === cols && lastSize?.rows === rows) return + if (lastSize?.cols === cols && lastSize?.rows === rows) { + pendingSize = undefined + if (sizeTimer !== undefined) clearTimeout(sizeTimer) + sizeTimer = undefined + return + } pendingSize = { cols, rows } @@ -317,8 +322,10 @@ export const Terminal = (props: TerminalProps) => { createEffect(() => { const colors = terminalColors() + const mode = theme.mode() === "dark" ? "dark" : "light" if (!term) return setOptionIfSupported(term, "theme", colors) + setOptionIfSupported(term, "colorScheme", mode) }) createEffect(() => { @@ -396,6 +403,7 @@ export const Terminal = (props: TerminalProps) => { } _ghostty = g term = t + setOptionIfSupported(t, "colorScheme", theme.mode() === "dark" ? "dark" : "light") output = terminalWriter((data, done) => t.write(data, () => { done?.() From 3019ae599729398b6f60fbb9ab74a2fa70846fe5 Mon Sep 17 00:00:00 2001 From: LukeParkerDev <10430890+Hona@users.noreply.github.com> Date: Mon, 20 Jul 2026 21:48:15 +1000 Subject: [PATCH 2/9] fix(app): support terminal color queries --- bun.lock | 4 ++-- packages/app/package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bun.lock b/bun.lock index 90da0ab08fc5..5e6dba1f3cc5 100644 --- a/bun.lock +++ b/bun.lock @@ -65,7 +65,7 @@ "diff": "catalog:", "effect": "catalog:", "fuzzysort": "catalog:", - "ghostty-web": "github:anomalyco/ghostty-web#9332dba5b189db5220511623524aeadbd4af7182", + "ghostty-web": "github:anomalyco/ghostty-web#44a68aecf452b5c4851731177042e70cbe575958", "luxon": "catalog:", "marked": "catalog:", "marked-shiki": "catalog:", @@ -3845,7 +3845,7 @@ "get-tsconfig": ["get-tsconfig@4.14.0", "", { "dependencies": { "resolve-pkg-maps": "^1.0.0" } }, "sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA=="], - "ghostty-web": ["ghostty-web@github:anomalyco/ghostty-web#9332dba", {}, "anomalyco-ghostty-web-9332dba", "sha512-ViEuxfNXiJItlAWzekMLlsqCiwCCZQ3HSB5zahB7AXea09kqQ1gpnvW9JTT49sOba10uk1/NSbEODLw2niybsQ=="], + "ghostty-web": ["ghostty-web@github:anomalyco/ghostty-web#44a68ae", {}, "anomalyco-ghostty-web-44a68ae", "sha512-uMTSqP+OceYM8zDG0gSg+SXg0NdPiAVdtrT7ZIv/dTqICzyJeYV+cpw2fWf9wZykTMjwBLDF0DZOM1FiqvkFcw=="], "giget": ["giget@2.0.0", "", { "dependencies": { "citty": "^0.1.6", "consola": "^3.4.0", "defu": "^6.1.4", "node-fetch-native": "^1.6.6", "nypm": "^0.6.0", "pathe": "^2.0.3" }, "bin": { "giget": "dist/cli.mjs" } }, "sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA=="], diff --git a/packages/app/package.json b/packages/app/package.json index bd2a40c23ef0..aa230e14a8ee 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -81,7 +81,7 @@ "diff": "catalog:", "effect": "catalog:", "fuzzysort": "catalog:", - "ghostty-web": "github:anomalyco/ghostty-web#9332dba5b189db5220511623524aeadbd4af7182", + "ghostty-web": "github:anomalyco/ghostty-web#44a68aecf452b5c4851731177042e70cbe575958", "luxon": "catalog:", "marked": "catalog:", "marked-shiki": "catalog:", From bc2eca935bb424ac32c356d277a2a8385d5672d8 Mon Sep 17 00:00:00 2001 From: LukeParkerDev <10430890+Hona@users.noreply.github.com> Date: Mon, 20 Jul 2026 22:03:36 +1000 Subject: [PATCH 3/9] fix(tui): persist terminal theme subscription --- packages/tui/src/context/theme.tsx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/tui/src/context/theme.tsx b/packages/tui/src/context/theme.tsx index 909dd69ac249..bbbfc1c8c950 100644 --- a/packages/tui/src/context/theme.tsx +++ b/packages/tui/src/context/theme.tsx @@ -144,6 +144,9 @@ export const { use: useTheme, provider: ThemeProvider } = createSimpleContext({ } onMount(() => { + // Desktop PTYs may start before their terminal frontend attaches. These bytes are + // replayed on attach, avoiding the terminal capability probe's startup timeout. + process.stdout.write("\x1b[?2031h\x1b[?996n") void Promise.allSettled([resolveSystemTheme(store.mode), syncCustomThemes()]).finally(() => { setStore("ready", true) }) @@ -246,6 +249,7 @@ export const { use: useTheme, provider: ThemeProvider } = createSimpleContext({ unsubscribeRefresh = themes.subscribeRefresh?.(refresh) onCleanup(() => { + process.stdout.write("\x1b[?2031l") renderer.off(CliRenderEvents.THEME_MODE, handle) renderer.removeInputHandler(handleThemeNotification) unsubscribeRefresh?.() From f8557741ceafbe5ac90f7a713c73e87f29ebf959 Mon Sep 17 00:00:00 2001 From: LukeParkerDev <10430890+Hona@users.noreply.github.com> Date: Mon, 20 Jul 2026 22:04:18 +1000 Subject: [PATCH 4/9] Revert "fix(tui): persist terminal theme subscription" This reverts commit bc2eca935bb424ac32c356d277a2a8385d5672d8. --- packages/tui/src/context/theme.tsx | 4 ---- 1 file changed, 4 deletions(-) diff --git a/packages/tui/src/context/theme.tsx b/packages/tui/src/context/theme.tsx index bbbfc1c8c950..909dd69ac249 100644 --- a/packages/tui/src/context/theme.tsx +++ b/packages/tui/src/context/theme.tsx @@ -144,9 +144,6 @@ export const { use: useTheme, provider: ThemeProvider } = createSimpleContext({ } onMount(() => { - // Desktop PTYs may start before their terminal frontend attaches. These bytes are - // replayed on attach, avoiding the terminal capability probe's startup timeout. - process.stdout.write("\x1b[?2031h\x1b[?996n") void Promise.allSettled([resolveSystemTheme(store.mode), syncCustomThemes()]).finally(() => { setStore("ready", true) }) @@ -249,7 +246,6 @@ export const { use: useTheme, provider: ThemeProvider } = createSimpleContext({ unsubscribeRefresh = themes.subscribeRefresh?.(refresh) onCleanup(() => { - process.stdout.write("\x1b[?2031l") renderer.off(CliRenderEvents.THEME_MODE, handle) renderer.removeInputHandler(handleThemeNotification) unsubscribeRefresh?.() From d9bfd4dc34f9eae6fa06b94720cf9e69607efcf3 Mon Sep 17 00:00:00 2001 From: LukeParkerDev <10430890+Hona@users.noreply.github.com> Date: Mon, 20 Jul 2026 22:07:49 +1000 Subject: [PATCH 5/9] fix(app): recover delayed theme probes --- bun.lock | 4 ++-- packages/app/package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bun.lock b/bun.lock index 5e6dba1f3cc5..c7838fd61248 100644 --- a/bun.lock +++ b/bun.lock @@ -65,7 +65,7 @@ "diff": "catalog:", "effect": "catalog:", "fuzzysort": "catalog:", - "ghostty-web": "github:anomalyco/ghostty-web#44a68aecf452b5c4851731177042e70cbe575958", + "ghostty-web": "github:anomalyco/ghostty-web#78bf9c790ed4a645ff4deee3cb1c888d63c78b01", "luxon": "catalog:", "marked": "catalog:", "marked-shiki": "catalog:", @@ -3845,7 +3845,7 @@ "get-tsconfig": ["get-tsconfig@4.14.0", "", { "dependencies": { "resolve-pkg-maps": "^1.0.0" } }, "sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA=="], - "ghostty-web": ["ghostty-web@github:anomalyco/ghostty-web#44a68ae", {}, "anomalyco-ghostty-web-44a68ae", "sha512-uMTSqP+OceYM8zDG0gSg+SXg0NdPiAVdtrT7ZIv/dTqICzyJeYV+cpw2fWf9wZykTMjwBLDF0DZOM1FiqvkFcw=="], + "ghostty-web": ["ghostty-web@github:anomalyco/ghostty-web#78bf9c7", {}, "anomalyco-ghostty-web-78bf9c7", "sha512-/MNZHGkDgMCHAjmq/BfPPg8JmwoOnIVOIayUNhejVrEcJgxuvD4HFzdnEOdOD2ZrrLtn7SCo/zctPQrdL2yZtA=="], "giget": ["giget@2.0.0", "", { "dependencies": { "citty": "^0.1.6", "consola": "^3.4.0", "defu": "^6.1.4", "node-fetch-native": "^1.6.6", "nypm": "^0.6.0", "pathe": "^2.0.3" }, "bin": { "giget": "dist/cli.mjs" } }, "sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA=="], diff --git a/packages/app/package.json b/packages/app/package.json index aa230e14a8ee..ac43e8be526a 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -81,7 +81,7 @@ "diff": "catalog:", "effect": "catalog:", "fuzzysort": "catalog:", - "ghostty-web": "github:anomalyco/ghostty-web#44a68aecf452b5c4851731177042e70cbe575958", + "ghostty-web": "github:anomalyco/ghostty-web#78bf9c790ed4a645ff4deee3cb1c888d63c78b01", "luxon": "catalog:", "marked": "catalog:", "marked-shiki": "catalog:", From 62d69b9641aad23b692cb2b2d0ea9bacf69be21e Mon Sep 17 00:00:00 2001 From: LukeParkerDev <10430890+Hona@users.noreply.github.com> Date: Mon, 20 Jul 2026 22:20:43 +1000 Subject: [PATCH 6/9] fix(app): include colors in theme notifications --- bun.lock | 4 ++-- packages/app/package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bun.lock b/bun.lock index c7838fd61248..a561868b67d6 100644 --- a/bun.lock +++ b/bun.lock @@ -65,7 +65,7 @@ "diff": "catalog:", "effect": "catalog:", "fuzzysort": "catalog:", - "ghostty-web": "github:anomalyco/ghostty-web#78bf9c790ed4a645ff4deee3cb1c888d63c78b01", + "ghostty-web": "github:anomalyco/ghostty-web#5a1e426ecc9ba57a379ed7ad69754bb2821073da", "luxon": "catalog:", "marked": "catalog:", "marked-shiki": "catalog:", @@ -3845,7 +3845,7 @@ "get-tsconfig": ["get-tsconfig@4.14.0", "", { "dependencies": { "resolve-pkg-maps": "^1.0.0" } }, "sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA=="], - "ghostty-web": ["ghostty-web@github:anomalyco/ghostty-web#78bf9c7", {}, "anomalyco-ghostty-web-78bf9c7", "sha512-/MNZHGkDgMCHAjmq/BfPPg8JmwoOnIVOIayUNhejVrEcJgxuvD4HFzdnEOdOD2ZrrLtn7SCo/zctPQrdL2yZtA=="], + "ghostty-web": ["ghostty-web@github:anomalyco/ghostty-web#5a1e426", {}, "anomalyco-ghostty-web-5a1e426", "sha512-eHfnoO8CSK/E5VuMYWAJqi7H0u+9FhxUg8ujHRIq2noWyRq/kJVyp9WOUKdRPXh1iYxsaG5yR61pLXgjhqu4VQ=="], "giget": ["giget@2.0.0", "", { "dependencies": { "citty": "^0.1.6", "consola": "^3.4.0", "defu": "^6.1.4", "node-fetch-native": "^1.6.6", "nypm": "^0.6.0", "pathe": "^2.0.3" }, "bin": { "giget": "dist/cli.mjs" } }, "sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA=="], diff --git a/packages/app/package.json b/packages/app/package.json index ac43e8be526a..353403a19748 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -81,7 +81,7 @@ "diff": "catalog:", "effect": "catalog:", "fuzzysort": "catalog:", - "ghostty-web": "github:anomalyco/ghostty-web#78bf9c790ed4a645ff4deee3cb1c888d63c78b01", + "ghostty-web": "github:anomalyco/ghostty-web#5a1e426ecc9ba57a379ed7ad69754bb2821073da", "luxon": "catalog:", "marked": "catalog:", "marked-shiki": "catalog:", From b5567e557a859e5faf2921b39679b8a85b63893c Mon Sep 17 00:00:00 2001 From: LukeParkerDev <10430890+Hona@users.noreply.github.com> Date: Mon, 20 Jul 2026 23:27:10 +1000 Subject: [PATCH 7/9] fix(desktop): use bundled ConPTY for terminal colors --- bun.lock | 4 ++-- packages/app/package.json | 2 +- packages/core/src/pty/pty.node.ts | 5 ++++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/bun.lock b/bun.lock index a561868b67d6..cafcf7dbc4bd 100644 --- a/bun.lock +++ b/bun.lock @@ -65,7 +65,7 @@ "diff": "catalog:", "effect": "catalog:", "fuzzysort": "catalog:", - "ghostty-web": "github:anomalyco/ghostty-web#5a1e426ecc9ba57a379ed7ad69754bb2821073da", + "ghostty-web": "github:anomalyco/ghostty-web#e32bac9e08a6bf659b0ba4447a15d5c4d695435a", "luxon": "catalog:", "marked": "catalog:", "marked-shiki": "catalog:", @@ -3845,7 +3845,7 @@ "get-tsconfig": ["get-tsconfig@4.14.0", "", { "dependencies": { "resolve-pkg-maps": "^1.0.0" } }, "sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA=="], - "ghostty-web": ["ghostty-web@github:anomalyco/ghostty-web#5a1e426", {}, "anomalyco-ghostty-web-5a1e426", "sha512-eHfnoO8CSK/E5VuMYWAJqi7H0u+9FhxUg8ujHRIq2noWyRq/kJVyp9WOUKdRPXh1iYxsaG5yR61pLXgjhqu4VQ=="], + "ghostty-web": ["ghostty-web@github:anomalyco/ghostty-web#e32bac9", {}, "anomalyco-ghostty-web-e32bac9", "sha512-vc2/oF90NJMOJU3svhGZRVcmk0kBYeBvEEzrfiUFy6SQmG6gMIoBnzjJIg3s7D7vLTUrwqrg8XRm2T3VvTM46Q=="], "giget": ["giget@2.0.0", "", { "dependencies": { "citty": "^0.1.6", "consola": "^3.4.0", "defu": "^6.1.4", "node-fetch-native": "^1.6.6", "nypm": "^0.6.0", "pathe": "^2.0.3" }, "bin": { "giget": "dist/cli.mjs" } }, "sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA=="], diff --git a/packages/app/package.json b/packages/app/package.json index 353403a19748..eee5fc18d5db 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -81,7 +81,7 @@ "diff": "catalog:", "effect": "catalog:", "fuzzysort": "catalog:", - "ghostty-web": "github:anomalyco/ghostty-web#5a1e426ecc9ba57a379ed7ad69754bb2821073da", + "ghostty-web": "github:anomalyco/ghostty-web#e32bac9e08a6bf659b0ba4447a15d5c4d695435a", "luxon": "catalog:", "marked": "catalog:", "marked-shiki": "catalog:", diff --git a/packages/core/src/pty/pty.node.ts b/packages/core/src/pty/pty.node.ts index 76f415f4cdd7..54691d1e84d6 100644 --- a/packages/core/src/pty/pty.node.ts +++ b/packages/core/src/pty/pty.node.ts @@ -4,7 +4,10 @@ import type { Opts, Proc } from "./pty" export type { Disp, Exit, Opts, Proc } from "./pty" export function spawn(file: string, args: string[], opts: Opts): Proc { - const proc = pty.spawn(file, args, opts) + const proc = pty.spawn(file, args, { + ...opts, + ...(process.platform === "win32" ? { useConptyDll: true } : {}), + }) return { pid: proc.pid, onData(listener) { From 7b1117a990a97701e20cc4d953f00ff524463a51 Mon Sep 17 00:00:00 2001 From: LukeParkerDev <10430890+Hona@users.noreply.github.com> Date: Mon, 20 Jul 2026 23:46:02 +1000 Subject: [PATCH 8/9] chore(app): pin merged ghostty-web --- bun.lock | 4 ++-- packages/app/package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bun.lock b/bun.lock index cafcf7dbc4bd..2f7581655601 100644 --- a/bun.lock +++ b/bun.lock @@ -65,7 +65,7 @@ "diff": "catalog:", "effect": "catalog:", "fuzzysort": "catalog:", - "ghostty-web": "github:anomalyco/ghostty-web#e32bac9e08a6bf659b0ba4447a15d5c4d695435a", + "ghostty-web": "github:anomalyco/ghostty-web#83c0a07b8628b748aed073b232cb4b52a6ca11c1", "luxon": "catalog:", "marked": "catalog:", "marked-shiki": "catalog:", @@ -3845,7 +3845,7 @@ "get-tsconfig": ["get-tsconfig@4.14.0", "", { "dependencies": { "resolve-pkg-maps": "^1.0.0" } }, "sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA=="], - "ghostty-web": ["ghostty-web@github:anomalyco/ghostty-web#e32bac9", {}, "anomalyco-ghostty-web-e32bac9", "sha512-vc2/oF90NJMOJU3svhGZRVcmk0kBYeBvEEzrfiUFy6SQmG6gMIoBnzjJIg3s7D7vLTUrwqrg8XRm2T3VvTM46Q=="], + "ghostty-web": ["ghostty-web@github:anomalyco/ghostty-web#83c0a07", {}, "anomalyco-ghostty-web-83c0a07", "sha512-Lf2v1agHkVUpMpHBWWuCZrhOEmcwwin5/Hboc9rZwQ7/CKkIh5rU1r1CvfLlhkMoFv+ed8z52RZ8hkzGZZj3MQ=="], "giget": ["giget@2.0.0", "", { "dependencies": { "citty": "^0.1.6", "consola": "^3.4.0", "defu": "^6.1.4", "node-fetch-native": "^1.6.6", "nypm": "^0.6.0", "pathe": "^2.0.3" }, "bin": { "giget": "dist/cli.mjs" } }, "sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA=="], diff --git a/packages/app/package.json b/packages/app/package.json index eee5fc18d5db..62f209417537 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -81,7 +81,7 @@ "diff": "catalog:", "effect": "catalog:", "fuzzysort": "catalog:", - "ghostty-web": "github:anomalyco/ghostty-web#e32bac9e08a6bf659b0ba4447a15d5c4d695435a", + "ghostty-web": "github:anomalyco/ghostty-web#83c0a07b8628b748aed073b232cb4b52a6ca11c1", "luxon": "catalog:", "marked": "catalog:", "marked-shiki": "catalog:", From 4f5acae8cbf841cb4ab4222bc65887965986f664 Mon Sep 17 00:00:00 2001 From: LukeParkerDev <10430890+Hona@users.noreply.github.com> Date: Tue, 21 Jul 2026 00:07:41 +1000 Subject: [PATCH 9/9] fix(app): resync terminal theme after reconnect --- packages/app/src/components/terminal.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/app/src/components/terminal.tsx b/packages/app/src/components/terminal.tsx index 1295c8a6b384..c512e782c496 100644 --- a/packages/app/src/components/terminal.tsx +++ b/packages/app/src/components/terminal.tsx @@ -603,6 +603,7 @@ export const Terminal = (props: TerminalProps) => { tries = 0 local.onConnect?.() scheduleSize(t.cols, t.rows) + if (t.getMode(2031)) t.write("\x1b[?996n") } const handleMessage = (event: MessageEvent) => {