From 49acd5a5bbb9d35ce98bf19c2688e718f2569319 Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Wed, 29 Jul 2026 19:58:15 +0200 Subject: [PATCH 01/51] feat(web): render terminals with libghostty-vt --- .../src/electron/ElectronProtocol.test.ts | 3 +- apps/desktop/src/electron/ElectronProtocol.ts | 1 + .../t3-terminal/THIRD_PARTY_NOTICES.md | 5 +- apps/web/package.json | 3 +- apps/web/scripts/build-libghostty-wasm.sh | 113 +++ apps/web/scripts/ghostty-write-pty.zig | 5 + .../src/components/ThreadTerminalDrawer.tsx | 713 ++++++++--------- apps/web/src/index.css | 14 - apps/web/src/main.tsx | 1 - apps/web/src/terminal/ghostty/README.md | 14 + apps/web/src/terminal/ghostty/core.ts | 716 ++++++++++++++++++ apps/web/src/terminal/ghostty/keyCodes.ts | 158 ++++ .../web/src/terminal/ghostty/renderer.test.ts | 19 + apps/web/src/terminal/ghostty/renderer.ts | 188 +++++ apps/web/src/terminal/ghostty/runtime.ts | 214 ++++++ .../src/terminal/ghostty/runtimeAbi.test.ts | 114 +++ apps/web/src/terminal/ghostty/surface.ts | 381 ++++++++++ apps/web/src/terminal/ghostty/vendor/LICENSE | 21 + apps/web/src/terminal/ghostty/vendor/VERSION | 1 + .../terminal/ghostty/vendor/ghostty-vt.wasm | Bin 0 -> 630921 bytes .../ghostty/vendor/ghostty-write-pty.wasm | Bin 0 -> 112 bytes apps/web/vite.config.ts | 1 + docs/architecture/terminal-renderers.md | 35 + pnpm-lock.yaml | 16 - 24 files changed, 2307 insertions(+), 429 deletions(-) create mode 100755 apps/web/scripts/build-libghostty-wasm.sh create mode 100644 apps/web/scripts/ghostty-write-pty.zig create mode 100644 apps/web/src/terminal/ghostty/README.md create mode 100644 apps/web/src/terminal/ghostty/core.ts create mode 100644 apps/web/src/terminal/ghostty/keyCodes.ts create mode 100644 apps/web/src/terminal/ghostty/renderer.test.ts create mode 100644 apps/web/src/terminal/ghostty/renderer.ts create mode 100644 apps/web/src/terminal/ghostty/runtime.ts create mode 100644 apps/web/src/terminal/ghostty/runtimeAbi.test.ts create mode 100644 apps/web/src/terminal/ghostty/surface.ts create mode 100644 apps/web/src/terminal/ghostty/vendor/LICENSE create mode 100644 apps/web/src/terminal/ghostty/vendor/VERSION create mode 100644 apps/web/src/terminal/ghostty/vendor/ghostty-vt.wasm create mode 100644 apps/web/src/terminal/ghostty/vendor/ghostty-write-pty.wasm create mode 100644 docs/architecture/terminal-renderers.md diff --git a/apps/desktop/src/electron/ElectronProtocol.test.ts b/apps/desktop/src/electron/ElectronProtocol.test.ts index 92e30000427..2db85dafc4d 100644 --- a/apps/desktop/src/electron/ElectronProtocol.test.ts +++ b/apps/desktop/src/electron/ElectronProtocol.test.ts @@ -57,7 +57,7 @@ describe("ElectronProtocol", () => { assert.equal(yield* Effect.promise(() => response.text()), "ok"); assert.include( response.headers.get("content-security-policy") ?? "", - "script-src 'self' 'unsafe-inline' https://clerk.t3.codes https://challenges.cloudflare.com", + "script-src 'self' 'unsafe-inline' 'wasm-unsafe-eval' https://clerk.t3.codes https://challenges.cloudflare.com", ); assert.include( response.headers.get("content-security-policy") ?? "", @@ -212,6 +212,7 @@ describe("ElectronProtocol", () => { assert.deepEqual(directives["script-src"], [ "'self'", "'unsafe-inline'", + "'wasm-unsafe-eval'", "https://clerk.t3.codes", "https://challenges.cloudflare.com", ]); diff --git a/apps/desktop/src/electron/ElectronProtocol.ts b/apps/desktop/src/electron/ElectronProtocol.ts index 03c7ef64fd7..9d5a47806b3 100644 --- a/apps/desktop/src/electron/ElectronProtocol.ts +++ b/apps/desktop/src/electron/ElectronProtocol.ts @@ -71,6 +71,7 @@ export function makeDesktopContentSecurityPolicy(input: DesktopProtocolRegistrat const scriptSources = [ "'self'", "'unsafe-inline'", + "'wasm-unsafe-eval'", ...(clerkOrigin ? [clerkOrigin] : []), "https://challenges.cloudflare.com", ]; diff --git a/apps/mobile/modules/t3-terminal/THIRD_PARTY_NOTICES.md b/apps/mobile/modules/t3-terminal/THIRD_PARTY_NOTICES.md index 990dd4bbe9c..0af582c5900 100644 --- a/apps/mobile/modules/t3-terminal/THIRD_PARTY_NOTICES.md +++ b/apps/mobile/modules/t3-terminal/THIRD_PARTY_NOTICES.md @@ -18,13 +18,14 @@ Ghostty's MIT license applies to the vendored framework. Keep this notice in syn ## Ghostty / libghostty-vt The Android terminal renderer vendors upstream `libghostty-vt` shared libraries and C headers. +The web terminal vendors a WebAssembly build from the same revision and uses the same C ABI. - Upstream project: https://github.com/ghostty-org/ghostty - Vendored revision: `9f62873bf195e4d8a762d768a1405a5f2f7b1697` - License: MIT -Ghostty's MIT license applies to the vendored Android libraries. Keep this notice in sync when -updating `Vendor/libghostty-vt`. +Ghostty's MIT license applies to the vendored Android and web libraries. Keep this notice and both +artifacts in sync when updating `Vendor/libghostty-vt`. ## MesloLGS NF (Android terminal font) diff --git a/apps/web/package.json b/apps/web/package.json index a25e42cc84b..53b38b80ba0 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -4,6 +4,7 @@ "private": true, "type": "module", "scripts": { + "build:ghostty-wasm": "bash scripts/build-libghostty-wasm.sh", "dev": "vp dev", "build": "vp build", "preview": "vp preview", @@ -31,8 +32,6 @@ "@t3tools/shared": "workspace:*", "@tanstack/react-pacer": "^0.19.4", "@tanstack/react-router": "^1.160.2", - "@xterm/addon-fit": "^0.11.0", - "@xterm/xterm": "^6.0.0", "class-variance-authority": "^0.7.1", "effect": "catalog:", "jose": "catalog:", diff --git a/apps/web/scripts/build-libghostty-wasm.sh b/apps/web/scripts/build-libghostty-wasm.sh new file mode 100755 index 00000000000..bff80337121 --- /dev/null +++ b/apps/web/scripts/build-libghostty-wasm.sh @@ -0,0 +1,113 @@ +#!/usr/bin/env bash + +set -euo pipefail + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +WEB_DIR="$(cd "${SCRIPT_DIR}/.." && pwd)" +REPO_DIR="$(cd "${WEB_DIR}/../.." && pwd)" +MOBILE_VENDOR_DIR="${REPO_DIR}/apps/mobile/modules/t3-terminal/Vendor/libghostty-vt" +VENDOR_DIR="${WEB_DIR}/src/terminal/ghostty/vendor" + +GHOSTTY_REVISION="$(tr -d '[:space:]' < "${MOBILE_VENDOR_DIR}/VERSION")" +GHOSTTY_SOURCE_DIR="${GHOSTTY_SOURCE_DIR:-${HOME}/.cache/t3code/ghostty-${GHOSTTY_REVISION:0:8}}" +GHOSTTY_ZIG_VERSION="${GHOSTTY_ZIG_VERSION:-0.15.2}" +GHOSTTY_ZIG="${GHOSTTY_ZIG:-}" + +log() { + printf '[libghostty-vt-wasm] %s\n' "$*" +} + +die() { + printf '[libghostty-vt-wasm] error: %s\n' "$*" >&2 + exit 1 +} + +require_cmd() { + command -v "$1" >/dev/null 2>&1 || die "missing required command: $1" +} + +ensure_zig() { + if [[ -n "${GHOSTTY_ZIG}" ]]; then + [[ -x "${GHOSTTY_ZIG}" ]] || die "GHOSTTY_ZIG is not executable: ${GHOSTTY_ZIG}" + return + fi + if command -v zig >/dev/null 2>&1 && [[ "$(zig version)" == "${GHOSTTY_ZIG_VERSION}" ]]; then + GHOSTTY_ZIG="$(command -v zig)" + return + fi + + local host_os host_arch cache_dir + host_os="$(uname -s | tr '[:upper:]' '[:lower:]')" + host_arch="$(uname -m)" + case "${host_os}" in + darwin) host_os="macos" ;; + linux) ;; + *) die "unsupported host OS for Zig download: ${host_os}" ;; + esac + case "${host_arch}" in + arm64) host_arch="aarch64" ;; + aarch64 | x86_64) ;; + *) die "unsupported host architecture: ${host_arch}" ;; + esac + + cache_dir="${HOME}/.cache/t3code/zig-${GHOSTTY_ZIG_VERSION}" + GHOSTTY_ZIG="${cache_dir}/zig" + if [[ -x "${GHOSTTY_ZIG}" ]]; then + return + fi + + require_cmd curl + require_cmd tar + mkdir -p "${cache_dir}" + log "downloading Zig ${GHOSTTY_ZIG_VERSION}" + curl -fsSL \ + "https://ziglang.org/download/${GHOSTTY_ZIG_VERSION}/zig-${host_arch}-${host_os}-${GHOSTTY_ZIG_VERSION}.tar.xz" \ + | tar -xJ --strip-components=1 -C "${cache_dir}" +} + +ensure_ghostty_source() { + if [[ ! -d "${GHOSTTY_SOURCE_DIR}/.git" ]]; then + require_cmd git + log "cloning Ghostty ${GHOSTTY_REVISION}" + git clone --filter=blob:none --no-checkout https://github.com/ghostty-org/ghostty.git \ + "${GHOSTTY_SOURCE_DIR}" + git -C "${GHOSTTY_SOURCE_DIR}" fetch --depth=1 origin "${GHOSTTY_REVISION}" + git -C "${GHOSTTY_SOURCE_DIR}" checkout --detach "${GHOSTTY_REVISION}" + fi + + local actual_revision + actual_revision="$(git -C "${GHOSTTY_SOURCE_DIR}" rev-parse HEAD)" + [[ "${actual_revision}" == "${GHOSTTY_REVISION}" ]] || \ + die "expected Ghostty ${GHOSTTY_REVISION}, found ${actual_revision}" +} + +ensure_zig +ensure_ghostty_source + +build_root="$(mktemp -d)" +trap 'rm -rf "${build_root}"' EXIT + +log "building ${GHOSTTY_REVISION} for wasm32-freestanding" +( + cd "${GHOSTTY_SOURCE_DIR}" + "${GHOSTTY_ZIG}" build \ + -Demit-lib-vt \ + -Dtarget=wasm32-freestanding \ + -Doptimize=ReleaseSmall \ + -Dstrip=true \ + -p "${build_root}" +) + +mkdir -p "${VENDOR_DIR}" +cp "${build_root}/bin/ghostty-vt.wasm" "${VENDOR_DIR}/ghostty-vt.wasm" +"${GHOSTTY_ZIG}" build-exe \ + "${SCRIPT_DIR}/ghostty-write-pty.zig" \ + -target wasm32-freestanding \ + -O ReleaseSmall \ + -fno-entry \ + -rdynamic \ + -femit-bin="${VENDOR_DIR}/ghostty-write-pty.wasm" +chmod 0644 "${VENDOR_DIR}/ghostty-write-pty.wasm" +cp "${GHOSTTY_SOURCE_DIR}/LICENSE" "${VENDOR_DIR}/LICENSE" +printf '%s\n' "${GHOSTTY_REVISION}" > "${VENDOR_DIR}/VERSION" +log "wrote ${VENDOR_DIR}/ghostty-vt.wasm" diff --git a/apps/web/scripts/ghostty-write-pty.zig b/apps/web/scripts/ghostty-write-pty.zig new file mode 100644 index 00000000000..dbe6688f5e8 --- /dev/null +++ b/apps/web/scripts/ghostty-write-pty.zig @@ -0,0 +1,5 @@ +extern "env" fn t3_write_pty(terminal: u32, userdata: u32, data: u32, len: u32) void; + +export fn ghostty_write_pty(terminal: u32, userdata: u32, data: u32, len: u32) void { + t3_write_pty(terminal, userdata, data, len); +} diff --git a/apps/web/src/components/ThreadTerminalDrawer.tsx b/apps/web/src/components/ThreadTerminalDrawer.tsx index 8591c24c71a..f7b07720cc7 100644 --- a/apps/web/src/components/ThreadTerminalDrawer.tsx +++ b/apps/web/src/components/ThreadTerminalDrawer.tsx @@ -1,5 +1,4 @@ import { useAtomValue } from "@effect/atom-react"; -import { FitAddon } from "@xterm/addon-fit"; import { isAtomCommandInterrupted, squashAtomCommandFailure, @@ -18,7 +17,6 @@ import { type ThreadId, } from "@t3tools/contracts"; import { getTerminalLabel } from "@t3tools/shared/terminalLabels"; -import { Terminal, type ITheme } from "@xterm/xterm"; import { type PointerEvent as ReactPointerEvent, type ReactNode, @@ -34,15 +32,13 @@ import { Popover, PopoverPopup, PopoverTrigger } from "~/components/ui/popover"; import { writeTextToClipboard } from "~/hooks/useCopyToClipboard"; import { cn } from "~/lib/utils"; import { type TerminalContextSelection } from "~/lib/terminalContext"; -import { useOpenInPreferredEditor } from "../editorPreferences"; import { - collectWrappedTerminalLinkLine, - extractTerminalLinks, - isTerminalLinkActivation, - resolvePathLinkTarget, - resolveWrappedTerminalLinkRange, - wrappedTerminalLinkRangeIntersectsBufferLine, -} from "../terminal-links"; + GhosttyTerminalSurface, + type GhosttyTerminalSurfaceOptions, +} from "~/terminal/ghostty/surface"; +import { type GhosttyColor, type GhosttyTheme } from "~/terminal/ghostty/core"; +import { useOpenInPreferredEditor } from "../editorPreferences"; +import { isTerminalLinkActivation, resolvePathLinkTarget } from "../terminal-links"; import { isDiffToggleShortcut, isTerminalClearShortcut, @@ -82,24 +78,25 @@ function clampDrawerHeight(height: number): number { return Math.min(Math.max(Math.round(safeHeight), MIN_DRAWER_HEIGHT), maxHeight); } -function writeSystemMessage(terminal: Terminal, message: string): void { +function writeSystemMessage(terminal: GhosttyTerminalSurface, message: string): void { terminal.write(`\r\n[terminal] ${message}\r\n`); } -function writeTerminalBuffer(terminal: Terminal, buffer: string): void { - terminal.write("\u001bc"); - if (buffer.length > 0) { - terminal.write(buffer); - } +function writeTerminalBuffer(terminal: GhosttyTerminalSurface, buffer: string): void { + terminal.resetAndWrite(buffer); } -function fitTerminalSafely(fitAddon: FitAddon): boolean { - try { - fitAddon.fit(); - return true; - } catch { - return false; - } +function parseTerminalColor(value: string, fallback: GhosttyColor): GhosttyColor { + const channels = value + .match(/\d+(?:\.\d+)?/gu) + ?.slice(0, 3) + .map(Number); + if (!channels || channels.length < 3) return fallback; + return { + r: Math.max(0, Math.min(255, Math.round(channels[0] ?? fallback.r))), + g: Math.max(0, Math.min(255, Math.round(channels[1] ?? fallback.g))), + b: Math.max(0, Math.min(255, Math.round(channels[2] ?? fallback.b))), + }; } function runtimeEnvSignature(runtimeEnv: Record | undefined): string { @@ -124,7 +121,7 @@ function normalizeComputedColor(value: string | null | undefined, fallback: stri return value ?? fallback; } -function terminalThemeFromApp(mountElement?: HTMLElement | null): ITheme { +function terminalThemeFromApp(mountElement?: HTMLElement | null): GhosttyTheme { const isDark = document.documentElement.classList.contains("dark"); const fallbackBackground = isDark ? "rgb(14, 18, 24)" : "rgb(255, 255, 255)"; const fallbackForeground = isDark ? "rgb(237, 241, 247)" : "rgb(28, 33, 41)"; @@ -143,58 +140,16 @@ function terminalThemeFromApp(mountElement?: HTMLElement | null): ITheme { normalizeComputedColor(bodyStyles.color, fallbackForeground), ); - if (isDark) { - return { + return { + background: parseTerminalColor( background, + isDark ? { r: 14, g: 18, b: 24 } : { r: 255, g: 255, b: 255 }, + ), + foreground: parseTerminalColor( foreground, - cursor: "rgb(180, 203, 255)", - selectionBackground: "rgba(180, 203, 255, 0.25)", - scrollbarSliderBackground: "rgba(255, 255, 255, 0.1)", - scrollbarSliderHoverBackground: "rgba(255, 255, 255, 0.18)", - scrollbarSliderActiveBackground: "rgba(255, 255, 255, 0.22)", - black: "rgb(24, 30, 38)", - red: "rgb(255, 122, 142)", - green: "rgb(134, 231, 149)", - yellow: "rgb(244, 205, 114)", - blue: "rgb(137, 190, 255)", - magenta: "rgb(208, 176, 255)", - cyan: "rgb(124, 232, 237)", - white: "rgb(210, 218, 230)", - brightBlack: "rgb(110, 120, 136)", - brightRed: "rgb(255, 168, 180)", - brightGreen: "rgb(176, 245, 186)", - brightYellow: "rgb(255, 224, 149)", - brightBlue: "rgb(174, 210, 255)", - brightMagenta: "rgb(229, 203, 255)", - brightCyan: "rgb(167, 244, 247)", - brightWhite: "rgb(244, 247, 252)", - }; - } - - return { - background, - foreground, - cursor: "rgb(38, 56, 78)", - selectionBackground: "rgba(37, 63, 99, 0.2)", - scrollbarSliderBackground: "rgba(0, 0, 0, 0.15)", - scrollbarSliderHoverBackground: "rgba(0, 0, 0, 0.25)", - scrollbarSliderActiveBackground: "rgba(0, 0, 0, 0.3)", - black: "rgb(44, 53, 66)", - red: "rgb(191, 70, 87)", - green: "rgb(60, 126, 86)", - yellow: "rgb(146, 112, 35)", - blue: "rgb(72, 102, 163)", - magenta: "rgb(132, 86, 149)", - cyan: "rgb(53, 127, 141)", - white: "rgb(210, 215, 223)", - brightBlack: "rgb(112, 123, 140)", - brightRed: "rgb(212, 95, 112)", - brightGreen: "rgb(85, 148, 111)", - brightYellow: "rgb(173, 133, 45)", - brightBlue: "rgb(91, 124, 194)", - brightMagenta: "rgb(153, 107, 172)", - brightCyan: "rgb(70, 149, 164)", - brightWhite: "rgb(236, 240, 246)", + isDark ? { r: 237, g: 241, b: 247 } : { r: 28, g: 33, b: 41 }, + ), + cursor: isDark ? { r: 180, g: 203, b: 255 } : { r: 38, g: 56, b: 78 }, }; } @@ -309,8 +264,7 @@ export function TerminalViewport({ keybindings, }: TerminalViewportProps) { const containerRef = useRef(null); - const terminalRef = useRef(null); - const fitAddonRef = useRef(null); + const terminalRef = useRef(null); const environmentId = threadRef.environmentId; const serverConfig = useAtomValue(serverEnvironment.configValueAtom(environmentId)); const openInPreferredEditor = useOpenInPreferredEditor( @@ -384,352 +338,326 @@ export function TerminalViewport({ if (!mount) return; const localApi = readLocalApi(); - - const fitAddon = new FitAddon(); - const terminal = new Terminal({ - cursorBlink: true, - lineHeight: 1, - fontSize: 12, - scrollback: 5_000, - fontFamily: - '"SF Mono", "SFMono-Regular", "JetBrains Mono", Consolas, "Liberation Mono", Menlo, monospace', - theme: terminalThemeFromApp(mount), - }); - terminal.loadAddon(fitAddon); - terminal.open(mount); - fitTerminalSafely(fitAddon); - - terminalRef.current = terminal; - fitAddonRef.current = fitAddon; - previousSessionRef.current = { - buffer: "", - status: "closed", - error: null, - version: 0, - }; - - const clearSelectionAction = () => { - selectionActionRequestIdRef.current += 1; - if (selectionActionTimerRef.current !== null) { - window.clearTimeout(selectionActionTimerRef.current); - selectionActionTimerRef.current = null; - } - }; - - const readSelectionAction = (): { - position: { x: number; y: number }; - clipboardText: string; - selection: TerminalContextSelection; - } | null => { - const activeTerminal = terminalRef.current; - const mountElement = containerRef.current; - if (!activeTerminal || !mountElement || !activeTerminal.hasSelection()) { - return null; - } - const selectionText = activeTerminal.getSelection(); - const selectionPosition = activeTerminal.getSelectionPosition(); - const normalizedText = selectionText.replace(/\r\n/g, "\n").replace(/^\n+|\n+$/g, ""); - if (!selectionPosition || normalizedText.length === 0) { + let cancelled = false; + let teardown: (() => void) | null = null; + + const setup = async (): Promise<(() => void) | null> => { + const terminalOptions: GhosttyTerminalSurfaceOptions = { + theme: terminalThemeFromApp(mount), + onData: (data) => handleData(data), + onSelectionChange: () => handleSelectionChange(), + beforeKey: (event) => handleBeforeKey(event), + onLinkActivate: (text, event) => handleLinkActivate(text, event), + }; + const terminal = await GhosttyTerminalSurface.create(mount, terminalOptions); + if (cancelled) { + terminal.dispose(); return null; } - const lineStart = selectionPosition.start.y + 1; - const lineCount = normalizedText.split("\n").length; - const lineEnd = Math.max(lineStart, lineStart + lineCount - 1); - const bounds = mountElement.getBoundingClientRect(); - const selectionRect = getTerminalSelectionRect(mountElement); - const position = resolveTerminalSelectionActionPosition({ - bounds, - selectionRect: - selectionRect === null - ? null - : { right: selectionRect.right, bottom: selectionRect.bottom }, - pointer: selectionPointerRef.current, - }); - return { - position, - clipboardText: selectionText, - selection: { - terminalId, - terminalLabel: readTerminalLabel(), - lineStart, - lineEnd, - text: normalizedText, - }, + terminalRef.current = terminal; + previousSessionRef.current = { + buffer: terminalBuffer, + status: terminalStatus, + error: terminalError, + version: terminalVersion, + }; + if (terminalBuffer.length > 0) terminal.write(terminalBuffer); + if (terminalError !== null) writeSystemMessage(terminal, terminalError); + if (autoFocus) window.requestAnimationFrame(() => terminal.focus()); + + const clearSelectionAction = () => { + selectionActionRequestIdRef.current += 1; + if (selectionActionTimerRef.current !== null) { + window.clearTimeout(selectionActionTimerRef.current); + selectionActionTimerRef.current = null; + } }; - }; - const showSelectionAction = async () => { - if (!localApi) { - clearSelectionAction(); - return; - } - if (selectionActionMenuOpenRef.current) { - return; - } - const nextAction = readSelectionAction(); - if (!nextAction) { - clearSelectionAction(); - return; - } - const requestId = ++selectionActionRequestIdRef.current; - selectionActionMenuOpenRef.current = true; - const clicked = await localApi.contextMenu - .show( - [ - { id: "add-to-chat", label: "Add to chat" }, - { id: "copy", label: "Copy" }, - ], - nextAction.position, - ) - .finally(() => { - selectionActionMenuOpenRef.current = false; + const readSelectionAction = (): { + position: { x: number; y: number }; + clipboardText: string; + selection: TerminalContextSelection; + } | null => { + const activeTerminal = terminalRef.current; + const mountElement = containerRef.current; + if (!activeTerminal || !mountElement || !activeTerminal.hasSelection()) { + return null; + } + const selectionText = activeTerminal.getSelection(); + const selectionPosition = activeTerminal.getSelectionPosition(); + const normalizedText = selectionText.replace(/\r\n/g, "\n").replace(/^\n+|\n+$/g, ""); + if (!selectionPosition || normalizedText.length === 0) { + return null; + } + const lineStart = selectionPosition.start.y + 1; + const lineCount = normalizedText.split("\n").length; + const lineEnd = Math.max(lineStart, lineStart + lineCount - 1); + const bounds = mountElement.getBoundingClientRect(); + const selectionRect = getTerminalSelectionRect(mountElement); + const position = resolveTerminalSelectionActionPosition({ + bounds, + selectionRect: + selectionRect === null + ? null + : { right: selectionRect.right, bottom: selectionRect.bottom }, + pointer: selectionPointerRef.current, }); - if (requestId !== selectionActionRequestIdRef.current || clicked === null) { - return; - } - switch (clicked) { - case "add-to-chat": - handleAddTerminalContext(nextAction.selection); - terminalRef.current?.clearSelection(); - terminalRef.current?.focus(); + return { + position, + clipboardText: selectionText, + selection: { + terminalId, + terminalLabel: readTerminalLabel(), + lineStart, + lineEnd, + text: normalizedText, + }, + }; + }; + + const showSelectionAction = async () => { + if (!localApi) { + clearSelectionAction(); + return; + } + if (selectionActionMenuOpenRef.current) { + return; + } + const nextAction = readSelectionAction(); + if (!nextAction) { + clearSelectionAction(); return; - case "copy": - try { - await writeTextToClipboard(nextAction.clipboardText, "terminal selection"); - } catch (error) { - if (requestId !== selectionActionRequestIdRef.current) { - return; + } + const requestId = ++selectionActionRequestIdRef.current; + selectionActionMenuOpenRef.current = true; + const clicked = await localApi.contextMenu + .show( + [ + { id: "add-to-chat", label: "Add to chat" }, + { id: "copy", label: "Copy" }, + ], + nextAction.position, + ) + .finally(() => { + selectionActionMenuOpenRef.current = false; + }); + if (requestId !== selectionActionRequestIdRef.current || clicked === null) { + return; + } + switch (clicked) { + case "add-to-chat": + handleAddTerminalContext(nextAction.selection); + terminalRef.current?.clearSelection(); + terminalRef.current?.focus(); + return; + case "copy": + try { + await writeTextToClipboard(nextAction.clipboardText, "terminal selection"); + } catch (error) { + if (requestId !== selectionActionRequestIdRef.current) { + return; + } + const activeTerminal = terminalRef.current; + if (activeTerminal) { + writeSystemMessage( + activeTerminal, + error instanceof Error ? error.message : "Unable to copy terminal selection", + ); + } } - const activeTerminal = terminalRef.current; - if (activeTerminal) { - writeSystemMessage( - activeTerminal, - error instanceof Error ? error.message : "Unable to copy terminal selection", - ); + if (requestId === selectionActionRequestIdRef.current) { + terminalRef.current?.focus(); } - } - if (requestId === selectionActionRequestIdRef.current) { - terminalRef.current?.focus(); - } - return; - } - }; + return; + } + }; - const sendTerminalInput = async (data: string, fallbackError: string) => { - const activeTerminal = terminalRef.current; - if (!activeTerminal) return; - const result = await writeTerminal(data); - if (result._tag === "Failure" && !isAtomCommandInterrupted(result)) { - const error = squashAtomCommandFailure(result); - writeSystemMessage(activeTerminal, error instanceof Error ? error.message : fallbackError); - } - }; + const sendTerminalInput = async (data: string, fallbackError: string) => { + const activeTerminal = terminalRef.current; + if (!activeTerminal) return; + const result = await writeTerminal(data); + if (result._tag === "Failure" && !isAtomCommandInterrupted(result)) { + const error = squashAtomCommandFailure(result); + writeSystemMessage( + activeTerminal, + error instanceof Error ? error.message : fallbackError, + ); + } + }; - terminal.attachCustomKeyEventHandler((event) => { - const currentKeybindings = keybindingsRef.current; - const options = { context: { terminalFocus: true, terminalOpen: true } }; - if ( - isTerminalToggleShortcut(event, currentKeybindings, options) || - isTerminalSplitShortcut(event, currentKeybindings, options) || - isTerminalSplitVerticalShortcut(event, currentKeybindings, options) || - isTerminalNewShortcut(event, currentKeybindings, options) || - isTerminalCloseShortcut(event, currentKeybindings, options) || - isDiffToggleShortcut(event, currentKeybindings, options) - ) { - return false; - } + function handleBeforeKey(event: KeyboardEvent): boolean { + const currentKeybindings = keybindingsRef.current; + const options = { context: { terminalFocus: true, terminalOpen: true } }; + if ( + isTerminalToggleShortcut(event, currentKeybindings, options) || + isTerminalSplitShortcut(event, currentKeybindings, options) || + isTerminalSplitVerticalShortcut(event, currentKeybindings, options) || + isTerminalNewShortcut(event, currentKeybindings, options) || + isTerminalCloseShortcut(event, currentKeybindings, options) || + isDiffToggleShortcut(event, currentKeybindings, options) + ) { + return false; + } - const navigationData = terminalNavigationShortcutData(event); - if (navigationData !== null) { - event.preventDefault(); - event.stopPropagation(); - void sendTerminalInput(navigationData, "Failed to move cursor"); - return false; - } + const navigationData = terminalNavigationShortcutData(event); + if (navigationData !== null) { + event.preventDefault(); + event.stopPropagation(); + void sendTerminalInput(navigationData, "Failed to move cursor"); + return false; + } + + const deleteData = terminalDeleteShortcutData(event); + if (deleteData !== null) { + event.preventDefault(); + event.stopPropagation(); + void sendTerminalInput(deleteData, "Failed to delete terminal input"); + return false; + } - const deleteData = terminalDeleteShortcutData(event); - if (deleteData !== null) { + if (!isTerminalClearShortcut(event)) return true; event.preventDefault(); event.stopPropagation(); - void sendTerminalInput(deleteData, "Failed to delete terminal input"); + void sendTerminalInput("\u000c", "Failed to clear terminal"); return false; } - if (!isTerminalClearShortcut(event)) return true; - event.preventDefault(); - event.stopPropagation(); - void sendTerminalInput("\u000c", "Failed to clear terminal"); - return false; - }); - - const terminalLinksDisposable = terminal.registerLinkProvider({ - provideLinks: (bufferLineNumber, callback) => { - const activeTerminal = terminalRef.current; - if (!activeTerminal) { - callback(undefined); - return; - } - - const wrappedLine = collectWrappedTerminalLinkLine(bufferLineNumber, (bufferLineIndex) => - activeTerminal.buffer.active.getLine(bufferLineIndex), - ); - if (!wrappedLine) { - callback(undefined); + function handleLinkActivate(text: string, event: MouseEvent): void { + if (!isTerminalLinkActivation(event)) return; + const latestTerminal = terminalRef.current; + if (!latestTerminal) return; + if (/^https?:\/\//u.test(text)) { + if (!localApi) { + writeSystemMessage(latestTerminal, "Opening links is unavailable in this browser."); + return; + } + const fallbackToBrowser = () => { + void localApi.shell.openExternal(text).catch((error: unknown) => { + writeSystemMessage( + latestTerminal, + error instanceof Error ? error.message : "Unable to open link", + ); + }); + }; + void openTerminalLinkInPreview({ + url: text, + position: { x: event.clientX, y: event.clientY }, + threadRef, + openPreview, + localApi, + fallbackToBrowser, + }); return; } + const target = resolvePathLinkTarget(text, cwd); + void (async () => { + const result = await openTerminalPath(target); + if (result._tag === "Success" || isAtomCommandInterrupted(result)) { + return; + } + const error = squashAtomCommandFailure(result); + writeSystemMessage( + latestTerminal, + error instanceof Error ? error.message : "Unable to open path", + ); + })(); + } - const links = extractTerminalLinks(wrappedLine.text) - .map((match) => ({ - match, - range: resolveWrappedTerminalLinkRange(wrappedLine, match), - })) - .filter(({ range }) => - wrappedTerminalLinkRangeIntersectsBufferLine(range, bufferLineNumber), + function handleData(data: string): void { + void (async () => { + const result = await writeTerminal(data); + if (result._tag === "Success" || isAtomCommandInterrupted(result)) return; + const error = squashAtomCommandFailure(result); + writeSystemMessage( + terminal, + error instanceof Error ? error.message : "Terminal write failed", ); - if (links.length === 0) { - callback(undefined); + })(); + } + + function handleSelectionChange(): void { + if (terminalRef.current?.hasSelection()) { return; } + clearSelectionAction(); + } - callback( - links.map(({ match, range }) => ({ - text: match.text, - range, - activate: (event: MouseEvent) => { - if (!isTerminalLinkActivation(event)) return; - - const latestTerminal = terminalRef.current; - if (!latestTerminal) return; - - if (match.kind === "url") { - if (!localApi) { - writeSystemMessage( - latestTerminal, - "Opening links is unavailable in this browser.", - ); - return; - } - const fallbackToBrowser = () => { - void localApi.shell.openExternal(match.text).catch((error: unknown) => { - writeSystemMessage( - latestTerminal, - error instanceof Error ? error.message : "Unable to open link", - ); - }); - }; - void openTerminalLinkInPreview({ - url: match.text, - position: { x: event.clientX, y: event.clientY }, - threadRef, - openPreview, - localApi, - fallbackToBrowser, - }); - return; - } - - const target = resolvePathLinkTarget(match.text, cwd); - void (async () => { - const result = await openTerminalPath(target); - if (result._tag === "Success" || isAtomCommandInterrupted(result)) { - return; - } - const error = squashAtomCommandFailure(result); - writeSystemMessage( - latestTerminal, - error instanceof Error ? error.message : "Unable to open path", - ); - })(); - }, - })), + const handleMouseUp = (event: MouseEvent) => { + const shouldHandle = shouldHandleTerminalSelectionMouseUp( + selectionGestureActiveRef.current, + event.button, ); - }, - }); - - const inputDisposable = terminal.onData((data) => { - void (async () => { - const result = await writeTerminal(data); - if (result._tag === "Success" || isAtomCommandInterrupted(result)) { + selectionGestureActiveRef.current = false; + if (!shouldHandle) { return; } - const error = squashAtomCommandFailure(result); - writeSystemMessage( - terminal, - error instanceof Error ? error.message : "Terminal write failed", - ); - })(); - }); + selectionPointerRef.current = { x: event.clientX, y: event.clientY }; + const delay = terminalSelectionActionDelayForClickCount(event.detail); + selectionActionTimerRef.current = window.setTimeout(() => { + selectionActionTimerRef.current = null; + window.requestAnimationFrame(() => { + void showSelectionAction(); + }); + }, delay); + }; + const handlePointerDown = (event: PointerEvent) => { + clearSelectionAction(); + selectionGestureActiveRef.current = event.button === 0; + }; + window.addEventListener("mouseup", handleMouseUp); + mount.addEventListener("pointerdown", handlePointerDown); - const selectionDisposable = terminal.onSelectionChange(() => { - if (terminalRef.current?.hasSelection()) { - return; - } - clearSelectionAction(); - }); + const themeObserver = new MutationObserver(() => { + const activeTerminal = terminalRef.current; + if (!activeTerminal) return; + activeTerminal.setTheme(terminalThemeFromApp(containerRef.current)); + }); + themeObserver.observe(document.documentElement, { + attributes: true, + attributeFilter: ["class", "style"], + }); - const handleMouseUp = (event: MouseEvent) => { - const shouldHandle = shouldHandleTerminalSelectionMouseUp( - selectionGestureActiveRef.current, - event.button, - ); - selectionGestureActiveRef.current = false; - if (!shouldHandle) { - return; - } - selectionPointerRef.current = { x: event.clientX, y: event.clientY }; - const delay = terminalSelectionActionDelayForClickCount(event.detail); - selectionActionTimerRef.current = window.setTimeout(() => { - selectionActionTimerRef.current = null; - window.requestAnimationFrame(() => { - void showSelectionAction(); - }); - }, delay); - }; - const handlePointerDown = (event: PointerEvent) => { - clearSelectionAction(); - selectionGestureActiveRef.current = event.button === 0; + const fitTimer = window.setTimeout(() => { + const activeTerminal = terminalRef.current; + if (!activeTerminal) return; + const wasAtBottom = activeTerminal.isAtBottom(); + activeTerminal.fit(); + if (wasAtBottom) { + activeTerminal.scrollToBottom(); + } + void resizeTerminal(activeTerminal.cols, activeTerminal.rows); + }, 30); + + return () => { + window.clearTimeout(fitTimer); + if (selectionActionTimerRef.current !== null) { + window.clearTimeout(selectionActionTimerRef.current); + } + window.removeEventListener("mouseup", handleMouseUp); + mount.removeEventListener("pointerdown", handlePointerDown); + themeObserver.disconnect(); + terminalRef.current = null; + terminal.dispose(); + }; }; - window.addEventListener("mouseup", handleMouseUp); - mount.addEventListener("pointerdown", handlePointerDown); - - const themeObserver = new MutationObserver(() => { - const activeTerminal = terminalRef.current; - if (!activeTerminal) return; - activeTerminal.options.theme = terminalThemeFromApp(containerRef.current); - activeTerminal.refresh(0, activeTerminal.rows - 1); - }); - themeObserver.observe(document.documentElement, { - attributes: true, - attributeFilter: ["class", "style"], - }); - const fitTimer = window.setTimeout(() => { - const activeTerminal = terminalRef.current; - const activeFitAddon = fitAddonRef.current; - if (!activeTerminal || !activeFitAddon) return; - const wasAtBottom = - activeTerminal.buffer.active.viewportY >= activeTerminal.buffer.active.baseY; - fitTerminalSafely(activeFitAddon); - if (wasAtBottom) { - activeTerminal.scrollToBottom(); - } - void resizeTerminal(activeTerminal.cols, activeTerminal.rows); - }, 30); + void setup() + .then((nextTeardown) => { + if (cancelled) { + nextTeardown?.(); + return; + } + teardown = nextTeardown; + }) + .catch((error: unknown) => { + if (cancelled) return; + mount.textContent = + error instanceof Error ? error.message : "Unable to initialize libghostty-vt"; + }); return () => { - window.clearTimeout(fitTimer); - inputDisposable.dispose(); - selectionDisposable.dispose(); - terminalLinksDisposable.dispose(); - if (selectionActionTimerRef.current !== null) { - window.clearTimeout(selectionActionTimerRef.current); - } - window.removeEventListener("mouseup", handleMouseUp); - mount.removeEventListener("pointerdown", handlePointerDown); - themeObserver.disconnect(); - terminalRef.current = null; - fitAddonRef.current = null; - terminal.dispose(); + cancelled = true; + teardown?.(); }; // autoFocus is intentionally omitted; // it is only read at mount time and must not trigger terminal teardown/recreation. @@ -809,11 +737,10 @@ export function TerminalViewport({ useEffect(() => { const terminal = terminalRef.current; - const fitAddon = fitAddonRef.current; - if (!terminal || !fitAddon) return; - const wasAtBottom = terminal.buffer.active.viewportY >= terminal.buffer.active.baseY; + if (!terminal) return; + const wasAtBottom = terminal.isAtBottom(); const frame = window.requestAnimationFrame(() => { - fitTerminalSafely(fitAddon); + terminal.fit(); if (wasAtBottom) { terminal.scrollToBottom(); } diff --git a/apps/web/src/index.css b/apps/web/src/index.css index 599455fa9b2..9527c4a1947 100644 --- a/apps/web/src/index.css +++ b/apps/web/src/index.css @@ -1101,20 +1101,6 @@ code { display: none; } -/* Terminal drawer scrollbar parity with chat */ -.thread-terminal-drawer .xterm .xterm-scrollable-element > .scrollbar.vertical { - width: 6px !important; -} - -.thread-terminal-drawer .xterm .xterm-scrollable-element > .scrollbar > .slider { - border-radius: 3px; -} - -.thread-terminal-drawer .xterm .xterm-scrollable-element > .scrollbar.vertical > .slider { - width: 6px !important; - left: 0 !important; -} - /* Reasoning select -- clickable label surface */ label:has(> select#reasoning-effort) { position: relative; diff --git a/apps/web/src/main.tsx b/apps/web/src/main.tsx index c03cc65f654..7406f960cd3 100644 --- a/apps/web/src/main.tsx +++ b/apps/web/src/main.tsx @@ -8,7 +8,6 @@ import { createHashHistory, createBrowserHistory } from "@tanstack/react-router" import "@fontsource-variable/dm-sans/index.css"; import "@fontsource/jetbrains-mono/400.css"; import "@fontsource/jetbrains-mono/500.css"; -import "@xterm/xterm/css/xterm.css"; import "./index.css"; import { isElectron } from "./env"; diff --git a/apps/web/src/terminal/ghostty/README.md b/apps/web/src/terminal/ghostty/README.md new file mode 100644 index 00000000000..be1d05ba1d7 --- /dev/null +++ b/apps/web/src/terminal/ghostty/README.md @@ -0,0 +1,14 @@ +# Ghostty web terminal + +This directory is the browser adapter for the same official `libghostty-vt` C ABI used by Android. +It is intentionally not an xterm compatibility layer. + +- `runtime.ts` owns the singleton WebAssembly instance and runtime ABI layouts. +- `ghostty-write-pty.wasm` is a 112-byte callback trampoline for terminal-generated PTY replies. +- `core.ts` owns per-terminal Ghostty handles and translates the C ABI into render snapshots. +- `renderer.ts` batches backgrounds and style runs into a Canvas 2D frame. +- `surface.ts` owns browser input, IME, selection, scrolling, sizing, links, and cursor blinking. +- `vendor/` is reproducibly generated by `apps/web/scripts/build-libghostty-wasm.sh`. + +Keep browser behavior here and terminal transport in the existing client runtime. Do not add React +state to the render loop. Both WASM artifacts are ordinary read-only assets, not executables. diff --git a/apps/web/src/terminal/ghostty/core.ts b/apps/web/src/terminal/ghostty/core.ts new file mode 100644 index 00000000000..30ca72a6dfc --- /dev/null +++ b/apps/web/src/terminal/ghostty/core.ts @@ -0,0 +1,716 @@ +import { ghosttyKeyForCode } from "./keyCodes"; +import { GhosttyRuntime, loadGhosttyRuntime } from "./runtime"; + +const GHOSTTY_SUCCESS = 0; +const MAX_SCROLLBACK_ROWS = 10_000; + +const RENDER_DATA = { + cols: 1, + rows: 2, + dirty: 3, + rowIterator: 4, + background: 5, + foreground: 6, + cursor: 7, + cursorHasValue: 8, + cursorStyle: 10, + cursorVisible: 11, + cursorBlinking: 12, + cursorInViewport: 14, + cursorX: 15, + cursorY: 16, +} as const; + +const ROW_DATA = { + dirty: 1, + cells: 3, +} as const; + +const CELL_DATA = { + style: 2, + graphemesLength: 3, + graphemes: 4, + background: 5, + foreground: 6, + selected: 7, +} as const; + +export interface GhosttyColor { + readonly r: number; + readonly g: number; + readonly b: number; +} + +export interface GhosttyTheme { + readonly foreground: GhosttyColor; + readonly background: GhosttyColor; + readonly cursor: GhosttyColor; +} + +export interface GhosttyCell { + readonly text: string; + readonly foreground: GhosttyColor; + readonly background: GhosttyColor; + readonly bold: boolean; + readonly italic: boolean; + readonly invisible: boolean; + readonly strikethrough: boolean; + readonly overline: boolean; + readonly underline: boolean; + readonly selected: boolean; +} + +export interface GhosttyRow { + readonly cells: readonly GhosttyCell[]; + readonly text: string; +} + +export interface GhosttySnapshot { + readonly cols: number; + readonly rows: number; + readonly foreground: GhosttyColor; + readonly background: GhosttyColor; + readonly cursor: GhosttyColor; + readonly cursorX: number; + readonly cursorY: number; + readonly cursorVisible: boolean; + readonly cursorBlinking: boolean; + readonly cursorStyle: number; + readonly dirtyRows: ReadonlySet; + readonly rowData: readonly GhosttyRow[]; +} + +const decoder = new TextDecoder(); +const encoder = new TextEncoder(); + +function blend(foreground: GhosttyColor, background: GhosttyColor): GhosttyColor { + const channel = (front: number, back: number) => Math.floor((front * 155 + back * 100) / 255); + return { + r: channel(foreground.r, background.r), + g: channel(foreground.g, background.g), + b: channel(foreground.b, background.b), + }; +} + +function sameColor(left: GhosttyColor, right: GhosttyColor): boolean { + return left.r === right.r && left.g === right.g && left.b === right.b; +} + +export class GhosttyTerminalCore { + private readonly runtime: GhosttyRuntime; + private terminalSlot = 0; + private terminal = 0; + private renderStateSlot = 0; + private renderState = 0; + private rowIteratorSlot = 0; + private rowCellsSlot = 0; + private keyEncoderSlot = 0; + private keyEncoder = 0; + private keyEventSlot = 0; + private keyEvent = 0; + private ptyWriterId = 0; + private scratch = 0; + private style = 0; + private rows: GhosttyRow[] = []; + private disposed = false; + + private constructor(runtime: GhosttyRuntime) { + this.runtime = runtime; + } + + static async create( + cols: number, + rows: number, + cellWidth: number, + cellHeight: number, + theme: GhosttyTheme, + onPtyData: (data: string) => void, + ): Promise { + const core = new GhosttyTerminalCore(await loadGhosttyRuntime()); + try { + core.initialize(cols, rows, cellWidth, cellHeight, theme, onPtyData); + return core; + } catch (error) { + core.dispose(); + throw error; + } + } + + private initialize( + cols: number, + rows: number, + cellWidth: number, + cellHeight: number, + theme: GhosttyTheme, + onPtyData: (data: string) => void, + ): void { + const optionsSize = this.runtime.layout("GhosttyTerminalOptions").size; + const options = this.runtime.alloc(optionsSize); + this.runtime.setField(options, "GhosttyTerminalOptions", "cols", cols); + this.runtime.setField(options, "GhosttyTerminalOptions", "rows", rows); + this.runtime.setField(options, "GhosttyTerminalOptions", "max_scrollback", MAX_SCROLLBACK_ROWS); + this.terminalSlot = this.runtime.allocOpaque(); + this.assertSuccess( + "ghostty_terminal_new", + this.runtime.call("ghostty_terminal_new", 0, this.terminalSlot, options), + ); + this.runtime.free(options, optionsSize); + this.terminal = this.runtime.readPointer(this.terminalSlot); + this.ptyWriterId = this.runtime.attachPtyWriter(this.terminal, onPtyData); + + this.renderStateSlot = this.runtime.allocOpaque(); + this.assertSuccess( + "ghostty_render_state_new", + this.runtime.call("ghostty_render_state_new", 0, this.renderStateSlot), + ); + this.renderState = this.runtime.readPointer(this.renderStateSlot); + + this.rowIteratorSlot = this.runtime.allocOpaque(); + this.assertSuccess( + "ghostty_render_state_row_iterator_new", + this.runtime.call("ghostty_render_state_row_iterator_new", 0, this.rowIteratorSlot), + ); + this.rowCellsSlot = this.runtime.allocOpaque(); + this.assertSuccess( + "ghostty_render_state_row_cells_new", + this.runtime.call("ghostty_render_state_row_cells_new", 0, this.rowCellsSlot), + ); + + this.keyEncoderSlot = this.runtime.allocOpaque(); + this.assertSuccess( + "ghostty_key_encoder_new", + this.runtime.call("ghostty_key_encoder_new", 0, this.keyEncoderSlot), + ); + this.keyEncoder = this.runtime.readPointer(this.keyEncoderSlot); + this.keyEventSlot = this.runtime.allocOpaque(); + this.assertSuccess( + "ghostty_key_event_new", + this.runtime.call("ghostty_key_event_new", 0, this.keyEventSlot), + ); + this.keyEvent = this.runtime.readPointer(this.keyEventSlot); + + this.scratch = this.runtime.alloc(16); + const styleSize = this.runtime.layout("GhosttyStyle").size; + this.style = this.runtime.alloc(styleSize); + this.runtime.setField(this.style, "GhosttyStyle", "size", styleSize); + this.setTheme(theme); + this.resize(cols, rows, cellWidth, cellHeight); + } + + write(data: string | Uint8Array): void { + this.ensureActive(); + const bytes = typeof data === "string" ? encoder.encode(data) : data; + if (bytes.length === 0) return; + const pointer = this.runtime.alloc(bytes.length); + this.runtime.bytes(pointer, bytes.length).set(bytes); + this.runtime.call("ghostty_terminal_vt_write", this.terminal, pointer, bytes.length); + this.runtime.free(pointer, bytes.length); + } + + resetAndWrite(data: string): void { + this.ensureActive(); + this.runtime.call("ghostty_terminal_reset", this.terminal); + this.rows = []; + this.write(data); + } + + resize(cols: number, rows: number, cellWidth: number, cellHeight: number): void { + this.ensureActive(); + this.assertSuccess( + "ghostty_terminal_resize", + this.runtime.call( + "ghostty_terminal_resize", + this.terminal, + Math.max(1, Math.min(65_535, cols)), + Math.max(1, Math.min(65_535, rows)), + Math.max(1, Math.round(cellWidth)), + Math.max(1, Math.round(cellHeight)), + ), + ); + } + + setTheme(theme: GhosttyTheme): void { + this.ensureActive(); + const color = this.runtime.alloc(3); + for (const [option, value] of [ + [11, theme.foreground], + [12, theme.background], + [13, theme.cursor], + ] as const) { + this.runtime.bytes(color, 3).set([value.r, value.g, value.b]); + this.runtime.call("ghostty_terminal_set", this.terminal, option, color); + } + this.runtime.free(color, 3); + } + + scroll(deltaRows: number): void { + this.ensureActive(); + const layout = this.runtime.layout("GhosttyTerminalScrollViewport"); + const scroll = this.runtime.alloc(layout.size); + this.runtime.setField(scroll, "GhosttyTerminalScrollViewport", "tag", 2); + const value = layout.fields.value!; + this.runtime.view(scroll + value.offset, value.size).setInt32(0, deltaRows, true); + this.runtime.call("ghostty_terminal_scroll_viewport", this.terminal, scroll); + this.runtime.free(scroll, layout.size); + } + + scrollToBottom(): void { + this.ensureActive(); + const layout = this.runtime.layout("GhosttyTerminalScrollViewport"); + const scroll = this.runtime.alloc(layout.size); + this.runtime.setField(scroll, "GhosttyTerminalScrollViewport", "tag", 1); + this.runtime.call("ghostty_terminal_scroll_viewport", this.terminal, scroll); + this.runtime.free(scroll, layout.size); + } + + isViewportActive(): boolean { + this.ensureActive(); + this.runtime.bytes(this.scratch, 1)[0] = 0; + return ( + this.runtime.call("ghostty_terminal_get", this.terminal, 32, this.scratch) === + GHOSTTY_SUCCESS && this.runtime.bytes(this.scratch, 1)[0] !== 0 + ); + } + + encodeKey(event: KeyboardEvent): string { + this.ensureActive(); + this.runtime.call("ghostty_key_encoder_setopt_from_terminal", this.keyEncoder, this.terminal); + this.runtime.call("ghostty_key_event_set_action", this.keyEvent, event.repeat ? 2 : 1); + this.runtime.call("ghostty_key_event_set_key", this.keyEvent, ghosttyKeyForCode(event.code)); + const mods = + (event.shiftKey ? 1 : 0) | + (event.ctrlKey ? 1 << 1 : 0) | + (event.altKey ? 1 << 2 : 0) | + (event.metaKey ? 1 << 3 : 0) | + (event.getModifierState("CapsLock") ? 1 << 4 : 0) | + (event.getModifierState("NumLock") ? 1 << 5 : 0); + this.runtime.call("ghostty_key_event_set_mods", this.keyEvent, mods); + this.runtime.call("ghostty_key_event_set_consumed_mods", this.keyEvent, 0); + this.runtime.call("ghostty_key_event_set_composing", this.keyEvent, event.isComposing ? 1 : 0); + + const text = event.key.length === 1 ? event.key : ""; + const textBytes = encoder.encode(text); + const textPointer = textBytes.length === 0 ? 0 : this.runtime.alloc(textBytes.length); + if (textPointer !== 0) this.runtime.bytes(textPointer, textBytes.length).set(textBytes); + this.runtime.call("ghostty_key_event_set_utf8", this.keyEvent, textPointer, textBytes.length); + if (textPointer !== 0) this.runtime.free(textPointer, textBytes.length); + + const outputSize = 128; + const output = this.runtime.alloc(outputSize); + const written = this.runtime.call("ghostty_wasm_alloc_usize"); + const result = this.runtime.call( + "ghostty_key_encoder_encode", + this.keyEncoder, + this.keyEvent, + output, + outputSize, + written, + ); + const length = this.runtime.view(written, 4).getUint32(0, true); + const encoded = + result === GHOSTTY_SUCCESS ? decoder.decode(this.runtime.bytes(output, length)) : ""; + this.runtime.call("ghostty_wasm_free_usize", written); + this.runtime.free(output, outputSize); + return encoded; + } + + encodePaste(data: string): string { + this.ensureActive(); + const input = encoder.encode(data); + if (input.length === 0) return ""; + const inputPointer = this.runtime.alloc(input.length); + this.runtime.bytes(inputPointer, input.length).set(input); + this.runtime.bytes(this.scratch, 1)[0] = 0; + const bracketed = + this.runtime.call("ghostty_terminal_mode_get", this.terminal, 2004, this.scratch) === + GHOSTTY_SUCCESS && this.runtime.bytes(this.scratch, 1)[0] !== 0; + const written = this.runtime.call("ghostty_wasm_alloc_usize"); + this.runtime.call( + "ghostty_paste_encode", + inputPointer, + input.length, + bracketed ? 1 : 0, + 0, + 0, + written, + ); + const outputSize = this.runtime.view(written, 4).getUint32(0, true); + const output = this.runtime.alloc(Math.max(1, outputSize)); + const result = this.runtime.call( + "ghostty_paste_encode", + inputPointer, + input.length, + bracketed ? 1 : 0, + output, + outputSize, + written, + ); + const encoded = + result === GHOSTTY_SUCCESS ? decoder.decode(this.runtime.bytes(output, outputSize)) : ""; + this.runtime.call("ghostty_wasm_free_usize", written); + this.runtime.free(output, Math.max(1, outputSize)); + this.runtime.free(inputPointer, input.length); + return encoded; + } + + setSelection(anchorCol: number, anchorRow: number, col: number, row: number): void { + this.ensureActive(); + const selectionLayout = this.runtime.layout("GhosttySelection"); + const selection = this.runtime.alloc(selectionLayout.size); + this.runtime.setField(selection, "GhosttySelection", "size", selectionLayout.size); + const start = this.gridRef(anchorCol, anchorRow); + const end = this.gridRef(col, row); + const startField = selectionLayout.fields.start!; + const endField = selectionLayout.fields.end!; + this.runtime + .bytes(selection + startField.offset, startField.size) + .set(this.runtime.bytes(start, startField.size)); + this.runtime + .bytes(selection + endField.offset, endField.size) + .set(this.runtime.bytes(end, endField.size)); + this.runtime.call("ghostty_terminal_set", this.terminal, 21, selection); + this.runtime.free(start, this.runtime.layout("GhosttyGridRef").size); + this.runtime.free(end, this.runtime.layout("GhosttyGridRef").size); + this.runtime.free(selection, selectionLayout.size); + } + + selectAll(): void { + this.ensureActive(); + const layout = this.runtime.layout("GhosttySelection"); + const selection = this.runtime.alloc(layout.size); + this.runtime.setField(selection, "GhosttySelection", "size", layout.size); + if ( + this.runtime.call("ghostty_terminal_select_all", this.terminal, selection) === GHOSTTY_SUCCESS + ) { + this.runtime.call("ghostty_terminal_set", this.terminal, 21, selection); + } + this.runtime.free(selection, layout.size); + } + + clearSelection(): void { + this.ensureActive(); + this.runtime.call("ghostty_terminal_set", this.terminal, 21, 0); + } + + snapshot(): GhosttySnapshot { + this.ensureActive(); + this.assertSuccess( + "ghostty_render_state_update", + this.runtime.call("ghostty_render_state_update", this.renderState, this.terminal), + ); + const cols = this.getU16(RENDER_DATA.cols); + const rowCount = this.getU16(RENDER_DATA.rows); + const dirty = this.getU32(RENDER_DATA.dirty); + const foreground = this.getColor(RENDER_DATA.foreground, { r: 229, g: 231, b: 235 }); + const background = this.getColor(RENDER_DATA.background, { r: 0, g: 0, b: 0 }); + const cursorHasValue = this.getBool(RENDER_DATA.cursorHasValue); + const cursor = cursorHasValue ? this.getColor(RENDER_DATA.cursor, foreground) : foreground; + const cursorInViewport = this.getBool(RENDER_DATA.cursorInViewport); + const cursorVisible = this.getBool(RENDER_DATA.cursorVisible) && cursorInViewport; + const cursorX = cursorInViewport ? this.getU16(RENDER_DATA.cursorX) : -1; + const cursorY = cursorInViewport ? this.getU16(RENDER_DATA.cursorY) : -1; + + if (this.rows.length !== rowCount || this.rows.some((row) => row.cells.length !== cols)) { + this.rows = Array.from({ length: rowCount }, () => ({ + cells: Array.from({ length: cols }, () => this.emptyCell(foreground, background)), + text: "", + })); + } + + const dirtyRows = new Set(); + if (dirty !== 0) { + this.assertSuccess( + "ghostty_render_state_get(row iterator)", + this.runtime.call( + "ghostty_render_state_get", + this.renderState, + RENDER_DATA.rowIterator, + this.rowIteratorSlot, + ), + ); + const iterator = this.runtime.readPointer(this.rowIteratorSlot); + let rowIndex = 0; + while ( + rowIndex < rowCount && + this.runtime.call("ghostty_render_state_row_iterator_next", iterator) !== 0 + ) { + const rowDirty = dirty === 2 || this.getRowBool(iterator, ROW_DATA.dirty); + if (rowDirty) { + this.rows[rowIndex] = this.readRow(iterator, cols, foreground, background); + dirtyRows.add(rowIndex); + this.runtime.bytes(this.scratch, 1)[0] = 0; + this.runtime.call("ghostty_render_state_row_set", iterator, 0, this.scratch); + } + rowIndex += 1; + } + this.runtime.view(this.scratch, 4).setUint32(0, 0, true); + this.runtime.call("ghostty_render_state_set", this.renderState, 0, this.scratch); + } + + return { + cols, + rows: rowCount, + foreground, + background, + cursor, + cursorX, + cursorY, + cursorVisible, + cursorBlinking: this.getBool(RENDER_DATA.cursorBlinking), + cursorStyle: this.getU32(RENDER_DATA.cursorStyle), + dirtyRows, + rowData: this.rows, + }; + } + + selectionText(): string { + const selectedLines = this.rows + .map((row) => + row.cells + .map((cell) => (cell.selected ? cell.text || " " : "")) + .join("") + .replace(/\s+$/u, ""), + ) + .filter((line) => line.length > 0); + return selectedLines.join("\n"); + } + + dispose(): void { + if (this.disposed) return; + this.disposed = true; + if (this.keyEvent) this.runtime.call("ghostty_key_event_free", this.keyEvent); + if (this.keyEncoder) this.runtime.call("ghostty_key_encoder_free", this.keyEncoder); + if (this.rowCellsSlot) { + const cells = this.runtime.readPointer(this.rowCellsSlot); + if (cells) this.runtime.call("ghostty_render_state_row_cells_free", cells); + } + if (this.rowIteratorSlot) { + const iterator = this.runtime.readPointer(this.rowIteratorSlot); + if (iterator) this.runtime.call("ghostty_render_state_row_iterator_free", iterator); + } + if (this.renderState) this.runtime.call("ghostty_render_state_free", this.renderState); + if (this.terminal) { + if (this.ptyWriterId) this.runtime.detachPtyWriter(this.terminal, this.ptyWriterId); + this.runtime.call("ghostty_terminal_free", this.terminal); + } + if (this.style) this.runtime.free(this.style, this.runtime.layout("GhosttyStyle").size); + if (this.scratch) this.runtime.free(this.scratch, 16); + for (const slot of [ + this.keyEventSlot, + this.keyEncoderSlot, + this.rowCellsSlot, + this.rowIteratorSlot, + this.renderStateSlot, + this.terminalSlot, + ]) { + this.runtime.freeOpaque(slot); + } + } + + private readRow( + iterator: number, + cols: number, + defaultForeground: GhosttyColor, + defaultBackground: GhosttyColor, + ): GhosttyRow { + this.assertSuccess( + "ghostty_render_state_row_get(cells)", + this.runtime.call( + "ghostty_render_state_row_get", + iterator, + ROW_DATA.cells, + this.rowCellsSlot, + ), + ); + const cellsIterator = this.runtime.readPointer(this.rowCellsSlot); + const cells: GhosttyCell[] = []; + while ( + cells.length < cols && + this.runtime.call("ghostty_render_state_row_cells_next", cellsIterator) !== 0 + ) { + let foreground = this.getCellColor(cellsIterator, CELL_DATA.foreground, defaultForeground); + let background = this.getCellColor(cellsIterator, CELL_DATA.background, defaultBackground); + const styleSize = this.runtime.layout("GhosttyStyle").size; + this.runtime.bytes(this.style, styleSize).fill(0); + this.runtime.setField(this.style, "GhosttyStyle", "size", styleSize); + this.runtime.call( + "ghostty_render_state_row_cells_get", + cellsIterator, + CELL_DATA.style, + this.style, + ); + const inverse = this.runtime.readField(this.style, "GhosttyStyle", "inverse") !== 0; + if (inverse) [foreground, background] = [background, foreground]; + if (this.runtime.readField(this.style, "GhosttyStyle", "faint") !== 0) { + foreground = blend(foreground, background); + } + const graphemeLength = this.getCellU32(cellsIterator, CELL_DATA.graphemesLength); + let text = ""; + if (graphemeLength > 0) { + const bufferSize = graphemeLength * 4; + const codepoints = this.runtime.alloc(bufferSize); + if ( + this.runtime.call( + "ghostty_render_state_row_cells_get", + cellsIterator, + CELL_DATA.graphemes, + codepoints, + ) === GHOSTTY_SUCCESS + ) { + text = String.fromCodePoint( + ...new Uint32Array(this.runtime.memory.buffer, codepoints, graphemeLength), + ); + } + this.runtime.free(codepoints, bufferSize); + } + cells.push({ + text, + foreground, + background, + bold: this.runtime.readField(this.style, "GhosttyStyle", "bold") !== 0, + italic: this.runtime.readField(this.style, "GhosttyStyle", "italic") !== 0, + invisible: this.runtime.readField(this.style, "GhosttyStyle", "invisible") !== 0, + strikethrough: this.runtime.readField(this.style, "GhosttyStyle", "strikethrough") !== 0, + overline: this.runtime.readField(this.style, "GhosttyStyle", "overline") !== 0, + underline: this.runtime.readField(this.style, "GhosttyStyle", "underline") !== 0, + selected: this.getCellBool(cellsIterator, CELL_DATA.selected), + }); + } + while (cells.length < cols) cells.push(this.emptyCell(defaultForeground, defaultBackground)); + return { + cells, + text: cells + .map((cell) => cell.text || " ") + .join("") + .trimEnd(), + }; + } + + private gridRef(col: number, row: number): number { + const pointLayout = this.runtime.layout("GhosttyPoint"); + const point = this.runtime.alloc(pointLayout.size); + this.runtime.setField(point, "GhosttyPoint", "tag", 1); + const pointValue = pointLayout.fields.value!; + const valueOffset = pointValue.offset; + const view = this.runtime.view(point + valueOffset, pointValue.size); + view.setUint16(0, Math.max(0, col), true); + view.setUint32(4, Math.max(0, row), true); + const gridRefSize = this.runtime.layout("GhosttyGridRef").size; + const gridRef = this.runtime.alloc(gridRefSize); + this.runtime.setField(gridRef, "GhosttyGridRef", "size", gridRefSize); + this.assertSuccess( + "ghostty_terminal_grid_ref", + this.runtime.call("ghostty_terminal_grid_ref", this.terminal, point, gridRef), + ); + this.runtime.free(point, pointLayout.size); + return gridRef; + } + + private getU16(data: number): number { + this.runtime.bytes(this.scratch, 2).fill(0); + this.assertSuccess( + "ghostty_render_state_get", + this.runtime.call("ghostty_render_state_get", this.renderState, data, this.scratch), + ); + return this.runtime.view(this.scratch, 2).getUint16(0, true); + } + + private getU32(data: number): number { + this.runtime.bytes(this.scratch, 4).fill(0); + this.assertSuccess( + "ghostty_render_state_get", + this.runtime.call("ghostty_render_state_get", this.renderState, data, this.scratch), + ); + return this.runtime.view(this.scratch, 4).getUint32(0, true); + } + + private getBool(data: number): boolean { + this.runtime.bytes(this.scratch, 1)[0] = 0; + this.assertSuccess( + "ghostty_render_state_get", + this.runtime.call("ghostty_render_state_get", this.renderState, data, this.scratch), + ); + return this.runtime.bytes(this.scratch, 1)[0] !== 0; + } + + private getColor(data: number, fallback: GhosttyColor): GhosttyColor { + this.runtime.bytes(this.scratch, 3).fill(0); + const result = this.runtime.call( + "ghostty_render_state_get", + this.renderState, + data, + this.scratch, + ); + return result === GHOSTTY_SUCCESS ? this.readColor(this.scratch) : fallback; + } + + private getRowBool(iterator: number, data: number): boolean { + this.runtime.bytes(this.scratch, 1)[0] = 0; + return ( + this.runtime.call("ghostty_render_state_row_get", iterator, data, this.scratch) === + GHOSTTY_SUCCESS && this.runtime.bytes(this.scratch, 1)[0] !== 0 + ); + } + + private getCellU32(iterator: number, data: number): number { + this.runtime.bytes(this.scratch, 4).fill(0); + const result = this.runtime.call( + "ghostty_render_state_row_cells_get", + iterator, + data, + this.scratch, + ); + return result === GHOSTTY_SUCCESS ? this.runtime.view(this.scratch, 4).getUint32(0, true) : 0; + } + + private getCellBool(iterator: number, data: number): boolean { + this.runtime.bytes(this.scratch, 1)[0] = 0; + return ( + this.runtime.call("ghostty_render_state_row_cells_get", iterator, data, this.scratch) === + GHOSTTY_SUCCESS && this.runtime.bytes(this.scratch, 1)[0] !== 0 + ); + } + + private getCellColor(iterator: number, data: number, fallback: GhosttyColor): GhosttyColor { + this.runtime.bytes(this.scratch, 3).fill(0); + const result = this.runtime.call( + "ghostty_render_state_row_cells_get", + iterator, + data, + this.scratch, + ); + return result === GHOSTTY_SUCCESS ? this.readColor(this.scratch) : fallback; + } + + private readColor(pointer: number): GhosttyColor { + const bytes = this.runtime.bytes(pointer, 3); + return { r: bytes[0] ?? 0, g: bytes[1] ?? 0, b: bytes[2] ?? 0 }; + } + + private emptyCell(foreground: GhosttyColor, background: GhosttyColor): GhosttyCell { + return { + text: "", + foreground, + background, + bold: false, + italic: false, + invisible: false, + strikethrough: false, + overline: false, + underline: false, + selected: false, + }; + } + + private assertSuccess(operation: string, result: number): void { + if (result !== GHOSTTY_SUCCESS) throw new Error(`${operation} failed with result ${result}`); + } + + private ensureActive(): void { + if (this.disposed) throw new Error("libghostty-vt terminal has been disposed"); + } +} + +export function ghosttyColorsEqual(left: GhosttyColor, right: GhosttyColor): boolean { + return sameColor(left, right); +} diff --git a/apps/web/src/terminal/ghostty/keyCodes.ts b/apps/web/src/terminal/ghostty/keyCodes.ts new file mode 100644 index 00000000000..94a3f490253 --- /dev/null +++ b/apps/web/src/terminal/ghostty/keyCodes.ts @@ -0,0 +1,158 @@ +// This order mirrors GhosttyKey in ghostty/vt/key/event.h. The values are +// intentionally derived from the official W3C-aligned enum instead of +// maintaining a second keyboard protocol. +const ghosttyKeyboardCodes = [ + "Unidentified", + "Backquote", + "Backslash", + "BracketLeft", + "BracketRight", + "Comma", + "Digit0", + "Digit1", + "Digit2", + "Digit3", + "Digit4", + "Digit5", + "Digit6", + "Digit7", + "Digit8", + "Digit9", + "Equal", + "IntlBackslash", + "IntlRo", + "IntlYen", + "KeyA", + "KeyB", + "KeyC", + "KeyD", + "KeyE", + "KeyF", + "KeyG", + "KeyH", + "KeyI", + "KeyJ", + "KeyK", + "KeyL", + "KeyM", + "KeyN", + "KeyO", + "KeyP", + "KeyQ", + "KeyR", + "KeyS", + "KeyT", + "KeyU", + "KeyV", + "KeyW", + "KeyX", + "KeyY", + "KeyZ", + "Minus", + "Period", + "Quote", + "Semicolon", + "Slash", + "AltLeft", + "AltRight", + "Backspace", + "CapsLock", + "ContextMenu", + "ControlLeft", + "ControlRight", + "Enter", + "MetaLeft", + "MetaRight", + "ShiftLeft", + "ShiftRight", + "Space", + "Tab", + "Convert", + "KanaMode", + "NonConvert", + "Delete", + "End", + "Help", + "Home", + "Insert", + "PageDown", + "PageUp", + "ArrowDown", + "ArrowLeft", + "ArrowRight", + "ArrowUp", + "NumLock", + "Numpad0", + "Numpad1", + "Numpad2", + "Numpad3", + "Numpad4", + "Numpad5", + "Numpad6", + "Numpad7", + "Numpad8", + "Numpad9", + "NumpadAdd", + "NumpadBackspace", + "NumpadClear", + "NumpadClearEntry", + "NumpadComma", + "NumpadDecimal", + "NumpadDivide", + "NumpadEnter", + "NumpadEqual", + "NumpadMemoryAdd", + "NumpadMemoryClear", + "NumpadMemoryRecall", + "NumpadMemoryStore", + "NumpadMemorySubtract", + "NumpadMultiply", + "NumpadParenLeft", + "NumpadParenRight", + "NumpadSubtract", + "NumpadSeparator", + "NumpadArrowUp", + "NumpadArrowDown", + "NumpadArrowRight", + "NumpadArrowLeft", + "NumpadBegin", + "NumpadHome", + "NumpadEnd", + "NumpadInsert", + "NumpadDelete", + "NumpadPageUp", + "NumpadPageDown", + "Escape", + "F1", + "F2", + "F3", + "F4", + "F5", + "F6", + "F7", + "F8", + "F9", + "F10", + "F11", + "F12", + "F13", + "F14", + "F15", + "F16", + "F17", + "F18", + "F19", + "F20", + "F21", + "F22", + "F23", + "F24", +] as const; + +const codeToGhosttyKey = new Map( + ghosttyKeyboardCodes.map((code, index) => [code, index]), +); + +export function ghosttyKeyForCode(code: string): number { + return codeToGhosttyKey.get(code) ?? 0; +} diff --git a/apps/web/src/terminal/ghostty/renderer.test.ts b/apps/web/src/terminal/ghostty/renderer.test.ts new file mode 100644 index 00000000000..36c5d96eb8c --- /dev/null +++ b/apps/web/src/terminal/ghostty/renderer.test.ts @@ -0,0 +1,19 @@ +import { describe, expect, it } from "vite-plus/test"; + +import { terminalGridSize } from "./renderer"; + +describe("terminalGridSize", () => { + it("matches the mobile renderer's cell-and-padding sizing model", () => { + expect(terminalGridSize(808, 408, { width: 10, height: 20, baseline: 15 }, 4)).toEqual({ + cols: 80, + rows: 20, + }); + }); + + it("never sends an invalid zero-sized terminal to libghostty", () => { + expect(terminalGridSize(0, 0, { width: 10, height: 20, baseline: 15 }, 4)).toEqual({ + cols: 1, + rows: 1, + }); + }); +}); diff --git a/apps/web/src/terminal/ghostty/renderer.ts b/apps/web/src/terminal/ghostty/renderer.ts new file mode 100644 index 00000000000..fe188f51ec8 --- /dev/null +++ b/apps/web/src/terminal/ghostty/renderer.ts @@ -0,0 +1,188 @@ +import { + ghosttyColorsEqual, + type GhosttyCell, + type GhosttyColor, + type GhosttySnapshot, +} from "./core"; + +export interface GhosttyCellMetrics { + readonly width: number; + readonly height: number; + readonly baseline: number; +} + +const SELECTION_BACKGROUND = "rgba(72, 122, 191, 0.72)"; +const SELECTION_FOREGROUND = "rgb(255, 255, 255)"; + +function cssColor(color: GhosttyColor): string { + return `rgb(${color.r}, ${color.g}, ${color.b})`; +} + +function sameTextStyle(left: GhosttyCell, right: GhosttyCell): boolean { + return ( + ghosttyColorsEqual(left.foreground, right.foreground) && + left.bold === right.bold && + left.italic === right.italic && + left.invisible === right.invisible && + left.selected === right.selected + ); +} + +function fontForCell(cell: GhosttyCell, fontSize: number, fontFamily: string): string { + const style = cell.italic ? "italic" : "normal"; + const weight = cell.bold ? "700" : "400"; + return `${style} ${weight} ${fontSize}px ${fontFamily}`; +} + +export function measureGhosttyCell( + context: CanvasRenderingContext2D, + fontSize: number, + fontFamily: string, +): GhosttyCellMetrics { + context.font = `normal 400 ${fontSize}px ${fontFamily}`; + const measurement = context.measureText("M"); + const glyphHeight = + measurement.actualBoundingBoxAscent + measurement.actualBoundingBoxDescent || fontSize; + const height = Math.max(1, Math.ceil(glyphHeight * 1.12)); + return { + width: Math.max(1, Math.ceil(measurement.width)), + height, + baseline: Math.ceil((height - glyphHeight) / 2 + measurement.actualBoundingBoxAscent), + }; +} + +export function terminalGridSize( + width: number, + height: number, + metrics: GhosttyCellMetrics, + padding: number, +): { cols: number; rows: number } { + return { + cols: Math.max(1, Math.floor((width - padding * 2) / metrics.width)), + rows: Math.max(1, Math.floor((height - padding * 2) / metrics.height)), + }; +} + +export function renderGhosttySnapshot(options: { + readonly context: CanvasRenderingContext2D; + readonly snapshot: GhosttySnapshot; + readonly metrics: GhosttyCellMetrics; + readonly fontSize: number; + readonly fontFamily: string; + readonly padding: number; + readonly forceFull: boolean; + readonly cursorOn: boolean; +}): void { + const { context, snapshot, metrics, fontSize, fontFamily, padding, forceFull, cursorOn } = + options; + const rowsToDraw = forceFull + ? Array.from({ length: snapshot.rows }, (_, index) => index) + : [...snapshot.dirtyRows]; + if (snapshot.cursorVisible && snapshot.cursorY >= 0 && !rowsToDraw.includes(snapshot.cursorY)) { + rowsToDraw.push(snapshot.cursorY); + } + + context.textBaseline = "alphabetic"; + for (const rowIndex of rowsToDraw) { + const row = snapshot.rowData[rowIndex]; + if (!row) continue; + const top = padding + rowIndex * metrics.height; + + context.fillStyle = cssColor(snapshot.background); + context.fillRect(padding, top, snapshot.cols * metrics.width, metrics.height); + + let backgroundStart = 0; + while (backgroundStart < row.cells.length) { + const first = row.cells[backgroundStart]; + if (!first) break; + let backgroundEnd = backgroundStart + 1; + while (backgroundEnd < row.cells.length) { + const next = row.cells[backgroundEnd]; + if ( + !next || + next.selected !== first.selected || + !ghosttyColorsEqual(next.background, first.background) + ) { + break; + } + backgroundEnd += 1; + } + if (first.selected || !ghosttyColorsEqual(first.background, snapshot.background)) { + context.fillStyle = first.selected ? SELECTION_BACKGROUND : cssColor(first.background); + context.fillRect( + padding + backgroundStart * metrics.width, + top, + (backgroundEnd - backgroundStart) * metrics.width, + metrics.height, + ); + } + backgroundStart = backgroundEnd; + } + + let runStart = 0; + while (runStart < row.cells.length) { + const first = row.cells[runStart]; + if (!first) break; + let runEnd = runStart + 1; + while (runEnd < row.cells.length) { + const next = row.cells[runEnd]; + if (!next || !sameTextStyle(next, first)) break; + runEnd += 1; + } + const text = row.cells + .slice(runStart, runEnd) + .map((cell) => cell.text || " ") + .join(""); + if (!first.invisible && text.trim().length > 0) { + context.save(); + context.beginPath(); + context.rect( + padding + runStart * metrics.width, + top, + (runEnd - runStart) * metrics.width, + metrics.height, + ); + context.clip(); + context.font = fontForCell(first, fontSize, fontFamily); + context.fillStyle = first.selected ? SELECTION_FOREGROUND : cssColor(first.foreground); + context.fillText(text, padding + runStart * metrics.width, top + metrics.baseline); + context.restore(); + } + runStart = runEnd; + } + + for (let column = 0; column < row.cells.length; column += 1) { + const cell = row.cells[column]; + if (!cell || (!cell.underline && !cell.strikethrough && !cell.overline)) continue; + context.fillStyle = cell.selected ? SELECTION_FOREGROUND : cssColor(cell.foreground); + const left = padding + column * metrics.width; + if (cell.underline) context.fillRect(left, top + metrics.height - 2, metrics.width, 1); + if (cell.strikethrough) { + context.fillRect(left, top + Math.floor(metrics.height * 0.55), metrics.width, 1); + } + if (cell.overline) context.fillRect(left, top + 1, metrics.width, 1); + } + } + + if (cursorOn && snapshot.cursorVisible && snapshot.cursorX >= 0 && snapshot.cursorY >= 0) { + const left = padding + snapshot.cursorX * metrics.width; + const top = padding + snapshot.cursorY * metrics.height; + context.fillStyle = cssColor(snapshot.cursor); + if (snapshot.cursorStyle === 0) { + context.fillRect(left, top, 2, metrics.height); + } else if (snapshot.cursorStyle === 2) { + context.fillRect(left, top + metrics.height - 2, metrics.width, 2); + } else if (snapshot.cursorStyle === 3) { + context.strokeStyle = cssColor(snapshot.cursor); + context.strokeRect(left + 0.5, top + 0.5, metrics.width - 1, metrics.height - 1); + } else { + context.fillRect(left, top, metrics.width, metrics.height); + const cell = snapshot.rowData[snapshot.cursorY]?.cells[snapshot.cursorX]; + if (cell?.text) { + context.font = fontForCell(cell, fontSize, fontFamily); + context.fillStyle = cssColor(snapshot.background); + context.fillText(cell.text, left, top + metrics.baseline); + } + } + } +} diff --git a/apps/web/src/terminal/ghostty/runtime.ts b/apps/web/src/terminal/ghostty/runtime.ts new file mode 100644 index 00000000000..583592495cb --- /dev/null +++ b/apps/web/src/terminal/ghostty/runtime.ts @@ -0,0 +1,214 @@ +import ghosttyWasmUrl from "./vendor/ghostty-vt.wasm?url"; +import ghosttyWritePtyWasmUrl from "./vendor/ghostty-write-pty.wasm?url&no-inline"; + +type WasmFunction = (...args: number[]) => number; + +interface TypeField { + readonly offset: number; + readonly size: number; + readonly type: string; +} + +interface TypeLayout { + readonly size: number; + readonly align: number; + readonly fields: Readonly>; +} + +type TypeLayouts = Readonly>; + +const textDecoder = new TextDecoder(); + +export class GhosttyRuntime { + readonly memory: WebAssembly.Memory; + readonly layouts: TypeLayouts; + private readonly exports: WebAssembly.Exports; + private readonly ptyWriters = new Map void>(); + private nextPtyWriterId = 1; + private writePtyFunctionIndex = 0; + + private constructor(instance: WebAssembly.Instance) { + this.exports = instance.exports; + const memory = instance.exports.memory; + if (!(memory instanceof WebAssembly.Memory)) { + throw new Error("libghostty-vt did not export WebAssembly memory"); + } + this.memory = memory; + const jsonPointer = this.call("ghostty_type_json"); + const bytes = new Uint8Array(memory.buffer); + let end = jsonPointer; + while (end < bytes.length && bytes[end] !== 0) end += 1; + this.layouts = JSON.parse(textDecoder.decode(bytes.subarray(jsonPointer, end))) as TypeLayouts; + } + + static async load(): Promise { + const response = await fetch(ghosttyWasmUrl); + if (!response.ok) { + throw new Error(`Unable to load libghostty-vt (${response.status})`); + } + let instance: WebAssembly.Instance | undefined; + const imports = { + env: { + log: (pointer: number, length: number) => { + if (!instance) return; + const memory = instance.exports.memory; + if (!(memory instanceof WebAssembly.Memory)) return; + const message = textDecoder.decode(new Uint8Array(memory.buffer, pointer, length)); + console.debug("[libghostty-vt]", message); + }, + }, + }; + const result = await WebAssembly.instantiate(await response.arrayBuffer(), imports); + instance = result.instance; + const runtime = new GhosttyRuntime(result.instance); + await runtime.installWritePtyTrampoline(); + return runtime; + } + + call(name: string, ...args: number[]): number { + const fn = this.exports[name]; + if (typeof fn !== "function") { + throw new Error(`libghostty-vt export is unavailable: ${name}`); + } + return (fn as WasmFunction)(...args); + } + + layout(name: string): TypeLayout { + const layout = this.layouts[name]; + if (!layout) throw new Error(`libghostty-vt type layout is unavailable: ${name}`); + return layout; + } + + alloc(size: number): number { + const pointer = this.call("ghostty_wasm_alloc_u8_array", size); + if (pointer === 0) throw new Error(`libghostty-vt failed to allocate ${size} bytes`); + new Uint8Array(this.memory.buffer, pointer, size).fill(0); + return pointer; + } + + free(pointer: number, size: number): void { + if (pointer !== 0) this.call("ghostty_wasm_free_u8_array", pointer, size); + } + + allocOpaque(): number { + const pointer = this.call("ghostty_wasm_alloc_opaque"); + if (pointer === 0) throw new Error("libghostty-vt failed to allocate an opaque pointer"); + return pointer; + } + + freeOpaque(pointer: number): void { + if (pointer !== 0) this.call("ghostty_wasm_free_opaque", pointer); + } + + readPointer(slot: number): number { + return new DataView(this.memory.buffer).getUint32(slot, true); + } + + attachPtyWriter(terminal: number, writer: (data: string) => void): number { + if (this.writePtyFunctionIndex === 0) { + throw new Error("libghostty-vt PTY callback trampoline is unavailable"); + } + const id = this.nextPtyWriterId++; + this.ptyWriters.set(id, writer); + this.call("ghostty_terminal_set", terminal, 0, id); + this.call("ghostty_terminal_set", terminal, 1, this.writePtyFunctionIndex); + return id; + } + + detachPtyWriter(terminal: number, id: number): void { + this.call("ghostty_terminal_set", terminal, 1, 0); + this.call("ghostty_terminal_set", terminal, 0, 0); + this.ptyWriters.delete(id); + } + + view(pointer: number, size?: number): DataView { + return new DataView(this.memory.buffer, pointer, size); + } + + bytes(pointer: number, size: number): Uint8Array { + return new Uint8Array(this.memory.buffer, pointer, size); + } + + setField(pointer: number, structName: string, fieldName: string, value: number): void { + const field = this.layout(structName).fields[fieldName]; + if (!field) throw new Error(`libghostty-vt field is unavailable: ${structName}.${fieldName}`); + const view = this.view(pointer + field.offset, field.size); + switch (field.type) { + case "bool": + case "u8": + view.setUint8(0, value); + return; + case "u16": + view.setUint16(0, value, true); + return; + case "i32": + view.setInt32(0, value, true); + return; + case "u32": + case "enum": + view.setUint32(0, value, true); + return; + case "u64": + view.setBigUint64(0, BigInt(value), true); + return; + default: + throw new Error(`Unsupported libghostty-vt field type: ${field.type}`); + } + } + + readField(pointer: number, structName: string, fieldName: string): number { + const field = this.layout(structName).fields[fieldName]; + if (!field) throw new Error(`libghostty-vt field is unavailable: ${structName}.${fieldName}`); + const view = this.view(pointer + field.offset, field.size); + switch (field.type) { + case "bool": + case "u8": + return view.getUint8(0); + case "u16": + return view.getUint16(0, true); + case "i32": + return view.getInt32(0, true); + case "u32": + case "enum": + return view.getUint32(0, true); + case "u64": + return Number(view.getBigUint64(0, true)); + default: + throw new Error(`Unsupported libghostty-vt field type: ${field.type}`); + } + } + + private async installWritePtyTrampoline(): Promise { + const response = await fetch(ghosttyWritePtyWasmUrl); + if (!response.ok) { + throw new Error(`Unable to load the libghostty-vt PTY trampoline (${response.status})`); + } + const result = await WebAssembly.instantiate(await response.arrayBuffer(), { + env: { + t3_write_pty: (_terminal: number, userdata: number, pointer: number, length: number) => { + const writer = this.ptyWriters.get(userdata); + if (!writer || length === 0) return; + writer(textDecoder.decode(new Uint8Array(this.memory.buffer, pointer, length))); + }, + }, + }); + const trampoline = result.instance.exports.ghostty_write_pty; + const table = this.exports.__indirect_function_table; + if (typeof trampoline !== "function" || !(table instanceof WebAssembly.Table)) { + throw new Error("libghostty-vt did not expose its callback table"); + } + const index = table.length; + table.grow(1, trampoline); + this.writePtyFunctionIndex = index; + } +} + +let runtimePromise: Promise | null = null; + +export function loadGhosttyRuntime(): Promise { + runtimePromise ??= GhosttyRuntime.load().catch((error) => { + runtimePromise = null; + throw error; + }); + return runtimePromise; +} diff --git a/apps/web/src/terminal/ghostty/runtimeAbi.test.ts b/apps/web/src/terminal/ghostty/runtimeAbi.test.ts new file mode 100644 index 00000000000..f86083d553d --- /dev/null +++ b/apps/web/src/terminal/ghostty/runtimeAbi.test.ts @@ -0,0 +1,114 @@ +import { describe, expect, it } from "vite-plus/test"; + +import wasmDataUrl from "./vendor/ghostty-vt.wasm?inline"; +import writePtyWasmDataUrl from "./vendor/ghostty-write-pty.wasm?inline"; +import webVersion from "./vendor/VERSION?raw"; +import mobileVersion from "../../../../mobile/modules/t3-terminal/Vendor/libghostty-vt/VERSION?raw"; + +type WasmFunction = (...args: number[]) => number; + +function decodeWasmDataUrl(dataUrl: string): Uint8Array { + const encoded = dataUrl.split(",", 2)[1]; + if (!encoded) throw new Error("The vendored Ghostty WASM data URL is invalid"); + return Uint8Array.from(atob(encoded), (character) => character.charCodeAt(0)); +} + +describe("vendored libghostty-vt WebAssembly", () => { + it("stays pinned to mobile's canonical revision and size budget", () => { + const wasm = decodeWasmDataUrl(wasmDataUrl); + expect(webVersion.trim()).toBe(mobileVersion.trim()); + expect(wasm.byteLength).toBeLessThan(750_000); + }); + + it("creates, writes multi-codepoint graphemes, and frees repeated terminals", async () => { + const bytes = decodeWasmDataUrl(wasmDataUrl); + let memory: WebAssembly.Memory | null = null; + const instantiated = await WebAssembly.instantiate(bytes.buffer as ArrayBuffer, { + env: { + log: () => {}, + }, + }); + const instance = + instantiated instanceof WebAssembly.Instance ? instantiated : instantiated.instance; + const exports = instance.exports; + memory = exports.memory as WebAssembly.Memory; + const call = (name: string, ...args: number[]) => (exports[name] as WasmFunction)(...args); + const jsonPointer = call("ghostty_type_json"); + const jsonBytes = new Uint8Array(memory.buffer, jsonPointer); + const jsonEnd = jsonBytes.indexOf(0); + const layouts = JSON.parse(new TextDecoder().decode(jsonBytes.subarray(0, jsonEnd))) as Record< + string, + { size: number } + >; + const optionsSize = layouts.GhosttyTerminalOptions?.size; + expect(optionsSize).toBe(8); + if (optionsSize === undefined) throw new Error("GhosttyTerminalOptions layout is missing"); + + for (let iteration = 0; iteration < 25; iteration += 1) { + const options = call("ghostty_wasm_alloc_u8_array", optionsSize); + const optionsView = new DataView(memory.buffer, options, optionsSize); + optionsView.setUint16(0, 80, true); + optionsView.setUint16(2, 24, true); + optionsView.setUint32(4, 5_000, true); + const terminalSlot = call("ghostty_wasm_alloc_opaque"); + expect(call("ghostty_terminal_new", 0, terminalSlot, options)).toBe(0); + const terminal = new DataView(memory.buffer).getUint32(terminalSlot, true); + + const input = new TextEncoder().encode("e\u0301 👨‍👩‍👧‍👦 العربية\r\n"); + const inputPointer = call("ghostty_wasm_alloc_u8_array", input.length); + new Uint8Array(memory.buffer, inputPointer, input.length).set(input); + call("ghostty_terminal_vt_write", terminal, inputPointer, input.length); + call("ghostty_wasm_free_u8_array", inputPointer, input.length); + call("ghostty_terminal_free", terminal); + call("ghostty_wasm_free_opaque", terminalSlot); + call("ghostty_wasm_free_u8_array", options, optionsSize); + } + }); + + it("routes terminal-generated replies through the shared callback table", async () => { + const mainResult = await WebAssembly.instantiate( + decodeWasmDataUrl(wasmDataUrl).buffer as ArrayBuffer, + { env: { log: () => {} } }, + ); + const main = mainResult instanceof WebAssembly.Instance ? mainResult : mainResult.instance; + const memory = main.exports.memory as WebAssembly.Memory; + let reply = ""; + const trampolineResult = await WebAssembly.instantiate( + decodeWasmDataUrl(writePtyWasmDataUrl).buffer as ArrayBuffer, + { + env: { + t3_write_pty: (_terminal: number, _userdata: number, pointer: number, length: number) => { + reply += new TextDecoder().decode(new Uint8Array(memory.buffer, pointer, length)); + }, + }, + }, + ); + const trampoline = + trampolineResult instanceof WebAssembly.Instance + ? trampolineResult + : trampolineResult.instance; + const table = main.exports.__indirect_function_table as WebAssembly.Table; + const callbackIndex = table.length; + table.grow(1, trampoline.exports.ghostty_write_pty as CallableFunction); + const call = (name: string, ...args: number[]) => (main.exports[name] as WasmFunction)(...args); + const options = call("ghostty_wasm_alloc_u8_array", 8); + const optionsView = new DataView(memory.buffer, options, 8); + optionsView.setUint16(0, 80, true); + optionsView.setUint16(2, 24, true); + const terminalSlot = call("ghostty_wasm_alloc_opaque"); + expect(call("ghostty_terminal_new", 0, terminalSlot, options)).toBe(0); + const terminal = new DataView(memory.buffer).getUint32(terminalSlot, true); + call("ghostty_terminal_set", terminal, 0, 1); + call("ghostty_terminal_set", terminal, 1, callbackIndex); + const query = new TextEncoder().encode("\u001b[5n"); + const queryPointer = call("ghostty_wasm_alloc_u8_array", query.length); + new Uint8Array(memory.buffer, queryPointer, query.length).set(query); + call("ghostty_terminal_vt_write", terminal, queryPointer, query.length); + + expect(reply).toBe("\u001b[0n"); + call("ghostty_wasm_free_u8_array", queryPointer, query.length); + call("ghostty_terminal_free", terminal); + call("ghostty_wasm_free_opaque", terminalSlot); + call("ghostty_wasm_free_u8_array", options, 8); + }); +}); diff --git a/apps/web/src/terminal/ghostty/surface.ts b/apps/web/src/terminal/ghostty/surface.ts new file mode 100644 index 00000000000..dc4e99cc4aa --- /dev/null +++ b/apps/web/src/terminal/ghostty/surface.ts @@ -0,0 +1,381 @@ +import { GhosttyTerminalCore, type GhosttySnapshot, type GhosttyTheme } from "./core"; +import { + measureGhosttyCell, + renderGhosttySnapshot, + terminalGridSize, + type GhosttyCellMetrics, +} from "./renderer"; + +const FONT_SIZE = 12; +const FONT_FAMILY = + '"SF Mono", "SFMono-Regular", "JetBrains Mono", Consolas, "Liberation Mono", Menlo, monospace'; +const CONTENT_PADDING = 4; +const linkPattern = + /https?:\/\/[^\s"'<>]+|(?:\.{0,2}\/)?[\w@+.,-]+(?:\/[\w@+.,-]+)+(?::\d+(?::\d+)?)?/gu; + +export interface GhosttySelectionPosition { + readonly start: { readonly x: number; readonly y: number }; + readonly end: { readonly x: number; readonly y: number }; +} + +export interface GhosttyTerminalSurfaceOptions { + readonly theme: GhosttyTheme; + readonly onData: (data: string) => void; + readonly onSelectionChange: () => void; + readonly beforeKey: (event: KeyboardEvent) => boolean; + readonly onLinkActivate: (text: string, event: MouseEvent) => void; +} + +export class GhosttyTerminalSurface { + readonly canvas: HTMLCanvasElement; + readonly input: HTMLTextAreaElement; + cols = 1; + rows = 1; + + private readonly mount: HTMLElement; + private readonly context: CanvasRenderingContext2D; + private readonly core: GhosttyTerminalCore; + private readonly options: GhosttyTerminalSurfaceOptions; + private readonly metrics: GhosttyCellMetrics; + private readonly resizeObserver: ResizeObserver; + private snapshot: GhosttySnapshot | null = null; + private frame = 0; + private cursorTimer: number | null = null; + private cursorOn = true; + private forceFullRender = true; + private disposed = false; + private selectionAnchor: { x: number; y: number } | null = null; + private selectionEnd: { x: number; y: number } | null = null; + private selectionMoved = false; + private composing = false; + + private constructor( + mount: HTMLElement, + canvas: HTMLCanvasElement, + input: HTMLTextAreaElement, + context: CanvasRenderingContext2D, + core: GhosttyTerminalCore, + metrics: GhosttyCellMetrics, + options: GhosttyTerminalSurfaceOptions, + ) { + this.mount = mount; + this.canvas = canvas; + this.input = input; + this.context = context; + this.core = core; + this.metrics = metrics; + this.options = options; + this.resizeObserver = new ResizeObserver(() => this.fit()); + this.installEvents(); + this.resizeObserver.observe(mount); + } + + static async create( + mount: HTMLElement, + options: GhosttyTerminalSurfaceOptions, + ): Promise { + const canvas = document.createElement("canvas"); + canvas.className = "t3-ghostty-canvas"; + canvas.style.cssText = "display:block;width:100%;height:100%;"; + canvas.setAttribute("aria-hidden", "true"); + + const input = document.createElement("textarea"); + input.className = "t3-ghostty-input"; + input.setAttribute("aria-label", "Terminal input"); + input.autocapitalize = "off"; + input.autocomplete = "off"; + input.spellcheck = false; + input.style.cssText = + "position:absolute;left:4px;bottom:4px;width:1px;height:1px;opacity:0;padding:0;border:0;resize:none;"; + mount.replaceChildren(canvas, input); + + const context = canvas.getContext("2d", { alpha: false }); + if (!context) throw new Error("Canvas 2D is unavailable"); + const metrics = measureGhosttyCell(context, FONT_SIZE, FONT_FAMILY); + const grid = terminalGridSize(mount.clientWidth, mount.clientHeight, metrics, CONTENT_PADDING); + const core = await GhosttyTerminalCore.create( + grid.cols, + grid.rows, + metrics.width, + metrics.height, + options.theme, + options.onData, + ); + const surface = new GhosttyTerminalSurface( + mount, + canvas, + input, + context, + core, + metrics, + options, + ); + surface.fit(); + surface.requestRender(); + return surface; + } + + write(data: string): void { + this.core.write(data); + this.requestRender(); + } + + resetAndWrite(data: string): void { + this.core.resetAndWrite(data); + this.forceFullRender = true; + this.requestRender(); + } + + setTheme(theme: GhosttyTheme): void { + this.core.setTheme(theme); + this.forceFullRender = true; + this.requestRender(); + } + + fit(): boolean { + if (this.disposed) return false; + const width = this.mount.clientWidth; + const height = this.mount.clientHeight; + if (width <= 0 || height <= 0) return false; + const ratio = window.devicePixelRatio || 1; + const pixelWidth = Math.max(1, Math.round(width * ratio)); + const pixelHeight = Math.max(1, Math.round(height * ratio)); + if (this.canvas.width !== pixelWidth || this.canvas.height !== pixelHeight) { + this.canvas.width = pixelWidth; + this.canvas.height = pixelHeight; + this.context.setTransform(ratio, 0, 0, ratio, 0, 0); + this.forceFullRender = true; + } + const grid = terminalGridSize(width, height, this.metrics, CONTENT_PADDING); + if (grid.cols !== this.cols || grid.rows !== this.rows) { + this.cols = grid.cols; + this.rows = grid.rows; + this.core.resize(grid.cols, grid.rows, this.metrics.width, this.metrics.height); + this.forceFullRender = true; + this.requestRender(); + } + return true; + } + + focus(): void { + this.input.focus({ preventScroll: true }); + } + + hasSelection(): boolean { + return this.core.selectionText().length > 0; + } + + getSelection(): string { + return this.core.selectionText(); + } + + getSelectionPosition(): GhosttySelectionPosition | null { + if (!this.selectionAnchor || !this.selectionEnd || !this.hasSelection()) return null; + const before = + this.selectionAnchor.y < this.selectionEnd.y || + (this.selectionAnchor.y === this.selectionEnd.y && + this.selectionAnchor.x <= this.selectionEnd.x); + return before + ? { start: this.selectionAnchor, end: this.selectionEnd } + : { start: this.selectionEnd, end: this.selectionAnchor }; + } + + clearSelection(): void { + this.core.clearSelection(); + this.selectionAnchor = null; + this.selectionEnd = null; + this.options.onSelectionChange(); + this.requestRender(); + } + + scrollToBottom(): void { + this.core.scrollToBottom(); + this.forceFullRender = true; + this.requestRender(); + } + + isAtBottom(): boolean { + return this.core.isViewportActive(); + } + + dispose(): void { + if (this.disposed) return; + this.disposed = true; + this.resizeObserver.disconnect(); + if (this.frame !== 0) window.cancelAnimationFrame(this.frame); + if (this.cursorTimer !== null) window.clearTimeout(this.cursorTimer); + this.removeEvents(); + this.core.dispose(); + this.mount.replaceChildren(); + } + + private readonly onKeyDown = (event: KeyboardEvent) => { + if (!this.options.beforeKey(event)) return; + if ((event.metaKey || event.ctrlKey) && event.code === "KeyC" && this.hasSelection()) { + event.preventDefault(); + void navigator.clipboard.writeText(this.getSelection()); + return; + } + if (event.isComposing || this.composing || event.key === "Process") return; + const data = this.core.encodeKey(event); + if (data.length === 0) return; + event.preventDefault(); + event.stopPropagation(); + this.options.onData(data); + }; + + private readonly onPaste = (event: ClipboardEvent) => { + const data = event.clipboardData?.getData("text/plain") ?? ""; + if (data.length === 0) return; + event.preventDefault(); + this.options.onData(this.core.encodePaste(data)); + }; + + private readonly onCompositionStart = () => { + this.composing = true; + }; + + private readonly onCompositionEnd = (event: CompositionEvent) => { + this.composing = false; + if (event.data.length > 0) this.options.onData(event.data); + this.input.value = ""; + }; + + private readonly onPointerDown = (event: PointerEvent) => { + if (event.button !== 0) return; + this.focus(); + const cell = this.cellAt(event.clientX, event.clientY); + this.selectionAnchor = cell; + this.selectionEnd = cell; + this.selectionMoved = false; + this.core.setSelection(cell.x, cell.y, cell.x, cell.y); + this.canvas.setPointerCapture(event.pointerId); + this.requestRender(); + }; + + private readonly onPointerMove = (event: PointerEvent) => { + if (!this.selectionAnchor || !this.canvas.hasPointerCapture(event.pointerId)) return; + const cell = this.cellAt(event.clientX, event.clientY); + if (cell.x === this.selectionEnd?.x && cell.y === this.selectionEnd.y) return; + this.selectionMoved = true; + this.selectionEnd = cell; + this.core.setSelection(this.selectionAnchor.x, this.selectionAnchor.y, cell.x, cell.y); + this.options.onSelectionChange(); + this.requestRender(); + }; + + private readonly onPointerUp = (event: PointerEvent) => { + if (this.canvas.hasPointerCapture(event.pointerId)) { + this.canvas.releasePointerCapture(event.pointerId); + } + if (!this.selectionMoved && (event.metaKey || event.ctrlKey)) { + const link = this.linkAt(event.clientX, event.clientY); + if (link) this.options.onLinkActivate(link, event); + } else if (!this.selectionMoved) { + this.clearSelection(); + } + this.options.onSelectionChange(); + }; + + private readonly onWheel = (event: WheelEvent) => { + if (event.deltaY === 0) return; + event.preventDefault(); + const rows = Math.max(1, Math.round(Math.abs(event.deltaY) / this.metrics.height)); + this.core.scroll(event.deltaY < 0 ? -rows : rows); + this.forceFullRender = true; + this.requestRender(); + }; + + private readonly onMouseDown = () => { + this.focus(); + }; + + private installEvents(): void { + this.input.addEventListener("keydown", this.onKeyDown); + this.input.addEventListener("paste", this.onPaste); + this.input.addEventListener("compositionstart", this.onCompositionStart); + this.input.addEventListener("compositionend", this.onCompositionEnd); + this.canvas.addEventListener("pointerdown", this.onPointerDown); + this.canvas.addEventListener("pointermove", this.onPointerMove); + this.canvas.addEventListener("pointerup", this.onPointerUp); + this.canvas.addEventListener("pointercancel", this.onPointerUp); + this.canvas.addEventListener("wheel", this.onWheel, { passive: false }); + this.canvas.addEventListener("mousedown", this.onMouseDown); + } + + private removeEvents(): void { + this.input.removeEventListener("keydown", this.onKeyDown); + this.input.removeEventListener("paste", this.onPaste); + this.input.removeEventListener("compositionstart", this.onCompositionStart); + this.input.removeEventListener("compositionend", this.onCompositionEnd); + this.canvas.removeEventListener("pointerdown", this.onPointerDown); + this.canvas.removeEventListener("pointermove", this.onPointerMove); + this.canvas.removeEventListener("pointerup", this.onPointerUp); + this.canvas.removeEventListener("pointercancel", this.onPointerUp); + this.canvas.removeEventListener("wheel", this.onWheel); + this.canvas.removeEventListener("mousedown", this.onMouseDown); + } + + private requestRender(): void { + if (this.disposed || this.frame !== 0) return; + this.frame = window.requestAnimationFrame(() => { + this.frame = 0; + this.snapshot = this.core.snapshot(); + renderGhosttySnapshot({ + context: this.context, + snapshot: this.snapshot, + metrics: this.metrics, + fontSize: FONT_SIZE, + fontFamily: FONT_FAMILY, + padding: CONTENT_PADDING, + forceFull: this.forceFullRender, + cursorOn: this.cursorOn, + }); + this.forceFullRender = false; + this.scheduleCursorBlink(); + }); + } + + private scheduleCursorBlink(): void { + if (this.cursorTimer !== null) window.clearTimeout(this.cursorTimer); + this.cursorTimer = null; + if (!this.snapshot?.cursorBlinking || !this.snapshot.cursorVisible) return; + this.cursorTimer = window.setTimeout(() => { + this.cursorTimer = null; + this.cursorOn = !this.cursorOn; + this.requestRender(); + }, 500); + } + + private cellAt(clientX: number, clientY: number): { x: number; y: number } { + const bounds = this.canvas.getBoundingClientRect(); + return { + x: Math.max( + 0, + Math.min( + this.cols - 1, + Math.floor((clientX - bounds.left - CONTENT_PADDING) / this.metrics.width), + ), + ), + y: Math.max( + 0, + Math.min( + this.rows - 1, + Math.floor((clientY - bounds.top - CONTENT_PADDING) / this.metrics.height), + ), + ), + }; + } + + private linkAt(clientX: number, clientY: number): string | null { + if (!this.snapshot) return null; + const cell = this.cellAt(clientX, clientY); + const text = this.snapshot.rowData[cell.y]?.text ?? ""; + for (const match of text.matchAll(linkPattern)) { + const start = match.index; + const value = match[0]; + if (cell.x >= start && cell.x < start + value.length) return value; + } + return null; + } +} diff --git a/apps/web/src/terminal/ghostty/vendor/LICENSE b/apps/web/src/terminal/ghostty/vendor/LICENSE new file mode 100644 index 00000000000..0a07a66cd1a --- /dev/null +++ b/apps/web/src/terminal/ghostty/vendor/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Mitchell Hashimoto, Ghostty contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/apps/web/src/terminal/ghostty/vendor/VERSION b/apps/web/src/terminal/ghostty/vendor/VERSION new file mode 100644 index 00000000000..aa5d5e7421e --- /dev/null +++ b/apps/web/src/terminal/ghostty/vendor/VERSION @@ -0,0 +1 @@ +9f62873bf195e4d8a762d768a1405a5f2f7b1697 diff --git a/apps/web/src/terminal/ghostty/vendor/ghostty-vt.wasm b/apps/web/src/terminal/ghostty/vendor/ghostty-vt.wasm new file mode 100644 index 0000000000000000000000000000000000000000..efbc50c6a46b46a70569c6bf734ccfbf7cd29f8e GIT binary patch literal 630921 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℞0I@`qMaL7b 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 CEg8fB literal 0 HcmV?d00001 diff --git a/apps/web/vite.config.ts b/apps/web/vite.config.ts index e1d590ecdf2..24d76c2d9f3 100644 --- a/apps/web/vite.config.ts +++ b/apps/web/vite.config.ts @@ -126,6 +126,7 @@ const allowedHosts = [".ts.net", ...configuredAllowedHosts]; export default defineConfig(() => { return { + assetsInclude: ["**/*.wasm"], plugins: [ tanstackRouter(), react(), diff --git a/docs/architecture/terminal-renderers.md b/docs/architecture/terminal-renderers.md new file mode 100644 index 00000000000..a9b6e5dd5f6 --- /dev/null +++ b/docs/architecture/terminal-renderers.md @@ -0,0 +1,35 @@ +# Terminal renderers + +Terminal sessions remain server-owned PTYs. Clients receive the existing raw byte stream and send +input and resize events over the existing terminal contracts; renderer choices never cross the +wire. + +## Ghostty alignment + +Android and web use the official `libghostty-vt` C ABI for parsing, terminal state, grapheme +boundaries, keyboard encoding, selection, and scrollback: + +- Android links the native shared library and converts render state into a compact JNI snapshot. +- Web loads a separately cached WebAssembly build and reads render state into a Canvas 2D surface. +- Both artifacts are built from the revision in + `apps/mobile/modules/t3-terminal/Vendor/libghostty-vt/VERSION`. + +The platform adapters deliberately own only platform behavior. Android owns its Kotlin Canvas and +touch integration. Web owns browser font shaping, the hidden IME textarea, clipboard and DOM input, +and its Canvas renderer. React does not participate in terminal frames. + +The web runtime is singleton-scoped per browser tab so split terminals share one compiled module +and memory. Each visible terminal owns and frees its own terminal, render state, row iterator, cell +iterator, key encoder, and key event handles. + +## Updating Ghostty + +Update and rebuild Android first, because mobile's `VERSION` file is canonical. Then run: + +```sh +pnpm --dir apps/web build:ghostty-wasm +``` + +Commit the web `wasm`, `VERSION`, and `LICENSE` together. The focused web ABI test verifies that the +pins match, enforces the artifact budget, and exercises repeated create/write/free cycles with +multi-codepoint graphemes. diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c46d2c6a4dc..231521b809e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -570,12 +570,6 @@ importers: '@tanstack/react-router': specifier: ^1.160.2 version: 1.170.10(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@xterm/addon-fit': - specifier: ^0.11.0 - version: 0.11.0 - '@xterm/xterm': - specifier: ^6.0.0 - version: 6.0.0 class-variance-authority: specifier: ^0.7.1 version: 0.7.1 @@ -5144,12 +5138,6 @@ packages: resolution: {integrity: sha512-A9gOqLdi6cV4ibazAjcQufGj0B1y/vDqYrcuP6d/6x8P27gRS8643Dj9o1dEKtB6O7fwxb2FgBmJS2mX7gpvdw==} engines: {node: '>=14.6'} - '@xterm/addon-fit@0.11.0': - resolution: {integrity: sha512-jYcgT6xtVYhnhgxh3QgYDnnNMYTcf8ElbxxFzX0IZo+vabQqSPAjC3c1wJrKB5E19VwQei89QCiZZP86DCPF7g==} - - '@xterm/xterm@6.0.0': - resolution: {integrity: sha512-TQwDdQGtwwDt+2cgKDLn0IRaSxYu1tSUjgKarSDkUM0ZNiSRXFpjxEsvc/Zgc5kq5omJ+V0a8/kIM2WD3sMOYg==} - '@yuuang/ffi-rs-android-arm64@1.3.2': resolution: {integrity: sha512-eDYLT0kVBkp7e2BwdRDmt6N1rkeDPUHDefk3ZX0/nok+GLsqfy1WBoSL3Yg7HVXN1EyW8OBVc2uK8Zq8HbmaSA==} engines: {node: '>= 12'} @@ -15271,10 +15259,6 @@ snapshots: '@xmldom/xmldom@0.9.10': {} - '@xterm/addon-fit@0.11.0': {} - - '@xterm/xterm@6.0.0': {} - '@yuuang/ffi-rs-android-arm64@1.3.2': optional: true From c4cb76110423cc523129f6f987d4d63ee1a71dc8 Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Wed, 29 Jul 2026 20:14:34 +0200 Subject: [PATCH 02/51] fix(web): harden Ghostty terminal interactions --- .../src/components/ThreadTerminalDrawer.tsx | 21 ++--- apps/web/src/terminal/ghostty/core.ts | 78 ++++++++++++++++--- .../web/src/terminal/ghostty/keyCodes.test.ts | 12 +++ apps/web/src/terminal/ghostty/keyCodes.ts | 31 ++++++++ apps/web/src/terminal/ghostty/renderer.ts | 8 +- .../src/terminal/ghostty/runtimeAbi.test.ts | 60 ++++++++++++++ apps/web/src/terminal/ghostty/surface.test.ts | 38 +++++++++ apps/web/src/terminal/ghostty/surface.ts | 43 +++++++--- 8 files changed, 260 insertions(+), 31 deletions(-) create mode 100644 apps/web/src/terminal/ghostty/keyCodes.test.ts create mode 100644 apps/web/src/terminal/ghostty/surface.test.ts diff --git a/apps/web/src/components/ThreadTerminalDrawer.tsx b/apps/web/src/components/ThreadTerminalDrawer.tsx index f7b07720cc7..33a319d1532 100644 --- a/apps/web/src/components/ThreadTerminalDrawer.tsx +++ b/apps/web/src/components/ThreadTerminalDrawer.tsx @@ -328,6 +328,13 @@ export function TerminalViewport({ status: terminalStatus, version: terminalVersion, }); + const latestSessionRef = useRef(previousSessionRef.current); + latestSessionRef.current = { + buffer: terminalBuffer, + error: terminalError, + status: terminalStatus, + version: terminalVersion, + }; useEffect(() => { keybindingsRef.current = keybindings; @@ -345,6 +352,7 @@ export function TerminalViewport({ const terminalOptions: GhosttyTerminalSurfaceOptions = { theme: terminalThemeFromApp(mount), onData: (data) => handleData(data), + onResize: (cols, rows) => void resizeTerminal(cols, rows), onSelectionChange: () => handleSelectionChange(), beforeKey: (event) => handleBeforeKey(event), onLinkActivate: (text, event) => handleLinkActivate(text, event), @@ -355,14 +363,10 @@ export function TerminalViewport({ return null; } terminalRef.current = terminal; - previousSessionRef.current = { - buffer: terminalBuffer, - status: terminalStatus, - error: terminalError, - version: terminalVersion, - }; - if (terminalBuffer.length > 0) terminal.write(terminalBuffer); - if (terminalError !== null) writeSystemMessage(terminal, terminalError); + const latestSession = latestSessionRef.current; + previousSessionRef.current = latestSession; + if (latestSession.buffer.length > 0) terminal.write(latestSession.buffer); + if (latestSession.error !== null) writeSystemMessage(terminal, latestSession.error); if (autoFocus) window.requestAnimationFrame(() => terminal.focus()); const clearSelectionAction = () => { @@ -661,7 +665,6 @@ export function TerminalViewport({ }; // autoFocus is intentionally omitted; // it is only read at mount time and must not trigger terminal teardown/recreation. - // eslint-disable-next-line react-hooks/exhaustive-deps }, [cwd, environmentId, runtimeEnvKey, terminalId, threadId, worktreePath]); useEffect(() => { diff --git a/apps/web/src/terminal/ghostty/core.ts b/apps/web/src/terminal/ghostty/core.ts index 30ca72a6dfc..2de72e98c99 100644 --- a/apps/web/src/terminal/ghostty/core.ts +++ b/apps/web/src/terminal/ghostty/core.ts @@ -2,7 +2,11 @@ import { ghosttyKeyForCode } from "./keyCodes"; import { GhosttyRuntime, loadGhosttyRuntime } from "./runtime"; const GHOSTTY_SUCCESS = 0; +const GHOSTTY_OUT_OF_SPACE = -3; const MAX_SCROLLBACK_ROWS = 10_000; +// wasm32 C ABI layout for GhosttyTerminalSelectionFormatOptions at the +// libghostty-vt revision pinned alongside this module. +const SELECTION_FORMAT_OPTIONS_SIZE = 16; const RENDER_DATA = { cols: 1, @@ -345,8 +349,9 @@ export class GhosttyTerminalCore { outputSize, written, ); + const outputLength = this.runtime.view(written, 4).getUint32(0, true); const encoded = - result === GHOSTTY_SUCCESS ? decoder.decode(this.runtime.bytes(output, outputSize)) : ""; + result === GHOSTTY_SUCCESS ? decoder.decode(this.runtime.bytes(output, outputLength)) : ""; this.runtime.call("ghostty_wasm_free_usize", written); this.runtime.free(output, Math.max(1, outputSize)); this.runtime.free(inputPointer, input.length); @@ -464,15 +469,68 @@ export class GhosttyTerminalCore { } selectionText(): string { - const selectedLines = this.rows - .map((row) => - row.cells - .map((cell) => (cell.selected ? cell.text || " " : "")) - .join("") - .replace(/\s+$/u, ""), - ) - .filter((line) => line.length > 0); - return selectedLines.join("\n"); + this.ensureActive(); + const options = this.runtime.alloc(SELECTION_FORMAT_OPTIONS_SIZE); + const optionsView = this.runtime.view(options, SELECTION_FORMAT_OPTIONS_SIZE); + optionsView.setUint32(0, SELECTION_FORMAT_OPTIONS_SIZE, true); + optionsView.setUint32(4, 0, true); + optionsView.setUint8(8, 1); + optionsView.setUint8(9, 1); + optionsView.setUint32(12, 0, true); + const written = this.runtime.call("ghostty_wasm_alloc_usize"); + const sizeResult = this.runtime.call( + "ghostty_terminal_selection_format_buf", + this.terminal, + options, + 0, + 0, + written, + ); + const outputSize = this.runtime.view(written, 4).getUint32(0, true); + let text = ""; + if (sizeResult === GHOSTTY_OUT_OF_SPACE && outputSize > 0) { + const output = this.runtime.alloc(outputSize); + const result = this.runtime.call( + "ghostty_terminal_selection_format_buf", + this.terminal, + options, + output, + outputSize, + written, + ); + const outputLength = this.runtime.view(written, 4).getUint32(0, true); + if (result === GHOSTTY_SUCCESS) { + text = decoder.decode(this.runtime.bytes(output, outputLength)); + } + this.runtime.free(output, outputSize); + } + this.runtime.call("ghostty_wasm_free_usize", written); + this.runtime.free(options, SELECTION_FORMAT_OPTIONS_SIZE); + return text; + } + + viewportPointToScreen(col: number, row: number): { x: number; y: number } | null { + this.ensureActive(); + const ref = this.gridRef(col, row); + const coordinateLayout = this.runtime.layout("GhosttyPointCoordinate"); + const coordinate = this.runtime.alloc(coordinateLayout.size); + const result = this.runtime.call( + "ghostty_terminal_point_from_grid_ref", + this.terminal, + ref, + 2, + coordinate, + ); + const point = + result === GHOSTTY_SUCCESS + ? { + x: this.runtime.readField(coordinate, "GhosttyPointCoordinate", "x"), + y: this.runtime.readField(coordinate, "GhosttyPointCoordinate", "y"), + } + : null; + this.runtime.free(coordinate, coordinateLayout.size); + this.runtime.free(ref, this.runtime.layout("GhosttyGridRef").size); + return point; } dispose(): void { diff --git a/apps/web/src/terminal/ghostty/keyCodes.test.ts b/apps/web/src/terminal/ghostty/keyCodes.test.ts new file mode 100644 index 00000000000..b9afaad0401 --- /dev/null +++ b/apps/web/src/terminal/ghostty/keyCodes.test.ts @@ -0,0 +1,12 @@ +import { describe, expect, it } from "vite-plus/test"; + +import { ghosttyKeyForCode } from "./keyCodes"; + +describe("ghosttyKeyForCode", () => { + it("keeps the tail of the pinned Ghostty key enum in order", () => { + expect(ghosttyKeyForCode("F25")).toBe(ghosttyKeyForCode("F24") + 1); + expect(ghosttyKeyForCode("PrintScreen")).toBe(ghosttyKeyForCode("FnLock") + 1); + expect(ghosttyKeyForCode("Pause")).toBe(ghosttyKeyForCode("ScrollLock") + 1); + expect(ghosttyKeyForCode("Paste")).toBe(ghosttyKeyForCode("Cut") + 1); + }); +}); diff --git a/apps/web/src/terminal/ghostty/keyCodes.ts b/apps/web/src/terminal/ghostty/keyCodes.ts index 94a3f490253..edb7682edc6 100644 --- a/apps/web/src/terminal/ghostty/keyCodes.ts +++ b/apps/web/src/terminal/ghostty/keyCodes.ts @@ -147,6 +147,37 @@ const ghosttyKeyboardCodes = [ "F22", "F23", "F24", + "F25", + "Fn", + "FnLock", + "PrintScreen", + "ScrollLock", + "Pause", + "BrowserBack", + "BrowserFavorites", + "BrowserForward", + "BrowserHome", + "BrowserRefresh", + "BrowserSearch", + "BrowserStop", + "Eject", + "LaunchApp1", + "LaunchApp2", + "LaunchMail", + "MediaPlayPause", + "MediaSelect", + "MediaStop", + "MediaTrackNext", + "MediaTrackPrevious", + "Power", + "Sleep", + "AudioVolumeDown", + "AudioVolumeMute", + "AudioVolumeUp", + "WakeUp", + "Copy", + "Cut", + "Paste", ] as const; const codeToGhosttyKey = new Map( diff --git a/apps/web/src/terminal/ghostty/renderer.ts b/apps/web/src/terminal/ghostty/renderer.ts index fe188f51ec8..841731ce65f 100644 --- a/apps/web/src/terminal/ghostty/renderer.ts +++ b/apps/web/src/terminal/ghostty/renderer.ts @@ -123,15 +123,19 @@ export function renderGhosttySnapshot(options: { while (runStart < row.cells.length) { const first = row.cells[runStart]; if (!first) break; + if (first.text.length === 0) { + runStart += 1; + continue; + } let runEnd = runStart + 1; while (runEnd < row.cells.length) { const next = row.cells[runEnd]; - if (!next || !sameTextStyle(next, first)) break; + if (!next || next.text.length === 0 || !sameTextStyle(next, first)) break; runEnd += 1; } const text = row.cells .slice(runStart, runEnd) - .map((cell) => cell.text || " ") + .map((cell) => cell.text) .join(""); if (!first.invisible && text.trim().length > 0) { context.save(); diff --git a/apps/web/src/terminal/ghostty/runtimeAbi.test.ts b/apps/web/src/terminal/ghostty/runtimeAbi.test.ts index f86083d553d..9db1cfcc760 100644 --- a/apps/web/src/terminal/ghostty/runtimeAbi.test.ts +++ b/apps/web/src/terminal/ghostty/runtimeAbi.test.ts @@ -111,4 +111,64 @@ describe("vendored libghostty-vt WebAssembly", () => { call("ghostty_wasm_free_opaque", terminalSlot); call("ghostty_wasm_free_u8_array", options, 8); }); + + it("formats the active selection with Ghostty's copy semantics", async () => { + const result = await WebAssembly.instantiate( + decodeWasmDataUrl(wasmDataUrl).buffer as ArrayBuffer, + { env: { log: () => {} } }, + ); + const instance = result instanceof WebAssembly.Instance ? result : result.instance; + const memory = instance.exports.memory as WebAssembly.Memory; + const call = (name: string, ...args: number[]) => + (instance.exports[name] as WasmFunction)(...args); + const options = call("ghostty_wasm_alloc_u8_array", 8); + const optionsView = new DataView(memory.buffer, options, 8); + optionsView.setUint16(0, 80, true); + optionsView.setUint16(2, 24, true); + const terminalSlot = call("ghostty_wasm_alloc_opaque"); + expect(call("ghostty_terminal_new", 0, terminalSlot, options)).toBe(0); + const terminal = new DataView(memory.buffer).getUint32(terminalSlot, true); + const input = new TextEncoder().encode("a\r\n\r\nb"); + const inputPointer = call("ghostty_wasm_alloc_u8_array", input.length); + new Uint8Array(memory.buffer, inputPointer, input.length).set(input); + call("ghostty_terminal_vt_write", terminal, inputPointer, input.length); + + const selection = call("ghostty_wasm_alloc_u8_array", 32); + new DataView(memory.buffer, selection, 32).setUint32(0, 32, true); + expect(call("ghostty_terminal_select_all", terminal, selection)).toBe(0); + expect(call("ghostty_terminal_set", terminal, 21, selection)).toBe(0); + const formatOptions = call("ghostty_wasm_alloc_u8_array", 16); + const formatView = new DataView(memory.buffer, formatOptions, 16); + formatView.setUint32(0, 16, true); + formatView.setUint8(8, 1); + formatView.setUint8(9, 1); + const written = call("ghostty_wasm_alloc_usize"); + expect( + call("ghostty_terminal_selection_format_buf", terminal, formatOptions, 0, 0, written), + ).toBe(-3); + const outputSize = new DataView(memory.buffer, written, 4).getUint32(0, true); + const output = call("ghostty_wasm_alloc_u8_array", outputSize); + expect( + call( + "ghostty_terminal_selection_format_buf", + terminal, + formatOptions, + output, + outputSize, + written, + ), + ).toBe(0); + expect(new TextDecoder().decode(new Uint8Array(memory.buffer, output, outputSize))).toBe( + "a\n\nb", + ); + + call("ghostty_wasm_free_u8_array", output, outputSize); + call("ghostty_wasm_free_usize", written); + call("ghostty_wasm_free_u8_array", formatOptions, 16); + call("ghostty_wasm_free_u8_array", selection, 32); + call("ghostty_wasm_free_u8_array", inputPointer, input.length); + call("ghostty_terminal_free", terminal); + call("ghostty_wasm_free_opaque", terminalSlot); + call("ghostty_wasm_free_u8_array", options, 8); + }); }); diff --git a/apps/web/src/terminal/ghostty/surface.test.ts b/apps/web/src/terminal/ghostty/surface.test.ts new file mode 100644 index 00000000000..bb5d4bba4f0 --- /dev/null +++ b/apps/web/src/terminal/ghostty/surface.test.ts @@ -0,0 +1,38 @@ +import { describe, expect, it } from "vite-plus/test"; + +import type { GhosttyCell, GhosttyRow } from "./core"; +import { terminalLinkAtColumn } from "./surface"; + +const cell = (text: string): GhosttyCell => ({ + text, + foreground: { r: 255, g: 255, b: 255 }, + background: { r: 0, g: 0, b: 0 }, + bold: false, + italic: false, + invisible: false, + strikethrough: false, + overline: false, + underline: false, + selected: false, +}); + +describe("terminalLinkAtColumn", () => { + it("maps terminal cells to UTF-16 offsets after a wide emoji", () => { + const cells = [ + cell("🙂"), + cell(""), + ...Array.from("https://t3.codes", (character) => cell(character)), + ]; + const row: GhosttyRow = { + cells, + text: cells + .map((value) => value.text || " ") + .join("") + .trimEnd(), + }; + + expect(terminalLinkAtColumn(row, 2)).toBe("https://t3.codes"); + expect(terminalLinkAtColumn(row, cells.length - 1)).toBe("https://t3.codes"); + expect(terminalLinkAtColumn(row, 0)).toBeNull(); + }); +}); diff --git a/apps/web/src/terminal/ghostty/surface.ts b/apps/web/src/terminal/ghostty/surface.ts index dc4e99cc4aa..bac51736cab 100644 --- a/apps/web/src/terminal/ghostty/surface.ts +++ b/apps/web/src/terminal/ghostty/surface.ts @@ -13,6 +13,18 @@ const CONTENT_PADDING = 4; const linkPattern = /https?:\/\/[^\s"'<>]+|(?:\.{0,2}\/)?[\w@+.,-]+(?:\/[\w@+.,-]+)+(?::\d+(?::\d+)?)?/gu; +export function terminalLinkAtColumn(row: GhosttySnapshot["rowData"][number], column: number) { + let offset = 0; + for (let cellIndex = 0; cellIndex < column; cellIndex += 1) { + offset += row.cells[cellIndex]?.text.length || 1; + } + for (const match of row.text.matchAll(linkPattern)) { + const value = match[0]; + if (offset >= match.index && offset < match.index + value.length) return value; + } + return null; +} + export interface GhosttySelectionPosition { readonly start: { readonly x: number; readonly y: number }; readonly end: { readonly x: number; readonly y: number }; @@ -21,6 +33,7 @@ export interface GhosttySelectionPosition { export interface GhosttyTerminalSurfaceOptions { readonly theme: GhosttyTheme; readonly onData: (data: string) => void; + readonly onResize: (cols: number, rows: number) => void; readonly onSelectionChange: () => void; readonly beforeKey: (event: KeyboardEvent) => boolean; readonly onLinkActivate: (text: string, event: MouseEvent) => void; @@ -116,17 +129,20 @@ export class GhosttyTerminalSurface { } write(data: string): void { + if (this.disposed) return; this.core.write(data); this.requestRender(); } resetAndWrite(data: string): void { + if (this.disposed) return; this.core.resetAndWrite(data); this.forceFullRender = true; this.requestRender(); } setTheme(theme: GhosttyTheme): void { + if (this.disposed) return; this.core.setTheme(theme); this.forceFullRender = true; this.requestRender(); @@ -140,20 +156,24 @@ export class GhosttyTerminalSurface { const ratio = window.devicePixelRatio || 1; const pixelWidth = Math.max(1, Math.round(width * ratio)); const pixelHeight = Math.max(1, Math.round(height * ratio)); + let shouldRender = false; if (this.canvas.width !== pixelWidth || this.canvas.height !== pixelHeight) { this.canvas.width = pixelWidth; this.canvas.height = pixelHeight; this.context.setTransform(ratio, 0, 0, ratio, 0, 0); this.forceFullRender = true; + shouldRender = true; } const grid = terminalGridSize(width, height, this.metrics, CONTENT_PADDING); if (grid.cols !== this.cols || grid.rows !== this.rows) { this.cols = grid.cols; this.rows = grid.rows; this.core.resize(grid.cols, grid.rows, this.metrics.width, this.metrics.height); + this.options.onResize(grid.cols, grid.rows); this.forceFullRender = true; - this.requestRender(); + shouldRender = true; } + if (shouldRender) this.requestRender(); return true; } @@ -175,9 +195,12 @@ export class GhosttyTerminalSurface { this.selectionAnchor.y < this.selectionEnd.y || (this.selectionAnchor.y === this.selectionEnd.y && this.selectionAnchor.x <= this.selectionEnd.x); - return before + const ordered = before ? { start: this.selectionAnchor, end: this.selectionEnd } : { start: this.selectionEnd, end: this.selectionAnchor }; + const start = this.core.viewportPointToScreen(ordered.start.x, ordered.start.y); + const end = this.core.viewportPointToScreen(ordered.end.x, ordered.end.y); + return start && end ? { start, end } : null; } clearSelection(): void { @@ -206,7 +229,10 @@ export class GhosttyTerminalSurface { if (this.cursorTimer !== null) window.clearTimeout(this.cursorTimer); this.removeEvents(); this.core.dispose(); - this.mount.replaceChildren(); + if (this.canvas.parentElement === this.mount || this.input.parentElement === this.mount) { + this.canvas.remove(); + this.input.remove(); + } } private readonly onKeyDown = (event: KeyboardEvent) => { @@ -321,6 +347,7 @@ export class GhosttyTerminalSurface { this.frame = window.requestAnimationFrame(() => { this.frame = 0; this.snapshot = this.core.snapshot(); + if (!this.snapshot.cursorBlinking) this.cursorOn = true; renderGhosttySnapshot({ context: this.context, snapshot: this.snapshot, @@ -370,12 +397,8 @@ export class GhosttyTerminalSurface { private linkAt(clientX: number, clientY: number): string | null { if (!this.snapshot) return null; const cell = this.cellAt(clientX, clientY); - const text = this.snapshot.rowData[cell.y]?.text ?? ""; - for (const match of text.matchAll(linkPattern)) { - const start = match.index; - const value = match[0]; - if (cell.x >= start && cell.x < start + value.length) return value; - } - return null; + const row = this.snapshot.rowData[cell.y]; + if (!row) return null; + return terminalLinkAtColumn(row, cell.x); } } From 6c2a882a6ed50db8aa36d7e8c1d616d42f537dd3 Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Wed, 29 Jul 2026 20:21:32 +0200 Subject: [PATCH 03/51] fix(web): preserve terminal-native shortcuts --- apps/web/src/terminal/ghostty/surface.test.ts | 24 ++++++++++++++++++- apps/web/src/terminal/ghostty/surface.ts | 12 +++++++++- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/apps/web/src/terminal/ghostty/surface.test.ts b/apps/web/src/terminal/ghostty/surface.test.ts index bb5d4bba4f0..9432b3f3b12 100644 --- a/apps/web/src/terminal/ghostty/surface.test.ts +++ b/apps/web/src/terminal/ghostty/surface.test.ts @@ -1,7 +1,7 @@ import { describe, expect, it } from "vite-plus/test"; import type { GhosttyCell, GhosttyRow } from "./core"; -import { terminalLinkAtColumn } from "./surface"; +import { isTerminalCopyShortcut, terminalLinkAtColumn } from "./surface"; const cell = (text: string): GhosttyCell => ({ text, @@ -36,3 +36,25 @@ describe("terminalLinkAtColumn", () => { expect(terminalLinkAtColumn(row, 0)).toBeNull(); }); }); + +describe("isTerminalCopyShortcut", () => { + const event = (overrides: Partial[0]> = {}) => ({ + code: "KeyC", + ctrlKey: false, + metaKey: false, + shiftKey: false, + ...overrides, + }); + + it("keeps Ctrl+C available for SIGINT on macOS", () => { + expect(isTerminalCopyShortcut(event({ ctrlKey: true }), "MacIntel")).toBe(false); + expect(isTerminalCopyShortcut(event({ metaKey: true }), "MacIntel")).toBe(true); + }); + + it("uses the conventional Ctrl+Shift+C shortcut elsewhere", () => { + expect(isTerminalCopyShortcut(event({ ctrlKey: true }), "Linux x86_64")).toBe(false); + expect(isTerminalCopyShortcut(event({ ctrlKey: true, shiftKey: true }), "Linux x86_64")).toBe( + true, + ); + }); +}); diff --git a/apps/web/src/terminal/ghostty/surface.ts b/apps/web/src/terminal/ghostty/surface.ts index bac51736cab..386f9bc2c0f 100644 --- a/apps/web/src/terminal/ghostty/surface.ts +++ b/apps/web/src/terminal/ghostty/surface.ts @@ -1,3 +1,4 @@ +import { isMacPlatform } from "../../lib/utils"; import { GhosttyTerminalCore, type GhosttySnapshot, type GhosttyTheme } from "./core"; import { measureGhosttyCell, @@ -25,6 +26,14 @@ export function terminalLinkAtColumn(row: GhosttySnapshot["rowData"][number], co return null; } +export function isTerminalCopyShortcut( + event: Pick, + platform = navigator.platform, +) { + if (event.code !== "KeyC") return false; + return isMacPlatform(platform) ? event.metaKey : event.ctrlKey && event.shiftKey; +} + export interface GhosttySelectionPosition { readonly start: { readonly x: number; readonly y: number }; readonly end: { readonly x: number; readonly y: number }; @@ -237,7 +246,7 @@ export class GhosttyTerminalSurface { private readonly onKeyDown = (event: KeyboardEvent) => { if (!this.options.beforeKey(event)) return; - if ((event.metaKey || event.ctrlKey) && event.code === "KeyC" && this.hasSelection()) { + if (isTerminalCopyShortcut(event) && this.hasSelection()) { event.preventDefault(); void navigator.clipboard.writeText(this.getSelection()); return; @@ -291,6 +300,7 @@ export class GhosttyTerminalSurface { }; private readonly onPointerUp = (event: PointerEvent) => { + if (event.button !== 0) return; if (this.canvas.hasPointerCapture(event.pointerId)) { this.canvas.releasePointerCapture(event.pointerId); } From 50d7145fa4111de26c37531daa28ef79d2ee3cb0 Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Wed, 29 Jul 2026 20:27:55 +0200 Subject: [PATCH 04/51] fix(web): keep terminal selections stable --- apps/web/src/terminal/ghostty/surface.test.ts | 7 +++- apps/web/src/terminal/ghostty/surface.ts | 35 ++++++++++++------- 2 files changed, 28 insertions(+), 14 deletions(-) diff --git a/apps/web/src/terminal/ghostty/surface.test.ts b/apps/web/src/terminal/ghostty/surface.test.ts index 9432b3f3b12..9bef70a9abb 100644 --- a/apps/web/src/terminal/ghostty/surface.test.ts +++ b/apps/web/src/terminal/ghostty/surface.test.ts @@ -39,8 +39,8 @@ describe("terminalLinkAtColumn", () => { describe("isTerminalCopyShortcut", () => { const event = (overrides: Partial[0]> = {}) => ({ - code: "KeyC", ctrlKey: false, + key: "c", metaKey: false, shiftKey: false, ...overrides, @@ -57,4 +57,9 @@ describe("isTerminalCopyShortcut", () => { true, ); }); + + it("uses the produced character instead of the physical key position", () => { + expect(isTerminalCopyShortcut(event({ key: "C", metaKey: true }), "MacIntel")).toBe(true); + expect(isTerminalCopyShortcut(event({ key: "j", metaKey: true }), "MacIntel")).toBe(false); + }); }); diff --git a/apps/web/src/terminal/ghostty/surface.ts b/apps/web/src/terminal/ghostty/surface.ts index 386f9bc2c0f..cb75bf3ba47 100644 --- a/apps/web/src/terminal/ghostty/surface.ts +++ b/apps/web/src/terminal/ghostty/surface.ts @@ -27,10 +27,10 @@ export function terminalLinkAtColumn(row: GhosttySnapshot["rowData"][number], co } export function isTerminalCopyShortcut( - event: Pick, + event: Pick, platform = navigator.platform, ) { - if (event.code !== "KeyC") return false; + if (event.key.toLowerCase() !== "c") return false; return isMacPlatform(platform) ? event.metaKey : event.ctrlKey && event.shiftKey; } @@ -68,6 +68,8 @@ export class GhosttyTerminalSurface { private disposed = false; private selectionAnchor: { x: number; y: number } | null = null; private selectionEnd: { x: number; y: number } | null = null; + private selectionAnchorScreen: { x: number; y: number } | null = null; + private selectionEndScreen: { x: number; y: number } | null = null; private selectionMoved = false; private composing = false; @@ -199,23 +201,23 @@ export class GhosttyTerminalSurface { } getSelectionPosition(): GhosttySelectionPosition | null { - if (!this.selectionAnchor || !this.selectionEnd || !this.hasSelection()) return null; + if (!this.selectionAnchorScreen || !this.selectionEndScreen || !this.hasSelection()) + return null; const before = - this.selectionAnchor.y < this.selectionEnd.y || - (this.selectionAnchor.y === this.selectionEnd.y && - this.selectionAnchor.x <= this.selectionEnd.x); - const ordered = before - ? { start: this.selectionAnchor, end: this.selectionEnd } - : { start: this.selectionEnd, end: this.selectionAnchor }; - const start = this.core.viewportPointToScreen(ordered.start.x, ordered.start.y); - const end = this.core.viewportPointToScreen(ordered.end.x, ordered.end.y); - return start && end ? { start, end } : null; + this.selectionAnchorScreen.y < this.selectionEndScreen.y || + (this.selectionAnchorScreen.y === this.selectionEndScreen.y && + this.selectionAnchorScreen.x <= this.selectionEndScreen.x); + return before + ? { start: this.selectionAnchorScreen, end: this.selectionEndScreen } + : { start: this.selectionEndScreen, end: this.selectionAnchorScreen }; } clearSelection(): void { this.core.clearSelection(); this.selectionAnchor = null; this.selectionEnd = null; + this.selectionAnchorScreen = null; + this.selectionEndScreen = null; this.options.onSelectionChange(); this.requestRender(); } @@ -284,6 +286,8 @@ export class GhosttyTerminalSurface { this.selectionEnd = cell; this.selectionMoved = false; this.core.setSelection(cell.x, cell.y, cell.x, cell.y); + this.selectionAnchorScreen = this.core.viewportPointToScreen(cell.x, cell.y); + this.selectionEndScreen = this.selectionAnchorScreen; this.canvas.setPointerCapture(event.pointerId); this.requestRender(); }; @@ -295,15 +299,20 @@ export class GhosttyTerminalSurface { this.selectionMoved = true; this.selectionEnd = cell; this.core.setSelection(this.selectionAnchor.x, this.selectionAnchor.y, cell.x, cell.y); + this.selectionAnchorScreen = this.core.viewportPointToScreen( + this.selectionAnchor.x, + this.selectionAnchor.y, + ); + this.selectionEndScreen = this.core.viewportPointToScreen(cell.x, cell.y); this.options.onSelectionChange(); this.requestRender(); }; private readonly onPointerUp = (event: PointerEvent) => { - if (event.button !== 0) return; if (this.canvas.hasPointerCapture(event.pointerId)) { this.canvas.releasePointerCapture(event.pointerId); } + if (event.button !== 0) return; if (!this.selectionMoved && (event.metaKey || event.ctrlKey)) { const link = this.linkAt(event.clientX, event.clientY); if (link) this.options.onLinkActivate(link, event); From 36e31295abf725181bf9c6b5cc3431df7c6d9221 Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Wed, 29 Jul 2026 20:58:19 +0200 Subject: [PATCH 05/51] fix(web): polish Ghostty terminal rendering --- .../src/components/ThreadTerminalDrawer.tsx | 27 ++++++++++++------- apps/web/src/terminal/ghostty/renderer.ts | 8 ++++++ apps/web/src/terminal/ghostty/surface.test.ts | 24 ++++++++++++++++- apps/web/src/terminal/ghostty/surface.ts | 9 +++++++ 4 files changed, 58 insertions(+), 10 deletions(-) diff --git a/apps/web/src/components/ThreadTerminalDrawer.tsx b/apps/web/src/components/ThreadTerminalDrawer.tsx index 33a319d1532..219c9fa6871 100644 --- a/apps/web/src/components/ThreadTerminalDrawer.tsx +++ b/apps/web/src/components/ThreadTerminalDrawer.tsx @@ -87,15 +87,24 @@ function writeTerminalBuffer(terminal: GhosttyTerminalSurface, buffer: string): } function parseTerminalColor(value: string, fallback: GhosttyColor): GhosttyColor { - const channels = value - .match(/\d+(?:\.\d+)?/gu) - ?.slice(0, 3) - .map(Number); - if (!channels || channels.length < 3) return fallback; + if (typeof document === "undefined") return fallback; + + const canvas = document.createElement("canvas"); + canvas.width = 1; + canvas.height = 1; + const context = canvas.getContext("2d", { willReadFrequently: true }); + if (!context) return fallback; + + context.clearRect(0, 0, 1, 1); + context.fillStyle = value; + context.fillRect(0, 0, 1, 1); + const [red, green, blue, alpha] = context.getImageData(0, 0, 1, 1).data; + if (alpha === 0) return fallback; + return { - r: Math.max(0, Math.min(255, Math.round(channels[0] ?? fallback.r))), - g: Math.max(0, Math.min(255, Math.round(channels[1] ?? fallback.g))), - b: Math.max(0, Math.min(255, Math.round(channels[2] ?? fallback.b))), + r: red ?? fallback.r, + g: green ?? fallback.g, + b: blue ?? fallback.b, }; } @@ -1206,7 +1215,7 @@ export default function ThreadTerminalDrawer({ {!hasTerminalSidebar && (
-
+
({ text, @@ -63,3 +63,25 @@ describe("isTerminalCopyShortcut", () => { expect(isTerminalCopyShortcut(event({ key: "j", metaKey: true }), "MacIntel")).toBe(false); }); }); + +describe("isTerminalPasteShortcut", () => { + const event = (overrides: Partial[0]> = {}) => ({ + ctrlKey: false, + key: "v", + metaKey: false, + shiftKey: false, + ...overrides, + }); + + it("uses Cmd+V on macOS", () => { + expect(isTerminalPasteShortcut(event({ metaKey: true }), "MacIntel")).toBe(true); + expect(isTerminalPasteShortcut(event({ ctrlKey: true }), "MacIntel")).toBe(false); + }); + + it("preserves Ctrl+V and uses Ctrl+Shift+V elsewhere", () => { + expect(isTerminalPasteShortcut(event({ ctrlKey: true }), "Linux x86_64")).toBe(false); + expect(isTerminalPasteShortcut(event({ ctrlKey: true, shiftKey: true }), "Linux x86_64")).toBe( + true, + ); + }); +}); diff --git a/apps/web/src/terminal/ghostty/surface.ts b/apps/web/src/terminal/ghostty/surface.ts index cb75bf3ba47..3d07a51707e 100644 --- a/apps/web/src/terminal/ghostty/surface.ts +++ b/apps/web/src/terminal/ghostty/surface.ts @@ -34,6 +34,14 @@ export function isTerminalCopyShortcut( return isMacPlatform(platform) ? event.metaKey : event.ctrlKey && event.shiftKey; } +export function isTerminalPasteShortcut( + event: Pick, + platform = navigator.platform, +) { + if (event.key.toLowerCase() !== "v") return false; + return isMacPlatform(platform) ? event.metaKey : event.ctrlKey && event.shiftKey; +} + export interface GhosttySelectionPosition { readonly start: { readonly x: number; readonly y: number }; readonly end: { readonly x: number; readonly y: number }; @@ -253,6 +261,7 @@ export class GhosttyTerminalSurface { void navigator.clipboard.writeText(this.getSelection()); return; } + if (isTerminalPasteShortcut(event)) return; if (event.isComposing || this.composing || event.key === "Process") return; const data = this.core.encodeKey(event); if (data.length === 0) return; From c8db7a7df7719f95b7b44903e26b24bef2b3c367 Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Wed, 29 Jul 2026 21:14:24 +0200 Subject: [PATCH 06/51] fix(web): forward terminal input events --- apps/web/src/terminal/ghostty/surface.ts | 29 +++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/apps/web/src/terminal/ghostty/surface.ts b/apps/web/src/terminal/ghostty/surface.ts index 3d07a51707e..a5d20122524 100644 --- a/apps/web/src/terminal/ghostty/surface.ts +++ b/apps/web/src/terminal/ghostty/surface.ts @@ -71,6 +71,7 @@ export class GhosttyTerminalSurface { private snapshot: GhosttySnapshot | null = null; private frame = 0; private cursorTimer: number | null = null; + private compositionCommitTimer: number | null = null; private cursorOn = true; private forceFullRender = true; private disposed = false; @@ -246,6 +247,9 @@ export class GhosttyTerminalSurface { this.resizeObserver.disconnect(); if (this.frame !== 0) window.cancelAnimationFrame(this.frame); if (this.cursorTimer !== null) window.clearTimeout(this.cursorTimer); + if (this.compositionCommitTimer !== null) { + window.clearTimeout(this.compositionCommitTimer); + } this.removeEvents(); this.core.dispose(); if (this.canvas.parentElement === this.mount || this.input.parentElement === this.mount) { @@ -278,12 +282,33 @@ export class GhosttyTerminalSurface { }; private readonly onCompositionStart = () => { + if (this.compositionCommitTimer !== null) { + window.clearTimeout(this.compositionCommitTimer); + this.compositionCommitTimer = null; + } this.composing = true; }; private readonly onCompositionEnd = (event: CompositionEvent) => { this.composing = false; - if (event.data.length > 0) this.options.onData(event.data); + const fallbackData = event.data; + this.compositionCommitTimer = window.setTimeout(() => { + this.compositionCommitTimer = null; + const data = this.input.value || fallbackData; + if (data.length > 0) this.options.onData(data); + this.input.value = ""; + }, 0); + }; + + private readonly onInput = (event: Event) => { + const inputEvent = event as InputEvent; + if (this.composing || inputEvent.isComposing) return; + if (this.compositionCommitTimer !== null) { + window.clearTimeout(this.compositionCommitTimer); + this.compositionCommitTimer = null; + } + const data = this.input.value || inputEvent.data || ""; + if (data.length > 0) this.options.onData(data); this.input.value = ""; }; @@ -346,6 +371,7 @@ export class GhosttyTerminalSurface { private installEvents(): void { this.input.addEventListener("keydown", this.onKeyDown); + this.input.addEventListener("input", this.onInput); this.input.addEventListener("paste", this.onPaste); this.input.addEventListener("compositionstart", this.onCompositionStart); this.input.addEventListener("compositionend", this.onCompositionEnd); @@ -359,6 +385,7 @@ export class GhosttyTerminalSurface { private removeEvents(): void { this.input.removeEventListener("keydown", this.onKeyDown); + this.input.removeEventListener("input", this.onInput); this.input.removeEventListener("paste", this.onPaste); this.input.removeEventListener("compositionstart", this.onCompositionStart); this.input.removeEventListener("compositionend", this.onCompositionEnd); From 9f552d3e3b733cf75516c2c6af55689012929c81 Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Wed, 29 Jul 2026 21:19:47 +0200 Subject: [PATCH 07/51] fix(web): report terminal copy failures --- apps/web/src/components/ThreadTerminalDrawer.tsx | 12 ++++++++++++ apps/web/src/terminal/ghostty/surface.ts | 3 ++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/apps/web/src/components/ThreadTerminalDrawer.tsx b/apps/web/src/components/ThreadTerminalDrawer.tsx index 219c9fa6871..5a9085ee148 100644 --- a/apps/web/src/components/ThreadTerminalDrawer.tsx +++ b/apps/web/src/components/ThreadTerminalDrawer.tsx @@ -363,6 +363,7 @@ export function TerminalViewport({ onData: (data) => handleData(data), onResize: (cols, rows) => void resizeTerminal(cols, rows), onSelectionChange: () => handleSelectionChange(), + onCopy: (text) => handleCopy(text), beforeKey: (event) => handleBeforeKey(event), onLinkActivate: (text, event) => handleLinkActivate(text, event), }; @@ -576,6 +577,17 @@ export function TerminalViewport({ })(); } + function handleCopy(text: string): void { + void writeTextToClipboard(text, "terminal selection").catch((error: unknown) => { + const activeTerminal = terminalRef.current; + if (!activeTerminal) return; + writeSystemMessage( + activeTerminal, + error instanceof Error ? error.message : "Unable to copy terminal selection", + ); + }); + } + function handleData(data: string): void { void (async () => { const result = await writeTerminal(data); diff --git a/apps/web/src/terminal/ghostty/surface.ts b/apps/web/src/terminal/ghostty/surface.ts index a5d20122524..33be9f7410b 100644 --- a/apps/web/src/terminal/ghostty/surface.ts +++ b/apps/web/src/terminal/ghostty/surface.ts @@ -52,6 +52,7 @@ export interface GhosttyTerminalSurfaceOptions { readonly onData: (data: string) => void; readonly onResize: (cols: number, rows: number) => void; readonly onSelectionChange: () => void; + readonly onCopy: (text: string) => void; readonly beforeKey: (event: KeyboardEvent) => boolean; readonly onLinkActivate: (text: string, event: MouseEvent) => void; } @@ -262,7 +263,7 @@ export class GhosttyTerminalSurface { if (!this.options.beforeKey(event)) return; if (isTerminalCopyShortcut(event) && this.hasSelection()) { event.preventDefault(); - void navigator.clipboard.writeText(this.getSelection()); + this.options.onCopy(this.getSelection()); return; } if (isTerminalPasteShortcut(event)) return; From d72e2ca740cf2ba2a6f6b410d411db171be6f9ef Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Wed, 29 Jul 2026 21:23:47 +0200 Subject: [PATCH 08/51] fix(web): commit terminal composition once --- apps/web/src/terminal/ghostty/surface.ts | 47 +++++++++++++++--------- 1 file changed, 29 insertions(+), 18 deletions(-) diff --git a/apps/web/src/terminal/ghostty/surface.ts b/apps/web/src/terminal/ghostty/surface.ts index 33be9f7410b..f75090baa7f 100644 --- a/apps/web/src/terminal/ghostty/surface.ts +++ b/apps/web/src/terminal/ghostty/surface.ts @@ -72,7 +72,8 @@ export class GhosttyTerminalSurface { private snapshot: GhosttySnapshot | null = null; private frame = 0; private cursorTimer: number | null = null; - private compositionCommitTimer: number | null = null; + private compositionInputToSuppress: string | null = null; + private compositionSuppressionTimer: number | null = null; private cursorOn = true; private forceFullRender = true; private disposed = false; @@ -248,8 +249,8 @@ export class GhosttyTerminalSurface { this.resizeObserver.disconnect(); if (this.frame !== 0) window.cancelAnimationFrame(this.frame); if (this.cursorTimer !== null) window.clearTimeout(this.cursorTimer); - if (this.compositionCommitTimer !== null) { - window.clearTimeout(this.compositionCommitTimer); + if (this.compositionSuppressionTimer !== null) { + window.clearTimeout(this.compositionSuppressionTimer); } this.removeEvents(); this.core.dispose(); @@ -260,6 +261,7 @@ export class GhosttyTerminalSurface { } private readonly onKeyDown = (event: KeyboardEvent) => { + this.clearCompositionInputSuppression(); if (!this.options.beforeKey(event)) return; if (isTerminalCopyShortcut(event) && this.hasSelection()) { event.preventDefault(); @@ -276,6 +278,7 @@ export class GhosttyTerminalSurface { }; private readonly onPaste = (event: ClipboardEvent) => { + this.clearCompositionInputSuppression(); const data = event.clipboardData?.getData("text/plain") ?? ""; if (data.length === 0) return; event.preventDefault(); @@ -283,36 +286,44 @@ export class GhosttyTerminalSurface { }; private readonly onCompositionStart = () => { - if (this.compositionCommitTimer !== null) { - window.clearTimeout(this.compositionCommitTimer); - this.compositionCommitTimer = null; - } + this.clearCompositionInputSuppression(); this.composing = true; }; private readonly onCompositionEnd = (event: CompositionEvent) => { this.composing = false; - const fallbackData = event.data; - this.compositionCommitTimer = window.setTimeout(() => { - this.compositionCommitTimer = null; - const data = this.input.value || fallbackData; - if (data.length > 0) this.options.onData(data); - this.input.value = ""; - }, 0); + const data = this.input.value || event.data; + if (data.length > 0) this.options.onData(data); + this.input.value = ""; + this.compositionInputToSuppress = data; + this.compositionSuppressionTimer = window.setTimeout(() => { + this.compositionInputToSuppress = null; + this.compositionSuppressionTimer = null; + }, 100); }; private readonly onInput = (event: Event) => { const inputEvent = event as InputEvent; if (this.composing || inputEvent.isComposing) return; - if (this.compositionCommitTimer !== null) { - window.clearTimeout(this.compositionCommitTimer); - this.compositionCommitTimer = null; - } const data = this.input.value || inputEvent.data || ""; + if (data === this.compositionInputToSuppress) { + this.clearCompositionInputSuppression(); + this.input.value = ""; + return; + } + this.clearCompositionInputSuppression(); if (data.length > 0) this.options.onData(data); this.input.value = ""; }; + private clearCompositionInputSuppression(): void { + if (this.compositionSuppressionTimer !== null) { + window.clearTimeout(this.compositionSuppressionTimer); + this.compositionSuppressionTimer = null; + } + this.compositionInputToSuppress = null; + } + private readonly onPointerDown = (event: PointerEvent) => { if (event.button !== 0) return; this.focus(); From 5de75ee813b362fb2b90f48e276a7ec25689a5d6 Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Wed, 29 Jul 2026 21:28:32 +0200 Subject: [PATCH 09/51] fix(web): retain terminal composition guard --- apps/web/src/terminal/ghostty/surface.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/apps/web/src/terminal/ghostty/surface.ts b/apps/web/src/terminal/ghostty/surface.ts index f75090baa7f..db066548d13 100644 --- a/apps/web/src/terminal/ghostty/surface.ts +++ b/apps/web/src/terminal/ghostty/surface.ts @@ -261,7 +261,6 @@ export class GhosttyTerminalSurface { } private readonly onKeyDown = (event: KeyboardEvent) => { - this.clearCompositionInputSuppression(); if (!this.options.beforeKey(event)) return; if (isTerminalCopyShortcut(event) && this.hasSelection()) { event.preventDefault(); @@ -278,7 +277,6 @@ export class GhosttyTerminalSurface { }; private readonly onPaste = (event: ClipboardEvent) => { - this.clearCompositionInputSuppression(); const data = event.clipboardData?.getData("text/plain") ?? ""; if (data.length === 0) return; event.preventDefault(); From 126cd30b6d7810dc2684a1b69b63bf79a3b22d56 Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Wed, 29 Jul 2026 21:34:41 +0200 Subject: [PATCH 10/51] fix(web): distinguish terminal composition input --- apps/web/src/terminal/ghostty/surface.test.ts | 18 +++++++++++++++++- apps/web/src/terminal/ghostty/surface.ts | 6 +++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/apps/web/src/terminal/ghostty/surface.test.ts b/apps/web/src/terminal/ghostty/surface.test.ts index 4ee8fb9e21c..50ab9951e50 100644 --- a/apps/web/src/terminal/ghostty/surface.test.ts +++ b/apps/web/src/terminal/ghostty/surface.test.ts @@ -1,7 +1,12 @@ import { describe, expect, it } from "vite-plus/test"; import type { GhosttyCell, GhosttyRow } from "./core"; -import { isTerminalCopyShortcut, isTerminalPasteShortcut, terminalLinkAtColumn } from "./surface"; +import { + isTerminalCompositionCommitInput, + isTerminalCopyShortcut, + isTerminalPasteShortcut, + terminalLinkAtColumn, +} from "./surface"; const cell = (text: string): GhosttyCell => ({ text, @@ -85,3 +90,14 @@ describe("isTerminalPasteShortcut", () => { ); }); }); + +describe("isTerminalCompositionCommitInput", () => { + it("identifies browser composition follow-up input", () => { + expect(isTerminalCompositionCommitInput({ inputType: "insertCompositionText" })).toBe(true); + expect(isTerminalCompositionCommitInput({ inputType: "insertFromComposition" })).toBe(true); + }); + + it("keeps a fast repeated input as legitimate text", () => { + expect(isTerminalCompositionCommitInput({ inputType: "insertText" })).toBe(false); + }); +}); diff --git a/apps/web/src/terminal/ghostty/surface.ts b/apps/web/src/terminal/ghostty/surface.ts index db066548d13..84d33838b0a 100644 --- a/apps/web/src/terminal/ghostty/surface.ts +++ b/apps/web/src/terminal/ghostty/surface.ts @@ -42,6 +42,10 @@ export function isTerminalPasteShortcut( return isMacPlatform(platform) ? event.metaKey : event.ctrlKey && event.shiftKey; } +export function isTerminalCompositionCommitInput(event: Pick): boolean { + return event.inputType === "insertCompositionText" || event.inputType === "insertFromComposition"; +} + export interface GhosttySelectionPosition { readonly start: { readonly x: number; readonly y: number }; readonly end: { readonly x: number; readonly y: number }; @@ -304,7 +308,7 @@ export class GhosttyTerminalSurface { const inputEvent = event as InputEvent; if (this.composing || inputEvent.isComposing) return; const data = this.input.value || inputEvent.data || ""; - if (data === this.compositionInputToSuppress) { + if (data === this.compositionInputToSuppress && isTerminalCompositionCommitInput(inputEvent)) { this.clearCompositionInputSuppression(); this.input.value = ""; return; From 92bd4ec555059c121032047c2c4579da0e5cc921 Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Wed, 29 Jul 2026 23:01:13 +0200 Subject: [PATCH 11/51] feat(web): finish Ghostty terminal interactions --- .../src/components/ThreadTerminalDrawer.tsx | 2 +- apps/web/src/terminal/ghostty/core.ts | 247 +++++++++++++++++- .../src/terminal/ghostty/runtimeAbi.test.ts | 179 +++++++++++++ apps/web/src/terminal/ghostty/surface.test.ts | 86 ++++++ apps/web/src/terminal/ghostty/surface.ts | 241 +++++++++++++++-- docs/architecture/terminal-renderers.md | 8 +- 6 files changed, 741 insertions(+), 22 deletions(-) diff --git a/apps/web/src/components/ThreadTerminalDrawer.tsx b/apps/web/src/components/ThreadTerminalDrawer.tsx index 5a9085ee148..ececaf67db0 100644 --- a/apps/web/src/components/ThreadTerminalDrawer.tsx +++ b/apps/web/src/components/ThreadTerminalDrawer.tsx @@ -375,7 +375,7 @@ export function TerminalViewport({ terminalRef.current = terminal; const latestSession = latestSessionRef.current; previousSessionRef.current = latestSession; - if (latestSession.buffer.length > 0) terminal.write(latestSession.buffer); + if (latestSession.buffer.length > 0) terminal.resetAndWrite(latestSession.buffer); if (latestSession.error !== null) writeSystemMessage(terminal, latestSession.error); if (autoFocus) window.requestAnimationFrame(() => terminal.focus()); diff --git a/apps/web/src/terminal/ghostty/core.ts b/apps/web/src/terminal/ghostty/core.ts index 2de72e98c99..212ba4f2b1e 100644 --- a/apps/web/src/terminal/ghostty/core.ts +++ b/apps/web/src/terminal/ghostty/core.ts @@ -84,6 +84,31 @@ export interface GhosttySnapshot { readonly rowData: readonly GhosttyRow[]; } +export interface GhosttySelectionRange { + readonly viewport: { + readonly start: { readonly x: number; readonly y: number }; + readonly end: { readonly x: number; readonly y: number }; + }; + readonly screen: { + readonly start: { readonly x: number; readonly y: number }; + readonly end: { readonly x: number; readonly y: number }; + }; +} + +export interface GhosttyMouseInput { + readonly action: "press" | "release" | "motion"; + readonly button: number | null; + readonly mods: number; + readonly x: number; + readonly y: number; + readonly screenWidth: number; + readonly screenHeight: number; + readonly cellWidth: number; + readonly cellHeight: number; + readonly padding: number; + readonly anyButtonPressed: boolean; +} + const decoder = new TextDecoder(); const encoder = new TextEncoder(); @@ -112,7 +137,12 @@ export class GhosttyTerminalCore { private keyEncoder = 0; private keyEventSlot = 0; private keyEvent = 0; + private mouseEncoderSlot = 0; + private mouseEncoder = 0; + private mouseEventSlot = 0; + private mouseEvent = 0; private ptyWriterId = 0; + private ptyWriter: ((data: string) => void) | null = null; private scratch = 0; private style = 0; private rows: GhosttyRow[] = []; @@ -160,6 +190,7 @@ export class GhosttyTerminalCore { ); this.runtime.free(options, optionsSize); this.terminal = this.runtime.readPointer(this.terminalSlot); + this.ptyWriter = onPtyData; this.ptyWriterId = this.runtime.attachPtyWriter(this.terminal, onPtyData); this.renderStateSlot = this.runtime.allocOpaque(); @@ -193,6 +224,19 @@ export class GhosttyTerminalCore { ); this.keyEvent = this.runtime.readPointer(this.keyEventSlot); + this.mouseEncoderSlot = this.runtime.allocOpaque(); + this.assertSuccess( + "ghostty_mouse_encoder_new", + this.runtime.call("ghostty_mouse_encoder_new", 0, this.mouseEncoderSlot), + ); + this.mouseEncoder = this.runtime.readPointer(this.mouseEncoderSlot); + this.mouseEventSlot = this.runtime.allocOpaque(); + this.assertSuccess( + "ghostty_mouse_event_new", + this.runtime.call("ghostty_mouse_event_new", 0, this.mouseEventSlot), + ); + this.mouseEvent = this.runtime.readPointer(this.mouseEventSlot); + this.scratch = this.runtime.alloc(16); const styleSize = this.runtime.layout("GhosttyStyle").size; this.style = this.runtime.alloc(styleSize); @@ -215,7 +259,19 @@ export class GhosttyTerminalCore { this.ensureActive(); this.runtime.call("ghostty_terminal_reset", this.terminal); this.rows = []; - this.write(data); + if (data.length === 0) return; + const writer = this.ptyWriter; + if (this.ptyWriterId !== 0) { + this.runtime.detachPtyWriter(this.terminal, this.ptyWriterId); + this.ptyWriterId = 0; + } + try { + this.write(data); + } finally { + if (writer !== null && !this.disposed) { + this.ptyWriterId = this.runtime.attachPtyWriter(this.terminal, writer); + } + } } resize(cols: number, rows: number, cellWidth: number, cellHeight: number): void { @@ -276,6 +332,15 @@ export class GhosttyTerminalCore { ); } + isMouseTracking(): boolean { + this.ensureActive(); + this.runtime.bytes(this.scratch, 1)[0] = 0; + return ( + this.runtime.call("ghostty_terminal_get", this.terminal, 11, this.scratch) === + GHOSTTY_SUCCESS && this.runtime.bytes(this.scratch, 1)[0] !== 0 + ); + } + encodeKey(event: KeyboardEvent): string { this.ensureActive(); this.runtime.call("ghostty_key_encoder_setopt_from_terminal", this.keyEncoder, this.terminal); @@ -358,6 +423,75 @@ export class GhosttyTerminalCore { return encoded; } + encodeMouse(input: GhosttyMouseInput): string { + this.ensureActive(); + this.runtime.call( + "ghostty_mouse_encoder_setopt_from_terminal", + this.mouseEncoder, + this.terminal, + ); + + const sizeLayout = this.runtime.layout("GhosttyMouseEncoderSize"); + const size = this.runtime.alloc(sizeLayout.size); + for (const [field, value] of [ + ["size", sizeLayout.size], + ["screen_width", input.screenWidth], + ["screen_height", input.screenHeight], + ["cell_width", input.cellWidth], + ["cell_height", input.cellHeight], + ["padding_top", input.padding], + ["padding_bottom", input.padding], + ["padding_right", input.padding], + ["padding_left", input.padding], + ] as const) { + this.runtime.setField(size, "GhosttyMouseEncoderSize", field, Math.max(0, Math.round(value))); + } + this.runtime.call("ghostty_mouse_encoder_setopt", this.mouseEncoder, 2, size); + this.runtime.free(size, sizeLayout.size); + + this.runtime.bytes(this.scratch, 1)[0] = input.anyButtonPressed ? 1 : 0; + this.runtime.call("ghostty_mouse_encoder_setopt", this.mouseEncoder, 3, this.scratch); + this.runtime.bytes(this.scratch, 1)[0] = 1; + this.runtime.call("ghostty_mouse_encoder_setopt", this.mouseEncoder, 4, this.scratch); + + this.runtime.call( + "ghostty_mouse_event_set_action", + this.mouseEvent, + input.action === "press" ? 0 : input.action === "release" ? 1 : 2, + ); + if (input.button === null) { + this.runtime.call("ghostty_mouse_event_clear_button", this.mouseEvent); + } else { + this.runtime.call("ghostty_mouse_event_set_button", this.mouseEvent, input.button); + } + this.runtime.call("ghostty_mouse_event_set_mods", this.mouseEvent, input.mods); + const positionLayout = this.runtime.layout("GhosttyMousePosition"); + const position = this.runtime.alloc(positionLayout.size); + const positionView = this.runtime.view(position, positionLayout.size); + positionView.setFloat32(positionLayout.fields.x!.offset, input.x, true); + positionView.setFloat32(positionLayout.fields.y!.offset, input.y, true); + this.runtime.call("ghostty_mouse_event_set_position", this.mouseEvent, position); + this.runtime.free(position, positionLayout.size); + + const written = this.runtime.call("ghostty_wasm_alloc_usize"); + const outputSize = 128; + const output = this.runtime.alloc(outputSize); + const result = this.runtime.call( + "ghostty_mouse_encoder_encode", + this.mouseEncoder, + this.mouseEvent, + output, + outputSize, + written, + ); + const outputLength = this.runtime.view(written, 4).getUint32(0, true); + const encoded = + result === GHOSTTY_SUCCESS ? decoder.decode(this.runtime.bytes(output, outputLength)) : ""; + this.runtime.call("ghostty_wasm_free_usize", written); + this.runtime.free(output, outputSize); + return encoded; + } + setSelection(anchorCol: number, anchorRow: number, col: number, row: number): void { this.ensureActive(); const selectionLayout = this.runtime.layout("GhosttySelection"); @@ -392,6 +526,51 @@ export class GhosttyTerminalCore { this.runtime.free(selection, layout.size); } + selectWord(col: number, row: number): GhosttySelectionRange | null { + return this.selectAt( + "GhosttyTerminalSelectWordOptions", + "ghostty_terminal_select_word", + col, + row, + ); + } + + selectLine(col: number, row: number): GhosttySelectionRange | null { + return this.selectAt( + "GhosttyTerminalSelectLineOptions", + "ghostty_terminal_select_line", + col, + row, + ); + } + + hyperlinkAt(col: number, row: number): string | null { + this.ensureActive(); + const ref = this.gridRef(col, row); + const written = this.runtime.call("ghostty_wasm_alloc_usize"); + const sizeResult = this.runtime.call("ghostty_grid_ref_hyperlink_uri", ref, 0, 0, written); + const outputSize = this.runtime.view(written, 4).getUint32(0, true); + let hyperlink: string | null = null; + if (sizeResult === GHOSTTY_OUT_OF_SPACE && outputSize > 0) { + const output = this.runtime.alloc(outputSize); + const result = this.runtime.call( + "ghostty_grid_ref_hyperlink_uri", + ref, + output, + outputSize, + written, + ); + const outputLength = this.runtime.view(written, 4).getUint32(0, true); + if (result === GHOSTTY_SUCCESS && outputLength > 0) { + hyperlink = decoder.decode(this.runtime.bytes(output, outputLength)); + } + this.runtime.free(output, outputSize); + } + this.runtime.call("ghostty_wasm_free_usize", written); + this.runtime.free(ref, this.runtime.layout("GhosttyGridRef").size); + return hyperlink; + } + clearSelection(): void { this.ensureActive(); this.runtime.call("ghostty_terminal_set", this.terminal, 21, 0); @@ -536,6 +715,8 @@ export class GhosttyTerminalCore { dispose(): void { if (this.disposed) return; this.disposed = true; + if (this.mouseEvent) this.runtime.call("ghostty_mouse_event_free", this.mouseEvent); + if (this.mouseEncoder) this.runtime.call("ghostty_mouse_encoder_free", this.mouseEncoder); if (this.keyEvent) this.runtime.call("ghostty_key_event_free", this.keyEvent); if (this.keyEncoder) this.runtime.call("ghostty_key_encoder_free", this.keyEncoder); if (this.rowCellsSlot) { @@ -554,6 +735,8 @@ export class GhosttyTerminalCore { if (this.style) this.runtime.free(this.style, this.runtime.layout("GhosttyStyle").size); if (this.scratch) this.runtime.free(this.scratch, 16); for (const slot of [ + this.mouseEventSlot, + this.mouseEncoderSlot, this.keyEventSlot, this.keyEncoderSlot, this.rowCellsSlot, @@ -664,6 +847,68 @@ export class GhosttyTerminalCore { return gridRef; } + private selectAt( + optionsName: "GhosttyTerminalSelectWordOptions" | "GhosttyTerminalSelectLineOptions", + operation: "ghostty_terminal_select_word" | "ghostty_terminal_select_line", + col: number, + row: number, + ): GhosttySelectionRange | null { + this.ensureActive(); + const optionsLayout = this.runtime.layout(optionsName); + const options = this.runtime.alloc(optionsLayout.size); + this.runtime.setField(options, optionsName, "size", optionsLayout.size); + const ref = this.gridRef(col, row); + const refField = optionsLayout.fields.ref!; + this.runtime + .bytes(options + refField.offset, refField.size) + .set(this.runtime.bytes(ref, refField.size)); + const selectionLayout = this.runtime.layout("GhosttySelection"); + const selection = this.runtime.alloc(selectionLayout.size); + this.runtime.setField(selection, "GhosttySelection", "size", selectionLayout.size); + const result = this.runtime.call(operation, this.terminal, options, selection); + let range: GhosttySelectionRange | null = null; + if (result === GHOSTTY_SUCCESS) { + const start = selection + selectionLayout.fields.start!.offset; + const end = selection + selectionLayout.fields.end!.offset; + const viewportStart = this.pointFromGridRef(start, 1); + const viewportEnd = this.pointFromGridRef(end, 1); + const screenStart = this.pointFromGridRef(start, 2); + const screenEnd = this.pointFromGridRef(end, 2); + if (viewportStart && viewportEnd && screenStart && screenEnd) { + range = { + viewport: { start: viewportStart, end: viewportEnd }, + screen: { start: screenStart, end: screenEnd }, + }; + } + this.runtime.call("ghostty_terminal_set", this.terminal, 21, selection); + } + this.runtime.free(selection, selectionLayout.size); + this.runtime.free(ref, this.runtime.layout("GhosttyGridRef").size); + this.runtime.free(options, optionsLayout.size); + return range; + } + + private pointFromGridRef(ref: number, tag: 1 | 2): { x: number; y: number } | null { + const coordinateLayout = this.runtime.layout("GhosttyPointCoordinate"); + const coordinate = this.runtime.alloc(coordinateLayout.size); + const result = this.runtime.call( + "ghostty_terminal_point_from_grid_ref", + this.terminal, + ref, + tag, + coordinate, + ); + const point = + result === GHOSTTY_SUCCESS + ? { + x: this.runtime.readField(coordinate, "GhosttyPointCoordinate", "x"), + y: this.runtime.readField(coordinate, "GhosttyPointCoordinate", "y"), + } + : null; + this.runtime.free(coordinate, coordinateLayout.size); + return point; + } + private getU16(data: number): number { this.runtime.bytes(this.scratch, 2).fill(0); this.assertSuccess( diff --git a/apps/web/src/terminal/ghostty/runtimeAbi.test.ts b/apps/web/src/terminal/ghostty/runtimeAbi.test.ts index 9db1cfcc760..a53c3924d26 100644 --- a/apps/web/src/terminal/ghostty/runtimeAbi.test.ts +++ b/apps/web/src/terminal/ghostty/runtimeAbi.test.ts @@ -105,6 +105,15 @@ describe("vendored libghostty-vt WebAssembly", () => { new Uint8Array(memory.buffer, queryPointer, query.length).set(query); call("ghostty_terminal_vt_write", terminal, queryPointer, query.length); + expect(reply).toBe("\u001b[0n"); + reply = ""; + call("ghostty_terminal_set", terminal, 1, 0); + call("ghostty_terminal_set", terminal, 0, 0); + call("ghostty_terminal_vt_write", terminal, queryPointer, query.length); + expect(reply).toBe(""); + call("ghostty_terminal_set", terminal, 0, 1); + call("ghostty_terminal_set", terminal, 1, callbackIndex); + call("ghostty_terminal_vt_write", terminal, queryPointer, query.length); expect(reply).toBe("\u001b[0n"); call("ghostty_wasm_free_u8_array", queryPointer, query.length); call("ghostty_terminal_free", terminal); @@ -171,4 +180,174 @@ describe("vendored libghostty-vt WebAssembly", () => { call("ghostty_wasm_free_opaque", terminalSlot); call("ghostty_wasm_free_u8_array", options, 8); }); + + it("uses Ghostty for mouse encoding, word selection, and OSC 8 hit testing", async () => { + const result = await WebAssembly.instantiate( + decodeWasmDataUrl(wasmDataUrl).buffer as ArrayBuffer, + { env: { log: () => {} } }, + ); + const instance = result instanceof WebAssembly.Instance ? result : result.instance; + const memory = instance.exports.memory as WebAssembly.Memory; + const call = (name: string, ...args: number[]) => + (instance.exports[name] as WasmFunction)(...args); + const alloc = (size: number) => call("ghostty_wasm_alloc_u8_array", size); + const free = (pointer: number, size: number) => + call("ghostty_wasm_free_u8_array", pointer, size); + + const terminalOptions = alloc(8); + const terminalOptionsView = new DataView(memory.buffer, terminalOptions, 8); + terminalOptionsView.setUint16(0, 80, true); + terminalOptionsView.setUint16(2, 24, true); + const terminalSlot = call("ghostty_wasm_alloc_opaque"); + expect(call("ghostty_terminal_new", 0, terminalSlot, terminalOptions)).toBe(0); + const terminal = new DataView(memory.buffer).getUint32(terminalSlot, true); + const input = new TextEncoder().encode( + "\u001b[?1000h\u001b[?1006h\u001b]8;;https://t3.codes/docs\u001b\\linked\u001b]8;;\u001b\\ plain", + ); + const inputPointer = alloc(input.length); + new Uint8Array(memory.buffer, inputPointer, input.length).set(input); + call("ghostty_terminal_vt_write", terminal, inputPointer, input.length); + + const point = alloc(24); + const pointView = new DataView(memory.buffer, point, 24); + pointView.setUint32(0, 1, true); + pointView.setUint16(8, 1, true); + pointView.setUint32(12, 0, true); + const gridRef = alloc(12); + new DataView(memory.buffer, gridRef, 12).setUint32(0, 12, true); + expect(call("ghostty_terminal_grid_ref", terminal, point, gridRef)).toBe(0); + + const written = call("ghostty_wasm_alloc_usize"); + expect(call("ghostty_grid_ref_hyperlink_uri", gridRef, 0, 0, written)).toBe(-3); + const hyperlinkSize = new DataView(memory.buffer, written, 4).getUint32(0, true); + const hyperlink = alloc(hyperlinkSize); + expect(call("ghostty_grid_ref_hyperlink_uri", gridRef, hyperlink, hyperlinkSize, written)).toBe( + 0, + ); + expect(new TextDecoder().decode(new Uint8Array(memory.buffer, hyperlink, hyperlinkSize))).toBe( + "https://t3.codes/docs", + ); + + const wordOptions = alloc(24); + const wordOptionsView = new DataView(memory.buffer, wordOptions, 24); + wordOptionsView.setUint32(0, 24, true); + new Uint8Array(memory.buffer, wordOptions + 4, 12).set( + new Uint8Array(memory.buffer, gridRef, 12), + ); + const selection = alloc(32); + new DataView(memory.buffer, selection, 32).setUint32(0, 32, true); + expect(call("ghostty_terminal_select_word", terminal, wordOptions, selection)).toBe(0); + expect(call("ghostty_terminal_set", terminal, 21, selection)).toBe(0); + const formatOptions = alloc(16); + const formatView = new DataView(memory.buffer, formatOptions, 16); + formatView.setUint32(0, 16, true); + formatView.setUint8(8, 1); + formatView.setUint8(9, 1); + expect( + call("ghostty_terminal_selection_format_buf", terminal, formatOptions, 0, 0, written), + ).toBe(-3); + const selectionSize = new DataView(memory.buffer, written, 4).getUint32(0, true); + const selectionText = alloc(selectionSize); + expect( + call( + "ghostty_terminal_selection_format_buf", + terminal, + formatOptions, + selectionText, + selectionSize, + written, + ), + ).toBe(0); + expect( + new TextDecoder().decode(new Uint8Array(memory.buffer, selectionText, selectionSize)), + ).toBe("linked"); + + const lineOptions = alloc(28); + const lineOptionsView = new DataView(memory.buffer, lineOptions, 28); + lineOptionsView.setUint32(0, 28, true); + new Uint8Array(memory.buffer, lineOptions + 4, 12).set( + new Uint8Array(memory.buffer, gridRef, 12), + ); + expect(call("ghostty_terminal_select_line", terminal, lineOptions, selection)).toBe(0); + expect(call("ghostty_terminal_set", terminal, 21, selection)).toBe(0); + expect( + call("ghostty_terminal_selection_format_buf", terminal, formatOptions, 0, 0, written), + ).toBe(-3); + const lineSelectionSize = new DataView(memory.buffer, written, 4).getUint32(0, true); + const lineSelectionText = alloc(lineSelectionSize); + expect( + call( + "ghostty_terminal_selection_format_buf", + terminal, + formatOptions, + lineSelectionText, + lineSelectionSize, + written, + ), + ).toBe(0); + expect( + new TextDecoder().decode(new Uint8Array(memory.buffer, lineSelectionText, lineSelectionSize)), + ).toBe("linked plain"); + + const mouseEncoderSlot = call("ghostty_wasm_alloc_opaque"); + const mouseEventSlot = call("ghostty_wasm_alloc_opaque"); + expect(call("ghostty_mouse_encoder_new", 0, mouseEncoderSlot)).toBe(0); + expect(call("ghostty_mouse_event_new", 0, mouseEventSlot)).toBe(0); + const view = new DataView(memory.buffer); + const mouseEncoder = view.getUint32(mouseEncoderSlot, true); + const mouseEvent = view.getUint32(mouseEventSlot, true); + call("ghostty_mouse_encoder_setopt_from_terminal", mouseEncoder, terminal); + const mouseSize = alloc(36); + const mouseSizeView = new DataView(memory.buffer, mouseSize, 36); + for (const [offset, value] of [ + [0, 36], + [4, 800], + [8, 480], + [12, 10], + [16, 20], + ] as const) { + mouseSizeView.setUint32(offset, value, true); + } + call("ghostty_mouse_encoder_setopt", mouseEncoder, 2, mouseSize); + call("ghostty_mouse_event_set_action", mouseEvent, 0); + call("ghostty_mouse_event_set_button", mouseEvent, 1); + const mousePosition = new DataView(new ArrayBuffer(8)); + mousePosition.setFloat32(0, 15, true); + mousePosition.setFloat32(4, 25, true); + const mousePositionPointer = alloc(8); + new Uint8Array(memory.buffer, mousePositionPointer, 8).set( + new Uint8Array(mousePosition.buffer), + ); + call("ghostty_mouse_event_set_position", mouseEvent, mousePositionPointer); + const mouseOutput = alloc(128); + expect( + call("ghostty_mouse_encoder_encode", mouseEncoder, mouseEvent, mouseOutput, 128, written), + ).toBe(0); + const mouseOutputSize = new DataView(memory.buffer, written, 4).getUint32(0, true); + expect( + new TextDecoder().decode(new Uint8Array(memory.buffer, mouseOutput, mouseOutputSize)), + ).toBe("\u001b[<0;2;2M"); + + call("ghostty_mouse_event_free", mouseEvent); + call("ghostty_mouse_encoder_free", mouseEncoder); + call("ghostty_wasm_free_opaque", mouseEventSlot); + call("ghostty_wasm_free_opaque", mouseEncoderSlot); + free(mousePositionPointer, 8); + free(mouseOutput, 128); + free(mouseSize, 36); + free(lineSelectionText, lineSelectionSize); + free(lineOptions, 28); + free(selectionText, selectionSize); + free(formatOptions, 16); + free(selection, 32); + free(wordOptions, 24); + free(hyperlink, hyperlinkSize); + call("ghostty_wasm_free_usize", written); + free(gridRef, 12); + free(point, 24); + free(inputPointer, input.length); + call("ghostty_terminal_free", terminal); + call("ghostty_wasm_free_opaque", terminalSlot); + free(terminalOptions, 8); + }); }); diff --git a/apps/web/src/terminal/ghostty/surface.test.ts b/apps/web/src/terminal/ghostty/surface.test.ts index 50ab9951e50..a1c6cfd70c6 100644 --- a/apps/web/src/terminal/ghostty/surface.test.ts +++ b/apps/web/src/terminal/ghostty/surface.test.ts @@ -2,9 +2,13 @@ import { describe, expect, it } from "vite-plus/test"; import type { GhosttyCell, GhosttyRow } from "./core"; import { + advanceTerminalSelectionClickSequence, + ghosttyMouseButton, isTerminalCompositionCommitInput, isTerminalCopyShortcut, + isTerminalLinkPointerGesture, isTerminalPasteShortcut, + shouldReportTerminalMouse, terminalLinkAtColumn, } from "./surface"; @@ -93,6 +97,7 @@ describe("isTerminalPasteShortcut", () => { describe("isTerminalCompositionCommitInput", () => { it("identifies browser composition follow-up input", () => { + expect(isTerminalCompositionCommitInput({ inputType: "" })).toBe(true); expect(isTerminalCompositionCommitInput({ inputType: "insertCompositionText" })).toBe(true); expect(isTerminalCompositionCommitInput({ inputType: "insertFromComposition" })).toBe(true); }); @@ -101,3 +106,84 @@ describe("isTerminalCompositionCommitInput", () => { expect(isTerminalCompositionCommitInput({ inputType: "insertText" })).toBe(false); }); }); + +describe("application mouse reporting", () => { + const event = (overrides: Partial[1]> = {}) => ({ + ctrlKey: false, + metaKey: false, + shiftKey: false, + ...overrides, + }); + + it("keeps Shift and link activation modifiers available to the browser", () => { + expect(shouldReportTerminalMouse(true, event())).toBe(true); + expect(shouldReportTerminalMouse(true, event({ shiftKey: true }))).toBe(false); + expect(shouldReportTerminalMouse(true, event({ ctrlKey: true }))).toBe(false); + expect(shouldReportTerminalMouse(true, event({ metaKey: true }))).toBe(false); + expect(shouldReportTerminalMouse(false, event())).toBe(false); + }); + + it("maps browser buttons to Ghostty's button enum", () => { + expect([0, 1, 2, 3, 4, 5].map(ghosttyMouseButton)).toEqual([1, 3, 2, 4, 5, null]); + }); +}); + +describe("isTerminalLinkPointerGesture", () => { + it("uses Command on macOS and Control elsewhere", () => { + expect(isTerminalLinkPointerGesture({ ctrlKey: false, metaKey: true }, "MacIntel")).toBe(true); + expect(isTerminalLinkPointerGesture({ ctrlKey: true, metaKey: false }, "MacIntel")).toBe(false); + expect(isTerminalLinkPointerGesture({ ctrlKey: true, metaKey: false }, "Linux x86_64")).toBe( + true, + ); + expect(isTerminalLinkPointerGesture({ ctrlKey: false, metaKey: true }, "Linux x86_64")).toBe( + false, + ); + }); +}); + +describe("advanceTerminalSelectionClickSequence", () => { + it("recognizes stationary double and triple pointer presses without PointerEvent.detail", () => { + const first = advanceTerminalSelectionClickSequence(null, { + clientX: 20, + clientY: 30, + timeStamp: 1_000, + }); + const second = advanceTerminalSelectionClickSequence(first, { + clientX: 22, + clientY: 29, + timeStamp: 1_200, + }); + const third = advanceTerminalSelectionClickSequence(second, { + clientX: 21, + clientY: 31, + timeStamp: 1_400, + }); + + expect([first.count, second.count, third.count]).toEqual([1, 2, 3]); + }); + + it("starts over after movement, delay, or a completed triple click", () => { + const previous = { count: 3, time: 1_000, x: 20, y: 30 }; + expect( + advanceTerminalSelectionClickSequence(previous, { + clientX: 20, + clientY: 30, + timeStamp: 1_100, + }).count, + ).toBe(1); + expect( + advanceTerminalSelectionClickSequence(previous, { + clientX: 30, + clientY: 30, + timeStamp: 1_100, + }).count, + ).toBe(1); + expect( + advanceTerminalSelectionClickSequence(previous, { + clientX: 20, + clientY: 30, + timeStamp: 1_501, + }).count, + ).toBe(1); + }); +}); diff --git a/apps/web/src/terminal/ghostty/surface.ts b/apps/web/src/terminal/ghostty/surface.ts index 84d33838b0a..8fbe93043fc 100644 --- a/apps/web/src/terminal/ghostty/surface.ts +++ b/apps/web/src/terminal/ghostty/surface.ts @@ -43,7 +43,67 @@ export function isTerminalPasteShortcut( } export function isTerminalCompositionCommitInput(event: Pick): boolean { - return event.inputType === "insertCompositionText" || event.inputType === "insertFromComposition"; + return ( + event.inputType === "" || + event.inputType === "insertCompositionText" || + event.inputType === "insertFromComposition" + ); +} + +export function shouldReportTerminalMouse( + tracking: boolean, + event: Pick, +): boolean { + return tracking && !event.shiftKey && !event.ctrlKey && !event.metaKey; +} + +export function isTerminalLinkPointerGesture( + event: Pick, + platform = navigator.platform, +): boolean { + return isMacPlatform(platform) + ? event.metaKey && !event.ctrlKey + : event.ctrlKey && !event.metaKey; +} + +export function ghosttyMouseButton(button: number): number | null { + switch (button) { + case 0: + return 1; + case 1: + return 3; + case 2: + return 2; + case 3: + return 4; + case 4: + return 5; + default: + return null; + } +} + +export interface TerminalSelectionClickSequence { + readonly count: number; + readonly time: number; + readonly x: number; + readonly y: number; +} + +export function advanceTerminalSelectionClickSequence( + previous: TerminalSelectionClickSequence | null, + event: Pick, +): TerminalSelectionClickSequence { + const repeats = + previous !== null && + event.timeStamp - previous.time <= 500 && + Math.hypot(event.clientX - previous.x, event.clientY - previous.y) <= 4; + return { + count: repeats ? (previous.count >= 3 ? 1 : previous.count + 1) : 1, + time: event.timeStamp, + x: event.clientX, + y: event.clientY, + }; } export interface GhosttySelectionPosition { @@ -85,6 +145,15 @@ export class GhosttyTerminalSurface { private selectionEnd: { x: number; y: number } | null = null; private selectionAnchorScreen: { x: number; y: number } | null = null; private selectionEndScreen: { x: number; y: number } | null = null; + private selectionMode: "cell" | "word" | "line" = "cell"; + private selectionBase: { + start: { x: number; y: number }; + end: { x: number; y: number }; + } | null = null; + private mouseReportingPointerId: number | null = null; + private mouseReportingButton: number | null = null; + private linkActivationPointerId: number | null = null; + private selectionClickSequence: TerminalSelectionClickSequence | null = null; private selectionMoved = false; private composing = false; @@ -233,6 +302,8 @@ export class GhosttyTerminalSurface { this.selectionEnd = null; this.selectionAnchorScreen = null; this.selectionEndScreen = null; + this.selectionMode = "cell"; + this.selectionBase = null; this.options.onSelectionChange(); this.requestRender(); } @@ -327,44 +398,126 @@ export class GhosttyTerminalSurface { } private readonly onPointerDown = (event: PointerEvent) => { - if (event.button !== 0) return; this.focus(); + if (shouldReportTerminalMouse(this.core.isMouseTracking(), event)) { + const button = ghosttyMouseButton(event.button); + if (button === null) return; + event.preventDefault(); + event.stopPropagation(); + this.mouseReportingPointerId = event.pointerId; + this.mouseReportingButton = button; + this.sendMouse("press", button, event); + this.canvas.setPointerCapture(event.pointerId); + return; + } + if (event.button !== 0) return; + if (isTerminalLinkPointerGesture(event)) { + event.preventDefault(); + event.stopPropagation(); + this.linkActivationPointerId = event.pointerId; + this.canvas.setPointerCapture(event.pointerId); + return; + } const cell = this.cellAt(event.clientX, event.clientY); - this.selectionAnchor = cell; - this.selectionEnd = cell; this.selectionMoved = false; - this.core.setSelection(cell.x, cell.y, cell.x, cell.y); - this.selectionAnchorScreen = this.core.viewportPointToScreen(cell.x, cell.y); - this.selectionEndScreen = this.selectionAnchorScreen; + this.selectionClickSequence = advanceTerminalSelectionClickSequence( + this.selectionClickSequence, + event, + ); + const clickCount = this.selectionClickSequence.count; + this.selectionMode = clickCount >= 3 ? "line" : clickCount === 2 ? "word" : "cell"; + const range = + this.selectionMode === "line" + ? this.core.selectLine(cell.x, cell.y) + : this.selectionMode === "word" + ? this.core.selectWord(cell.x, cell.y) + : null; + if (range) { + this.selectionBase = range.viewport; + this.selectionAnchor = range.viewport.start; + this.selectionEnd = range.viewport.end; + this.selectionAnchorScreen = range.screen.start; + this.selectionEndScreen = range.screen.end; + this.options.onSelectionChange(); + } else { + this.selectionMode = "cell"; + this.selectionBase = null; + this.selectionAnchor = cell; + this.selectionEnd = cell; + this.core.setSelection(cell.x, cell.y, cell.x, cell.y); + this.selectionAnchorScreen = this.core.viewportPointToScreen(cell.x, cell.y); + this.selectionEndScreen = this.selectionAnchorScreen; + } this.canvas.setPointerCapture(event.pointerId); this.requestRender(); }; private readonly onPointerMove = (event: PointerEvent) => { + if (this.linkActivationPointerId === event.pointerId) return; + if ( + this.mouseReportingPointerId === event.pointerId || + shouldReportTerminalMouse(this.core.isMouseTracking(), event) + ) { + event.preventDefault(); + this.canvas.style.cursor = "default"; + this.sendMouse("motion", this.buttonFromButtons(event.buttons), event); + return; + } if (!this.selectionAnchor || !this.canvas.hasPointerCapture(event.pointerId)) return; const cell = this.cellAt(event.clientX, event.clientY); if (cell.x === this.selectionEnd?.x && cell.y === this.selectionEnd.y) return; this.selectionMoved = true; - this.selectionEnd = cell; - this.core.setSelection(this.selectionAnchor.x, this.selectionAnchor.y, cell.x, cell.y); - this.selectionAnchorScreen = this.core.viewportPointToScreen( - this.selectionAnchor.x, - this.selectionAnchor.y, - ); - this.selectionEndScreen = this.core.viewportPointToScreen(cell.x, cell.y); + const range = + this.selectionMode === "line" + ? this.core.selectLine(cell.x, cell.y) + : this.selectionMode === "word" + ? this.core.selectWord(cell.x, cell.y) + : null; + const base = this.selectionBase; + const beforeBase = + base !== null && + (cell.y < base.start.y || (cell.y === base.start.y && cell.x < base.start.x)); + const anchor = base === null ? this.selectionAnchor : beforeBase ? base.end : base.start; + const end = range === null ? cell : beforeBase ? range.viewport.start : range.viewport.end; + this.selectionAnchor = anchor; + this.selectionEnd = end; + this.core.setSelection(anchor.x, anchor.y, end.x, end.y); + this.selectionAnchorScreen = this.core.viewportPointToScreen(anchor.x, anchor.y); + this.selectionEndScreen = this.core.viewportPointToScreen(end.x, end.y); this.options.onSelectionChange(); this.requestRender(); }; private readonly onPointerUp = (event: PointerEvent) => { + if (this.linkActivationPointerId === event.pointerId) { + event.preventDefault(); + event.stopPropagation(); + this.linkActivationPointerId = null; + if (this.canvas.hasPointerCapture(event.pointerId)) { + this.canvas.releasePointerCapture(event.pointerId); + } + if (event.type !== "pointercancel") { + const link = this.linkAt(event.clientX, event.clientY); + if (link) this.options.onLinkActivate(link, event); + } + return; + } + if (this.mouseReportingPointerId === event.pointerId) { + event.preventDefault(); + event.stopPropagation(); + this.sendMouse("release", this.mouseReportingButton, event); + this.mouseReportingPointerId = null; + this.mouseReportingButton = null; + if (this.canvas.hasPointerCapture(event.pointerId)) { + this.canvas.releasePointerCapture(event.pointerId); + } + return; + } if (this.canvas.hasPointerCapture(event.pointerId)) { this.canvas.releasePointerCapture(event.pointerId); } if (event.button !== 0) return; - if (!this.selectionMoved && (event.metaKey || event.ctrlKey)) { - const link = this.linkAt(event.clientX, event.clientY); - if (link) this.options.onLinkActivate(link, event); - } else if (!this.selectionMoved) { + if (!this.selectionMoved && this.selectionMode === "cell") { this.clearSelection(); } this.options.onSelectionChange(); @@ -374,6 +527,13 @@ export class GhosttyTerminalSurface { if (event.deltaY === 0) return; event.preventDefault(); const rows = Math.max(1, Math.round(Math.abs(event.deltaY) / this.metrics.height)); + if (shouldReportTerminalMouse(this.core.isMouseTracking(), event)) { + const button = event.deltaY < 0 ? 4 : 5; + for (let index = 0; index < rows; index += 1) { + this.sendMouse("press", button, event); + } + return; + } this.core.scroll(event.deltaY < 0 ? -rows : rows); this.forceFullRender = true; this.requestRender(); @@ -383,6 +543,12 @@ export class GhosttyTerminalSurface { this.focus(); }; + private readonly onContextMenu = (event: MouseEvent) => { + if (shouldReportTerminalMouse(this.core.isMouseTracking(), event)) { + event.preventDefault(); + } + }; + private installEvents(): void { this.input.addEventListener("keydown", this.onKeyDown); this.input.addEventListener("input", this.onInput); @@ -395,6 +561,7 @@ export class GhosttyTerminalSurface { this.canvas.addEventListener("pointercancel", this.onPointerUp); this.canvas.addEventListener("wheel", this.onWheel, { passive: false }); this.canvas.addEventListener("mousedown", this.onMouseDown); + this.canvas.addEventListener("contextmenu", this.onContextMenu); } private removeEvents(): void { @@ -409,6 +576,7 @@ export class GhosttyTerminalSurface { this.canvas.removeEventListener("pointercancel", this.onPointerUp); this.canvas.removeEventListener("wheel", this.onWheel); this.canvas.removeEventListener("mousedown", this.onMouseDown); + this.canvas.removeEventListener("contextmenu", this.onContextMenu); } private requestRender(): void { @@ -466,8 +634,45 @@ export class GhosttyTerminalSurface { private linkAt(clientX: number, clientY: number): string | null { if (!this.snapshot) return null; const cell = this.cellAt(clientX, clientY); + const explicitHyperlink = this.core.hyperlinkAt(cell.x, cell.y); + if (explicitHyperlink) return explicitHyperlink; const row = this.snapshot.rowData[cell.y]; if (!row) return null; return terminalLinkAtColumn(row, cell.x); } + + private sendMouse( + action: "press" | "release" | "motion", + button: number | null, + event: MouseEvent, + ): void { + const bounds = this.canvas.getBoundingClientRect(); + const data = this.core.encodeMouse({ + action, + button, + mods: + (event.shiftKey ? 1 : 0) | + (event.ctrlKey ? 1 << 1 : 0) | + (event.altKey ? 1 << 2 : 0) | + (event.metaKey ? 1 << 3 : 0), + x: Math.max(0, event.clientX - bounds.left), + y: Math.max(0, event.clientY - bounds.top), + screenWidth: bounds.width, + screenHeight: bounds.height, + cellWidth: this.metrics.width, + cellHeight: this.metrics.height, + padding: CONTENT_PADDING, + anyButtonPressed: event.buttons !== 0, + }); + if (data.length > 0) this.options.onData(data); + } + + private buttonFromButtons(buttons: number): number | null { + if ((buttons & 1) !== 0) return 1; + if ((buttons & 4) !== 0) return 3; + if ((buttons & 2) !== 0) return 2; + if ((buttons & 8) !== 0) return 4; + if ((buttons & 16) !== 0) return 5; + return null; + } } diff --git a/docs/architecture/terminal-renderers.md b/docs/architecture/terminal-renderers.md index a9b6e5dd5f6..ab9a3a2b4b6 100644 --- a/docs/architecture/terminal-renderers.md +++ b/docs/architecture/terminal-renderers.md @@ -16,11 +16,15 @@ boundaries, keyboard encoding, selection, and scrollback: The platform adapters deliberately own only platform behavior. Android owns its Kotlin Canvas and touch integration. Web owns browser font shaping, the hidden IME textarea, clipboard and DOM input, -and its Canvas renderer. React does not participate in terminal frames. +and its Canvas renderer. The web adapter also delegates application mouse encoding, word and line +selection, and OSC 8 hyperlink metadata to the official ABI. Browser conventions remain available: +holding Shift bypasses application mouse capture, and the platform link modifier opens hyperlinks. +React does not participate in terminal frames. The web runtime is singleton-scoped per browser tab so split terminals share one compiled module and memory. Each visible terminal owns and frees its own terminal, render state, row iterator, cell -iterator, key encoder, and key event handles. +iterator, key and mouse encoder, and input event handles. Restoring captured scrollback temporarily +detaches the PTY callback so historical device queries cannot emit replies into the current shell. ## Updating Ghostty From 8f08f6aceb0d0aeadc60ff836576854395843966 Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Wed, 29 Jul 2026 23:25:36 +0200 Subject: [PATCH 12/51] fix(web): harden Ghostty terminal lifecycle --- apps/web/scripts/build-libghostty-wasm.sh | 1 + .../components/ThreadTerminalDrawer.test.ts | 10 +++ .../src/components/ThreadTerminalDrawer.tsx | 43 +++++++--- apps/web/src/terminal/ghostty/core.ts | 78 ++++++++++++------- apps/web/src/terminal/ghostty/runtime.ts | 4 +- apps/web/src/terminal/ghostty/surface.test.ts | 21 +++++ apps/web/src/terminal/ghostty/surface.ts | 43 +++++++--- 7 files changed, 152 insertions(+), 48 deletions(-) diff --git a/apps/web/scripts/build-libghostty-wasm.sh b/apps/web/scripts/build-libghostty-wasm.sh index bff80337121..ec8198d13e2 100755 --- a/apps/web/scripts/build-libghostty-wasm.sh +++ b/apps/web/scripts/build-libghostty-wasm.sh @@ -68,6 +68,7 @@ ensure_zig() { ensure_ghostty_source() { if [[ ! -d "${GHOSTTY_SOURCE_DIR}/.git" ]]; then require_cmd git + mkdir -p "$(dirname "${GHOSTTY_SOURCE_DIR}")" log "cloning Ghostty ${GHOSTTY_REVISION}" git clone --filter=blob:none --no-checkout https://github.com/ghostty-org/ghostty.git \ "${GHOSTTY_SOURCE_DIR}" diff --git a/apps/web/src/components/ThreadTerminalDrawer.test.ts b/apps/web/src/components/ThreadTerminalDrawer.test.ts index 9f483af3c3b..67c7e8f0d91 100644 --- a/apps/web/src/components/ThreadTerminalDrawer.test.ts +++ b/apps/web/src/components/ThreadTerminalDrawer.test.ts @@ -4,6 +4,7 @@ import { resolveTerminalSelectionActionPosition, shouldHandleTerminalSelectionMouseUp, terminalSelectionActionDelayForClickCount, + terminalSelectionLineRange, } from "./ThreadTerminalDrawer"; describe("resolveTerminalSelectionActionPosition", () => { @@ -72,4 +73,13 @@ describe("resolveTerminalSelectionActionPosition", () => { expect(shouldHandleTerminalSelectionMouseUp(false, 0)).toBe(false); expect(shouldHandleTerminalSelectionMouseUp(true, 1)).toBe(false); }); + + it("uses Ghostty's physical screen range for visually wrapped selections", () => { + expect( + terminalSelectionLineRange({ + start: { y: 4 }, + end: { y: 6 }, + }), + ).toEqual({ lineStart: 5, lineEnd: 7 }); + }); }); diff --git a/apps/web/src/components/ThreadTerminalDrawer.tsx b/apps/web/src/components/ThreadTerminalDrawer.tsx index ececaf67db0..6317eaddb33 100644 --- a/apps/web/src/components/ThreadTerminalDrawer.tsx +++ b/apps/web/src/components/ThreadTerminalDrawer.tsx @@ -233,6 +233,17 @@ export function shouldHandleTerminalSelectionMouseUp( return selectionGestureActive && button === 0; } +export function terminalSelectionLineRange(position: { + start: { y: number }; + end: { y: number }; +}): { lineStart: number; lineEnd: number } { + const lineStart = position.start.y + 1; + return { + lineStart, + lineEnd: Math.max(lineStart, position.end.y + 1), + }; +} + interface TerminalViewportProps { threadRef: ScopedThreadRef; threadId: ThreadId; @@ -356,6 +367,8 @@ export function TerminalViewport({ const localApi = readLocalApi(); let cancelled = false; let teardown: (() => void) | null = null; + let setupTerminal: GhosttyTerminalSurface | null = null; + let setupCleanups: Array<() => void> = []; const setup = async (): Promise<(() => void) | null> => { const terminalOptions: GhosttyTerminalSurfaceOptions = { @@ -372,6 +385,7 @@ export function TerminalViewport({ terminal.dispose(); return null; } + setupTerminal = terminal; terminalRef.current = terminal; const latestSession = latestSessionRef.current; previousSessionRef.current = latestSession; @@ -386,6 +400,7 @@ export function TerminalViewport({ selectionActionTimerRef.current = null; } }; + setupCleanups.push(clearSelectionAction); const readSelectionAction = (): { position: { x: number; y: number }; @@ -403,9 +418,7 @@ export function TerminalViewport({ if (!selectionPosition || normalizedText.length === 0) { return null; } - const lineStart = selectionPosition.start.y + 1; - const lineCount = normalizedText.split("\n").length; - const lineEnd = Math.max(lineStart, lineStart + lineCount - 1); + const { lineStart, lineEnd } = terminalSelectionLineRange(selectionPosition); const bounds = mountElement.getBoundingClientRect(); const selectionRect = getTerminalSelectionRect(mountElement); const position = resolveTerminalSelectionActionPosition({ @@ -631,6 +644,10 @@ export function TerminalViewport({ }; window.addEventListener("mouseup", handleMouseUp); mount.addEventListener("pointerdown", handlePointerDown); + setupCleanups.push(() => { + window.removeEventListener("mouseup", handleMouseUp); + mount.removeEventListener("pointerdown", handlePointerDown); + }); const themeObserver = new MutationObserver(() => { const activeTerminal = terminalRef.current; @@ -641,6 +658,7 @@ export function TerminalViewport({ attributes: true, attributeFilter: ["class", "style"], }); + setupCleanups.push(() => themeObserver.disconnect()); const fitTimer = window.setTimeout(() => { const activeTerminal = terminalRef.current; @@ -652,16 +670,14 @@ export function TerminalViewport({ } void resizeTerminal(activeTerminal.cols, activeTerminal.rows); }, 30); + setupCleanups.push(() => window.clearTimeout(fitTimer)); + const cleanups = setupCleanups; + setupCleanups = []; + setupTerminal = null; return () => { - window.clearTimeout(fitTimer); - if (selectionActionTimerRef.current !== null) { - window.clearTimeout(selectionActionTimerRef.current); - } - window.removeEventListener("mouseup", handleMouseUp); - mount.removeEventListener("pointerdown", handlePointerDown); - themeObserver.disconnect(); - terminalRef.current = null; + for (const cleanup of cleanups.toReversed()) cleanup(); + if (terminalRef.current === terminal) terminalRef.current = null; terminal.dispose(); }; }; @@ -675,6 +691,11 @@ export function TerminalViewport({ teardown = nextTeardown; }) .catch((error: unknown) => { + for (const cleanup of setupCleanups.toReversed()) cleanup(); + setupCleanups = []; + if (terminalRef.current === setupTerminal) terminalRef.current = null; + setupTerminal?.dispose(); + setupTerminal = null; if (cancelled) return; mount.textContent = error instanceof Error ? error.message : "Unable to initialize libghostty-vt"; diff --git a/apps/web/src/terminal/ghostty/core.ts b/apps/web/src/terminal/ghostty/core.ts index 212ba4f2b1e..3e39996fef1 100644 --- a/apps/web/src/terminal/ghostty/core.ts +++ b/apps/web/src/terminal/ghostty/core.ts @@ -27,6 +27,7 @@ const RENDER_DATA = { const ROW_DATA = { dirty: 1, + raw: 2, cells: 3, } as const; @@ -67,6 +68,7 @@ export interface GhosttyCell { export interface GhosttyRow { readonly cells: readonly GhosttyCell[]; readonly text: string; + readonly isWrapContinuation: boolean; } export interface GhosttySnapshot { @@ -364,22 +366,18 @@ export class GhosttyTerminalCore { this.runtime.call("ghostty_key_event_set_utf8", this.keyEvent, textPointer, textBytes.length); if (textPointer !== 0) this.runtime.free(textPointer, textBytes.length); - const outputSize = 128; - const output = this.runtime.alloc(outputSize); const written = this.runtime.call("ghostty_wasm_alloc_usize"); - const result = this.runtime.call( - "ghostty_key_encoder_encode", - this.keyEncoder, - this.keyEvent, - output, - outputSize, - written, + const encoded = this.encodeOutput(written, (output, outputSize) => + this.runtime.call( + "ghostty_key_encoder_encode", + this.keyEncoder, + this.keyEvent, + output, + outputSize, + written, + ), ); - const length = this.runtime.view(written, 4).getUint32(0, true); - const encoded = - result === GHOSTTY_SUCCESS ? decoder.decode(this.runtime.bytes(output, length)) : ""; this.runtime.call("ghostty_wasm_free_usize", written); - this.runtime.free(output, outputSize); return encoded; } @@ -474,21 +472,17 @@ export class GhosttyTerminalCore { this.runtime.free(position, positionLayout.size); const written = this.runtime.call("ghostty_wasm_alloc_usize"); - const outputSize = 128; - const output = this.runtime.alloc(outputSize); - const result = this.runtime.call( - "ghostty_mouse_encoder_encode", - this.mouseEncoder, - this.mouseEvent, - output, - outputSize, - written, + const encoded = this.encodeOutput(written, (output, outputSize) => + this.runtime.call( + "ghostty_mouse_encoder_encode", + this.mouseEncoder, + this.mouseEvent, + output, + outputSize, + written, + ), ); - const outputLength = this.runtime.view(written, 4).getUint32(0, true); - const encoded = - result === GHOSTTY_SUCCESS ? decoder.decode(this.runtime.bytes(output, outputLength)) : ""; this.runtime.call("ghostty_wasm_free_usize", written); - this.runtime.free(output, outputSize); return encoded; } @@ -598,6 +592,7 @@ export class GhosttyTerminalCore { this.rows = Array.from({ length: rowCount }, () => ({ cells: Array.from({ length: cols }, () => this.emptyCell(foreground, background)), text: "", + isWrapContinuation: false, })); } @@ -748,12 +743,42 @@ export class GhosttyTerminalCore { } } + private encodeOutput( + written: number, + encode: (output: number, outputSize: number) => number, + ): string { + const sizeResult = encode(0, 0); + const outputSize = this.runtime.view(written, 4).getUint32(0, true); + if (sizeResult === GHOSTTY_SUCCESS && outputSize === 0) return ""; + if (sizeResult !== GHOSTTY_OUT_OF_SPACE || outputSize === 0) return ""; + + const output = this.runtime.alloc(outputSize); + const result = encode(output, outputSize); + const outputLength = this.runtime.view(written, 4).getUint32(0, true); + const encoded = + result === GHOSTTY_SUCCESS ? decoder.decode(this.runtime.bytes(output, outputLength)) : ""; + this.runtime.free(output, outputSize); + return encoded; + } + private readRow( iterator: number, cols: number, defaultForeground: GhosttyColor, defaultBackground: GhosttyColor, ): GhosttyRow { + this.assertSuccess( + "ghostty_render_state_row_get(raw)", + this.runtime.call("ghostty_render_state_row_get", iterator, ROW_DATA.raw, this.scratch), + ); + const rawRow = this.runtime.view(this.scratch, 8).getBigUint64(0, true); + this.runtime.bytes(this.scratch + 8, 1)[0] = 0; + this.assertSuccess( + "ghostty_row_get(wrap continuation)", + this.runtime.call("ghostty_row_get", rawRow, 2, this.scratch + 8), + ); + const isWrapContinuation = this.runtime.bytes(this.scratch + 8, 1)[0] !== 0; + this.assertSuccess( "ghostty_render_state_row_get(cells)", this.runtime.call( @@ -824,6 +849,7 @@ export class GhosttyTerminalCore { .map((cell) => cell.text || " ") .join("") .trimEnd(), + isWrapContinuation, }; } diff --git a/apps/web/src/terminal/ghostty/runtime.ts b/apps/web/src/terminal/ghostty/runtime.ts index 583592495cb..c6d24bacc32 100644 --- a/apps/web/src/terminal/ghostty/runtime.ts +++ b/apps/web/src/terminal/ghostty/runtime.ts @@ -1,7 +1,7 @@ import ghosttyWasmUrl from "./vendor/ghostty-vt.wasm?url"; import ghosttyWritePtyWasmUrl from "./vendor/ghostty-write-pty.wasm?url&no-inline"; -type WasmFunction = (...args: number[]) => number; +type WasmFunction = (...args: Array) => number; interface TypeField { readonly offset: number; @@ -65,7 +65,7 @@ export class GhosttyRuntime { return runtime; } - call(name: string, ...args: number[]): number { + call(name: string, ...args: Array): number { const fn = this.exports[name]; if (typeof fn !== "function") { throw new Error(`libghostty-vt export is unavailable: ${name}`); diff --git a/apps/web/src/terminal/ghostty/surface.test.ts b/apps/web/src/terminal/ghostty/surface.test.ts index a1c6cfd70c6..bf23c16af88 100644 --- a/apps/web/src/terminal/ghostty/surface.test.ts +++ b/apps/web/src/terminal/ghostty/surface.test.ts @@ -10,6 +10,7 @@ import { isTerminalPasteShortcut, shouldReportTerminalMouse, terminalLinkAtColumn, + terminalLinkAtPosition, } from "./surface"; const cell = (text: string): GhosttyCell => ({ @@ -38,12 +39,32 @@ describe("terminalLinkAtColumn", () => { .map((value) => value.text || " ") .join("") .trimEnd(), + isWrapContinuation: false, }; expect(terminalLinkAtColumn(row, 2)).toBe("https://t3.codes"); expect(terminalLinkAtColumn(row, cells.length - 1)).toBe("https://t3.codes"); expect(terminalLinkAtColumn(row, 0)).toBeNull(); }); + + it("uses shared path matching and reconstructs soft-wrapped links", () => { + const row = (text: string, isWrapContinuation: boolean): GhosttyRow => ({ + cells: Array.from(text.padEnd(16), (character) => cell(character)), + text: text.trimEnd(), + isWrapContinuation, + }); + const rows = [ + row("https://example.", false), + row("com/reference", true), + row("~/project/file", false), + row("C:\\repo\\file.ts", false), + ]; + + expect(terminalLinkAtPosition(rows, 0, 8)).toBe("https://example.com/reference"); + expect(terminalLinkAtPosition(rows, 1, 4)).toBe("https://example.com/reference"); + expect(terminalLinkAtPosition(rows, 2, 2)).toBe("~/project/file"); + expect(terminalLinkAtPosition(rows, 3, 4)).toBe("C:\\repo\\file.ts"); + }); }); describe("isTerminalCopyShortcut", () => { diff --git a/apps/web/src/terminal/ghostty/surface.ts b/apps/web/src/terminal/ghostty/surface.ts index 8fbe93043fc..64cf9524ecc 100644 --- a/apps/web/src/terminal/ghostty/surface.ts +++ b/apps/web/src/terminal/ghostty/surface.ts @@ -1,4 +1,5 @@ import { isMacPlatform } from "../../lib/utils"; +import { collectWrappedTerminalLinkLine, extractTerminalLinks } from "../../terminal-links"; import { GhosttyTerminalCore, type GhosttySnapshot, type GhosttyTheme } from "./core"; import { measureGhosttyCell, @@ -11,21 +12,47 @@ const FONT_SIZE = 12; const FONT_FAMILY = '"SF Mono", "SFMono-Regular", "JetBrains Mono", Consolas, "Liberation Mono", Menlo, monospace'; const CONTENT_PADDING = 4; -const linkPattern = - /https?:\/\/[^\s"'<>]+|(?:\.{0,2}\/)?[\w@+.,-]+(?:\/[\w@+.,-]+)+(?::\d+(?::\d+)?)?/gu; +function terminalRowText(row: GhosttySnapshot["rowData"][number], trimRight: boolean): string { + const text = row.cells.map((cell) => cell.text || " ").join(""); + return trimRight ? text.trimEnd() : text; +} -export function terminalLinkAtColumn(row: GhosttySnapshot["rowData"][number], column: number) { +function terminalColumnOffset(row: GhosttySnapshot["rowData"][number], column: number): number { let offset = 0; for (let cellIndex = 0; cellIndex < column; cellIndex += 1) { offset += row.cells[cellIndex]?.text.length || 1; } - for (const match of row.text.matchAll(linkPattern)) { - const value = match[0]; - if (offset >= match.index && offset < match.index + value.length) return value; + return offset; +} + +export function terminalLinkAtPosition( + rows: GhosttySnapshot["rowData"], + rowIndex: number, + column: number, +): string | null { + const wrappedLine = collectWrappedTerminalLinkLine(rowIndex + 1, (index) => { + const row = rows[index]; + if (!row) return null; + return { + isWrapped: row.isWrapContinuation, + translateToString: (trimRight = false) => terminalRowText(row, trimRight), + }; + }); + if (!wrappedLine) return null; + const segment = wrappedLine.segments.find((value) => value.bufferLineNumber === rowIndex + 1); + const row = rows[rowIndex]; + if (!segment || !row) return null; + const offset = segment.startIndex + terminalColumnOffset(row, column); + for (const match of extractTerminalLinks(wrappedLine.text)) { + if (offset >= match.start && offset < match.end) return match.text; } return null; } +export function terminalLinkAtColumn(row: GhosttySnapshot["rowData"][number], column: number) { + return terminalLinkAtPosition([row], 0, column); +} + export function isTerminalCopyShortcut( event: Pick, platform = navigator.platform, @@ -636,9 +663,7 @@ export class GhosttyTerminalSurface { const cell = this.cellAt(clientX, clientY); const explicitHyperlink = this.core.hyperlinkAt(cell.x, cell.y); if (explicitHyperlink) return explicitHyperlink; - const row = this.snapshot.rowData[cell.y]; - if (!row) return null; - return terminalLinkAtColumn(row, cell.x); + return terminalLinkAtPosition(this.snapshot.rowData, cell.y, cell.x); } private sendMouse( From 43cb0e0295495716841fad574213c0d3e30386f2 Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Wed, 29 Jul 2026 23:31:04 +0200 Subject: [PATCH 13/51] fix(web): retain Ghostty key text through encoding --- apps/web/src/terminal/ghostty/core.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/web/src/terminal/ghostty/core.ts b/apps/web/src/terminal/ghostty/core.ts index 3e39996fef1..60187a12ede 100644 --- a/apps/web/src/terminal/ghostty/core.ts +++ b/apps/web/src/terminal/ghostty/core.ts @@ -364,7 +364,6 @@ export class GhosttyTerminalCore { const textPointer = textBytes.length === 0 ? 0 : this.runtime.alloc(textBytes.length); if (textPointer !== 0) this.runtime.bytes(textPointer, textBytes.length).set(textBytes); this.runtime.call("ghostty_key_event_set_utf8", this.keyEvent, textPointer, textBytes.length); - if (textPointer !== 0) this.runtime.free(textPointer, textBytes.length); const written = this.runtime.call("ghostty_wasm_alloc_usize"); const encoded = this.encodeOutput(written, (output, outputSize) => @@ -378,6 +377,7 @@ export class GhosttyTerminalCore { ), ); this.runtime.call("ghostty_wasm_free_usize", written); + if (textPointer !== 0) this.runtime.free(textPointer, textBytes.length); return encoded; } From 8fd64a1b4b32b5d341e9390438d890159ed5780a Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Thu, 30 Jul 2026 05:35:43 +0200 Subject: [PATCH 14/51] fix(web): handle Ghostty terminal edge cases --- .../components/ThreadTerminalDrawer.test.ts | 7 ++ .../src/components/ThreadTerminalDrawer.tsx | 50 ++++++++----- apps/web/src/terminal/ghostty/core.ts | 41 ++++++++++- .../web/src/terminal/ghostty/keyCodes.test.ts | 10 ++- apps/web/src/terminal/ghostty/keyCodes.ts | 6 ++ .../web/src/terminal/ghostty/renderer.test.ts | 30 +++++++- apps/web/src/terminal/ghostty/renderer.ts | 27 +++++-- .../src/terminal/ghostty/runtimeAbi.test.ts | 70 +++++++++++++++++++ apps/web/src/terminal/ghostty/surface.test.ts | 19 +++++ apps/web/src/terminal/ghostty/surface.ts | 7 ++ 10 files changed, 239 insertions(+), 28 deletions(-) diff --git a/apps/web/src/components/ThreadTerminalDrawer.test.ts b/apps/web/src/components/ThreadTerminalDrawer.test.ts index 67c7e8f0d91..e60d1d71678 100644 --- a/apps/web/src/components/ThreadTerminalDrawer.test.ts +++ b/apps/web/src/components/ThreadTerminalDrawer.test.ts @@ -2,6 +2,7 @@ import { describe, expect, it } from "vite-plus/test"; import { resolveTerminalSelectionActionPosition, + shouldHandleTerminalExit, shouldHandleTerminalSelectionMouseUp, terminalSelectionActionDelayForClickCount, terminalSelectionLineRange, @@ -82,4 +83,10 @@ describe("resolveTerminalSelectionActionPosition", () => { }), ).toEqual({ lineStart: 5, lineEnd: 7 }); }); + + it("handles an exit that lands while the terminal surface is still loading", () => { + expect(shouldHandleTerminalExit("exited", "running", false)).toBe(true); + expect(shouldHandleTerminalExit("exited", "exited", false)).toBe(false); + expect(shouldHandleTerminalExit("closed", "running", true)).toBe(false); + }); }); diff --git a/apps/web/src/components/ThreadTerminalDrawer.tsx b/apps/web/src/components/ThreadTerminalDrawer.tsx index 6317eaddb33..4ef24d9d781 100644 --- a/apps/web/src/components/ThreadTerminalDrawer.tsx +++ b/apps/web/src/components/ThreadTerminalDrawer.tsx @@ -3,6 +3,7 @@ import { isAtomCommandInterrupted, squashAtomCommandFailure, } from "@t3tools/client-runtime/state/runtime"; +import { type TerminalSessionState } from "@t3tools/client-runtime/state/terminal"; import { Plus, SquareSplitHorizontal, @@ -244,6 +245,16 @@ export function terminalSelectionLineRange(position: { }; } +export function shouldHandleTerminalExit( + current: TerminalSessionState["status"], + synchronized: TerminalSessionState["status"], + alreadyHandled: boolean, +): boolean { + return ( + (current === "closed" || current === "exited") && current !== synchronized && !alreadyHandled + ); +} + interface TerminalViewportProps { threadRef: ScopedThreadRef; threadId: ThreadId; @@ -341,6 +352,24 @@ export function TerminalViewport({ const terminalBuffer = terminalSession.buffer; const terminalError = terminalSession.error; const terminalStatus = terminalSession.status; + const synchronizedStatusRef = useRef(terminalStatus); + const synchronizeTerminalStatus = useEffectEvent( + (terminal: GhosttyTerminalSurface, status: TerminalSessionState["status"]) => { + const synchronized = synchronizedStatusRef.current; + if (status === "running") { + hasHandledExitRef.current = false; + } else if (shouldHandleTerminalExit(status, synchronized, hasHandledExitRef.current)) { + hasHandledExitRef.current = true; + writeSystemMessage(terminal, status === "closed" ? "Terminal closed" : "Process exited"); + window.setTimeout(() => { + if (hasHandledExitRef.current) { + handleSessionExited(); + } + }, 0); + } + synchronizedStatusRef.current = status; + }, + ); const terminalVersion = terminalSession.version; const previousSessionRef = useRef({ buffer: terminalBuffer, @@ -391,6 +420,7 @@ export function TerminalViewport({ previousSessionRef.current = latestSession; if (latestSession.buffer.length > 0) terminal.resetAndWrite(latestSession.buffer); if (latestSession.error !== null) writeSystemMessage(terminal, latestSession.error); + synchronizeTerminalStatus(terminal, latestSession.status); if (autoFocus) window.requestAnimationFrame(() => terminal.focus()); const clearSelectionAction = () => { @@ -723,6 +753,7 @@ export function TerminalViewport({ } const previous = previousSessionRef.current; + synchronizeTerminalStatus(terminal, current.status); if (current.version === previous.version) { return; } @@ -741,25 +772,6 @@ export function TerminalViewport({ writeSystemMessage(terminal, current.error); } - if (current.status === "running") { - hasHandledExitRef.current = false; - } else if ( - (current.status === "closed" || current.status === "exited") && - current.status !== previous.status && - !hasHandledExitRef.current - ) { - hasHandledExitRef.current = true; - writeSystemMessage( - terminal, - current.status === "closed" ? "Terminal closed" : "Process exited", - ); - window.setTimeout(() => { - if (hasHandledExitRef.current) { - handleSessionExited(); - } - }, 0); - } - if (previous.version === 0 && autoFocus) { window.requestAnimationFrame(() => { terminal.focus(); diff --git a/apps/web/src/terminal/ghostty/core.ts b/apps/web/src/terminal/ghostty/core.ts index 60187a12ede..a120531fe94 100644 --- a/apps/web/src/terminal/ghostty/core.ts +++ b/apps/web/src/terminal/ghostty/core.ts @@ -1,4 +1,4 @@ -import { ghosttyKeyForCode } from "./keyCodes"; +import { ghosttyKeyForCode, ghosttyUnshiftedCodepoint } from "./keyCodes"; import { GhosttyRuntime, loadGhosttyRuntime } from "./runtime"; const GHOSTTY_SUCCESS = 0; @@ -32,6 +32,7 @@ const ROW_DATA = { } as const; const CELL_DATA = { + raw: 1, style: 2, graphemesLength: 3, graphemes: 4, @@ -40,6 +41,17 @@ const CELL_DATA = { selected: 7, } as const; +const RAW_CELL_DATA = { + wide: 3, +} as const; + +export const GHOSTTY_CELL_WIDE = { + narrow: 0, + wide: 1, + spacerTail: 2, + spacerHead: 3, +} as const; + export interface GhosttyColor { readonly r: number; readonly g: number; @@ -54,6 +66,7 @@ export interface GhosttyTheme { export interface GhosttyCell { readonly text: string; + readonly wide: number; readonly foreground: GhosttyColor; readonly background: GhosttyColor; readonly bold: boolean; @@ -358,6 +371,11 @@ export class GhosttyTerminalCore { this.runtime.call("ghostty_key_event_set_mods", this.keyEvent, mods); this.runtime.call("ghostty_key_event_set_consumed_mods", this.keyEvent, 0); this.runtime.call("ghostty_key_event_set_composing", this.keyEvent, event.isComposing ? 1 : 0); + this.runtime.call( + "ghostty_key_event_set_unshifted_codepoint", + this.keyEvent, + ghosttyUnshiftedCodepoint(event), + ); const text = event.key.length === 1 ? event.key : ""; const textBytes = encoder.encode(text); @@ -829,8 +847,28 @@ export class GhosttyTerminalCore { } this.runtime.free(codepoints, bufferSize); } + let wide = 0; + if (text.length === 0 && cells.at(-1)?.text.length) { + this.assertSuccess( + "ghostty_render_state_row_cells_get(raw)", + this.runtime.call( + "ghostty_render_state_row_cells_get", + cellsIterator, + CELL_DATA.raw, + this.scratch, + ), + ); + const rawCell = this.runtime.view(this.scratch, 8).getBigUint64(0, true); + this.runtime.view(this.scratch + 8, 4).setUint32(0, 0, true); + this.assertSuccess( + "ghostty_cell_get(wide)", + this.runtime.call("ghostty_cell_get", rawCell, RAW_CELL_DATA.wide, this.scratch + 8), + ); + wide = this.runtime.view(this.scratch + 8, 4).getUint32(0, true); + } cells.push({ text, + wide, foreground, background, bold: this.runtime.readField(this.style, "GhosttyStyle", "bold") !== 0, @@ -1019,6 +1057,7 @@ export class GhosttyTerminalCore { private emptyCell(foreground: GhosttyColor, background: GhosttyColor): GhosttyCell { return { text: "", + wide: 0, foreground, background, bold: false, diff --git a/apps/web/src/terminal/ghostty/keyCodes.test.ts b/apps/web/src/terminal/ghostty/keyCodes.test.ts index b9afaad0401..aa2d2e7553a 100644 --- a/apps/web/src/terminal/ghostty/keyCodes.test.ts +++ b/apps/web/src/terminal/ghostty/keyCodes.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it } from "vite-plus/test"; -import { ghosttyKeyForCode } from "./keyCodes"; +import { ghosttyKeyForCode, ghosttyUnshiftedCodepoint } from "./keyCodes"; describe("ghosttyKeyForCode", () => { it("keeps the tail of the pinned Ghostty key enum in order", () => { @@ -10,3 +10,11 @@ describe("ghosttyKeyForCode", () => { expect(ghosttyKeyForCode("Paste")).toBe(ghosttyKeyForCode("Cut") + 1); }); }); + +describe("ghosttyUnshiftedCodepoint", () => { + it("provides the logical base character for Kitty keyboard encoding", () => { + expect(ghosttyUnshiftedCodepoint({ code: "KeyC", key: "c" })).toBe("c".codePointAt(0)); + expect(ghosttyUnshiftedCodepoint({ code: "KeyC", key: "C" })).toBe("c".codePointAt(0)); + expect(ghosttyUnshiftedCodepoint({ code: "Enter", key: "Enter" })).toBe(0); + }); +}); diff --git a/apps/web/src/terminal/ghostty/keyCodes.ts b/apps/web/src/terminal/ghostty/keyCodes.ts index edb7682edc6..e58d5146a02 100644 --- a/apps/web/src/terminal/ghostty/keyCodes.ts +++ b/apps/web/src/terminal/ghostty/keyCodes.ts @@ -187,3 +187,9 @@ const codeToGhosttyKey = new Map( export function ghosttyKeyForCode(code: string): number { return codeToGhosttyKey.get(code) ?? 0; } + +export function ghosttyUnshiftedCodepoint(event: Pick): number { + if ([...event.key].length !== 1) return 0; + if (/^Key[A-Z]$/u.test(event.code)) return event.code.charCodeAt(3) + 32; + return event.key.codePointAt(0) ?? 0; +} diff --git a/apps/web/src/terminal/ghostty/renderer.test.ts b/apps/web/src/terminal/ghostty/renderer.test.ts index 36c5d96eb8c..d718735d295 100644 --- a/apps/web/src/terminal/ghostty/renderer.test.ts +++ b/apps/web/src/terminal/ghostty/renderer.test.ts @@ -1,6 +1,21 @@ import { describe, expect, it } from "vite-plus/test"; -import { terminalGridSize } from "./renderer"; +import { GHOSTTY_CELL_WIDE, type GhosttyCell } from "./core"; +import { ghosttyTextRunEnd, terminalGridSize } from "./renderer"; + +const cell = (text: string, wide = 0): GhosttyCell => ({ + text, + wide, + foreground: { r: 255, g: 255, b: 255 }, + background: { r: 0, g: 0, b: 0 }, + bold: false, + italic: false, + invisible: false, + strikethrough: false, + overline: false, + underline: false, + selected: false, +}); describe("terminalGridSize", () => { it("matches the mobile renderer's cell-and-padding sizing model", () => { @@ -17,3 +32,16 @@ describe("terminalGridSize", () => { }); }); }); + +describe("ghosttyTextRunEnd", () => { + it("includes wide spacer tails in the visual clip without rendering spaces", () => { + const cells = [ + cell("界", GHOSTTY_CELL_WIDE.wide), + cell("", GHOSTTY_CELL_WIDE.spacerTail), + cell("🙂", GHOSTTY_CELL_WIDE.wide), + cell("", GHOSTTY_CELL_WIDE.spacerTail), + cell(""), + ]; + expect(ghosttyTextRunEnd(cells, 0, () => true)).toBe(4); + }); +}); diff --git a/apps/web/src/terminal/ghostty/renderer.ts b/apps/web/src/terminal/ghostty/renderer.ts index 8cd8a1377cb..6b7c191da7b 100644 --- a/apps/web/src/terminal/ghostty/renderer.ts +++ b/apps/web/src/terminal/ghostty/renderer.ts @@ -1,4 +1,5 @@ import { + GHOSTTY_CELL_WIDE, ghosttyColorsEqual, type GhosttyCell, type GhosttyColor, @@ -28,6 +29,25 @@ function sameTextStyle(left: GhosttyCell, right: GhosttyCell): boolean { ); } +export function ghosttyTextRunEnd( + cells: readonly GhosttyCell[], + start: number, + sameStyle: (cell: GhosttyCell) => boolean, +): number { + let end = start + 1; + while (end < cells.length) { + const next = cells[end]; + if (!next) break; + if (next.wide === GHOSTTY_CELL_WIDE.spacerTail) { + end += 1; + continue; + } + if (next.text.length === 0 || !sameStyle(next)) break; + end += 1; + } + return end; +} + function fontForCell(cell: GhosttyCell, fontSize: number, fontFamily: string): string { const style = cell.italic ? "italic" : "normal"; const weight = cell.bold ? "700" : "400"; @@ -135,12 +155,7 @@ export function renderGhosttySnapshot(options: { runStart += 1; continue; } - let runEnd = runStart + 1; - while (runEnd < row.cells.length) { - const next = row.cells[runEnd]; - if (!next || next.text.length === 0 || !sameTextStyle(next, first)) break; - runEnd += 1; - } + const runEnd = ghosttyTextRunEnd(row.cells, runStart, (cell) => sameTextStyle(cell, first)); const text = row.cells .slice(runStart, runEnd) .map((cell) => cell.text) diff --git a/apps/web/src/terminal/ghostty/runtimeAbi.test.ts b/apps/web/src/terminal/ghostty/runtimeAbi.test.ts index a53c3924d26..2cd0a294068 100644 --- a/apps/web/src/terminal/ghostty/runtimeAbi.test.ts +++ b/apps/web/src/terminal/ghostty/runtimeAbi.test.ts @@ -4,6 +4,7 @@ import wasmDataUrl from "./vendor/ghostty-vt.wasm?inline"; import writePtyWasmDataUrl from "./vendor/ghostty-write-pty.wasm?inline"; import webVersion from "./vendor/VERSION?raw"; import mobileVersion from "../../../../mobile/modules/t3-terminal/Vendor/libghostty-vt/VERSION?raw"; +import { ghosttyKeyForCode } from "./keyCodes"; type WasmFunction = (...args: number[]) => number; @@ -350,4 +351,73 @@ describe("vendored libghostty-vt WebAssembly", () => { call("ghostty_wasm_free_opaque", terminalSlot); free(terminalOptions, 8); }); + + it("encodes modified printable keys in Kitty keyboard mode", async () => { + const result = await WebAssembly.instantiate( + decodeWasmDataUrl(wasmDataUrl).buffer as ArrayBuffer, + { env: { log: () => {} } }, + ); + const instance = result instanceof WebAssembly.Instance ? result : result.instance; + const memory = instance.exports.memory as WebAssembly.Memory; + const call = (name: string, ...args: number[]) => + (instance.exports[name] as WasmFunction)(...args); + const alloc = (size: number) => call("ghostty_wasm_alloc_u8_array", size); + const free = (pointer: number, size: number) => + call("ghostty_wasm_free_u8_array", pointer, size); + + const terminalOptions = alloc(8); + const terminalOptionsView = new DataView(memory.buffer, terminalOptions, 8); + terminalOptionsView.setUint16(0, 80, true); + terminalOptionsView.setUint16(2, 24, true); + const terminalSlot = call("ghostty_wasm_alloc_opaque"); + expect(call("ghostty_terminal_new", 0, terminalSlot, terminalOptions)).toBe(0); + const terminal = new DataView(memory.buffer).getUint32(terminalSlot, true); + const kittyMode = new TextEncoder().encode("\u001b[>1u"); + const kittyModePointer = alloc(kittyMode.length); + new Uint8Array(memory.buffer, kittyModePointer, kittyMode.length).set(kittyMode); + call("ghostty_terminal_vt_write", terminal, kittyModePointer, kittyMode.length); + + const encoderSlot = call("ghostty_wasm_alloc_opaque"); + const eventSlot = call("ghostty_wasm_alloc_opaque"); + expect(call("ghostty_key_encoder_new", 0, encoderSlot)).toBe(0); + expect(call("ghostty_key_event_new", 0, eventSlot)).toBe(0); + const view = new DataView(memory.buffer); + const keyEncoder = view.getUint32(encoderSlot, true); + const keyEvent = view.getUint32(eventSlot, true); + call("ghostty_key_encoder_setopt_from_terminal", keyEncoder, terminal); + call("ghostty_key_event_set_action", keyEvent, 1); + call("ghostty_key_event_set_key", keyEvent, ghosttyKeyForCode("KeyC")); + call("ghostty_key_event_set_mods", keyEvent, 1 << 1); + call("ghostty_key_event_set_consumed_mods", keyEvent, 0); + call("ghostty_key_event_set_composing", keyEvent, 0); + call("ghostty_key_event_set_unshifted_codepoint", keyEvent, "c".codePointAt(0)!); + const text = new TextEncoder().encode("c"); + const textPointer = alloc(text.length); + new Uint8Array(memory.buffer, textPointer, text.length).set(text); + call("ghostty_key_event_set_utf8", keyEvent, textPointer, text.length); + + const written = call("ghostty_wasm_alloc_usize"); + expect(call("ghostty_key_encoder_encode", keyEncoder, keyEvent, 0, 0, written)).toBe(-3); + const outputSize = new DataView(memory.buffer, written, 4).getUint32(0, true); + const output = alloc(outputSize); + expect( + call("ghostty_key_encoder_encode", keyEncoder, keyEvent, output, outputSize, written), + ).toBe(0); + const outputLength = new DataView(memory.buffer, written, 4).getUint32(0, true); + expect(new TextDecoder().decode(new Uint8Array(memory.buffer, output, outputLength))).toBe( + "\u001b[99;5u", + ); + + free(output, outputSize); + call("ghostty_wasm_free_usize", written); + free(textPointer, text.length); + call("ghostty_key_event_free", keyEvent); + call("ghostty_key_encoder_free", keyEncoder); + call("ghostty_wasm_free_opaque", eventSlot); + call("ghostty_wasm_free_opaque", encoderSlot); + free(kittyModePointer, kittyMode.length); + call("ghostty_terminal_free", terminal); + call("ghostty_wasm_free_opaque", terminalSlot); + free(terminalOptions, 8); + }); }); diff --git a/apps/web/src/terminal/ghostty/surface.test.ts b/apps/web/src/terminal/ghostty/surface.test.ts index bf23c16af88..7fa198b0cac 100644 --- a/apps/web/src/terminal/ghostty/surface.test.ts +++ b/apps/web/src/terminal/ghostty/surface.test.ts @@ -4,6 +4,7 @@ import type { GhosttyCell, GhosttyRow } from "./core"; import { advanceTerminalSelectionClickSequence, ghosttyMouseButton, + isTerminalAltGraphText, isTerminalCompositionCommitInput, isTerminalCopyShortcut, isTerminalLinkPointerGesture, @@ -15,6 +16,7 @@ import { const cell = (text: string): GhosttyCell => ({ text, + wide: 0, foreground: { r: 255, g: 255, b: 255 }, background: { r: 0, g: 0, b: 0 }, bold: false, @@ -26,6 +28,23 @@ const cell = (text: string): GhosttyCell => ({ selected: false, }); +describe("isTerminalAltGraphText", () => { + it("defers printable AltGr output to the textarea input event", () => { + expect( + isTerminalAltGraphText({ + key: "@", + getModifierState: (modifier) => modifier === "AltGraph", + }), + ).toBe(true); + expect( + isTerminalAltGraphText({ + key: "ArrowRight", + getModifierState: (modifier) => modifier === "AltGraph", + }), + ).toBe(false); + }); +}); + describe("terminalLinkAtColumn", () => { it("maps terminal cells to UTF-16 offsets after a wide emoji", () => { const cells = [ diff --git a/apps/web/src/terminal/ghostty/surface.ts b/apps/web/src/terminal/ghostty/surface.ts index 64cf9524ecc..856a8deccf2 100644 --- a/apps/web/src/terminal/ghostty/surface.ts +++ b/apps/web/src/terminal/ghostty/surface.ts @@ -77,6 +77,12 @@ export function isTerminalCompositionCommitInput(event: Pick, +): boolean { + return event.getModifierState("AltGraph") && [...event.key].length === 1; +} + export function shouldReportTerminalMouse( tracking: boolean, event: Pick, @@ -363,6 +369,7 @@ export class GhosttyTerminalSurface { } private readonly onKeyDown = (event: KeyboardEvent) => { + if (isTerminalAltGraphText(event)) return; if (!this.options.beforeKey(event)) return; if (isTerminalCopyShortcut(event) && this.hasSelection()) { event.preventDefault(); From 4e35993c97910fbd3488cd09926e3fbb1463de91 Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Thu, 30 Jul 2026 05:46:14 +0200 Subject: [PATCH 15/51] fix(web): encode shifted Kitty keys --- apps/web/src/terminal/ghostty/keyCodes.test.ts | 2 ++ apps/web/src/terminal/ghostty/keyCodes.ts | 17 +++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/apps/web/src/terminal/ghostty/keyCodes.test.ts b/apps/web/src/terminal/ghostty/keyCodes.test.ts index aa2d2e7553a..f74b0156fbc 100644 --- a/apps/web/src/terminal/ghostty/keyCodes.test.ts +++ b/apps/web/src/terminal/ghostty/keyCodes.test.ts @@ -15,6 +15,8 @@ describe("ghosttyUnshiftedCodepoint", () => { it("provides the logical base character for Kitty keyboard encoding", () => { expect(ghosttyUnshiftedCodepoint({ code: "KeyC", key: "c" })).toBe("c".codePointAt(0)); expect(ghosttyUnshiftedCodepoint({ code: "KeyC", key: "C" })).toBe("c".codePointAt(0)); + expect(ghosttyUnshiftedCodepoint({ code: "Digit1", key: "!" })).toBe("1".codePointAt(0)); + expect(ghosttyUnshiftedCodepoint({ code: "Slash", key: "?" })).toBe("/".codePointAt(0)); expect(ghosttyUnshiftedCodepoint({ code: "Enter", key: "Enter" })).toBe(0); }); }); diff --git a/apps/web/src/terminal/ghostty/keyCodes.ts b/apps/web/src/terminal/ghostty/keyCodes.ts index e58d5146a02..812e1274902 100644 --- a/apps/web/src/terminal/ghostty/keyCodes.ts +++ b/apps/web/src/terminal/ghostty/keyCodes.ts @@ -188,8 +188,25 @@ export function ghosttyKeyForCode(code: string): number { return codeToGhosttyKey.get(code) ?? 0; } +const codeToUnshiftedCharacter = new Map([ + ...Array.from({ length: 10 }, (_, digit) => [`Digit${digit}`, `${digit}`] as const), + ["Backquote", "`"], + ["Minus", "-"], + ["Equal", "="], + ["BracketLeft", "["], + ["BracketRight", "]"], + ["Backslash", "\\"], + ["Semicolon", ";"], + ["Quote", "'"], + ["Comma", ","], + ["Period", "."], + ["Slash", "/"], +]); + export function ghosttyUnshiftedCodepoint(event: Pick): number { if ([...event.key].length !== 1) return 0; if (/^Key[A-Z]$/u.test(event.code)) return event.code.charCodeAt(3) + 32; + const unshiftedCharacter = codeToUnshiftedCharacter.get(event.code); + if (unshiftedCharacter) return unshiftedCharacter.codePointAt(0) ?? 0; return event.key.codePointAt(0) ?? 0; } From e383d44a32def0135e1704399bb5c402acbeb8cd Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Thu, 30 Jul 2026 05:53:21 +0200 Subject: [PATCH 16/51] fix(web): respect active keyboard layouts --- apps/web/src/terminal/ghostty/core.ts | 13 +++- .../web/src/terminal/ghostty/keyCodes.test.ts | 13 ++++ apps/web/src/terminal/ghostty/keyCodes.ts | 69 ++++++++++++++----- 3 files changed, 77 insertions(+), 18 deletions(-) diff --git a/apps/web/src/terminal/ghostty/core.ts b/apps/web/src/terminal/ghostty/core.ts index a120531fe94..8ce6261bdf6 100644 --- a/apps/web/src/terminal/ghostty/core.ts +++ b/apps/web/src/terminal/ghostty/core.ts @@ -1,4 +1,9 @@ -import { ghosttyKeyForCode, ghosttyUnshiftedCodepoint } from "./keyCodes"; +import { + type GhosttyKeyboardLayoutMap, + ghosttyKeyForCode, + ghosttyUnshiftedCodepoint, + loadGhosttyKeyboardLayoutMap, +} from "./keyCodes"; import { GhosttyRuntime, loadGhosttyRuntime } from "./runtime"; const GHOSTTY_SUCCESS = 0; @@ -162,9 +167,13 @@ export class GhosttyTerminalCore { private style = 0; private rows: GhosttyRow[] = []; private disposed = false; + private keyboardLayoutMap: GhosttyKeyboardLayoutMap | undefined; private constructor(runtime: GhosttyRuntime) { this.runtime = runtime; + void loadGhosttyKeyboardLayoutMap().then((layoutMap) => { + if (!this.disposed) this.keyboardLayoutMap = layoutMap; + }); } static async create( @@ -374,7 +383,7 @@ export class GhosttyTerminalCore { this.runtime.call( "ghostty_key_event_set_unshifted_codepoint", this.keyEvent, - ghosttyUnshiftedCodepoint(event), + ghosttyUnshiftedCodepoint(event, this.keyboardLayoutMap), ); const text = event.key.length === 1 ? event.key : ""; diff --git a/apps/web/src/terminal/ghostty/keyCodes.test.ts b/apps/web/src/terminal/ghostty/keyCodes.test.ts index f74b0156fbc..c7c23afd8b5 100644 --- a/apps/web/src/terminal/ghostty/keyCodes.test.ts +++ b/apps/web/src/terminal/ghostty/keyCodes.test.ts @@ -19,4 +19,17 @@ describe("ghosttyUnshiftedCodepoint", () => { expect(ghosttyUnshiftedCodepoint({ code: "Slash", key: "?" })).toBe("/".codePointAt(0)); expect(ghosttyUnshiftedCodepoint({ code: "Enter", key: "Enter" })).toBe(0); }); + + it("prefers the active browser layout over US physical key positions", () => { + const layoutMap = new Map([ + ["Digit1", "&"], + ["KeyC", "j"], + ]); + expect(ghosttyUnshiftedCodepoint({ code: "Digit1", key: "1" }, layoutMap)).toBe( + "&".codePointAt(0), + ); + expect(ghosttyUnshiftedCodepoint({ code: "KeyC", key: "J" }, layoutMap)).toBe( + "j".codePointAt(0), + ); + }); }); diff --git a/apps/web/src/terminal/ghostty/keyCodes.ts b/apps/web/src/terminal/ghostty/keyCodes.ts index 812e1274902..94f6731d6bb 100644 --- a/apps/web/src/terminal/ghostty/keyCodes.ts +++ b/apps/web/src/terminal/ghostty/keyCodes.ts @@ -188,25 +188,62 @@ export function ghosttyKeyForCode(code: string): number { return codeToGhosttyKey.get(code) ?? 0; } -const codeToUnshiftedCharacter = new Map([ - ...Array.from({ length: 10 }, (_, digit) => [`Digit${digit}`, `${digit}`] as const), - ["Backquote", "`"], - ["Minus", "-"], - ["Equal", "="], - ["BracketLeft", "["], - ["BracketRight", "]"], - ["Backslash", "\\"], - ["Semicolon", ";"], - ["Quote", "'"], - ["Comma", ","], - ["Period", "."], - ["Slash", "/"], +export interface GhosttyKeyboardLayoutMap { + get(code: string): string | undefined; +} + +const shiftedToUnshiftedCharacter = new Map([ + ["!", "1"], + ["@", "2"], + ["#", "3"], + ["$", "4"], + ["%", "5"], + ["^", "6"], + ["&", "7"], + ["*", "8"], + ["(", "9"], + [")", "0"], + ["~", "`"], + ["_", "-"], + ["+", "="], + ["{", "["], + ["}", "]"], + ["|", "\\"], + [":", ";"], + ['"', "'"], + ["<", ","], + [">", "."], + ["?", "/"], ]); -export function ghosttyUnshiftedCodepoint(event: Pick): number { +let keyboardLayoutMapPromise: Promise | undefined; + +export function loadGhosttyKeyboardLayoutMap(): Promise { + if (keyboardLayoutMapPromise) return keyboardLayoutMapPromise; + const browserNavigator = globalThis.navigator as + | (Navigator & { + readonly keyboard?: { + getLayoutMap(): Promise; + }; + }) + | undefined; + const keyboard = browserNavigator?.keyboard; + const promise = keyboard?.getLayoutMap().catch(() => undefined) ?? Promise.resolve(undefined); + keyboardLayoutMapPromise = promise; + return promise; +} + +export function ghosttyUnshiftedCodepoint( + event: Pick, + layoutMap?: GhosttyKeyboardLayoutMap, +): number { if ([...event.key].length !== 1) return 0; - if (/^Key[A-Z]$/u.test(event.code)) return event.code.charCodeAt(3) + 32; - const unshiftedCharacter = codeToUnshiftedCharacter.get(event.code); + const layoutCharacter = layoutMap?.get(event.code); + if (layoutCharacter && [...layoutCharacter].length === 1) { + return layoutCharacter.codePointAt(0) ?? 0; + } + if (/^[A-Z]$/u.test(event.key)) return event.key.charCodeAt(0) + 32; + const unshiftedCharacter = shiftedToUnshiftedCharacter.get(event.key); if (unshiftedCharacter) return unshiftedCharacter.codePointAt(0) ?? 0; return event.key.codePointAt(0) ?? 0; } From a5ce471a2f299c1ecfc9d8273dc9e0ba83b99a12 Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Thu, 30 Jul 2026 05:58:56 +0200 Subject: [PATCH 17/51] fix(web): guard keyboard fallback by shift --- .../web/src/terminal/ghostty/keyCodes.test.ts | 25 +++++++++++++------ apps/web/src/terminal/ghostty/keyCodes.ts | 6 +++-- 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/apps/web/src/terminal/ghostty/keyCodes.test.ts b/apps/web/src/terminal/ghostty/keyCodes.test.ts index c7c23afd8b5..00c51aecfa5 100644 --- a/apps/web/src/terminal/ghostty/keyCodes.test.ts +++ b/apps/web/src/terminal/ghostty/keyCodes.test.ts @@ -13,11 +13,22 @@ describe("ghosttyKeyForCode", () => { describe("ghosttyUnshiftedCodepoint", () => { it("provides the logical base character for Kitty keyboard encoding", () => { - expect(ghosttyUnshiftedCodepoint({ code: "KeyC", key: "c" })).toBe("c".codePointAt(0)); - expect(ghosttyUnshiftedCodepoint({ code: "KeyC", key: "C" })).toBe("c".codePointAt(0)); - expect(ghosttyUnshiftedCodepoint({ code: "Digit1", key: "!" })).toBe("1".codePointAt(0)); - expect(ghosttyUnshiftedCodepoint({ code: "Slash", key: "?" })).toBe("/".codePointAt(0)); - expect(ghosttyUnshiftedCodepoint({ code: "Enter", key: "Enter" })).toBe(0); + expect(ghosttyUnshiftedCodepoint({ code: "KeyC", key: "c", shiftKey: false })).toBe( + "c".codePointAt(0), + ); + expect(ghosttyUnshiftedCodepoint({ code: "KeyC", key: "C", shiftKey: true })).toBe( + "c".codePointAt(0), + ); + expect(ghosttyUnshiftedCodepoint({ code: "Digit1", key: "!", shiftKey: true })).toBe( + "1".codePointAt(0), + ); + expect(ghosttyUnshiftedCodepoint({ code: "Slash", key: "?", shiftKey: true })).toBe( + "/".codePointAt(0), + ); + expect(ghosttyUnshiftedCodepoint({ code: "Digit1", key: "&", shiftKey: false })).toBe( + "&".codePointAt(0), + ); + expect(ghosttyUnshiftedCodepoint({ code: "Enter", key: "Enter", shiftKey: false })).toBe(0); }); it("prefers the active browser layout over US physical key positions", () => { @@ -25,10 +36,10 @@ describe("ghosttyUnshiftedCodepoint", () => { ["Digit1", "&"], ["KeyC", "j"], ]); - expect(ghosttyUnshiftedCodepoint({ code: "Digit1", key: "1" }, layoutMap)).toBe( + expect(ghosttyUnshiftedCodepoint({ code: "Digit1", key: "1", shiftKey: true }, layoutMap)).toBe( "&".codePointAt(0), ); - expect(ghosttyUnshiftedCodepoint({ code: "KeyC", key: "J" }, layoutMap)).toBe( + expect(ghosttyUnshiftedCodepoint({ code: "KeyC", key: "J", shiftKey: true }, layoutMap)).toBe( "j".codePointAt(0), ); }); diff --git a/apps/web/src/terminal/ghostty/keyCodes.ts b/apps/web/src/terminal/ghostty/keyCodes.ts index 94f6731d6bb..8e3673d01fa 100644 --- a/apps/web/src/terminal/ghostty/keyCodes.ts +++ b/apps/web/src/terminal/ghostty/keyCodes.ts @@ -234,7 +234,7 @@ export function loadGhosttyKeyboardLayoutMap(): Promise, + event: Pick, layoutMap?: GhosttyKeyboardLayoutMap, ): number { if ([...event.key].length !== 1) return 0; @@ -243,7 +243,9 @@ export function ghosttyUnshiftedCodepoint( return layoutCharacter.codePointAt(0) ?? 0; } if (/^[A-Z]$/u.test(event.key)) return event.key.charCodeAt(0) + 32; - const unshiftedCharacter = shiftedToUnshiftedCharacter.get(event.key); + const unshiftedCharacter = event.shiftKey + ? shiftedToUnshiftedCharacter.get(event.key) + : undefined; if (unshiftedCharacter) return unshiftedCharacter.codePointAt(0) ?? 0; return event.key.codePointAt(0) ?? 0; } From 6d748b60b875e6d6d37f4edfe453de6d038256c3 Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Thu, 30 Jul 2026 07:15:36 +0200 Subject: [PATCH 18/51] test(web): cover remapped Kitty control keys --- .../src/terminal/ghostty/runtimeAbi.test.ts | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/apps/web/src/terminal/ghostty/runtimeAbi.test.ts b/apps/web/src/terminal/ghostty/runtimeAbi.test.ts index 2cd0a294068..3560e3f6f1f 100644 --- a/apps/web/src/terminal/ghostty/runtimeAbi.test.ts +++ b/apps/web/src/terminal/ghostty/runtimeAbi.test.ts @@ -408,6 +408,31 @@ describe("vendored libghostty-vt WebAssembly", () => { "\u001b[99;5u", ); + const remappedText = new TextEncoder().encode("j"); + const remappedTextPointer = alloc(remappedText.length); + new Uint8Array(memory.buffer, remappedTextPointer, remappedText.length).set(remappedText); + call("ghostty_key_event_set_unshifted_codepoint", keyEvent, "j".codePointAt(0)!); + call("ghostty_key_event_set_utf8", keyEvent, remappedTextPointer, remappedText.length); + expect(call("ghostty_key_encoder_encode", keyEncoder, keyEvent, 0, 0, written)).toBe(-3); + const remappedOutputSize = new DataView(memory.buffer, written, 4).getUint32(0, true); + const remappedOutput = alloc(remappedOutputSize); + expect( + call( + "ghostty_key_encoder_encode", + keyEncoder, + keyEvent, + remappedOutput, + remappedOutputSize, + written, + ), + ).toBe(0); + const remappedOutputLength = new DataView(memory.buffer, written, 4).getUint32(0, true); + expect( + new TextDecoder().decode(new Uint8Array(memory.buffer, remappedOutput, remappedOutputLength)), + ).toBe("\u001b[106;5u"); + + free(remappedOutput, remappedOutputSize); + free(remappedTextPointer, remappedText.length); free(output, outputSize); call("ghostty_wasm_free_usize", written); free(textPointer, text.length); From 85c30c9230113d32a31f163e6362442078cbef11 Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Thu, 30 Jul 2026 08:54:06 +0200 Subject: [PATCH 19/51] fix(web): keep Ghostty terminal input readable --- .../web/src/terminal/ghostty/renderer.test.ts | 21 ++++++++++++++++++- apps/web/src/terminal/ghostty/renderer.ts | 14 +++++++------ apps/web/src/terminal/ghostty/surface.ts | 3 ++- 3 files changed, 30 insertions(+), 8 deletions(-) diff --git a/apps/web/src/terminal/ghostty/renderer.test.ts b/apps/web/src/terminal/ghostty/renderer.test.ts index d718735d295..1c40a77403b 100644 --- a/apps/web/src/terminal/ghostty/renderer.test.ts +++ b/apps/web/src/terminal/ghostty/renderer.test.ts @@ -1,7 +1,7 @@ import { describe, expect, it } from "vite-plus/test"; import { GHOSTTY_CELL_WIDE, type GhosttyCell } from "./core"; -import { ghosttyTextRunEnd, terminalGridSize } from "./renderer"; +import { ghosttyTextRunEnd, measureGhosttyCell, terminalGridSize } from "./renderer"; const cell = (text: string, wide = 0): GhosttyCell => ({ text, @@ -33,6 +33,25 @@ describe("terminalGridSize", () => { }); }); +describe("measureGhosttyCell", () => { + it("uses descender-aware metrics and the mobile terminal line-height", () => { + const measureText = (text: string) => + text === "M" + ? { width: 7.2, actualBoundingBoxAscent: 9, actualBoundingBoxDescent: 0 } + : { width: 14.4, actualBoundingBoxAscent: 9, actualBoundingBoxDescent: 3 }; + const context = { + font: "", + measureText, + } as unknown as CanvasRenderingContext2D; + + expect(measureGhosttyCell(context, 12, "monospace")).toEqual({ + width: 8, + height: 16, + baseline: 11, + }); + }); +}); + describe("ghosttyTextRunEnd", () => { it("includes wide spacer tails in the visual clip without rendering spaces", () => { const cells = [ diff --git a/apps/web/src/terminal/ghostty/renderer.ts b/apps/web/src/terminal/ghostty/renderer.ts index 6b7c191da7b..108f0ee4a74 100644 --- a/apps/web/src/terminal/ghostty/renderer.ts +++ b/apps/web/src/terminal/ghostty/renderer.ts @@ -60,14 +60,16 @@ export function measureGhosttyCell( fontFamily: string, ): GhosttyCellMetrics { context.font = `normal 400 ${fontSize}px ${fontFamily}`; - const measurement = context.measureText("M"); - const glyphHeight = - measurement.actualBoundingBoxAscent + measurement.actualBoundingBoxDescent || fontSize; - const height = Math.max(1, Math.ceil(glyphHeight * 1.12)); + const widthMeasurement = context.measureText("M"); + const verticalMeasurement = context.measureText("Mg"); + const ascent = verticalMeasurement.actualBoundingBoxAscent || fontSize; + const descent = verticalMeasurement.actualBoundingBoxDescent; + const glyphHeight = ascent + descent; + const height = Math.max(1, Math.round(fontSize * 1.35), Math.ceil(glyphHeight)); return { - width: Math.max(1, Math.ceil(measurement.width)), + width: Math.max(1, Math.ceil(widthMeasurement.width)), height, - baseline: Math.ceil((height - glyphHeight) / 2 + measurement.actualBoundingBoxAscent), + baseline: Math.round((height - glyphHeight) / 2 + ascent), }; } diff --git a/apps/web/src/terminal/ghostty/surface.ts b/apps/web/src/terminal/ghostty/surface.ts index 856a8deccf2..41b18a3acf1 100644 --- a/apps/web/src/terminal/ghostty/surface.ts +++ b/apps/web/src/terminal/ghostty/surface.ts @@ -573,7 +573,8 @@ export class GhosttyTerminalSurface { this.requestRender(); }; - private readonly onMouseDown = () => { + private readonly onMouseDown = (event: MouseEvent) => { + event.preventDefault(); this.focus(); }; From fa9404073913ccaf7a9f272b09be711db388a19c Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Thu, 30 Jul 2026 08:57:30 +0200 Subject: [PATCH 20/51] fix(web): align Ghostty cursor with text --- apps/web/src/terminal/ghostty/renderer.test.ts | 2 +- apps/web/src/terminal/ghostty/renderer.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/web/src/terminal/ghostty/renderer.test.ts b/apps/web/src/terminal/ghostty/renderer.test.ts index 1c40a77403b..083f70a15d1 100644 --- a/apps/web/src/terminal/ghostty/renderer.test.ts +++ b/apps/web/src/terminal/ghostty/renderer.test.ts @@ -45,7 +45,7 @@ describe("measureGhosttyCell", () => { } as unknown as CanvasRenderingContext2D; expect(measureGhosttyCell(context, 12, "monospace")).toEqual({ - width: 8, + width: 7.2, height: 16, baseline: 11, }); diff --git a/apps/web/src/terminal/ghostty/renderer.ts b/apps/web/src/terminal/ghostty/renderer.ts index 108f0ee4a74..a1d16273664 100644 --- a/apps/web/src/terminal/ghostty/renderer.ts +++ b/apps/web/src/terminal/ghostty/renderer.ts @@ -67,7 +67,7 @@ export function measureGhosttyCell( const glyphHeight = ascent + descent; const height = Math.max(1, Math.round(fontSize * 1.35), Math.ceil(glyphHeight)); return { - width: Math.max(1, Math.ceil(widthMeasurement.width)), + width: Math.max(1, widthMeasurement.width), height, baseline: Math.round((height - glyphHeight) / 2 + ascent), }; From 69ec0a276132de79bd857af53dd83993904503b6 Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Thu, 30 Jul 2026 09:02:46 +0200 Subject: [PATCH 21/51] fix(web): preserve terminal mouse defaults --- apps/web/src/terminal/ghostty/surface.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/web/src/terminal/ghostty/surface.ts b/apps/web/src/terminal/ghostty/surface.ts index 41b18a3acf1..1f40d4a5cf2 100644 --- a/apps/web/src/terminal/ghostty/surface.ts +++ b/apps/web/src/terminal/ghostty/surface.ts @@ -574,7 +574,7 @@ export class GhosttyTerminalSurface { }; private readonly onMouseDown = (event: MouseEvent) => { - event.preventDefault(); + if (event.button === 0) event.preventDefault(); this.focus(); }; From 374e1b44f9d9c4aa319642fef5b4928d3955eea3 Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Thu, 30 Jul 2026 09:22:46 +0200 Subject: [PATCH 22/51] fix(web): avoid terminal flicker while resizing --- apps/web/src/terminal/ghostty/surface.ts | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/apps/web/src/terminal/ghostty/surface.ts b/apps/web/src/terminal/ghostty/surface.ts index 1f40d4a5cf2..1b853932955 100644 --- a/apps/web/src/terminal/ghostty/surface.ts +++ b/apps/web/src/terminal/ghostty/surface.ts @@ -174,6 +174,11 @@ export class GhosttyTerminalSurface { private cursorOn = true; private forceFullRender = true; private disposed = false; + private pendingCanvasSize: { + readonly width: number; + readonly height: number; + readonly ratio: number; + } | null = null; private selectionAnchor: { x: number; y: number } | null = null; private selectionEnd: { x: number; y: number } | null = null; private selectionAnchorScreen: { x: number; y: number } | null = null; @@ -286,11 +291,15 @@ export class GhosttyTerminalSurface { const pixelHeight = Math.max(1, Math.round(height * ratio)); let shouldRender = false; if (this.canvas.width !== pixelWidth || this.canvas.height !== pixelHeight) { - this.canvas.width = pixelWidth; - this.canvas.height = pixelHeight; - this.context.setTransform(ratio, 0, 0, ratio, 0, 0); + this.pendingCanvasSize = { + width: pixelWidth, + height: pixelHeight, + ratio, + }; this.forceFullRender = true; shouldRender = true; + } else if (this.pendingCanvasSize !== null) { + this.pendingCanvasSize = null; } const grid = terminalGridSize(width, height, this.metrics, CONTENT_PADDING); if (grid.cols !== this.cols || grid.rows !== this.rows) { @@ -618,6 +627,13 @@ export class GhosttyTerminalSurface { if (this.disposed || this.frame !== 0) return; this.frame = window.requestAnimationFrame(() => { this.frame = 0; + const canvasSize = this.pendingCanvasSize; + this.pendingCanvasSize = null; + if (canvasSize !== null) { + this.canvas.width = canvasSize.width; + this.canvas.height = canvasSize.height; + this.context.setTransform(canvasSize.ratio, 0, 0, canvasSize.ratio, 0, 0); + } this.snapshot = this.core.snapshot(); if (!this.snapshot.cursorBlinking) this.cursorOn = true; renderGhosttySnapshot({ From ed1dc84f480eeed0efb2355f2282f542ca17c08b Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Thu, 30 Jul 2026 09:34:21 +0200 Subject: [PATCH 23/51] feat(web): add Ghostty scrollback scrollbar --- apps/web/src/index.css | 26 +++ apps/web/src/terminal/ghostty/core.ts | 28 +++ .../src/terminal/ghostty/runtimeAbi.test.ts | 48 ++++ apps/web/src/terminal/ghostty/surface.test.ts | 23 ++ apps/web/src/terminal/ghostty/surface.ts | 217 +++++++++++++++++- 5 files changed, 336 insertions(+), 6 deletions(-) diff --git a/apps/web/src/index.css b/apps/web/src/index.css index 9527c4a1947..3c4ff843d37 100644 --- a/apps/web/src/index.css +++ b/apps/web/src/index.css @@ -1049,6 +1049,32 @@ code { background: var(--app-scrollbar-thumb-hover); } +.t3-ghostty-scrollbar { + position: absolute; + z-index: 1; + top: 4px; + right: 1px; + bottom: 4px; + width: var(--app-scrollbar-width); + cursor: default; + touch-action: none; +} + +.t3-ghostty-scrollbar-thumb { + position: absolute; + top: 0; + right: 1px; + left: 1px; + border-radius: 3px; + background: var(--app-scrollbar-thumb); + transition: background-color 120ms ease-out; +} + +.t3-ghostty-scrollbar:hover .t3-ghostty-scrollbar-thumb, +.t3-ghostty-scrollbar:focus-visible .t3-ghostty-scrollbar-thumb { + background: var(--app-scrollbar-thumb-hover); +} + .model-picker-list::-webkit-scrollbar-track { margin-block: 0.5rem; } diff --git a/apps/web/src/terminal/ghostty/core.ts b/apps/web/src/terminal/ghostty/core.ts index 8ce6261bdf6..a99884e02b9 100644 --- a/apps/web/src/terminal/ghostty/core.ts +++ b/apps/web/src/terminal/ghostty/core.ts @@ -115,6 +115,12 @@ export interface GhosttySelectionRange { }; } +export interface GhosttyScrollbar { + readonly total: number; + readonly offset: number; + readonly len: number; +} + export interface GhosttyMouseInput { readonly action: "press" | "release" | "motion"; readonly button: number | null; @@ -165,6 +171,7 @@ export class GhosttyTerminalCore { private ptyWriter: ((data: string) => void) | null = null; private scratch = 0; private style = 0; + private scrollbar = 0; private rows: GhosttyRow[] = []; private disposed = false; private keyboardLayoutMap: GhosttyKeyboardLayoutMap | undefined; @@ -265,6 +272,7 @@ export class GhosttyTerminalCore { const styleSize = this.runtime.layout("GhosttyStyle").size; this.style = this.runtime.alloc(styleSize); this.runtime.setField(this.style, "GhosttyStyle", "size", styleSize); + this.scrollbar = this.runtime.alloc(this.runtime.layout("GhosttyTerminalScrollbar").size); this.setTheme(theme); this.resize(cols, rows, cellWidth, cellHeight); } @@ -356,6 +364,23 @@ export class GhosttyTerminalCore { ); } + scrollbarState(): GhosttyScrollbar | null { + this.ensureActive(); + const layout = this.runtime.layout("GhosttyTerminalScrollbar"); + this.runtime.bytes(this.scrollbar, layout.size).fill(0); + if ( + this.runtime.call("ghostty_terminal_get", this.terminal, 9, this.scrollbar) !== + GHOSTTY_SUCCESS + ) { + return null; + } + return { + total: this.runtime.readField(this.scrollbar, "GhosttyTerminalScrollbar", "total"), + offset: this.runtime.readField(this.scrollbar, "GhosttyTerminalScrollbar", "offset"), + len: this.runtime.readField(this.scrollbar, "GhosttyTerminalScrollbar", "len"), + }; + } + isMouseTracking(): boolean { this.ensureActive(); this.runtime.bytes(this.scratch, 1)[0] = 0; @@ -755,6 +780,9 @@ export class GhosttyTerminalCore { this.runtime.call("ghostty_terminal_free", this.terminal); } if (this.style) this.runtime.free(this.style, this.runtime.layout("GhosttyStyle").size); + if (this.scrollbar) { + this.runtime.free(this.scrollbar, this.runtime.layout("GhosttyTerminalScrollbar").size); + } if (this.scratch) this.runtime.free(this.scratch, 16); for (const slot of [ this.mouseEventSlot, diff --git a/apps/web/src/terminal/ghostty/runtimeAbi.test.ts b/apps/web/src/terminal/ghostty/runtimeAbi.test.ts index 3560e3f6f1f..7fecf851481 100644 --- a/apps/web/src/terminal/ghostty/runtimeAbi.test.ts +++ b/apps/web/src/terminal/ghostty/runtimeAbi.test.ts @@ -66,6 +66,54 @@ describe("vendored libghostty-vt WebAssembly", () => { } }); + it("reports and scrolls the viewport with Ghostty's scrollbar state", async () => { + const result = await WebAssembly.instantiate( + decodeWasmDataUrl(wasmDataUrl).buffer as ArrayBuffer, + { env: { log: () => {} } }, + ); + const instance = result instanceof WebAssembly.Instance ? result : result.instance; + const memory = instance.exports.memory as WebAssembly.Memory; + const call = (name: string, ...args: number[]) => + (instance.exports[name] as WasmFunction)(...args); + const alloc = (size: number) => call("ghostty_wasm_alloc_u8_array", size); + const options = alloc(8); + const optionsView = new DataView(memory.buffer, options, 8); + optionsView.setUint16(0, 80, true); + optionsView.setUint16(2, 10, true); + optionsView.setUint32(4, 1_000, true); + const terminalSlot = call("ghostty_wasm_alloc_opaque"); + expect(call("ghostty_terminal_new", 0, terminalSlot, options)).toBe(0); + const terminal = new DataView(memory.buffer).getUint32(terminalSlot, true); + const input = new TextEncoder().encode( + Array.from({ length: 50 }, (_, index) => `${index + 1}\r\n`).join(""), + ); + const inputPointer = alloc(input.length); + new Uint8Array(memory.buffer, inputPointer, input.length).set(input); + call("ghostty_terminal_vt_write", terminal, inputPointer, input.length); + + const scrollbar = alloc(24); + const scrollbarView = new DataView(memory.buffer, scrollbar, 24); + expect(call("ghostty_terminal_get", terminal, 9, scrollbar)).toBe(0); + expect([0, 8, 16].map((offset) => Number(scrollbarView.getBigUint64(offset, true)))).toEqual([ + 51, 41, 10, + ]); + + const scroll = alloc(24); + const scrollView = new DataView(memory.buffer, scroll, 24); + scrollView.setUint32(0, 2, true); + scrollView.setInt32(8, -5, true); + call("ghostty_terminal_scroll_viewport", terminal, scroll); + expect(call("ghostty_terminal_get", terminal, 9, scrollbar)).toBe(0); + expect(Number(scrollbarView.getBigUint64(8, true))).toBe(36); + + call("ghostty_wasm_free_u8_array", scroll, 24); + call("ghostty_wasm_free_u8_array", scrollbar, 24); + call("ghostty_wasm_free_u8_array", inputPointer, input.length); + call("ghostty_terminal_free", terminal); + call("ghostty_wasm_free_opaque", terminalSlot); + call("ghostty_wasm_free_u8_array", options, 8); + }); + it("routes terminal-generated replies through the shared callback table", async () => { const mainResult = await WebAssembly.instantiate( decodeWasmDataUrl(wasmDataUrl).buffer as ArrayBuffer, diff --git a/apps/web/src/terminal/ghostty/surface.test.ts b/apps/web/src/terminal/ghostty/surface.test.ts index 7fa198b0cac..08e6354e794 100644 --- a/apps/web/src/terminal/ghostty/surface.test.ts +++ b/apps/web/src/terminal/ghostty/surface.test.ts @@ -10,6 +10,8 @@ import { isTerminalLinkPointerGesture, isTerminalPasteShortcut, shouldReportTerminalMouse, + terminalScrollbarGeometry, + terminalScrollbarOffsetAtPointer, terminalLinkAtColumn, terminalLinkAtPosition, } from "./surface"; @@ -227,3 +229,24 @@ describe("advanceTerminalSelectionClickSequence", () => { ).toBe(1); }); }); + +describe("terminal scrollbar", () => { + it("maps Ghostty's viewport state to a proportional thumb", () => { + expect(terminalScrollbarGeometry({ total: 100, offset: 40, len: 20 }, 200)).toEqual({ + thumbHeight: 40, + thumbTop: 80, + maxOffset: 80, + }); + expect(terminalScrollbarGeometry({ total: 100, offset: 0, len: 100 }, 200)).toBeNull(); + }); + + it("keeps the thumb usable for large scrollback and maps dragging back to rows", () => { + const state = { total: 10_000, offset: 0, len: 20 }; + expect(terminalScrollbarGeometry(state, 200)).toEqual({ + thumbHeight: 18, + thumbTop: 0, + maxOffset: 9_980, + }); + expect(terminalScrollbarOffsetAtPointer(state, 200, 191, 9)).toBe(9_980); + }); +}); diff --git a/apps/web/src/terminal/ghostty/surface.ts b/apps/web/src/terminal/ghostty/surface.ts index 1b853932955..d1cdb08add6 100644 --- a/apps/web/src/terminal/ghostty/surface.ts +++ b/apps/web/src/terminal/ghostty/surface.ts @@ -1,6 +1,11 @@ import { isMacPlatform } from "../../lib/utils"; import { collectWrappedTerminalLinkLine, extractTerminalLinks } from "../../terminal-links"; -import { GhosttyTerminalCore, type GhosttySnapshot, type GhosttyTheme } from "./core"; +import { + GhosttyTerminalCore, + type GhosttyScrollbar, + type GhosttySnapshot, + type GhosttyTheme, +} from "./core"; import { measureGhosttyCell, renderGhosttySnapshot, @@ -12,6 +17,49 @@ const FONT_SIZE = 12; const FONT_FAMILY = '"SF Mono", "SFMono-Regular", "JetBrains Mono", Consolas, "Liberation Mono", Menlo, monospace'; const CONTENT_PADDING = 4; +const MIN_SCROLLBAR_THUMB_HEIGHT = 18; + +export interface TerminalScrollbarGeometry { + readonly thumbHeight: number; + readonly thumbTop: number; + readonly maxOffset: number; +} + +export function terminalScrollbarGeometry( + state: GhosttyScrollbar, + trackHeight: number, +): TerminalScrollbarGeometry | null { + const total = Math.max(0, state.total); + const len = Math.max(0, Math.min(state.len, total)); + const maxOffset = Math.max(0, total - len); + if (trackHeight <= 0 || len <= 0 || maxOffset === 0) return null; + const thumbHeight = Math.min( + trackHeight, + Math.max(MIN_SCROLLBAR_THUMB_HEIGHT, (trackHeight * len) / total), + ); + const travel = Math.max(0, trackHeight - thumbHeight); + const offset = Math.max(0, Math.min(state.offset, maxOffset)); + return { + thumbHeight, + thumbTop: travel * (offset / maxOffset), + maxOffset, + }; +} + +export function terminalScrollbarOffsetAtPointer( + state: GhosttyScrollbar, + trackHeight: number, + pointerY: number, + pointerOffset: number, +): number { + const geometry = terminalScrollbarGeometry(state, trackHeight); + if (geometry === null) return 0; + const travel = Math.max(0, trackHeight - geometry.thumbHeight); + if (travel === 0) return 0; + const thumbTop = Math.max(0, Math.min(pointerY - pointerOffset, travel)); + return Math.round((thumbTop / travel) * geometry.maxOffset); +} + function terminalRowText(row: GhosttySnapshot["rowData"][number], trimRight: boolean): string { const text = row.cells.map((cell) => cell.text || " ").join(""); return trimRight ? text.trimEnd() : text; @@ -157,6 +205,7 @@ export interface GhosttyTerminalSurfaceOptions { export class GhosttyTerminalSurface { readonly canvas: HTMLCanvasElement; readonly input: HTMLTextAreaElement; + readonly scrollbar: HTMLDivElement; cols = 1; rows = 1; @@ -166,6 +215,7 @@ export class GhosttyTerminalSurface { private readonly options: GhosttyTerminalSurfaceOptions; private readonly metrics: GhosttyCellMetrics; private readonly resizeObserver: ResizeObserver; + private readonly scrollbarThumb: HTMLDivElement; private snapshot: GhosttySnapshot | null = null; private frame = 0; private cursorTimer: number | null = null; @@ -173,6 +223,10 @@ export class GhosttyTerminalSurface { private compositionSuppressionTimer: number | null = null; private cursorOn = true; private forceFullRender = true; + private scrollbarDirty = true; + private scrollbarState: GhosttyScrollbar | null = null; + private scrollbarPointerId: number | null = null; + private scrollbarPointerOffset = 0; private disposed = false; private pendingCanvasSize: { readonly width: number; @@ -199,6 +253,8 @@ export class GhosttyTerminalSurface { mount: HTMLElement, canvas: HTMLCanvasElement, input: HTMLTextAreaElement, + scrollbar: HTMLDivElement, + scrollbarThumb: HTMLDivElement, context: CanvasRenderingContext2D, core: GhosttyTerminalCore, metrics: GhosttyCellMetrics, @@ -207,6 +263,8 @@ export class GhosttyTerminalSurface { this.mount = mount; this.canvas = canvas; this.input = input; + this.scrollbar = scrollbar; + this.scrollbarThumb = scrollbarThumb; this.context = context; this.core = core; this.metrics = metrics; @@ -233,7 +291,18 @@ export class GhosttyTerminalSurface { input.spellcheck = false; input.style.cssText = "position:absolute;left:4px;bottom:4px;width:1px;height:1px;opacity:0;padding:0;border:0;resize:none;"; - mount.replaceChildren(canvas, input); + + const scrollbar = document.createElement("div"); + scrollbar.className = "t3-ghostty-scrollbar"; + scrollbar.setAttribute("role", "scrollbar"); + scrollbar.setAttribute("aria-label", "Terminal scrollback"); + scrollbar.setAttribute("aria-orientation", "vertical"); + scrollbar.tabIndex = 0; + scrollbar.hidden = true; + const scrollbarThumb = document.createElement("div"); + scrollbarThumb.className = "t3-ghostty-scrollbar-thumb"; + scrollbar.append(scrollbarThumb); + mount.replaceChildren(canvas, input, scrollbar); const context = canvas.getContext("2d", { alpha: false }); if (!context) throw new Error("Canvas 2D is unavailable"); @@ -251,6 +320,8 @@ export class GhosttyTerminalSurface { mount, canvas, input, + scrollbar, + scrollbarThumb, context, core, metrics, @@ -264,6 +335,7 @@ export class GhosttyTerminalSurface { write(data: string): void { if (this.disposed) return; this.core.write(data); + this.scrollbarDirty = true; this.requestRender(); } @@ -271,6 +343,7 @@ export class GhosttyTerminalSurface { if (this.disposed) return; this.core.resetAndWrite(data); this.forceFullRender = true; + this.scrollbarDirty = true; this.requestRender(); } @@ -297,6 +370,7 @@ export class GhosttyTerminalSurface { ratio, }; this.forceFullRender = true; + this.scrollbarDirty = true; shouldRender = true; } else if (this.pendingCanvasSize !== null) { this.pendingCanvasSize = null; @@ -308,6 +382,7 @@ export class GhosttyTerminalSurface { this.core.resize(grid.cols, grid.rows, this.metrics.width, this.metrics.height); this.options.onResize(grid.cols, grid.rows); this.forceFullRender = true; + this.scrollbarDirty = true; shouldRender = true; } if (shouldRender) this.requestRender(); @@ -353,6 +428,7 @@ export class GhosttyTerminalSurface { scrollToBottom(): void { this.core.scrollToBottom(); this.forceFullRender = true; + this.scrollbarDirty = true; this.requestRender(); } @@ -371,9 +447,14 @@ export class GhosttyTerminalSurface { } this.removeEvents(); this.core.dispose(); - if (this.canvas.parentElement === this.mount || this.input.parentElement === this.mount) { + if ( + this.canvas.parentElement === this.mount || + this.input.parentElement === this.mount || + this.scrollbar.parentElement === this.mount + ) { this.canvas.remove(); this.input.remove(); + this.scrollbar.remove(); } } @@ -577,9 +658,7 @@ export class GhosttyTerminalSurface { } return; } - this.core.scroll(event.deltaY < 0 ? -rows : rows); - this.forceFullRender = true; - this.requestRender(); + this.scrollViewport(event.deltaY < 0 ? -rows : rows); }; private readonly onMouseDown = (event: MouseEvent) => { @@ -593,6 +672,68 @@ export class GhosttyTerminalSurface { } }; + private readonly onScrollbarPointerDown = (event: PointerEvent) => { + if (event.button !== 0 || this.scrollbarState === null) return; + const bounds = this.scrollbar.getBoundingClientRect(); + const geometry = terminalScrollbarGeometry(this.scrollbarState, bounds.height); + if (geometry === null) return; + event.preventDefault(); + event.stopPropagation(); + this.scrollbarPointerId = event.pointerId; + this.scrollbarPointerOffset = + event.target === this.scrollbarThumb + ? event.clientY - bounds.top - geometry.thumbTop + : geometry.thumbHeight / 2; + this.scrollbar.setPointerCapture(event.pointerId); + this.scrollbarToPointer(event.clientY, bounds); + }; + + private readonly onScrollbarPointerMove = (event: PointerEvent) => { + if (event.pointerId !== this.scrollbarPointerId || this.scrollbarState === null) return; + event.preventDefault(); + this.scrollbarToPointer(event.clientY, this.scrollbar.getBoundingClientRect()); + }; + + private readonly onScrollbarPointerUp = (event: PointerEvent) => { + if (event.pointerId !== this.scrollbarPointerId) return; + event.preventDefault(); + this.scrollbarPointerId = null; + if (this.scrollbar.hasPointerCapture(event.pointerId)) { + this.scrollbar.releasePointerCapture(event.pointerId); + } + }; + + private readonly onScrollbarKeyDown = (event: KeyboardEvent) => { + const state = this.scrollbarState; + if (state === null) return; + let delta = 0; + switch (event.key) { + case "ArrowUp": + delta = -1; + break; + case "ArrowDown": + delta = 1; + break; + case "PageUp": + delta = -Math.max(1, state.len); + break; + case "PageDown": + delta = Math.max(1, state.len); + break; + case "Home": + delta = -state.offset; + break; + case "End": + delta = state.total - state.len - state.offset; + break; + default: + return; + } + event.preventDefault(); + event.stopPropagation(); + this.scrollViewport(delta); + }; + private installEvents(): void { this.input.addEventListener("keydown", this.onKeyDown); this.input.addEventListener("input", this.onInput); @@ -606,6 +747,11 @@ export class GhosttyTerminalSurface { this.canvas.addEventListener("wheel", this.onWheel, { passive: false }); this.canvas.addEventListener("mousedown", this.onMouseDown); this.canvas.addEventListener("contextmenu", this.onContextMenu); + this.scrollbar.addEventListener("pointerdown", this.onScrollbarPointerDown); + this.scrollbar.addEventListener("pointermove", this.onScrollbarPointerMove); + this.scrollbar.addEventListener("pointerup", this.onScrollbarPointerUp); + this.scrollbar.addEventListener("pointercancel", this.onScrollbarPointerUp); + this.scrollbar.addEventListener("keydown", this.onScrollbarKeyDown); } private removeEvents(): void { @@ -621,6 +767,61 @@ export class GhosttyTerminalSurface { this.canvas.removeEventListener("wheel", this.onWheel); this.canvas.removeEventListener("mousedown", this.onMouseDown); this.canvas.removeEventListener("contextmenu", this.onContextMenu); + this.scrollbar.removeEventListener("pointerdown", this.onScrollbarPointerDown); + this.scrollbar.removeEventListener("pointermove", this.onScrollbarPointerMove); + this.scrollbar.removeEventListener("pointerup", this.onScrollbarPointerUp); + this.scrollbar.removeEventListener("pointercancel", this.onScrollbarPointerUp); + this.scrollbar.removeEventListener("keydown", this.onScrollbarKeyDown); + } + + private scrollViewport(deltaRows: number): void { + let delta = Math.trunc(deltaRows); + const state = this.scrollbarState; + if (state !== null) { + const maxOffset = Math.max(0, state.total - state.len); + const offset = Math.max(0, Math.min(state.offset + delta, maxOffset)); + delta = offset - state.offset; + this.scrollbarState = { ...state, offset }; + } + if (delta === 0) return; + this.core.scroll(delta); + this.forceFullRender = true; + this.scrollbarDirty = true; + this.requestRender(); + } + + private scrollbarToPointer(clientY: number, bounds: DOMRect): void { + const state = this.scrollbarState; + if (state === null) return; + const offset = terminalScrollbarOffsetAtPointer( + state, + bounds.height, + clientY - bounds.top, + this.scrollbarPointerOffset, + ); + this.scrollViewport(offset - state.offset); + } + + private updateScrollbar(): void { + const state = this.core.scrollbarState(); + this.scrollbarState = state; + const geometry = + state === null + ? null + : terminalScrollbarGeometry( + state, + Math.max(0, this.mount.clientHeight - CONTENT_PADDING * 2), + ); + this.scrollbar.hidden = geometry === null; + if (state === null || geometry === null) return; + this.scrollbar.setAttribute("aria-valuemin", "0"); + this.scrollbar.setAttribute("aria-valuemax", String(geometry.maxOffset)); + this.scrollbar.setAttribute( + "aria-valuenow", + String(Math.max(0, Math.min(state.offset, geometry.maxOffset))), + ); + this.scrollbarThumb.style.height = `${geometry.thumbHeight}px`; + this.scrollbarThumb.style.transform = `translateY(${geometry.thumbTop}px)`; } private requestRender(): void { @@ -646,6 +847,10 @@ export class GhosttyTerminalSurface { forceFull: this.forceFullRender, cursorOn: this.cursorOn, }); + if (this.scrollbarDirty) { + this.scrollbarDirty = false; + this.updateScrollbar(); + } this.forceFullRender = false; this.scheduleCursorBlink(); }); From c0cf2be9e9e8d1086111b973e1a9203bc0d35f87 Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Thu, 30 Jul 2026 09:36:24 +0200 Subject: [PATCH 24/51] fix(web): keep terminal text inside its cells --- .../web/src/terminal/ghostty/renderer.test.ts | 60 ++++++++++++++++++- apps/web/src/terminal/ghostty/renderer.ts | 9 ++- 2 files changed, 65 insertions(+), 4 deletions(-) diff --git a/apps/web/src/terminal/ghostty/renderer.test.ts b/apps/web/src/terminal/ghostty/renderer.test.ts index 083f70a15d1..c33db188cea 100644 --- a/apps/web/src/terminal/ghostty/renderer.test.ts +++ b/apps/web/src/terminal/ghostty/renderer.test.ts @@ -1,7 +1,12 @@ import { describe, expect, it } from "vite-plus/test"; -import { GHOSTTY_CELL_WIDE, type GhosttyCell } from "./core"; -import { ghosttyTextRunEnd, measureGhosttyCell, terminalGridSize } from "./renderer"; +import { GHOSTTY_CELL_WIDE, type GhosttyCell, type GhosttySnapshot } from "./core"; +import { + ghosttyTextRunEnd, + measureGhosttyCell, + renderGhosttySnapshot, + terminalGridSize, +} from "./renderer"; const cell = (text: string, wide = 0): GhosttyCell => ({ text, @@ -64,3 +69,54 @@ describe("ghosttyTextRunEnd", () => { expect(ghosttyTextRunEnd(cells, 0, () => true)).toBe(4); }); }); + +describe("renderGhosttySnapshot", () => { + it("constrains text runs and cursor glyphs to their terminal cells", () => { + const fillTextCalls: unknown[][] = []; + const context = { + canvas: { width: 200, height: 40 }, + beginPath: () => {}, + clip: () => {}, + fillRect: () => {}, + fillText: (...args: unknown[]) => fillTextCalls.push(args), + rect: () => {}, + resetTransform: () => {}, + restore: () => {}, + save: () => {}, + set fillStyle(_value: string) {}, + set font(_value: string) {}, + set textBaseline(_value: string) {}, + } as unknown as CanvasRenderingContext2D; + const cells = [cell("a"), cell("b"), cell("x")]; + const snapshot: GhosttySnapshot = { + cols: 3, + rows: 1, + foreground: { r: 255, g: 255, b: 255 }, + background: { r: 0, g: 0, b: 0 }, + cursor: { r: 255, g: 255, b: 255 }, + cursorX: 2, + cursorY: 0, + cursorVisible: true, + cursorBlinking: false, + cursorStyle: 1, + dirtyRows: new Set([0]), + rowData: [{ cells, text: "abx", isWrapContinuation: false }], + }; + + renderGhosttySnapshot({ + context, + snapshot, + metrics: { width: 7.2, height: 16, baseline: 11 }, + fontSize: 12, + fontFamily: "monospace", + padding: 4, + forceFull: false, + cursorOn: true, + }); + + expect(fillTextCalls).toEqual([ + ["abx", 4, 15, 21.6], + ["x", 18.4, 15, 7.2], + ]); + }); +}); diff --git a/apps/web/src/terminal/ghostty/renderer.ts b/apps/web/src/terminal/ghostty/renderer.ts index a1d16273664..37dfe523daf 100644 --- a/apps/web/src/terminal/ghostty/renderer.ts +++ b/apps/web/src/terminal/ghostty/renderer.ts @@ -174,7 +174,12 @@ export function renderGhosttySnapshot(options: { context.clip(); context.font = fontForCell(first, fontSize, fontFamily); context.fillStyle = first.selected ? SELECTION_FOREGROUND : cssColor(first.foreground); - context.fillText(text, padding + runStart * metrics.width, top + metrics.baseline); + context.fillText( + text, + padding + runStart * metrics.width, + top + metrics.baseline, + (runEnd - runStart) * metrics.width, + ); context.restore(); } runStart = runEnd; @@ -210,7 +215,7 @@ export function renderGhosttySnapshot(options: { if (cell?.text) { context.font = fontForCell(cell, fontSize, fontFamily); context.fillStyle = cssColor(snapshot.background); - context.fillText(cell.text, left, top + metrics.baseline); + context.fillText(cell.text, left, top + metrics.baseline, metrics.width); } } } From e5af532c2c826e04172a3687902fb80a7a0c9d49 Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Thu, 30 Jul 2026 09:48:38 +0200 Subject: [PATCH 25/51] fix(web): clear stale Ghostty cursors --- .../web/src/terminal/ghostty/renderer.test.ts | 52 +++++++++++++++++++ apps/web/src/terminal/ghostty/renderer.ts | 22 +++++++- apps/web/src/terminal/ghostty/surface.ts | 6 +++ 3 files changed, 78 insertions(+), 2 deletions(-) diff --git a/apps/web/src/terminal/ghostty/renderer.test.ts b/apps/web/src/terminal/ghostty/renderer.test.ts index c33db188cea..714d3f1cc0e 100644 --- a/apps/web/src/terminal/ghostty/renderer.test.ts +++ b/apps/web/src/terminal/ghostty/renderer.test.ts @@ -119,4 +119,56 @@ describe("renderGhosttySnapshot", () => { ["x", 18.4, 15, 7.2], ]); }); + + it("repaints the previous cursor row after the cursor moves", () => { + const clearedRows: number[] = []; + const context = { + canvas: { width: 200, height: 80 }, + beginPath: () => {}, + clip: () => {}, + fillRect: (_left: number, top: number, _width: number, height: number) => { + if (height === 16) clearedRows.push(top); + }, + fillText: () => {}, + rect: () => {}, + resetTransform: () => {}, + restore: () => {}, + save: () => {}, + set fillStyle(_value: string) {}, + set font(_value: string) {}, + set textBaseline(_value: string) {}, + } as unknown as CanvasRenderingContext2D; + const snapshot: GhosttySnapshot = { + cols: 1, + rows: 3, + foreground: { r: 255, g: 255, b: 255 }, + background: { r: 0, g: 0, b: 0 }, + cursor: { r: 255, g: 255, b: 255 }, + cursorX: 0, + cursorY: 2, + cursorVisible: true, + cursorBlinking: false, + cursorStyle: 1, + dirtyRows: new Set(), + rowData: [0, 1, 2].map(() => ({ + cells: [cell("")], + text: "", + isWrapContinuation: false, + })), + }; + + renderGhosttySnapshot({ + context, + snapshot, + metrics: { width: 7.2, height: 16, baseline: 11 }, + fontSize: 12, + fontFamily: "monospace", + padding: 4, + forceFull: false, + cursorOn: true, + previousCursorY: 0, + }); + + expect(clearedRows).toEqual([4, 36, 36]); + }); }); diff --git a/apps/web/src/terminal/ghostty/renderer.ts b/apps/web/src/terminal/ghostty/renderer.ts index 37dfe523daf..f28c72f59a6 100644 --- a/apps/web/src/terminal/ghostty/renderer.ts +++ b/apps/web/src/terminal/ghostty/renderer.ts @@ -94,12 +94,30 @@ export function renderGhosttySnapshot(options: { readonly padding: number; readonly forceFull: boolean; readonly cursorOn: boolean; + readonly previousCursorY?: number | null; }): void { - const { context, snapshot, metrics, fontSize, fontFamily, padding, forceFull, cursorOn } = - options; + const { + context, + snapshot, + metrics, + fontSize, + fontFamily, + padding, + forceFull, + cursorOn, + previousCursorY, + } = options; const rowsToDraw = forceFull ? Array.from({ length: snapshot.rows }, (_, index) => index) : [...snapshot.dirtyRows]; + if ( + previousCursorY !== null && + previousCursorY !== undefined && + previousCursorY >= 0 && + !rowsToDraw.includes(previousCursorY) + ) { + rowsToDraw.push(previousCursorY); + } if (snapshot.cursorVisible && snapshot.cursorY >= 0 && !rowsToDraw.includes(snapshot.cursorY)) { rowsToDraw.push(snapshot.cursorY); } diff --git a/apps/web/src/terminal/ghostty/surface.ts b/apps/web/src/terminal/ghostty/surface.ts index d1cdb08add6..a84e9fd8372 100644 --- a/apps/web/src/terminal/ghostty/surface.ts +++ b/apps/web/src/terminal/ghostty/surface.ts @@ -222,6 +222,7 @@ export class GhosttyTerminalSurface { private compositionInputToSuppress: string | null = null; private compositionSuppressionTimer: number | null = null; private cursorOn = true; + private renderedCursorY: number | null = null; private forceFullRender = true; private scrollbarDirty = true; private scrollbarState: GhosttyScrollbar | null = null; @@ -846,7 +847,12 @@ export class GhosttyTerminalSurface { padding: CONTENT_PADDING, forceFull: this.forceFullRender, cursorOn: this.cursorOn, + previousCursorY: this.renderedCursorY, }); + this.renderedCursorY = + this.cursorOn && this.snapshot.cursorVisible && this.snapshot.cursorY >= 0 + ? this.snapshot.cursorY + : null; if (this.scrollbarDirty) { this.scrollbarDirty = false; this.updateScrollbar(); From 33cfc29a101407d07aca6812725b5504744ebb50 Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Thu, 30 Jul 2026 09:49:26 +0200 Subject: [PATCH 26/51] fix(web): refresh Ghostty scroll state before input --- apps/web/src/terminal/ghostty/surface.ts | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/apps/web/src/terminal/ghostty/surface.ts b/apps/web/src/terminal/ghostty/surface.ts index a84e9fd8372..06d0c55cb29 100644 --- a/apps/web/src/terminal/ghostty/surface.ts +++ b/apps/web/src/terminal/ghostty/surface.ts @@ -674,9 +674,11 @@ export class GhosttyTerminalSurface { }; private readonly onScrollbarPointerDown = (event: PointerEvent) => { - if (event.button !== 0 || this.scrollbarState === null) return; + if (event.button !== 0) return; + const state = this.readScrollbarState(); + if (state === null) return; const bounds = this.scrollbar.getBoundingClientRect(); - const geometry = terminalScrollbarGeometry(this.scrollbarState, bounds.height); + const geometry = terminalScrollbarGeometry(state, bounds.height); if (geometry === null) return; event.preventDefault(); event.stopPropagation(); @@ -705,7 +707,7 @@ export class GhosttyTerminalSurface { }; private readonly onScrollbarKeyDown = (event: KeyboardEvent) => { - const state = this.scrollbarState; + const state = this.readScrollbarState(); if (state === null) return; let delta = 0; switch (event.key) { @@ -777,7 +779,7 @@ export class GhosttyTerminalSurface { private scrollViewport(deltaRows: number): void { let delta = Math.trunc(deltaRows); - const state = this.scrollbarState; + const state = this.readScrollbarState(); if (state !== null) { const maxOffset = Math.max(0, state.total - state.len); const offset = Math.max(0, Math.min(state.offset + delta, maxOffset)); @@ -804,8 +806,7 @@ export class GhosttyTerminalSurface { } private updateScrollbar(): void { - const state = this.core.scrollbarState(); - this.scrollbarState = state; + const state = this.readScrollbarState(); const geometry = state === null ? null @@ -825,6 +826,12 @@ export class GhosttyTerminalSurface { this.scrollbarThumb.style.transform = `translateY(${geometry.thumbTop}px)`; } + private readScrollbarState(): GhosttyScrollbar | null { + const state = this.core.scrollbarState(); + this.scrollbarState = state; + return state; + } + private requestRender(): void { if (this.disposed || this.frame !== 0) return; this.frame = window.requestAnimationFrame(() => { From 3dacf683567555a0945cdf088349eef280c2f0f0 Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Fri, 31 Jul 2026 08:47:59 +0200 Subject: [PATCH 27/51] fix(web): report hover mouse motion only in any-event tracking Normal (DEC 1000) and button-event (DEC 1002) tracking never report motion without a pressed button, so hovering the canvas no longer routes pointermove through the mouse reporting path unless any-event tracking (DEC 1003) is enabled or the pointer was captured by a reported press. Adds a Ghostty mode query for DEC 1003 and covers the mode transitions in the vendored ABI regression test. Co-Authored-By: Claude Fable 5 --- apps/web/src/terminal/ghostty/core.ts | 9 ++++++++ .../src/terminal/ghostty/runtimeAbi.test.ts | 23 +++++++++++++++++++ apps/web/src/terminal/ghostty/surface.ts | 4 +++- 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/apps/web/src/terminal/ghostty/core.ts b/apps/web/src/terminal/ghostty/core.ts index a99884e02b9..7ddfaa88179 100644 --- a/apps/web/src/terminal/ghostty/core.ts +++ b/apps/web/src/terminal/ghostty/core.ts @@ -390,6 +390,15 @@ export class GhosttyTerminalCore { ); } + isMouseAnyEventTracking(): boolean { + this.ensureActive(); + this.runtime.bytes(this.scratch, 1)[0] = 0; + return ( + this.runtime.call("ghostty_terminal_mode_get", this.terminal, 1003, this.scratch) === + GHOSTTY_SUCCESS && this.runtime.bytes(this.scratch, 1)[0] !== 0 + ); + } + encodeKey(event: KeyboardEvent): string { this.ensureActive(); this.runtime.call("ghostty_key_encoder_setopt_from_terminal", this.keyEncoder, this.terminal); diff --git a/apps/web/src/terminal/ghostty/runtimeAbi.test.ts b/apps/web/src/terminal/ghostty/runtimeAbi.test.ts index 7fecf851481..a7027942c51 100644 --- a/apps/web/src/terminal/ghostty/runtimeAbi.test.ts +++ b/apps/web/src/terminal/ghostty/runtimeAbi.test.ts @@ -257,6 +257,29 @@ describe("vendored libghostty-vt WebAssembly", () => { new Uint8Array(memory.buffer, inputPointer, input.length).set(input); call("ghostty_terminal_vt_write", terminal, inputPointer, input.length); + const modeFlag = alloc(1); + new Uint8Array(memory.buffer, modeFlag, 1)[0] = 0; + expect(call("ghostty_terminal_get", terminal, 11, modeFlag)).toBe(0); + expect(new Uint8Array(memory.buffer, modeFlag, 1)[0]).toBe(1); + new Uint8Array(memory.buffer, modeFlag, 1)[0] = 1; + expect(call("ghostty_terminal_mode_get", terminal, 1003, modeFlag)).toBe(0); + expect(new Uint8Array(memory.buffer, modeFlag, 1)[0]).toBe(0); + const anyEventInput = new TextEncoder().encode("\u001b[?1003h"); + const anyEventPointer = alloc(anyEventInput.length); + new Uint8Array(memory.buffer, anyEventPointer, anyEventInput.length).set(anyEventInput); + call("ghostty_terminal_vt_write", terminal, anyEventPointer, anyEventInput.length); + expect(call("ghostty_terminal_mode_get", terminal, 1003, modeFlag)).toBe(0); + expect(new Uint8Array(memory.buffer, modeFlag, 1)[0]).toBe(1); + const anyEventReset = new TextEncoder().encode("\u001b[?1003l\u001b[?1000h"); + const anyEventResetPointer = alloc(anyEventReset.length); + new Uint8Array(memory.buffer, anyEventResetPointer, anyEventReset.length).set(anyEventReset); + call("ghostty_terminal_vt_write", terminal, anyEventResetPointer, anyEventReset.length); + expect(call("ghostty_terminal_mode_get", terminal, 1003, modeFlag)).toBe(0); + expect(new Uint8Array(memory.buffer, modeFlag, 1)[0]).toBe(0); + free(anyEventResetPointer, anyEventReset.length); + free(anyEventPointer, anyEventInput.length); + free(modeFlag, 1); + const point = alloc(24); const pointView = new DataView(memory.buffer, point, 24); pointView.setUint32(0, 1, true); diff --git a/apps/web/src/terminal/ghostty/surface.ts b/apps/web/src/terminal/ghostty/surface.ts index 06d0c55cb29..aee99004d52 100644 --- a/apps/web/src/terminal/ghostty/surface.ts +++ b/apps/web/src/terminal/ghostty/surface.ts @@ -579,9 +579,11 @@ export class GhosttyTerminalSurface { private readonly onPointerMove = (event: PointerEvent) => { if (this.linkActivationPointerId === event.pointerId) return; + // Hover motion is only reportable in any-event tracking (DEC 1003); normal and + // button-event tracking never report motion without a captured pressed button. if ( this.mouseReportingPointerId === event.pointerId || - shouldReportTerminalMouse(this.core.isMouseTracking(), event) + shouldReportTerminalMouse(this.core.isMouseAnyEventTracking(), event) ) { event.preventDefault(); this.canvas.style.cursor = "default"; From 73a532349d2554d3e46178b4faba20e0752c0bab Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Fri, 31 Jul 2026 08:48:17 +0200 Subject: [PATCH 28/51] fix(web): fall back to Nerd Font faces in the terminal canvas The Canvas renderer's font stack only listed regular monospace faces, so powerline separators, devicons, and other private-use prompt glyphs rendered as missing characters. Append locally installed Nerd Font and Powerline symbol faces as glyph-only fallbacks behind the existing faces; cell metrics still come from the primary monospace fonts. Co-Authored-By: Claude Fable 5 --- apps/web/src/terminal/ghostty/surface.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/apps/web/src/terminal/ghostty/surface.ts b/apps/web/src/terminal/ghostty/surface.ts index aee99004d52..90e367f4c90 100644 --- a/apps/web/src/terminal/ghostty/surface.ts +++ b/apps/web/src/terminal/ghostty/surface.ts @@ -14,8 +14,14 @@ import { } from "./renderer"; const FONT_SIZE = 12; +// The trailing Nerd Font faces only supply glyphs the regular monospace faces are +// missing (powerline separators, devicons, and other private-use prompt symbols), +// so shells configured for a locally installed Nerd Font keep their prompt glyphs. const FONT_FAMILY = - '"SF Mono", "SFMono-Regular", "JetBrains Mono", Consolas, "Liberation Mono", Menlo, monospace'; + '"SF Mono", "SFMono-Regular", "JetBrains Mono", Consolas, "Liberation Mono", Menlo, ' + + '"Symbols Nerd Font Mono", "Symbols Nerd Font", "JetBrainsMono Nerd Font", ' + + '"JetBrainsMono NF", "FiraCode Nerd Font", "Hack Nerd Font", "MesloLGS NF", ' + + '"CaskaydiaCove Nerd Font", "PowerlineSymbols", monospace'; const CONTENT_PADDING = 4; const MIN_SCROLLBAR_THUMB_HEIGHT = 18; From 6e17ad969aa9ef4088ebb9b0b78fa7f103df75fc Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Fri, 31 Jul 2026 08:48:21 +0200 Subject: [PATCH 29/51] fix(web): run exit handling when attaching to exited terminals Mount synchronization now starts from the empty "closed" state like the previous xterm mount did, so a viewport attaching to a session that already exited still writes the system message and fires onSessionExited once. Co-Authored-By: Claude Fable 5 --- apps/web/src/components/ThreadTerminalDrawer.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/web/src/components/ThreadTerminalDrawer.tsx b/apps/web/src/components/ThreadTerminalDrawer.tsx index 4ef24d9d781..9596b3dded7 100644 --- a/apps/web/src/components/ThreadTerminalDrawer.tsx +++ b/apps/web/src/components/ThreadTerminalDrawer.tsx @@ -352,7 +352,7 @@ export function TerminalViewport({ const terminalBuffer = terminalSession.buffer; const terminalError = terminalSession.error; const terminalStatus = terminalSession.status; - const synchronizedStatusRef = useRef(terminalStatus); + const synchronizedStatusRef = useRef("closed"); const synchronizeTerminalStatus = useEffectEvent( (terminal: GhosttyTerminalSurface, status: TerminalSessionState["status"]) => { const synchronized = synchronizedStatusRef.current; @@ -420,6 +420,9 @@ export function TerminalViewport({ previousSessionRef.current = latestSession; if (latestSession.buffer.length > 0) terminal.resetAndWrite(latestSession.buffer); if (latestSession.error !== null) writeSystemMessage(terminal, latestSession.error); + // Attaching to a session that already finished must still run exit handling + // once, so mount synchronization starts from the empty "closed" state. + synchronizedStatusRef.current = "closed"; synchronizeTerminalStatus(terminal, latestSession.status); if (autoFocus) window.requestAnimationFrame(() => terminal.focus()); From da91992d109e2539fd332f148ef8496db3672522 Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Fri, 31 Jul 2026 09:20:02 +0200 Subject: [PATCH 30/51] fix(web): polish Ghostty terminal scrolling, selection, and input Reliability pass over the browser surface, renderer, and ABI layer: - normalize wheel deltas by deltaMode with fractional accumulation, so Firefox line-mode wheels and pixel-mode trackpads both scroll at the device rate instead of a forced row per event - translate wheel motion into arrow keys on the alternate screen so vim/less scroll without mouse tracking, honoring DECCKM - re-arm a resolution media query to refit the canvas when devicePixelRatio changes from monitor moves or zoom - anchor drag selections in Ghostty screen coordinates so streaming output can no longer shift the selection origin mid-drag, and autoscroll the viewport when a drag passes the canvas edge - keep the blink cycle in the visible phase across writes, stop blinking while unfocused, and render a hollow cursor when the surface does not own keyboard focus - move the IME textarea to the terminal cursor each frame so candidate windows appear where the user types, and guard Safari's keyCode 229 composition keydown from double-encoding - encode keyup as Ghostty release events, which stay silent for legacy sessions and emit event-typed codes under Kitty report-event-types - report unknown instead of the shifted character for unshifted codepoints on non-US layouts without NavigatorKeyboard data - take selection colors from the theme with xterm-parity overlays and no forced white foreground; give the canvas a text cursor and a pointer over link gestures - measure cell metrics only after the bundled webfonts load - harden ABI error paths: zero opaque slots before first write, free temporaries on every throwing path in selection/grid-ref/paste helpers, and read grapheme codepoints without an alignment assumption New wheel/keyboard behavior is covered by unit tests and vendored-WASM ABI regressions, including release encoding under CSI > 3 u. Co-Authored-By: Claude Fable 5 --- apps/web/src/index.css | 4 + apps/web/src/terminal/ghostty/core.ts | 226 +++++++++------ .../web/src/terminal/ghostty/keyCodes.test.ts | 7 + apps/web/src/terminal/ghostty/keyCodes.ts | 15 +- apps/web/src/terminal/ghostty/renderer.ts | 34 ++- apps/web/src/terminal/ghostty/runtime.ts | 3 + .../src/terminal/ghostty/runtimeAbi.test.ts | 25 ++ apps/web/src/terminal/ghostty/surface.test.ts | 37 +++ apps/web/src/terminal/ghostty/surface.ts | 257 ++++++++++++++++-- 9 files changed, 477 insertions(+), 131 deletions(-) diff --git a/apps/web/src/index.css b/apps/web/src/index.css index 3c4ff843d37..296944e113a 100644 --- a/apps/web/src/index.css +++ b/apps/web/src/index.css @@ -1049,6 +1049,10 @@ code { background: var(--app-scrollbar-thumb-hover); } +.t3-ghostty-canvas { + cursor: text; +} + .t3-ghostty-scrollbar { position: absolute; z-index: 1; diff --git a/apps/web/src/terminal/ghostty/core.ts b/apps/web/src/terminal/ghostty/core.ts index 7ddfaa88179..5335a92e909 100644 --- a/apps/web/src/terminal/ghostty/core.ts +++ b/apps/web/src/terminal/ghostty/core.ts @@ -67,6 +67,8 @@ export interface GhosttyTheme { readonly foreground: GhosttyColor; readonly background: GhosttyColor; readonly cursor: GhosttyColor; + /** CSS color the renderer overlays on selected cells; not sent to Ghostty. */ + readonly selectionBackground?: string; } export interface GhosttyCell { @@ -121,6 +123,13 @@ export interface GhosttyScrollbar { readonly len: number; } +/** Grid position tagged with its Ghostty coordinate space: 1 viewport, 2 screen. */ +export interface GhosttyPointInput { + readonly x: number; + readonly y: number; + readonly tag?: 1 | 2; +} + export interface GhosttyMouseInput { readonly action: "press" | "release" | "motion"; readonly button: number | null; @@ -215,11 +224,9 @@ export class GhosttyTerminalCore { this.runtime.setField(options, "GhosttyTerminalOptions", "rows", rows); this.runtime.setField(options, "GhosttyTerminalOptions", "max_scrollback", MAX_SCROLLBACK_ROWS); this.terminalSlot = this.runtime.allocOpaque(); - this.assertSuccess( - "ghostty_terminal_new", - this.runtime.call("ghostty_terminal_new", 0, this.terminalSlot, options), - ); + const terminalResult = this.runtime.call("ghostty_terminal_new", 0, this.terminalSlot, options); this.runtime.free(options, optionsSize); + this.assertSuccess("ghostty_terminal_new", terminalResult); this.terminal = this.runtime.readPointer(this.terminalSlot); this.ptyWriter = onPtyData; this.ptyWriterId = this.runtime.attachPtyWriter(this.terminal, onPtyData); @@ -399,10 +406,32 @@ export class GhosttyTerminalCore { ); } - encodeKey(event: KeyboardEvent): string { + isAlternateScreen(): boolean { + this.ensureActive(); + this.runtime.bytes(this.scratch, 4).fill(0); + return ( + this.runtime.call("ghostty_terminal_get", this.terminal, 6, this.scratch) === + GHOSTTY_SUCCESS && this.runtime.view(this.scratch, 4).getUint32(0, true) === 1 + ); + } + + isApplicationCursorKeys(): boolean { + this.ensureActive(); + this.runtime.bytes(this.scratch, 1)[0] = 0; + return ( + this.runtime.call("ghostty_terminal_mode_get", this.terminal, 1, this.scratch) === + GHOSTTY_SUCCESS && this.runtime.bytes(this.scratch, 1)[0] !== 0 + ); + } + + encodeKey(event: KeyboardEvent, action: "press" | "release" = "press"): string { this.ensureActive(); this.runtime.call("ghostty_key_encoder_setopt_from_terminal", this.keyEncoder, this.terminal); - this.runtime.call("ghostty_key_event_set_action", this.keyEvent, event.repeat ? 2 : 1); + this.runtime.call( + "ghostty_key_event_set_action", + this.keyEvent, + action === "release" ? 0 : event.repeat ? 2 : 1, + ); this.runtime.call("ghostty_key_event_set_key", this.keyEvent, ghosttyKeyForCode(event.code)); const mods = (event.shiftKey ? 1 : 0) | @@ -453,7 +482,8 @@ export class GhosttyTerminalCore { this.runtime.call("ghostty_terminal_mode_get", this.terminal, 2004, this.scratch) === GHOSTTY_SUCCESS && this.runtime.bytes(this.scratch, 1)[0] !== 0; const written = this.runtime.call("ghostty_wasm_alloc_usize"); - this.runtime.call( + let encoded = ""; + const sizeResult = this.runtime.call( "ghostty_paste_encode", inputPointer, input.length, @@ -463,21 +493,23 @@ export class GhosttyTerminalCore { written, ); const outputSize = this.runtime.view(written, 4).getUint32(0, true); - const output = this.runtime.alloc(Math.max(1, outputSize)); - const result = this.runtime.call( - "ghostty_paste_encode", - inputPointer, - input.length, - bracketed ? 1 : 0, - output, - outputSize, - written, - ); - const outputLength = this.runtime.view(written, 4).getUint32(0, true); - const encoded = - result === GHOSTTY_SUCCESS ? decoder.decode(this.runtime.bytes(output, outputLength)) : ""; + if (sizeResult === GHOSTTY_OUT_OF_SPACE && outputSize > 0) { + const output = this.runtime.alloc(outputSize); + const result = this.runtime.call( + "ghostty_paste_encode", + inputPointer, + input.length, + bracketed ? 1 : 0, + output, + outputSize, + written, + ); + const outputLength = this.runtime.view(written, 4).getUint32(0, true); + encoded = + result === GHOSTTY_SUCCESS ? decoder.decode(this.runtime.bytes(output, outputLength)) : ""; + this.runtime.free(output, outputSize); + } this.runtime.call("ghostty_wasm_free_usize", written); - this.runtime.free(output, Math.max(1, outputSize)); this.runtime.free(inputPointer, input.length); return encoded; } @@ -547,25 +579,31 @@ export class GhosttyTerminalCore { return encoded; } - setSelection(anchorCol: number, anchorRow: number, col: number, row: number): void { + setSelection(anchor: GhosttyPointInput, end: GhosttyPointInput): void { this.ensureActive(); const selectionLayout = this.runtime.layout("GhosttySelection"); + const gridRefSize = this.runtime.layout("GhosttyGridRef").size; const selection = this.runtime.alloc(selectionLayout.size); - this.runtime.setField(selection, "GhosttySelection", "size", selectionLayout.size); - const start = this.gridRef(anchorCol, anchorRow); - const end = this.gridRef(col, row); - const startField = selectionLayout.fields.start!; - const endField = selectionLayout.fields.end!; - this.runtime - .bytes(selection + startField.offset, startField.size) - .set(this.runtime.bytes(start, startField.size)); - this.runtime - .bytes(selection + endField.offset, endField.size) - .set(this.runtime.bytes(end, endField.size)); - this.runtime.call("ghostty_terminal_set", this.terminal, 21, selection); - this.runtime.free(start, this.runtime.layout("GhosttyGridRef").size); - this.runtime.free(end, this.runtime.layout("GhosttyGridRef").size); - this.runtime.free(selection, selectionLayout.size); + let start = 0; + let endRef = 0; + try { + this.runtime.setField(selection, "GhosttySelection", "size", selectionLayout.size); + start = this.gridRef(anchor.x, anchor.y, anchor.tag ?? 1); + endRef = this.gridRef(end.x, end.y, end.tag ?? 1); + const startField = selectionLayout.fields.start!; + const endField = selectionLayout.fields.end!; + this.runtime + .bytes(selection + startField.offset, startField.size) + .set(this.runtime.bytes(start, startField.size)); + this.runtime + .bytes(selection + endField.offset, endField.size) + .set(this.runtime.bytes(endRef, endField.size)); + this.runtime.call("ghostty_terminal_set", this.terminal, 21, selection); + } finally { + this.runtime.free(start, gridRefSize); + this.runtime.free(endRef, gridRefSize); + this.runtime.free(selection, selectionLayout.size); + } } selectAll(): void { @@ -745,25 +783,22 @@ export class GhosttyTerminalCore { } viewportPointToScreen(col: number, row: number): { x: number; y: number } | null { + return this.convertPoint(col, row, 1, 2); + } + + screenPointToViewport(col: number, row: number): { x: number; y: number } | null { + return this.convertPoint(col, row, 2, 1); + } + + private convertPoint( + col: number, + row: number, + fromTag: 1 | 2, + toTag: 1 | 2, + ): { x: number; y: number } | null { this.ensureActive(); - const ref = this.gridRef(col, row); - const coordinateLayout = this.runtime.layout("GhosttyPointCoordinate"); - const coordinate = this.runtime.alloc(coordinateLayout.size); - const result = this.runtime.call( - "ghostty_terminal_point_from_grid_ref", - this.terminal, - ref, - 2, - coordinate, - ); - const point = - result === GHOSTTY_SUCCESS - ? { - x: this.runtime.readField(coordinate, "GhosttyPointCoordinate", "x"), - y: this.runtime.readField(coordinate, "GhosttyPointCoordinate", "y"), - } - : null; - this.runtime.free(coordinate, coordinateLayout.size); + const ref = this.gridRef(col, row, fromTag); + const point = this.pointFromGridRef(ref, toTag); this.runtime.free(ref, this.runtime.layout("GhosttyGridRef").size); return point; } @@ -887,9 +922,14 @@ export class GhosttyTerminalCore { codepoints, ) === GHOSTTY_SUCCESS ) { - text = String.fromCodePoint( - ...new Uint32Array(this.runtime.memory.buffer, codepoints, graphemeLength), - ); + // Read through a DataView: the byte-array allocator guarantees no + // 4-byte alignment, which a Uint32Array view would require. + const codepointView = this.runtime.view(codepoints, bufferSize); + const codes: number[] = []; + for (let index = 0; index < graphemeLength; index += 1) { + codes.push(codepointView.getUint32(index * 4, true)); + } + text = String.fromCodePoint(...codes); } this.runtime.free(codepoints, bufferSize); } @@ -937,10 +977,10 @@ export class GhosttyTerminalCore { }; } - private gridRef(col: number, row: number): number { + private gridRef(col: number, row: number, tag: 1 | 2 = 1): number { const pointLayout = this.runtime.layout("GhosttyPoint"); const point = this.runtime.alloc(pointLayout.size); - this.runtime.setField(point, "GhosttyPoint", "tag", 1); + this.runtime.setField(point, "GhosttyPoint", "tag", tag); const pointValue = pointLayout.fields.value!; const valueOffset = pointValue.offset; const view = this.runtime.view(point + valueOffset, pointValue.size); @@ -949,11 +989,12 @@ export class GhosttyTerminalCore { const gridRefSize = this.runtime.layout("GhosttyGridRef").size; const gridRef = this.runtime.alloc(gridRefSize); this.runtime.setField(gridRef, "GhosttyGridRef", "size", gridRefSize); - this.assertSuccess( - "ghostty_terminal_grid_ref", - this.runtime.call("ghostty_terminal_grid_ref", this.terminal, point, gridRef), - ); + const result = this.runtime.call("ghostty_terminal_grid_ref", this.terminal, point, gridRef); this.runtime.free(point, pointLayout.size); + if (result !== GHOSTTY_SUCCESS) { + this.runtime.free(gridRef, gridRefSize); + this.assertSuccess("ghostty_terminal_grid_ref", result); + } return gridRef; } @@ -965,36 +1006,41 @@ export class GhosttyTerminalCore { ): GhosttySelectionRange | null { this.ensureActive(); const optionsLayout = this.runtime.layout(optionsName); - const options = this.runtime.alloc(optionsLayout.size); - this.runtime.setField(options, optionsName, "size", optionsLayout.size); - const ref = this.gridRef(col, row); - const refField = optionsLayout.fields.ref!; - this.runtime - .bytes(options + refField.offset, refField.size) - .set(this.runtime.bytes(ref, refField.size)); const selectionLayout = this.runtime.layout("GhosttySelection"); - const selection = this.runtime.alloc(selectionLayout.size); - this.runtime.setField(selection, "GhosttySelection", "size", selectionLayout.size); - const result = this.runtime.call(operation, this.terminal, options, selection); + const options = this.runtime.alloc(optionsLayout.size); + let ref = 0; + let selection = 0; let range: GhosttySelectionRange | null = null; - if (result === GHOSTTY_SUCCESS) { - const start = selection + selectionLayout.fields.start!.offset; - const end = selection + selectionLayout.fields.end!.offset; - const viewportStart = this.pointFromGridRef(start, 1); - const viewportEnd = this.pointFromGridRef(end, 1); - const screenStart = this.pointFromGridRef(start, 2); - const screenEnd = this.pointFromGridRef(end, 2); - if (viewportStart && viewportEnd && screenStart && screenEnd) { - range = { - viewport: { start: viewportStart, end: viewportEnd }, - screen: { start: screenStart, end: screenEnd }, - }; + try { + this.runtime.setField(options, optionsName, "size", optionsLayout.size); + ref = this.gridRef(col, row); + const refField = optionsLayout.fields.ref!; + this.runtime + .bytes(options + refField.offset, refField.size) + .set(this.runtime.bytes(ref, refField.size)); + selection = this.runtime.alloc(selectionLayout.size); + this.runtime.setField(selection, "GhosttySelection", "size", selectionLayout.size); + const result = this.runtime.call(operation, this.terminal, options, selection); + if (result === GHOSTTY_SUCCESS) { + const start = selection + selectionLayout.fields.start!.offset; + const end = selection + selectionLayout.fields.end!.offset; + const viewportStart = this.pointFromGridRef(start, 1); + const viewportEnd = this.pointFromGridRef(end, 1); + const screenStart = this.pointFromGridRef(start, 2); + const screenEnd = this.pointFromGridRef(end, 2); + if (viewportStart && viewportEnd && screenStart && screenEnd) { + range = { + viewport: { start: viewportStart, end: viewportEnd }, + screen: { start: screenStart, end: screenEnd }, + }; + } + this.runtime.call("ghostty_terminal_set", this.terminal, 21, selection); } - this.runtime.call("ghostty_terminal_set", this.terminal, 21, selection); + } finally { + this.runtime.free(selection, selectionLayout.size); + this.runtime.free(ref, this.runtime.layout("GhosttyGridRef").size); + this.runtime.free(options, optionsLayout.size); } - this.runtime.free(selection, selectionLayout.size); - this.runtime.free(ref, this.runtime.layout("GhosttyGridRef").size); - this.runtime.free(options, optionsLayout.size); return range; } diff --git a/apps/web/src/terminal/ghostty/keyCodes.test.ts b/apps/web/src/terminal/ghostty/keyCodes.test.ts index 00c51aecfa5..d6fc0cca45e 100644 --- a/apps/web/src/terminal/ghostty/keyCodes.test.ts +++ b/apps/web/src/terminal/ghostty/keyCodes.test.ts @@ -31,6 +31,13 @@ describe("ghosttyUnshiftedCodepoint", () => { expect(ghosttyUnshiftedCodepoint({ code: "Enter", key: "Enter", shiftKey: false })).toBe(0); }); + it("reports unknown instead of the shifted character without layout data", () => { + expect(ghosttyUnshiftedCodepoint({ code: "Digit7", key: "/", shiftKey: true })).toBe(0); + expect(ghosttyUnshiftedCodepoint({ code: "KeyD", key: "Д", shiftKey: true })).toBe( + "д".codePointAt(0), + ); + }); + it("prefers the active browser layout over US physical key positions", () => { const layoutMap = new Map([ ["Digit1", "&"], diff --git a/apps/web/src/terminal/ghostty/keyCodes.ts b/apps/web/src/terminal/ghostty/keyCodes.ts index 8e3673d01fa..a82c748b274 100644 --- a/apps/web/src/terminal/ghostty/keyCodes.ts +++ b/apps/web/src/terminal/ghostty/keyCodes.ts @@ -243,9 +243,16 @@ export function ghosttyUnshiftedCodepoint( return layoutCharacter.codePointAt(0) ?? 0; } if (/^[A-Z]$/u.test(event.key)) return event.key.charCodeAt(0) + 32; - const unshiftedCharacter = event.shiftKey - ? shiftedToUnshiftedCharacter.get(event.key) - : undefined; - if (unshiftedCharacter) return unshiftedCharacter.codePointAt(0) ?? 0; + if (event.shiftKey) { + const unshiftedCharacter = shiftedToUnshiftedCharacter.get(event.key); + if (unshiftedCharacter) return unshiftedCharacter.codePointAt(0) ?? 0; + const lowercase = event.key.toLowerCase(); + if (lowercase !== event.key && [...lowercase].length === 1) { + return lowercase.codePointAt(0) ?? 0; + } + // Without layout data the unshifted form of a shifted key is unknowable; + // reporting the shifted character as unshifted corrupts Kitty alternate keys. + return 0; + } return event.key.codePointAt(0) ?? 0; } diff --git a/apps/web/src/terminal/ghostty/renderer.ts b/apps/web/src/terminal/ghostty/renderer.ts index f28c72f59a6..7b9ecdc47df 100644 --- a/apps/web/src/terminal/ghostty/renderer.ts +++ b/apps/web/src/terminal/ghostty/renderer.ts @@ -12,8 +12,7 @@ export interface GhosttyCellMetrics { readonly baseline: number; } -const SELECTION_BACKGROUND = "rgba(72, 122, 191, 0.72)"; -const SELECTION_FOREGROUND = "rgb(255, 255, 255)"; +const DEFAULT_SELECTION_BACKGROUND = "rgba(72, 122, 191, 0.35)"; function cssColor(color: GhosttyColor): string { return `rgb(${color.r}, ${color.g}, ${color.b})`; @@ -95,6 +94,8 @@ export function renderGhosttySnapshot(options: { readonly forceFull: boolean; readonly cursorOn: boolean; readonly previousCursorY?: number | null; + readonly focused?: boolean; + readonly selectionBackground?: string; }): void { const { context, @@ -107,6 +108,8 @@ export function renderGhosttySnapshot(options: { cursorOn, previousCursorY, } = options; + const focused = options.focused ?? true; + const selectionBackground = options.selectionBackground ?? DEFAULT_SELECTION_BACKGROUND; const rowsToDraw = forceFull ? Array.from({ length: snapshot.rows }, (_, index) => index) : [...snapshot.dirtyRows]; @@ -156,13 +159,16 @@ export function renderGhosttySnapshot(options: { backgroundEnd += 1; } if (first.selected || !ghosttyColorsEqual(first.background, snapshot.background)) { - context.fillStyle = first.selected ? SELECTION_BACKGROUND : cssColor(first.background); - context.fillRect( - padding + backgroundStart * metrics.width, - top, - (backgroundEnd - backgroundStart) * metrics.width, - metrics.height, - ); + const left = padding + backgroundStart * metrics.width; + const width = (backgroundEnd - backgroundStart) * metrics.width; + if (!ghosttyColorsEqual(first.background, snapshot.background)) { + context.fillStyle = cssColor(first.background); + context.fillRect(left, top, width, metrics.height); + } + if (first.selected) { + context.fillStyle = selectionBackground; + context.fillRect(left, top, width, metrics.height); + } } backgroundStart = backgroundEnd; } @@ -191,7 +197,7 @@ export function renderGhosttySnapshot(options: { ); context.clip(); context.font = fontForCell(first, fontSize, fontFamily); - context.fillStyle = first.selected ? SELECTION_FOREGROUND : cssColor(first.foreground); + context.fillStyle = cssColor(first.foreground); context.fillText( text, padding + runStart * metrics.width, @@ -206,7 +212,7 @@ export function renderGhosttySnapshot(options: { for (let column = 0; column < row.cells.length; column += 1) { const cell = row.cells[column]; if (!cell || (!cell.underline && !cell.strikethrough && !cell.overline)) continue; - context.fillStyle = cell.selected ? SELECTION_FOREGROUND : cssColor(cell.foreground); + context.fillStyle = cssColor(cell.foreground); const left = padding + column * metrics.width; if (cell.underline) context.fillRect(left, top + metrics.height - 2, metrics.width, 1); if (cell.strikethrough) { @@ -220,7 +226,11 @@ export function renderGhosttySnapshot(options: { const left = padding + snapshot.cursorX * metrics.width; const top = padding + snapshot.cursorY * metrics.height; context.fillStyle = cssColor(snapshot.cursor); - if (snapshot.cursorStyle === 0) { + if (!focused) { + // An unfocused terminal draws a hollow cursor so the active pane is obvious. + context.strokeStyle = cssColor(snapshot.cursor); + context.strokeRect(left + 0.5, top + 0.5, metrics.width - 1, metrics.height - 1); + } else if (snapshot.cursorStyle === 0) { context.fillRect(left, top, 2, metrics.height); } else if (snapshot.cursorStyle === 2) { context.fillRect(left, top + metrics.height - 2, metrics.width, 2); diff --git a/apps/web/src/terminal/ghostty/runtime.ts b/apps/web/src/terminal/ghostty/runtime.ts index c6d24bacc32..75827fc18ac 100644 --- a/apps/web/src/terminal/ghostty/runtime.ts +++ b/apps/web/src/terminal/ghostty/runtime.ts @@ -93,6 +93,9 @@ export class GhosttyRuntime { allocOpaque(): number { const pointer = this.call("ghostty_wasm_alloc_opaque"); if (pointer === 0) throw new Error("libghostty-vt failed to allocate an opaque pointer"); + // The slot is uninitialized until a *_new call writes it; zero it so dispose + // paths that run after a partial initialization never free a garbage pointer. + new DataView(this.memory.buffer).setUint32(pointer, 0, true); return pointer; } diff --git a/apps/web/src/terminal/ghostty/runtimeAbi.test.ts b/apps/web/src/terminal/ghostty/runtimeAbi.test.ts index a7027942c51..78e3468c374 100644 --- a/apps/web/src/terminal/ghostty/runtimeAbi.test.ts +++ b/apps/web/src/terminal/ghostty/runtimeAbi.test.ts @@ -502,6 +502,31 @@ describe("vendored libghostty-vt WebAssembly", () => { new TextDecoder().decode(new Uint8Array(memory.buffer, remappedOutput, remappedOutputLength)), ).toBe("\u001b[106;5u"); + // Without the Kitty report-event-types flag a release encodes nothing, so + // the surface's keyup handler stays silent for legacy sessions. + call("ghostty_key_event_set_action", keyEvent, 0); + expect(call("ghostty_key_encoder_encode", keyEncoder, keyEvent, 0, 0, written)).toBe(0); + expect(new DataView(memory.buffer, written, 4).getUint32(0, true)).toBe(0); + + // With report-event-types enabled the same release encodes an event-typed code. + const reportEvents = new TextEncoder().encode("\u001b[>3u"); + const reportEventsPointer = alloc(reportEvents.length); + new Uint8Array(memory.buffer, reportEventsPointer, reportEvents.length).set(reportEvents); + call("ghostty_terminal_vt_write", terminal, reportEventsPointer, reportEvents.length); + call("ghostty_key_encoder_setopt_from_terminal", keyEncoder, terminal); + expect(call("ghostty_key_encoder_encode", keyEncoder, keyEvent, 0, 0, written)).toBe(-3); + const releaseSize = new DataView(memory.buffer, written, 4).getUint32(0, true); + const releaseOutput = alloc(releaseSize); + expect( + call("ghostty_key_encoder_encode", keyEncoder, keyEvent, releaseOutput, releaseSize, written), + ).toBe(0); + const releaseLength = new DataView(memory.buffer, written, 4).getUint32(0, true); + expect( + new TextDecoder().decode(new Uint8Array(memory.buffer, releaseOutput, releaseLength)), + ).toBe("\u001b[106;5:3u"); + free(releaseOutput, releaseSize); + free(reportEventsPointer, reportEvents.length); + free(remappedOutput, remappedOutputSize); free(remappedTextPointer, remappedText.length); free(output, outputSize); diff --git a/apps/web/src/terminal/ghostty/surface.test.ts b/apps/web/src/terminal/ghostty/surface.test.ts index 08e6354e794..e6b9d1be46f 100644 --- a/apps/web/src/terminal/ghostty/surface.test.ts +++ b/apps/web/src/terminal/ghostty/surface.test.ts @@ -14,6 +14,8 @@ import { terminalScrollbarOffsetAtPointer, terminalLinkAtColumn, terminalLinkAtPosition, + terminalWheelArrowData, + terminalWheelDeltaRows, } from "./surface"; const cell = (text: string): GhosttyCell => ({ @@ -170,6 +172,41 @@ describe("application mouse reporting", () => { }); }); +describe("terminalWheelDeltaRows", () => { + it("converts line-mode deltas into whole rows", () => { + const result = terminalWheelDeltaRows({ deltaY: 3, deltaMode: 1 }, 16, 24, 0); + expect(result.rows).toBe(3); + expect(result.remainder).toBe(0); + }); + + it("accumulates fractional pixel deltas across events", () => { + let remainder = 0; + let scrolled = 0; + for (let index = 0; index < 4; index += 1) { + const result = terminalWheelDeltaRows({ deltaY: 5, deltaMode: 0 }, 16, 24, remainder); + remainder = result.remainder; + scrolled += result.rows; + } + expect(scrolled).toBe(1); + expect(remainder).toBeCloseTo(4 / 16); + }); + + it("keeps direction for negative page-mode deltas", () => { + const result = terminalWheelDeltaRows({ deltaY: -1, deltaMode: 2 }, 16, 24, 0); + expect(result.rows).toBe(-24); + expect(result.remainder).toBe(0); + }); +}); + +describe("terminalWheelArrowData", () => { + it("emits one arrow per row honoring application cursor keys", () => { + expect(terminalWheelArrowData(-2, false)).toBe("\u001b[A\u001b[A"); + expect(terminalWheelArrowData(3, false)).toBe("\u001b[B\u001b[B\u001b[B"); + expect(terminalWheelArrowData(-1, true)).toBe("\u001bOA"); + expect(terminalWheelArrowData(0, true)).toBe(""); + }); +}); + describe("isTerminalLinkPointerGesture", () => { it("uses Command on macOS and Control elsewhere", () => { expect(isTerminalLinkPointerGesture({ ctrlKey: false, metaKey: true }, "MacIntel")).toBe(true); diff --git a/apps/web/src/terminal/ghostty/surface.ts b/apps/web/src/terminal/ghostty/surface.ts index 90e367f4c90..e837b8ecdce 100644 --- a/apps/web/src/terminal/ghostty/surface.ts +++ b/apps/web/src/terminal/ghostty/surface.ts @@ -144,6 +144,37 @@ export function shouldReportTerminalMouse( return tracking && !event.shiftKey && !event.ctrlKey && !event.metaKey; } +export function terminalWheelDeltaRows( + event: Pick, + cellHeight: number, + viewportRows: number, + remainder: number, +): { readonly rows: number; readonly remainder: number } { + // deltaMode: 0 pixels, 1 lines, 2 pages. + const pixels = + event.deltaMode === 1 + ? event.deltaY * cellHeight + : event.deltaMode === 2 + ? event.deltaY * viewportRows * cellHeight + : event.deltaY; + const total = remainder + pixels / cellHeight; + const rows = Math.trunc(total); + return { rows, remainder: total - rows }; +} + +export function terminalWheelArrowData(rows: number, applicationCursorKeys: boolean): string { + if (rows === 0) return ""; + const sequence = + rows < 0 + ? applicationCursorKeys + ? "\u001bOA" + : "\u001b[A" + : applicationCursorKeys + ? "\u001bOB" + : "\u001b[B"; + return sequence.repeat(Math.abs(rows)); +} + export function isTerminalLinkPointerGesture( event: Pick, platform = navigator.platform, @@ -240,21 +271,31 @@ export class GhosttyTerminalSurface { readonly height: number; readonly ratio: number; } | null = null; - private selectionAnchor: { x: number; y: number } | null = null; private selectionEnd: { x: number; y: number } | null = null; private selectionAnchorScreen: { x: number; y: number } | null = null; private selectionEndScreen: { x: number; y: number } | null = null; private selectionMode: "cell" | "word" | "line" = "cell"; + // Word/line selection base in screen coordinates so streaming output cannot + // shift the origin of a drag selection. private selectionBase: { start: { x: number; y: number }; end: { x: number; y: number }; } | null = null; + private selectionScrollTimer: number | null = null; + private selectionScrollDelta = 0; + private selectionPointer: { x: number; y: number } | null = null; private mouseReportingPointerId: number | null = null; private mouseReportingButton: number | null = null; private linkActivationPointerId: number | null = null; private selectionClickSequence: TerminalSelectionClickSequence | null = null; private selectionMoved = false; private composing = false; + private focused = false; + private theme: GhosttyTheme; + private wheelRemainder = 0; + private dprMedia: MediaQueryList | null = null; + private inputLeft = -1; + private inputTop = -1; private constructor( mount: HTMLElement, @@ -276,8 +317,10 @@ export class GhosttyTerminalSurface { this.core = core; this.metrics = metrics; this.options = options; + this.theme = options.theme; this.resizeObserver = new ResizeObserver(() => this.fit()); this.installEvents(); + this.watchDevicePixelRatio(); this.resizeObserver.observe(mount); } @@ -297,7 +340,7 @@ export class GhosttyTerminalSurface { input.autocomplete = "off"; input.spellcheck = false; input.style.cssText = - "position:absolute;left:4px;bottom:4px;width:1px;height:1px;opacity:0;padding:0;border:0;resize:none;"; + "position:absolute;left:4px;top:4px;width:1px;height:1px;opacity:0;padding:0;border:0;resize:none;pointer-events:none;"; const scrollbar = document.createElement("div"); scrollbar.className = "t3-ghostty-scrollbar"; @@ -313,6 +356,13 @@ export class GhosttyTerminalSurface { const context = canvas.getContext("2d", { alpha: false }); if (!context) throw new Error("Canvas 2D is unavailable"); + try { + // Cell metrics must come from the faces that will render; measuring before + // the bundled webfonts load would size the grid from a fallback font. + await document.fonts.load(`${FONT_SIZE}px ${FONT_FAMILY}`); + } catch { + // Metrics fall back to whichever faces are already available. + } const metrics = measureGhosttyCell(context, FONT_SIZE, FONT_FAMILY); const grid = terminalGridSize(mount.clientWidth, mount.clientHeight, metrics, CONTENT_PADDING); const core = await GhosttyTerminalCore.create( @@ -342,6 +392,9 @@ export class GhosttyTerminalSurface { write(data: string): void { if (this.disposed) return; this.core.write(data); + // Restart the blink cycle from the visible phase so the cursor never sits + // invisible through a stream of output or a burst of typing echo. + this.cursorOn = true; this.scrollbarDirty = true; this.requestRender(); } @@ -356,6 +409,7 @@ export class GhosttyTerminalSurface { setTheme(theme: GhosttyTheme): void { if (this.disposed) return; + this.theme = theme; this.core.setTheme(theme); this.forceFullRender = true; this.requestRender(); @@ -420,15 +474,29 @@ export class GhosttyTerminalSurface { : { start: this.selectionEndScreen, end: this.selectionAnchorScreen }; } + getSelectionEndClientRect(): { readonly right: number; readonly bottom: number } | null { + const position = this.getSelectionPosition(); + if (!position) return null; + const viewportEnd = this.core.screenPointToViewport(position.end.x, position.end.y); + if (!viewportEnd) return null; + const bounds = this.canvas.getBoundingClientRect(); + return { + right: bounds.left + CONTENT_PADDING + (viewportEnd.x + 1) * this.metrics.width, + bottom: bounds.top + CONTENT_PADDING + (viewportEnd.y + 1) * this.metrics.height, + }; + } + clearSelection(): void { this.core.clearSelection(); - this.selectionAnchor = null; this.selectionEnd = null; this.selectionAnchorScreen = null; this.selectionEndScreen = null; this.selectionMode = "cell"; this.selectionBase = null; + this.setSelectionAutoscroll(0); this.options.onSelectionChange(); + // Selection highlights span rows Ghostty may not mark dirty for this change. + this.forceFullRender = true; this.requestRender(); } @@ -447,6 +515,9 @@ export class GhosttyTerminalSurface { if (this.disposed) return; this.disposed = true; this.resizeObserver.disconnect(); + this.dprMedia?.removeEventListener("change", this.onDevicePixelRatioChange); + this.dprMedia = null; + if (this.selectionScrollTimer !== null) window.clearInterval(this.selectionScrollTimer); if (this.frame !== 0) window.cancelAnimationFrame(this.frame); if (this.cursorTimer !== null) window.clearTimeout(this.cursorTimer); if (this.compositionSuppressionTimer !== null) { @@ -474,7 +545,11 @@ export class GhosttyTerminalSurface { return; } if (isTerminalPasteShortcut(event)) return; - if (event.isComposing || this.composing || event.key === "Process") return; + // keyCode 229 is Safari's only signal that this keydown opens an IME + // composition; encoding it would double the committed text. + if (event.isComposing || this.composing || event.key === "Process" || event.keyCode === 229) { + return; + } const data = this.core.encodeKey(event); if (data.length === 0) return; event.preventDefault(); @@ -482,6 +557,45 @@ export class GhosttyTerminalSurface { this.options.onData(data); }; + private readonly onKeyUp = (event: KeyboardEvent) => { + if (event.isComposing || this.composing || event.key === "Process" || event.keyCode === 229) { + return; + } + // Ghostty's encoder only emits release codes when the terminal enabled the + // Kitty report-event-types flag, so legacy sessions send nothing here. + const data = this.core.encodeKey(event, "release"); + if (data.length === 0) return; + event.preventDefault(); + event.stopPropagation(); + this.options.onData(data); + }; + + private readonly onFocus = () => { + this.focused = true; + this.cursorOn = true; + this.requestRender(); + }; + + private readonly onBlur = () => { + this.focused = false; + // The steady unfocused hollow cursor must not inherit an off blink phase. + this.cursorOn = true; + this.requestRender(); + }; + + private readonly onDevicePixelRatioChange = () => { + this.watchDevicePixelRatio(); + this.fit(); + }; + + private watchDevicePixelRatio(): void { + this.dprMedia?.removeEventListener("change", this.onDevicePixelRatioChange); + // A resolution media query only fires once for the ratio it was created at, + // so re-arm it after every change (monitor moves, browser zoom). + this.dprMedia = window.matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`); + this.dprMedia.addEventListener("change", this.onDevicePixelRatioChange); + } + private readonly onPaste = (event: ClipboardEvent) => { const data = event.clipboardData?.getData("text/plain") ?? ""; if (data.length === 0) return; @@ -564,8 +678,7 @@ export class GhosttyTerminalSurface { ? this.core.selectWord(cell.x, cell.y) : null; if (range) { - this.selectionBase = range.viewport; - this.selectionAnchor = range.viewport.start; + this.selectionBase = range.screen; this.selectionEnd = range.viewport.end; this.selectionAnchorScreen = range.screen.start; this.selectionEndScreen = range.screen.end; @@ -573,12 +686,17 @@ export class GhosttyTerminalSurface { } else { this.selectionMode = "cell"; this.selectionBase = null; - this.selectionAnchor = cell; this.selectionEnd = cell; - this.core.setSelection(cell.x, cell.y, cell.x, cell.y); - this.selectionAnchorScreen = this.core.viewportPointToScreen(cell.x, cell.y); - this.selectionEndScreen = this.selectionAnchorScreen; + const screen = this.core.viewportPointToScreen(cell.x, cell.y); + this.selectionAnchorScreen = screen; + this.selectionEndScreen = screen; + if (screen) { + this.core.setSelection({ ...screen, tag: 2 }, { ...screen, tag: 2 }); + } else { + this.core.setSelection(cell, cell); + } } + this.forceFullRender = true; this.canvas.setPointerCapture(event.pointerId); this.requestRender(); }; @@ -596,32 +714,78 @@ export class GhosttyTerminalSurface { this.sendMouse("motion", this.buttonFromButtons(event.buttons), event); return; } - if (!this.selectionAnchor || !this.canvas.hasPointerCapture(event.pointerId)) return; + if (!this.selectionAnchorScreen || !this.canvas.hasPointerCapture(event.pointerId)) { + this.updateHoverCursor(event); + return; + } + this.selectionPointer = { x: event.clientX, y: event.clientY }; + const bounds = this.canvas.getBoundingClientRect(); + this.setSelectionAutoscroll( + event.clientY < bounds.top ? -1 : event.clientY > bounds.bottom ? 1 : 0, + ); const cell = this.cellAt(event.clientX, event.clientY); if (cell.x === this.selectionEnd?.x && cell.y === this.selectionEnd.y) return; + this.extendSelectionTo(event.clientX, event.clientY); + }; + + private extendSelectionTo(clientX: number, clientY: number): void { + const anchorScreen = this.selectionAnchorScreen; + if (anchorScreen === null) return; + const cell = this.cellAt(clientX, clientY); this.selectionMoved = true; + this.selectionEnd = cell; const range = this.selectionMode === "line" ? this.core.selectLine(cell.x, cell.y) : this.selectionMode === "word" ? this.core.selectWord(cell.x, cell.y) : null; + const cellScreen = this.core.viewportPointToScreen(cell.x, cell.y); + if (cellScreen === null) return; const base = this.selectionBase; const beforeBase = base !== null && - (cell.y < base.start.y || (cell.y === base.start.y && cell.x < base.start.x)); - const anchor = base === null ? this.selectionAnchor : beforeBase ? base.end : base.start; - const end = range === null ? cell : beforeBase ? range.viewport.start : range.viewport.end; - this.selectionAnchor = anchor; - this.selectionEnd = end; - this.core.setSelection(anchor.x, anchor.y, end.x, end.y); - this.selectionAnchorScreen = this.core.viewportPointToScreen(anchor.x, anchor.y); - this.selectionEndScreen = this.core.viewportPointToScreen(end.x, end.y); + (cellScreen.y < base.start.y || + (cellScreen.y === base.start.y && cellScreen.x < base.start.x)); + const anchor = base === null ? anchorScreen : beforeBase ? base.end : base.start; + const end = range === null ? cellScreen : beforeBase ? range.screen.start : range.screen.end; + this.selectionAnchorScreen = anchor; + this.selectionEndScreen = end; + this.core.setSelection({ ...anchor, tag: 2 }, { ...end, tag: 2 }); this.options.onSelectionChange(); + this.forceFullRender = true; this.requestRender(); - }; + } + + private setSelectionAutoscroll(delta: number): void { + this.selectionScrollDelta = delta; + if (delta === 0) { + if (this.selectionScrollTimer !== null) { + window.clearInterval(this.selectionScrollTimer); + this.selectionScrollTimer = null; + } + return; + } + if (this.selectionScrollTimer !== null) return; + // Dragging past the edge scrolls the viewport and keeps extending the + // selection into the newly revealed rows, like xterm's drag scroller. + this.selectionScrollTimer = window.setInterval(() => { + if (this.disposed || this.selectionScrollDelta === 0) return; + this.scrollViewport(this.selectionScrollDelta); + const pointer = this.selectionPointer; + if (pointer) this.extendSelectionTo(pointer.x, pointer.y); + }, 80); + } + + private updateHoverCursor(event: PointerEvent): void { + const overLink = + isTerminalLinkPointerGesture(event) && this.linkAt(event.clientX, event.clientY) !== null; + const cursor = overLink ? "pointer" : ""; + if (this.canvas.style.cursor !== cursor) this.canvas.style.cursor = cursor; + } private readonly onPointerUp = (event: PointerEvent) => { + this.setSelectionAutoscroll(0); if (this.linkActivationPointerId === event.pointerId) { event.preventDefault(); event.stopPropagation(); @@ -659,15 +823,29 @@ export class GhosttyTerminalSurface { private readonly onWheel = (event: WheelEvent) => { if (event.deltaY === 0) return; event.preventDefault(); - const rows = Math.max(1, Math.round(Math.abs(event.deltaY) / this.metrics.height)); + const delta = terminalWheelDeltaRows( + event, + this.metrics.height, + this.rows, + this.wheelRemainder, + ); + this.wheelRemainder = delta.remainder; + if (delta.rows === 0) return; + const magnitude = Math.abs(delta.rows); if (shouldReportTerminalMouse(this.core.isMouseTracking(), event)) { - const button = event.deltaY < 0 ? 4 : 5; - for (let index = 0; index < rows; index += 1) { + const button = delta.rows < 0 ? 4 : 5; + for (let index = 0; index < magnitude; index += 1) { this.sendMouse("press", button, event); } return; } - this.scrollViewport(event.deltaY < 0 ? -rows : rows); + if (this.core.isAlternateScreen()) { + // The alternate screen has no scrollback: translate wheel motion into + // arrow keys so full-screen apps like vim and less scroll, matching xterm. + this.options.onData(terminalWheelArrowData(delta.rows, this.core.isApplicationCursorKeys())); + return; + } + this.scrollViewport(delta.rows); }; private readonly onMouseDown = (event: MouseEvent) => { @@ -747,6 +925,9 @@ export class GhosttyTerminalSurface { private installEvents(): void { this.input.addEventListener("keydown", this.onKeyDown); + this.input.addEventListener("keyup", this.onKeyUp); + this.input.addEventListener("focus", this.onFocus); + this.input.addEventListener("blur", this.onBlur); this.input.addEventListener("input", this.onInput); this.input.addEventListener("paste", this.onPaste); this.input.addEventListener("compositionstart", this.onCompositionStart); @@ -767,6 +948,9 @@ export class GhosttyTerminalSurface { private removeEvents(): void { this.input.removeEventListener("keydown", this.onKeyDown); + this.input.removeEventListener("keyup", this.onKeyUp); + this.input.removeEventListener("focus", this.onFocus); + this.input.removeEventListener("blur", this.onBlur); this.input.removeEventListener("input", this.onInput); this.input.removeEventListener("paste", this.onPaste); this.input.removeEventListener("compositionstart", this.onCompositionStart); @@ -863,7 +1047,12 @@ export class GhosttyTerminalSurface { forceFull: this.forceFullRender, cursorOn: this.cursorOn, previousCursorY: this.renderedCursorY, + focused: this.focused, + ...(this.theme.selectionBackground !== undefined + ? { selectionBackground: this.theme.selectionBackground } + : {}), }); + this.positionInput(); this.renderedCursorY = this.cursorOn && this.snapshot.cursorVisible && this.snapshot.cursorY >= 0 ? this.snapshot.cursorY @@ -880,7 +1069,8 @@ export class GhosttyTerminalSurface { private scheduleCursorBlink(): void { if (this.cursorTimer !== null) window.clearTimeout(this.cursorTimer); this.cursorTimer = null; - if (!this.snapshot?.cursorBlinking || !this.snapshot.cursorVisible) return; + // An unfocused surface shows a steady hollow cursor instead of blinking. + if (!this.focused || !this.snapshot?.cursorBlinking || !this.snapshot.cursorVisible) return; this.cursorTimer = window.setTimeout(() => { this.cursorTimer = null; this.cursorOn = !this.cursorOn; @@ -888,6 +1078,23 @@ export class GhosttyTerminalSurface { }, 500); } + private positionInput(): void { + const snapshot = this.snapshot; + if (!snapshot || !snapshot.cursorVisible || snapshot.cursorX < 0 || snapshot.cursorY < 0) { + return; + } + // The IME candidate window anchors to the textarea, so it must follow the + // terminal cursor for composition to appear where the user is typing. + const left = CONTENT_PADDING + snapshot.cursorX * this.metrics.width; + const top = CONTENT_PADDING + snapshot.cursorY * this.metrics.height; + if (left === this.inputLeft && top === this.inputTop) return; + this.inputLeft = left; + this.inputTop = top; + this.input.style.left = `${left}px`; + this.input.style.top = `${top}px`; + this.input.style.height = `${this.metrics.height}px`; + } + private cellAt(clientX: number, clientY: number): { x: number; y: number } { const bounds = this.canvas.getBoundingClientRect(); return { From 94e34c7dec76285264a0a743cf3f724b9e61d16f Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Fri, 31 Jul 2026 09:20:18 +0200 Subject: [PATCH 31/51] fix(web): polish terminal drawer lifecycle around the async surface - re-apply the app theme after the WASM surface mounts so a light/dark toggle during loading is not lost until the next toggle - let the surface's onResize callback be the single channel for PTY resize RPCs, removing the duplicate explicit sends on drawer drags - anchor the selection-action menu to the selection end computed from Ghostty cell geometry, replacing the DOM-selection lookup that can never match a canvas renderer - tell the user to close and reopen the terminal when the WASM surface fails to initialize, and clarify the exited-attach synchronization comment Co-Authored-By: Claude Fable 5 --- .../src/components/ThreadTerminalDrawer.tsx | 48 ++++++------------- 1 file changed, 14 insertions(+), 34 deletions(-) diff --git a/apps/web/src/components/ThreadTerminalDrawer.tsx b/apps/web/src/components/ThreadTerminalDrawer.tsx index 9596b3dded7..dd7da738626 100644 --- a/apps/web/src/components/ThreadTerminalDrawer.tsx +++ b/apps/web/src/components/ThreadTerminalDrawer.tsx @@ -160,34 +160,12 @@ function terminalThemeFromApp(mountElement?: HTMLElement | null): GhosttyTheme { isDark ? { r: 237, g: 241, b: 247 } : { r: 28, g: 33, b: 41 }, ), cursor: isDark ? { r: 180, g: 203, b: 255 } : { r: 38, g: 56, b: 78 }, + // Matches the xterm selection overlays this renderer replaced; the text + // color underneath is left unchanged for contrast in both themes. + selectionBackground: isDark ? "rgba(180, 203, 255, 0.25)" : "rgba(37, 63, 99, 0.2)", }; } -function getTerminalSelectionRect(mountElement: HTMLElement): DOMRect | null { - const selection = window.getSelection(); - if (!selection || selection.rangeCount === 0 || selection.isCollapsed) { - return null; - } - - const range = selection.getRangeAt(0); - const commonAncestor = range.commonAncestorContainer; - const selectionRoot = - commonAncestor instanceof Element ? commonAncestor : commonAncestor.parentElement; - if (!(selectionRoot instanceof Element) || !mountElement.contains(selectionRoot)) { - return null; - } - - const rects = Array.from(range.getClientRects()).filter( - (rect) => rect.width > 0 || rect.height > 0, - ); - if (rects.length > 0) { - return rects[rects.length - 1] ?? null; - } - - const boundingRect = range.getBoundingClientRect(); - return boundingRect.width > 0 || boundingRect.height > 0 ? boundingRect : null; -} - export function resolveTerminalSelectionActionPosition(options: { bounds: { left: number; top: number; width: number; height: number }; selectionRect: { right: number; bottom: number } | null; @@ -414,14 +392,19 @@ export function TerminalViewport({ terminal.dispose(); return null; } + // The theme observer is not installed yet, so re-read the theme in case + // the app toggled light/dark while the WASM surface was loading. + terminal.setTheme(terminalThemeFromApp(mount)); setupTerminal = terminal; terminalRef.current = terminal; const latestSession = latestSessionRef.current; previousSessionRef.current = latestSession; if (latestSession.buffer.length > 0) terminal.resetAndWrite(latestSession.buffer); if (latestSession.error !== null) writeSystemMessage(terminal, latestSession.error); - // Attaching to a session that already finished must still run exit handling + // Attaching to a session that already exited must still run exit handling // once, so mount synchronization starts from the empty "closed" state. + // (A session that is "closed" at mount is indistinguishable from one that + // never started, so only "exited" triggers the message — as with xterm.) synchronizedStatusRef.current = "closed"; synchronizeTerminalStatus(terminal, latestSession.status); if (autoFocus) window.requestAnimationFrame(() => terminal.focus()); @@ -453,13 +436,9 @@ export function TerminalViewport({ } const { lineStart, lineEnd } = terminalSelectionLineRange(selectionPosition); const bounds = mountElement.getBoundingClientRect(); - const selectionRect = getTerminalSelectionRect(mountElement); const position = resolveTerminalSelectionActionPosition({ bounds, - selectionRect: - selectionRect === null - ? null - : { right: selectionRect.right, bottom: selectionRect.bottom }, + selectionRect: activeTerminal.getSelectionEndClientRect(), pointer: selectionPointerRef.current, }); return { @@ -701,7 +680,6 @@ export function TerminalViewport({ if (wasAtBottom) { activeTerminal.scrollToBottom(); } - void resizeTerminal(activeTerminal.cols, activeTerminal.rows); }, 30); setupCleanups.push(() => window.clearTimeout(fitTimer)); @@ -730,8 +708,9 @@ export function TerminalViewport({ setupTerminal?.dispose(); setupTerminal = null; if (cancelled) return; - mount.textContent = + const message = error instanceof Error ? error.message : "Unable to initialize libghostty-vt"; + mount.textContent = `${message} — close and reopen the terminal to retry.`; }); return () => { @@ -799,12 +778,13 @@ export function TerminalViewport({ const terminal = terminalRef.current; if (!terminal) return; const wasAtBottom = terminal.isAtBottom(); + // The surface reports grid changes through onResize, which is the single + // channel for PTY resize RPCs; fitting here only refreshes the layout. const frame = window.requestAnimationFrame(() => { terminal.fit(); if (wasAtBottom) { terminal.scrollToBottom(); } - void resizeTerminal(terminal.cols, terminal.rows); }); return () => { window.cancelAnimationFrame(frame); From 748d3a9da7cbf2cc504c0fdd8a045b787feaf72b Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Fri, 31 Jul 2026 09:30:34 +0200 Subject: [PATCH 32/51] fix(web): swallow key releases for presses the terminal never saw Keydowns handled outside the terminal (keybindings via beforeKey, copy and paste shortcuts, AltGraph text) now record their physical code and skip the matching keyup, so Kitty report-event-types sessions no longer receive a release for a press that was suppressed locally. beforeKey is not re-consulted on keyup because it runs side effects. Stale suppressions are dropped on blur. Co-Authored-By: Claude Fable 5 --- apps/web/src/terminal/ghostty/surface.ts | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/apps/web/src/terminal/ghostty/surface.ts b/apps/web/src/terminal/ghostty/surface.ts index e837b8ecdce..dded5dbab7a 100644 --- a/apps/web/src/terminal/ghostty/surface.ts +++ b/apps/web/src/terminal/ghostty/surface.ts @@ -292,6 +292,7 @@ export class GhosttyTerminalSurface { private composing = false; private focused = false; private theme: GhosttyTheme; + private readonly suppressedKeyCodes = new Set(); private wheelRemainder = 0; private dprMedia: MediaQueryList | null = null; private inputLeft = -1; @@ -537,14 +538,24 @@ export class GhosttyTerminalSurface { } private readonly onKeyDown = (event: KeyboardEvent) => { - if (isTerminalAltGraphText(event)) return; - if (!this.options.beforeKey(event)) return; + // Presses handled outside the terminal must also swallow their release: + // beforeKey runs side effects (keybindings, navigation sends), so it cannot + // be consulted again on keyup, and Kitty report-event-types sessions would + // otherwise receive a release for a press the shell never saw. + if (isTerminalAltGraphText(event) || !this.options.beforeKey(event)) { + this.suppressedKeyCodes.add(event.code); + return; + } if (isTerminalCopyShortcut(event) && this.hasSelection()) { event.preventDefault(); + this.suppressedKeyCodes.add(event.code); this.options.onCopy(this.getSelection()); return; } - if (isTerminalPasteShortcut(event)) return; + if (isTerminalPasteShortcut(event)) { + this.suppressedKeyCodes.add(event.code); + return; + } // keyCode 229 is Safari's only signal that this keydown opens an IME // composition; encoding it would double the committed text. if (event.isComposing || this.composing || event.key === "Process" || event.keyCode === 229) { @@ -552,12 +563,14 @@ export class GhosttyTerminalSurface { } const data = this.core.encodeKey(event); if (data.length === 0) return; + this.suppressedKeyCodes.delete(event.code); event.preventDefault(); event.stopPropagation(); this.options.onData(data); }; private readonly onKeyUp = (event: KeyboardEvent) => { + if (this.suppressedKeyCodes.delete(event.code)) return; if (event.isComposing || this.composing || event.key === "Process" || event.keyCode === 229) { return; } @@ -578,6 +591,8 @@ export class GhosttyTerminalSurface { private readonly onBlur = () => { this.focused = false; + // Releases fire elsewhere once focus leaves; drop stale suppressions. + this.suppressedKeyCodes.clear(); // The steady unfocused hollow cursor must not inherit an off blink phase. this.cursorOn = true; this.requestRender(); From 6fa11a70a0897de22111ac41b0f3a1ece0af1c91 Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Fri, 31 Jul 2026 09:54:11 +0200 Subject: [PATCH 33/51] fix(web): notify the PTY on first fit and keep keyup suppression across blur The surface's onResize callback is now the only PTY resize channel, so fit() must fire it on the first successful measure even when the real grid equals the 1x1 construction sentinel. Key-release suppressions now survive blur: a shortcut that moves focus away must still swallow its own keyup when focus returns, and stale entries are already harmless because an encoding keydown removes its code first. Co-Authored-By: Claude Fable 5 --- apps/web/src/terminal/ghostty/surface.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/apps/web/src/terminal/ghostty/surface.ts b/apps/web/src/terminal/ghostty/surface.ts index dded5dbab7a..22369041c4d 100644 --- a/apps/web/src/terminal/ghostty/surface.ts +++ b/apps/web/src/terminal/ghostty/surface.ts @@ -291,6 +291,7 @@ export class GhosttyTerminalSurface { private selectionMoved = false; private composing = false; private focused = false; + private resizeNotified = false; private theme: GhosttyTheme; private readonly suppressedKeyCodes = new Set(); private wheelRemainder = 0; @@ -438,9 +439,12 @@ export class GhosttyTerminalSurface { this.pendingCanvasSize = null; } const grid = terminalGridSize(width, height, this.metrics, CONTENT_PADDING); - if (grid.cols !== this.cols || grid.rows !== this.rows) { + // onResize is the only PTY resize channel, so the first successful fit must + // notify even when the measured grid equals the 1x1 construction sentinel. + if (grid.cols !== this.cols || grid.rows !== this.rows || !this.resizeNotified) { this.cols = grid.cols; this.rows = grid.rows; + this.resizeNotified = true; this.core.resize(grid.cols, grid.rows, this.metrics.width, this.metrics.height); this.options.onResize(grid.cols, grid.rows); this.forceFullRender = true; @@ -591,8 +595,10 @@ export class GhosttyTerminalSurface { private readonly onBlur = () => { this.focused = false; - // Releases fire elsewhere once focus leaves; drop stale suppressions. - this.suppressedKeyCodes.clear(); + // Suppressions survive blur deliberately: a shortcut that moves focus (for + // example terminal-toggle) must still swallow its own keyup if focus comes + // back before release. Stale entries are harmless — an encoding keydown + // always removes its code first. // The steady unfocused hollow cursor must not inherit an off blink phase. this.cursorOn = true; this.requestRender(); From da2dbbaad6b9eea23dae74323b64aff778046655 Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Fri, 31 Jul 2026 10:13:06 +0200 Subject: [PATCH 34/51] fix(web): always install the canvas DPR transform on first fit A new canvas defaults to a 300x150 backing store, so a mount whose scaled size matched it exactly never scheduled a canvas configuration and rendered through the identity transform. The first fit now always schedules the configuration and the flag flips once the render frame applies it. Co-Authored-By: Claude Fable 5 --- apps/web/src/terminal/ghostty/surface.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/apps/web/src/terminal/ghostty/surface.ts b/apps/web/src/terminal/ghostty/surface.ts index 22369041c4d..4b05815b295 100644 --- a/apps/web/src/terminal/ghostty/surface.ts +++ b/apps/web/src/terminal/ghostty/surface.ts @@ -292,6 +292,7 @@ export class GhosttyTerminalSurface { private composing = false; private focused = false; private resizeNotified = false; + private canvasConfigured = false; private theme: GhosttyTheme; private readonly suppressedKeyCodes = new Set(); private wheelRemainder = 0; @@ -426,7 +427,14 @@ export class GhosttyTerminalSurface { const pixelWidth = Math.max(1, Math.round(width * ratio)); const pixelHeight = Math.max(1, Math.round(height * ratio)); let shouldRender = false; - if (this.canvas.width !== pixelWidth || this.canvas.height !== pixelHeight) { + // The DPR transform must be installed even when the target size happens to + // equal the canvas default 300x150 backing store, so the first fit always + // schedules a canvas configuration. + if ( + this.canvas.width !== pixelWidth || + this.canvas.height !== pixelHeight || + !this.canvasConfigured + ) { this.pendingCanvasSize = { width: pixelWidth, height: pixelHeight, @@ -1055,6 +1063,7 @@ export class GhosttyTerminalSurface { this.canvas.width = canvasSize.width; this.canvas.height = canvasSize.height; this.context.setTransform(canvasSize.ratio, 0, 0, canvasSize.ratio, 0, 0); + this.canvasConfigured = true; } this.snapshot = this.core.snapshot(); if (!this.snapshot.cursorBlinking) this.cursorOn = true; From dcc5b37554fa5ae75cd66035f1ac35c5d9ee6f2c Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Fri, 31 Jul 2026 10:47:53 +0200 Subject: [PATCH 35/51] fix(web): make the paste shortcut deterministic and refuse truncated links The terminal paste shortcut now reads the clipboard through navigator.clipboard when available and encodes the bracketed paste itself, instead of relying on Ctrl+Shift+V's browser-specific default action to fire a paste event; browsers without the API keep the native paste-event path. Wrapped-link resolution only sees viewport rows, so a wrapped line whose head scrolled above the viewport, or a match running to the end of a full-width bottom row, now resolves to no link instead of activating a truncated URL. OSC 8 hyperlinks are unaffected because Ghostty resolves them per cell. Co-Authored-By: Claude Fable 5 --- apps/web/src/terminal/ghostty/surface.test.ts | 17 +++++++++ apps/web/src/terminal/ghostty/surface.ts | 38 ++++++++++++++++++- 2 files changed, 54 insertions(+), 1 deletion(-) diff --git a/apps/web/src/terminal/ghostty/surface.test.ts b/apps/web/src/terminal/ghostty/surface.test.ts index e6b9d1be46f..cbc313e55e1 100644 --- a/apps/web/src/terminal/ghostty/surface.test.ts +++ b/apps/web/src/terminal/ghostty/surface.test.ts @@ -88,6 +88,23 @@ describe("terminalLinkAtColumn", () => { expect(terminalLinkAtPosition(rows, 2, 2)).toBe("~/project/file"); expect(terminalLinkAtPosition(rows, 3, 4)).toBe("C:\\repo\\file.ts"); }); + + it("refuses links truncated at the viewport edges instead of mis-resolving", () => { + const row = (text: string, isWrapContinuation: boolean): GhosttyRow => ({ + cells: Array.from(text.padEnd(16), (character) => cell(character)), + text: text.trimEnd(), + isWrapContinuation, + }); + // The head of the wrapped line scrolled above the viewport. + const headCut = [row("ple.com/missing", true), row("head", true)]; + expect(terminalLinkAtPosition(headCut, 0, 4)).toBeNull(); + // A full-width bottom row may wrap on below the viewport. + const tailCut = [row("https://t3.codes", false)]; + expect(terminalLinkAtPosition(tailCut, 0, 8)).toBeNull(); + // A partial bottom row is provably complete and still resolves. + const complete = [row("https://t3.codes", false), row("", false)]; + expect(terminalLinkAtPosition(complete, 0, 8)).toBe("https://t3.codes"); + }); }); describe("isTerminalCopyShortcut", () => { diff --git a/apps/web/src/terminal/ghostty/surface.ts b/apps/web/src/terminal/ghostty/surface.ts index 4b05815b295..e9c9b84160c 100644 --- a/apps/web/src/terminal/ghostty/surface.ts +++ b/apps/web/src/terminal/ghostty/surface.ts @@ -93,12 +93,30 @@ export function terminalLinkAtPosition( }; }); if (!wrappedLine) return null; + // Only viewport rows are available: a wrapped line whose head scrolled above + // the viewport would resolve a truncated match into a wrong link. + const firstSegment = wrappedLine.segments[0]; + if (firstSegment && rows[firstSegment.bufferLineNumber - 1]?.isWrapContinuation) { + return null; + } const segment = wrappedLine.segments.find((value) => value.bufferLineNumber === rowIndex + 1); const row = rows[rowIndex]; if (!segment || !row) return null; + const lastSegment = wrappedLine.segments.at(-1); + const lastRow = lastSegment ? rows[lastSegment.bufferLineNumber - 1] : undefined; + const mayContinueBelowViewport = + lastSegment !== undefined && + lastSegment.bufferLineNumber === rows.length && + lastRow !== undefined && + terminalRowText(lastRow, true).length === lastRow.cells.length; const offset = segment.startIndex + terminalColumnOffset(row, column); for (const match of extractTerminalLinks(wrappedLine.text)) { - if (offset >= match.start && offset < match.end) return match.text; + if (offset >= match.start && offset < match.end) { + // A match running to the end of a full bottom row may wrap on below the + // viewport; a truncated tail must not activate as a complete link. + if (match.end === wrappedLine.text.length && mayContinueBelowViewport) return null; + return match.text; + } } return null; } @@ -566,6 +584,24 @@ export class GhosttyTerminalSurface { } if (isTerminalPasteShortcut(event)) { this.suppressedKeyCodes.add(event.code); + const clipboard = navigator.clipboard; + if (typeof clipboard?.readText === "function") { + // Reading the clipboard directly makes the shortcut deterministic: + // Ctrl+Shift+V's default action does not fire a paste event in every + // browser. Browsers without the API keep the native paste-event path. + event.preventDefault(); + event.stopPropagation(); + void clipboard.readText().then( + (text) => { + if (!this.disposed && text.length > 0) { + this.options.onData(this.core.encodePaste(text)); + } + }, + () => { + // Clipboard permission was denied; there is nothing to paste. + }, + ); + } return; } // keyCode 229 is Safari's only signal that this keydown opens an IME From 69b11b1e63dab3476c60b101d6f1bcb3321aa007 Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Fri, 31 Jul 2026 10:48:30 +0200 Subject: [PATCH 36/51] fix(web): converge cached Ghostty source on the pinned revision A cached clone left on a previously pinned revision now fetches and checks out the current pin instead of failing the reproducible WASM rebuild. Co-Authored-By: Claude Fable 5 --- apps/web/scripts/build-libghostty-wasm.sh | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/apps/web/scripts/build-libghostty-wasm.sh b/apps/web/scripts/build-libghostty-wasm.sh index ec8198d13e2..7f33c2ff106 100755 --- a/apps/web/scripts/build-libghostty-wasm.sh +++ b/apps/web/scripts/build-libghostty-wasm.sh @@ -66,17 +66,24 @@ ensure_zig() { } ensure_ghostty_source() { + require_cmd git if [[ ! -d "${GHOSTTY_SOURCE_DIR}/.git" ]]; then - require_cmd git mkdir -p "$(dirname "${GHOSTTY_SOURCE_DIR}")" log "cloning Ghostty ${GHOSTTY_REVISION}" git clone --filter=blob:none --no-checkout https://github.com/ghostty-org/ghostty.git \ "${GHOSTTY_SOURCE_DIR}" + fi + + # A cached checkout may still be on a previously pinned revision; converge on + # the pinned one instead of failing the rebuild. + local actual_revision + actual_revision="$(git -C "${GHOSTTY_SOURCE_DIR}" rev-parse HEAD 2>/dev/null || echo none)" + if [[ "${actual_revision}" != "${GHOSTTY_REVISION}" ]]; then + log "checking out Ghostty ${GHOSTTY_REVISION}" git -C "${GHOSTTY_SOURCE_DIR}" fetch --depth=1 origin "${GHOSTTY_REVISION}" git -C "${GHOSTTY_SOURCE_DIR}" checkout --detach "${GHOSTTY_REVISION}" fi - local actual_revision actual_revision="$(git -C "${GHOSTTY_SOURCE_DIR}" rev-parse HEAD)" [[ "${actual_revision}" == "${GHOSTTY_REVISION}" ]] || \ die "expected Ghostty ${GHOSTTY_REVISION}, found ${actual_revision}" From 2bf617ab0c1d083ae04cb4c9779df2911eae31b4 Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Fri, 31 Jul 2026 11:05:04 +0200 Subject: [PATCH 37/51] fix(web): use Ghostty's soft-wrap flag for links and keep native paste alive Viewport-edge link truncation is now decided by Ghostty's authoritative row soft-wrap flag (GHOSTTY_ROW_DATA_WRAP) instead of a full-row string heuristic that misjudged rows containing multi-code-unit graphemes; a link exactly reaching the right edge of an unwrapped row resolves again. The paste shortcut no longer prevents the default before the async clipboard read: the native paste event (dispatched synchronously with the default action) claims a token first when it fires, the clipboard read covers browsers whose shortcut produces no paste event, and a denied read leaves the native path intact. The token makes double pasting impossible in either order. Co-Authored-By: Claude Fable 5 --- apps/web/src/terminal/ghostty/core.ts | 10 ++++++ .../web/src/terminal/ghostty/renderer.test.ts | 3 +- apps/web/src/terminal/ghostty/surface.test.ts | 36 ++++++++++++++++--- apps/web/src/terminal/ghostty/surface.ts | 35 +++++++++--------- 4 files changed, 62 insertions(+), 22 deletions(-) diff --git a/apps/web/src/terminal/ghostty/core.ts b/apps/web/src/terminal/ghostty/core.ts index 5335a92e909..5af82878757 100644 --- a/apps/web/src/terminal/ghostty/core.ts +++ b/apps/web/src/terminal/ghostty/core.ts @@ -89,6 +89,8 @@ export interface GhosttyRow { readonly cells: readonly GhosttyCell[]; readonly text: string; readonly isWrapContinuation: boolean; + /** Whether this row soft-wraps onto the next row. */ + readonly wrapsToNext: boolean; } export interface GhosttySnapshot { @@ -692,6 +694,7 @@ export class GhosttyTerminalCore { cells: Array.from({ length: cols }, () => this.emptyCell(foreground, background)), text: "", isWrapContinuation: false, + wrapsToNext: false, })); } @@ -877,6 +880,12 @@ export class GhosttyTerminalCore { this.runtime.call("ghostty_row_get", rawRow, 2, this.scratch + 8), ); const isWrapContinuation = this.runtime.bytes(this.scratch + 8, 1)[0] !== 0; + this.runtime.bytes(this.scratch + 8, 1)[0] = 0; + this.assertSuccess( + "ghostty_row_get(wrap)", + this.runtime.call("ghostty_row_get", rawRow, 1, this.scratch + 8), + ); + const wrapsToNext = this.runtime.bytes(this.scratch + 8, 1)[0] !== 0; this.assertSuccess( "ghostty_render_state_row_get(cells)", @@ -974,6 +983,7 @@ export class GhosttyTerminalCore { .join("") .trimEnd(), isWrapContinuation, + wrapsToNext, }; } diff --git a/apps/web/src/terminal/ghostty/renderer.test.ts b/apps/web/src/terminal/ghostty/renderer.test.ts index 714d3f1cc0e..e4d292a2c33 100644 --- a/apps/web/src/terminal/ghostty/renderer.test.ts +++ b/apps/web/src/terminal/ghostty/renderer.test.ts @@ -100,7 +100,7 @@ describe("renderGhosttySnapshot", () => { cursorBlinking: false, cursorStyle: 1, dirtyRows: new Set([0]), - rowData: [{ cells, text: "abx", isWrapContinuation: false }], + rowData: [{ cells, text: "abx", isWrapContinuation: false, wrapsToNext: false }], }; renderGhosttySnapshot({ @@ -154,6 +154,7 @@ describe("renderGhosttySnapshot", () => { cells: [cell("")], text: "", isWrapContinuation: false, + wrapsToNext: false, })), }; diff --git a/apps/web/src/terminal/ghostty/surface.test.ts b/apps/web/src/terminal/ghostty/surface.test.ts index cbc313e55e1..6b00d88ee32 100644 --- a/apps/web/src/terminal/ghostty/surface.test.ts +++ b/apps/web/src/terminal/ghostty/surface.test.ts @@ -63,6 +63,7 @@ describe("terminalLinkAtColumn", () => { .join("") .trimEnd(), isWrapContinuation: false, + wrapsToNext: false, }; expect(terminalLinkAtColumn(row, 2)).toBe("https://t3.codes"); @@ -71,10 +72,11 @@ describe("terminalLinkAtColumn", () => { }); it("uses shared path matching and reconstructs soft-wrapped links", () => { - const row = (text: string, isWrapContinuation: boolean): GhosttyRow => ({ + const row = (text: string, isWrapContinuation: boolean, wrapsToNext = false): GhosttyRow => ({ cells: Array.from(text.padEnd(16), (character) => cell(character)), text: text.trimEnd(), isWrapContinuation, + wrapsToNext, }); const rows = [ row("https://example.", false), @@ -90,20 +92,46 @@ describe("terminalLinkAtColumn", () => { }); it("refuses links truncated at the viewport edges instead of mis-resolving", () => { - const row = (text: string, isWrapContinuation: boolean): GhosttyRow => ({ + const row = (text: string, isWrapContinuation: boolean, wrapsToNext = false): GhosttyRow => ({ cells: Array.from(text.padEnd(16), (character) => cell(character)), text: text.trimEnd(), isWrapContinuation, + wrapsToNext, }); // The head of the wrapped line scrolled above the viewport. const headCut = [row("ple.com/missing", true), row("head", true)]; expect(terminalLinkAtPosition(headCut, 0, 4)).toBeNull(); - // A full-width bottom row may wrap on below the viewport. - const tailCut = [row("https://t3.codes", false)]; + // The bottom row soft-wraps on below the viewport. + const tailCut = [row("https://t3.codes", false, true)]; expect(terminalLinkAtPosition(tailCut, 0, 8)).toBeNull(); // A partial bottom row is provably complete and still resolves. const complete = [row("https://t3.codes", false), row("", false)]; expect(terminalLinkAtPosition(complete, 0, 8)).toBe("https://t3.codes"); + // A wide grapheme earlier in the row must not break truncation detection: + // the soft-wrap flag decides, not string-length-versus-cell-count. + const wideFull: GhosttyRow = { + cells: [ + { ...cell("🙂"), wide: 1 }, + { ...cell(""), wide: 2 }, + ...Array.from("https://t3.code", (character) => cell(character)), + ], + text: "🙂 https://t3.code", + isWrapContinuation: false, + wrapsToNext: true, + }; + expect(terminalLinkAtPosition([wideFull], 0, 8)).toBeNull(); + // Unwritten trailing cells prove the bottom row is complete. + const unwrittenTail: GhosttyRow = { + cells: [ + ...Array.from("https://t3.codes", (character) => cell(character)), + cell(""), + cell(""), + ], + text: "https://t3.codes", + isWrapContinuation: false, + wrapsToNext: false, + }; + expect(terminalLinkAtPosition([unwrittenTail], 0, 8)).toBe("https://t3.codes"); }); }); diff --git a/apps/web/src/terminal/ghostty/surface.ts b/apps/web/src/terminal/ghostty/surface.ts index e9c9b84160c..5cb4c44236f 100644 --- a/apps/web/src/terminal/ghostty/surface.ts +++ b/apps/web/src/terminal/ghostty/surface.ts @@ -104,17 +104,14 @@ export function terminalLinkAtPosition( if (!segment || !row) return null; const lastSegment = wrappedLine.segments.at(-1); const lastRow = lastSegment ? rows[lastSegment.bufferLineNumber - 1] : undefined; - const mayContinueBelowViewport = - lastSegment !== undefined && - lastSegment.bufferLineNumber === rows.length && - lastRow !== undefined && - terminalRowText(lastRow, true).length === lastRow.cells.length; + // Ghostty's soft-wrap flag is authoritative: when the last collected row + // still wraps onward, its continuation is outside the viewport. + const continuesBelowViewport = lastRow !== undefined && lastRow.wrapsToNext; const offset = segment.startIndex + terminalColumnOffset(row, column); for (const match of extractTerminalLinks(wrappedLine.text)) { if (offset >= match.start && offset < match.end) { - // A match running to the end of a full bottom row may wrap on below the - // viewport; a truncated tail must not activate as a complete link. - if (match.end === wrappedLine.text.length && mayContinueBelowViewport) return null; + // A truncated tail must not activate as a complete link. + if (match.end === wrappedLine.text.length && continuesBelowViewport) return null; return match.text; } } @@ -313,6 +310,7 @@ export class GhosttyTerminalSurface { private canvasConfigured = false; private theme: GhosttyTheme; private readonly suppressedKeyCodes = new Set(); + private pasteShortcutToken = 0; private wheelRemainder = 0; private dprMedia: MediaQueryList | null = null; private inputLeft = -1; @@ -586,19 +584,20 @@ export class GhosttyTerminalSurface { this.suppressedKeyCodes.add(event.code); const clipboard = navigator.clipboard; if (typeof clipboard?.readText === "function") { - // Reading the clipboard directly makes the shortcut deterministic: - // Ctrl+Shift+V's default action does not fire a paste event in every - // browser. Browsers without the API keep the native paste-event path. - event.preventDefault(); - event.stopPropagation(); + // Race the async clipboard read against the browser's own paste event: + // the native event (dispatched synchronously with the default action) + // always claims the token first when it fires, and the read covers + // browsers whose paste shortcut produces no paste event. Not preventing + // the default keeps the native path alive when the read is denied. + const token = ++this.pasteShortcutToken; void clipboard.readText().then( (text) => { - if (!this.disposed && text.length > 0) { - this.options.onData(this.core.encodePaste(text)); - } + if (this.disposed || this.pasteShortcutToken !== token) return; + this.pasteShortcutToken += 1; + if (text.length > 0) this.options.onData(this.core.encodePaste(text)); }, () => { - // Clipboard permission was denied; there is nothing to paste. + // Clipboard read denied; the native paste event remains the path. }, ); } @@ -662,6 +661,8 @@ export class GhosttyTerminalSurface { } private readonly onPaste = (event: ClipboardEvent) => { + // The native paste won the race; a pending clipboard read must not double. + this.pasteShortcutToken += 1; const data = event.clipboardData?.getData("text/plain") ?? ""; if (data.length === 0) return; event.preventDefault(); From 16b4553f057a1504cb42d307e36674d68b66f286 Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Fri, 31 Jul 2026 11:13:36 +0200 Subject: [PATCH 38/51] fix(web): only claim the paste race after the native paste delivers text An empty native paste event (for example a clipboard holding no plain text) no longer invalidates the pending clipboard read, which remains the only delivery path in that case. Co-Authored-By: Claude Fable 5 --- apps/web/src/terminal/ghostty/surface.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/web/src/terminal/ghostty/surface.ts b/apps/web/src/terminal/ghostty/surface.ts index 5cb4c44236f..ff3f8f32b2f 100644 --- a/apps/web/src/terminal/ghostty/surface.ts +++ b/apps/web/src/terminal/ghostty/surface.ts @@ -661,10 +661,11 @@ export class GhosttyTerminalSurface { } private readonly onPaste = (event: ClipboardEvent) => { - // The native paste won the race; a pending clipboard read must not double. - this.pasteShortcutToken += 1; const data = event.clipboardData?.getData("text/plain") ?? ""; if (data.length === 0) return; + // The native paste won the race with actual text; a pending clipboard read + // must not double. An empty native paste leaves the read as the only path. + this.pasteShortcutToken += 1; event.preventDefault(); this.options.onData(this.core.encodePaste(data)); }; From ad3ec79b7795b3f8368897dde1e11dfae6cb35fb Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Fri, 31 Jul 2026 11:20:46 +0200 Subject: [PATCH 39/51] fix(web): suppress the browser's default paste insertion unconditionally MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit An empty text/plain paste previously returned before preventDefault, so a clipboard carrying only richer types could have its converted text inserted into the hidden textarea and leak through onInput without bracketed-paste encoding — potentially alongside the async clipboard read's delivery. The default is now always suppressed; the paste event and the clipboard read remain the only delivery paths, still deduplicated by the race token. Co-Authored-By: Claude Fable 5 --- apps/web/src/terminal/ghostty/surface.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/web/src/terminal/ghostty/surface.ts b/apps/web/src/terminal/ghostty/surface.ts index ff3f8f32b2f..5052c2d61c1 100644 --- a/apps/web/src/terminal/ghostty/surface.ts +++ b/apps/web/src/terminal/ghostty/surface.ts @@ -661,12 +661,15 @@ export class GhosttyTerminalSurface { } private readonly onPaste = (event: ClipboardEvent) => { + // Always suppress the browser's default insertion: content the textarea + // would receive (for example an html-only clipboard converted to text) + // leaks through onInput without bracketed-paste encoding. + event.preventDefault(); const data = event.clipboardData?.getData("text/plain") ?? ""; if (data.length === 0) return; // The native paste won the race with actual text; a pending clipboard read // must not double. An empty native paste leaves the read as the only path. this.pasteShortcutToken += 1; - event.preventDefault(); this.options.onData(this.core.encodePaste(data)); }; From 3dc5604c0d1ce1a0693f82119c862e6f14226b4a Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Fri, 31 Jul 2026 11:47:32 +0200 Subject: [PATCH 40/51] refactor(web): single-source the Ghostty pin through embedded build info MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Mobile's Vendor/libghostty-vt/VERSION (with the upstream LICENSE beside it) is now the only copy of the upstream pin. The WASM build embeds the pinned revision as semver build metadata via the official -Dlib-version-string option, the web vendor directory holds only the two artifacts, and the ABI regression test reads the revision back out of the binary through ghostty_build_info and compares it against mobile's VERSION — provenance travels inside the artifact instead of a sibling file that could drift. Rebuilt ghostty-vt.wasm reproducibly from the pinned revision (630,932 bytes, +11 over the previous build for the metadata). Co-Authored-By: Claude Fable 5 --- apps/web/scripts/build-libghostty-wasm.sh | 6 +++-- apps/web/src/terminal/ghostty/README.md | 5 +++- .../src/terminal/ghostty/runtimeAbi.test.ts | 23 +++++++++++++++--- apps/web/src/terminal/ghostty/vendor/LICENSE | 21 ---------------- apps/web/src/terminal/ghostty/vendor/VERSION | 1 - .../terminal/ghostty/vendor/ghostty-vt.wasm | Bin 630921 -> 630932 bytes docs/architecture/terminal-renderers.md | 11 ++++++--- 7 files changed, 35 insertions(+), 32 deletions(-) delete mode 100644 apps/web/src/terminal/ghostty/vendor/LICENSE delete mode 100644 apps/web/src/terminal/ghostty/vendor/VERSION diff --git a/apps/web/scripts/build-libghostty-wasm.sh b/apps/web/scripts/build-libghostty-wasm.sh index 7f33c2ff106..bceb1218c05 100755 --- a/apps/web/scripts/build-libghostty-wasm.sh +++ b/apps/web/scripts/build-libghostty-wasm.sh @@ -98,11 +98,15 @@ trap 'rm -rf "${build_root}"' EXIT log "building ${GHOSTTY_REVISION} for wasm32-freestanding" ( cd "${GHOSTTY_SOURCE_DIR}" + # The pinned revision rides along as semver build metadata so the artifact + # identifies its own provenance through ghostty_build_info(); mobile's + # VERSION file stays the single source of truth for the pin. "${GHOSTTY_ZIG}" build \ -Demit-lib-vt \ -Dtarget=wasm32-freestanding \ -Doptimize=ReleaseSmall \ -Dstrip=true \ + -Dlib-version-string="0.1.0-dev+${GHOSTTY_REVISION}" \ -p "${build_root}" ) @@ -116,6 +120,4 @@ cp "${build_root}/bin/ghostty-vt.wasm" "${VENDOR_DIR}/ghostty-vt.wasm" -rdynamic \ -femit-bin="${VENDOR_DIR}/ghostty-write-pty.wasm" chmod 0644 "${VENDOR_DIR}/ghostty-write-pty.wasm" -cp "${GHOSTTY_SOURCE_DIR}/LICENSE" "${VENDOR_DIR}/LICENSE" -printf '%s\n' "${GHOSTTY_REVISION}" > "${VENDOR_DIR}/VERSION" log "wrote ${VENDOR_DIR}/ghostty-vt.wasm" diff --git a/apps/web/src/terminal/ghostty/README.md b/apps/web/src/terminal/ghostty/README.md index be1d05ba1d7..b251a022a4b 100644 --- a/apps/web/src/terminal/ghostty/README.md +++ b/apps/web/src/terminal/ghostty/README.md @@ -8,7 +8,10 @@ It is intentionally not an xterm compatibility layer. - `core.ts` owns per-terminal Ghostty handles and translates the C ABI into render snapshots. - `renderer.ts` batches backgrounds and style runs into a Canvas 2D frame. - `surface.ts` owns browser input, IME, selection, scrolling, sizing, links, and cursor blinking. -- `vendor/` is reproducibly generated by `apps/web/scripts/build-libghostty-wasm.sh`. +- `vendor/` holds only the artifacts, reproducibly generated by + `apps/web/scripts/build-libghostty-wasm.sh`. The upstream pin and license live once, at + `apps/mobile/modules/t3-terminal/Vendor/libghostty-vt/`; the wasm embeds the pinned revision + in its build info and the ABI test verifies it against mobile's `VERSION`. Keep browser behavior here and terminal transport in the existing client runtime. Do not add React state to the render loop. Both WASM artifacts are ordinary read-only assets, not executables. diff --git a/apps/web/src/terminal/ghostty/runtimeAbi.test.ts b/apps/web/src/terminal/ghostty/runtimeAbi.test.ts index 78e3468c374..0b3eac7f1ed 100644 --- a/apps/web/src/terminal/ghostty/runtimeAbi.test.ts +++ b/apps/web/src/terminal/ghostty/runtimeAbi.test.ts @@ -2,7 +2,6 @@ import { describe, expect, it } from "vite-plus/test"; import wasmDataUrl from "./vendor/ghostty-vt.wasm?inline"; import writePtyWasmDataUrl from "./vendor/ghostty-write-pty.wasm?inline"; -import webVersion from "./vendor/VERSION?raw"; import mobileVersion from "../../../../mobile/modules/t3-terminal/Vendor/libghostty-vt/VERSION?raw"; import { ghosttyKeyForCode } from "./keyCodes"; @@ -15,10 +14,28 @@ function decodeWasmDataUrl(dataUrl: string): Uint8Array { } describe("vendored libghostty-vt WebAssembly", () => { - it("stays pinned to mobile's canonical revision and size budget", () => { + it("stays pinned to mobile's canonical revision and size budget", async () => { const wasm = decodeWasmDataUrl(wasmDataUrl); - expect(webVersion.trim()).toBe(mobileVersion.trim()); expect(wasm.byteLength).toBeLessThan(750_000); + + // The artifact carries its own provenance: the build embeds the pinned + // revision as semver build metadata, so mobile's VERSION file is the + // single source of truth and drift is caught here without a copy. + const result = await WebAssembly.instantiate(wasm.buffer as ArrayBuffer, { + env: { log: () => {} }, + }); + const instance = result instanceof WebAssembly.Instance ? result : result.instance; + const memory = instance.exports.memory as WebAssembly.Memory; + const call = (name: string, ...args: number[]) => + (instance.exports[name] as WasmFunction)(...args); + const out = call("ghostty_wasm_alloc_u8_array", 8); + expect(call("ghostty_build_info", 10, out)).toBe(0); + const view = new DataView(memory.buffer, out, 8); + const embeddedRevision = new TextDecoder().decode( + new Uint8Array(memory.buffer, view.getUint32(0, true), view.getUint32(4, true)), + ); + call("ghostty_wasm_free_u8_array", out, 8); + expect(embeddedRevision).toBe(mobileVersion.trim()); }); it("creates, writes multi-codepoint graphemes, and frees repeated terminals", async () => { diff --git a/apps/web/src/terminal/ghostty/vendor/LICENSE b/apps/web/src/terminal/ghostty/vendor/LICENSE deleted file mode 100644 index 0a07a66cd1a..00000000000 --- a/apps/web/src/terminal/ghostty/vendor/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2024 Mitchell Hashimoto, Ghostty contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/apps/web/src/terminal/ghostty/vendor/VERSION b/apps/web/src/terminal/ghostty/vendor/VERSION deleted file mode 100644 index aa5d5e7421e..00000000000 --- a/apps/web/src/terminal/ghostty/vendor/VERSION +++ /dev/null @@ -1 +0,0 @@ -9f62873bf195e4d8a762d768a1405a5f2f7b1697 diff --git a/apps/web/src/terminal/ghostty/vendor/ghostty-vt.wasm b/apps/web/src/terminal/ghostty/vendor/ghostty-vt.wasm index efbc50c6a46b46a70569c6bf734ccfbf7cd29f8e..a8e2405adefd37612dfea6ebd77fbcacbd9134be 100644 GIT binary patch delta 49519 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 diff --git a/docs/architecture/terminal-renderers.md b/docs/architecture/terminal-renderers.md index ab9a3a2b4b6..483dd164403 100644 --- a/docs/architecture/terminal-renderers.md +++ b/docs/architecture/terminal-renderers.md @@ -28,12 +28,15 @@ detaches the PTY callback so historical device queries cannot emit replies into ## Updating Ghostty -Update and rebuild Android first, because mobile's `VERSION` file is canonical. Then run: +Update and rebuild Android first, because mobile's `VERSION` file is the single source of truth for +the upstream pin (the upstream `LICENSE` lives beside it). Then run: ```sh pnpm --dir apps/web build:ghostty-wasm ``` -Commit the web `wasm`, `VERSION`, and `LICENSE` together. The focused web ABI test verifies that the -pins match, enforces the artifact budget, and exercises repeated create/write/free cycles with -multi-codepoint graphemes. +Commit the regenerated web `wasm` artifacts. The build embeds the pinned revision into the binary as +semver build metadata, and the focused web ABI test reads it back through `ghostty_build_info` and +compares it against mobile's `VERSION` — so the web vendor directory holds only the artifacts, drift +cannot hide, and there is no second pin to keep in sync. The same test enforces the artifact budget +and exercises repeated create/write/free cycles with multi-codepoint graphemes. From 6a31d5e12a861740b700802c86b5822e3a5d37f6 Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Fri, 31 Jul 2026 12:06:28 +0200 Subject: [PATCH 41/51] feat(web): groundwork for configurable terminal fonts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The surface now takes an optional font (family and size) and exposes an async setFont that reloads faces, re-measures cell metrics, resizes the Ghostty grid, and repaints — nothing is user-facing yet; the drawer keeps the defaults. A custom text face always keeps the Nerd Font glyph fallbacks appended so prompt symbols stay covered, and requested sizes clamp to a sane range. Per review direction the default text stack is unified to SF Mono with the bundled JetBrains Mono webfont as the everywhere-else fallback, dropping the platform faces the bundled font always shadowed. Co-Authored-By: Claude Fable 5 --- apps/web/src/terminal/ghostty/surface.test.ts | 23 ++++++ apps/web/src/terminal/ghostty/surface.ts | 74 ++++++++++++++++--- 2 files changed, 86 insertions(+), 11 deletions(-) diff --git a/apps/web/src/terminal/ghostty/surface.test.ts b/apps/web/src/terminal/ghostty/surface.test.ts index 6b00d88ee32..7106555a68a 100644 --- a/apps/web/src/terminal/ghostty/surface.test.ts +++ b/apps/web/src/terminal/ghostty/surface.test.ts @@ -2,6 +2,8 @@ import { describe, expect, it } from "vite-plus/test"; import type { GhosttyCell, GhosttyRow } from "./core"; import { + DEFAULT_TERMINAL_FONT_FAMILY, + DEFAULT_TERMINAL_FONT_SIZE, advanceTerminalSelectionClickSequence, ghosttyMouseButton, isTerminalAltGraphText, @@ -14,6 +16,8 @@ import { terminalScrollbarOffsetAtPointer, terminalLinkAtColumn, terminalLinkAtPosition, + terminalFontFamily, + terminalFontSize, terminalWheelArrowData, terminalWheelDeltaRows, } from "./surface"; @@ -217,6 +221,25 @@ describe("application mouse reporting", () => { }); }); +describe("terminal font resolution", () => { + it("keeps the glyph fallbacks behind a custom text face", () => { + expect(terminalFontFamily()).toBe(DEFAULT_TERMINAL_FONT_FAMILY); + expect(terminalFontFamily(" ")).toBe(DEFAULT_TERMINAL_FONT_FAMILY); + const custom = terminalFontFamily('"Fira Code"'); + expect(custom.startsWith('"Fira Code", ')).toBe(true); + expect(custom).toContain('"Symbols Nerd Font Mono"'); + expect(custom.endsWith("monospace")).toBe(true); + }); + + it("clamps requested font sizes to the supported range", () => { + expect(terminalFontSize()).toBe(DEFAULT_TERMINAL_FONT_SIZE); + expect(terminalFontSize(Number.NaN)).toBe(DEFAULT_TERMINAL_FONT_SIZE); + expect(terminalFontSize(13.4)).toBe(13); + expect(terminalFontSize(2)).toBe(6); + expect(terminalFontSize(90)).toBe(32); + }); +}); + describe("terminalWheelDeltaRows", () => { it("converts line-mode deltas into whole rows", () => { const result = terminalWheelDeltaRows({ deltaY: 3, deltaMode: 1 }, 16, 24, 0); diff --git a/apps/web/src/terminal/ghostty/surface.ts b/apps/web/src/terminal/ghostty/surface.ts index 5052c2d61c1..f0135f5517f 100644 --- a/apps/web/src/terminal/ghostty/surface.ts +++ b/apps/web/src/terminal/ghostty/surface.ts @@ -13,18 +13,42 @@ import { type GhosttyCellMetrics, } from "./renderer"; -const FONT_SIZE = 12; -// The trailing Nerd Font faces only supply glyphs the regular monospace faces are -// missing (powerline separators, devicons, and other private-use prompt symbols), -// so shells configured for a locally installed Nerd Font keep their prompt glyphs. -const FONT_FAMILY = - '"SF Mono", "SFMono-Regular", "JetBrains Mono", Consolas, "Liberation Mono", Menlo, ' + +export const DEFAULT_TERMINAL_FONT_SIZE = 12; +const MIN_TERMINAL_FONT_SIZE = 6; +const MAX_TERMINAL_FONT_SIZE = 32; +// The glyph fallbacks only supply symbols the text faces are missing (powerline +// separators, devicons, and other private-use prompt symbols), so shells +// configured for a locally installed Nerd Font keep their prompt glyphs no +// matter which text face is active. +const TERMINAL_GLYPH_FALLBACKS = '"Symbols Nerd Font Mono", "Symbols Nerd Font", "JetBrainsMono Nerd Font", ' + '"JetBrainsMono NF", "FiraCode Nerd Font", "Hack Nerd Font", "MesloLGS NF", ' + '"CaskaydiaCove Nerd Font", "PowerlineSymbols", monospace'; +// SF Mono where the platform has it (macOS), otherwise the bundled JetBrains +// Mono webfont, so the default rendering is identical everywhere else. +export const DEFAULT_TERMINAL_FONT_FAMILY = + '"SF Mono", "SFMono-Regular", "JetBrains Mono", ' + TERMINAL_GLYPH_FALLBACKS; const CONTENT_PADDING = 4; const MIN_SCROLLBAR_THUMB_HEIGHT = 18; +/** Requested terminal font; omitted fields fall back to the defaults. */ +export interface GhosttyTerminalFont { + readonly family?: string; + readonly size?: number; +} + +export function terminalFontFamily(family?: string): string { + const custom = family?.trim(); + if (!custom) return DEFAULT_TERMINAL_FONT_FAMILY; + // A custom face keeps the glyph fallbacks so prompt symbols stay covered. + return `${custom}, ${TERMINAL_GLYPH_FALLBACKS}`; +} + +export function terminalFontSize(size?: number): number { + if (size === undefined || !Number.isFinite(size)) return DEFAULT_TERMINAL_FONT_SIZE; + return Math.max(MIN_TERMINAL_FONT_SIZE, Math.min(MAX_TERMINAL_FONT_SIZE, Math.round(size))); +} + export interface TerminalScrollbarGeometry { readonly thumbHeight: number; readonly thumbTop: number; @@ -246,6 +270,7 @@ export interface GhosttySelectionPosition { export interface GhosttyTerminalSurfaceOptions { readonly theme: GhosttyTheme; + readonly font?: GhosttyTerminalFont; readonly onData: (data: string) => void; readonly onResize: (cols: number, rows: number) => void; readonly onSelectionChange: () => void; @@ -265,7 +290,9 @@ export class GhosttyTerminalSurface { private readonly context: CanvasRenderingContext2D; private readonly core: GhosttyTerminalCore; private readonly options: GhosttyTerminalSurfaceOptions; - private readonly metrics: GhosttyCellMetrics; + private metrics: GhosttyCellMetrics; + private fontFamily: string; + private fontSize: number; private readonly resizeObserver: ResizeObserver; private readonly scrollbarThumb: HTMLDivElement; private snapshot: GhosttySnapshot | null = null; @@ -337,6 +364,8 @@ export class GhosttyTerminalSurface { this.metrics = metrics; this.options = options; this.theme = options.theme; + this.fontFamily = terminalFontFamily(options.font?.family); + this.fontSize = terminalFontSize(options.font?.size); this.resizeObserver = new ResizeObserver(() => this.fit()); this.installEvents(); this.watchDevicePixelRatio(); @@ -375,14 +404,16 @@ export class GhosttyTerminalSurface { const context = canvas.getContext("2d", { alpha: false }); if (!context) throw new Error("Canvas 2D is unavailable"); + const fontFamily = terminalFontFamily(options.font?.family); + const fontSize = terminalFontSize(options.font?.size); try { // Cell metrics must come from the faces that will render; measuring before // the bundled webfonts load would size the grid from a fallback font. - await document.fonts.load(`${FONT_SIZE}px ${FONT_FAMILY}`); + await document.fonts.load(`${fontSize}px ${fontFamily}`); } catch { // Metrics fall back to whichever faces are already available. } - const metrics = measureGhosttyCell(context, FONT_SIZE, FONT_FAMILY); + const metrics = measureGhosttyCell(context, fontSize, fontFamily); const grid = terminalGridSize(mount.clientWidth, mount.clientHeight, metrics, CONTENT_PADDING); const core = await GhosttyTerminalCore.create( grid.cols, @@ -434,6 +465,27 @@ export class GhosttyTerminalSurface { this.requestRender(); } + async setFont(font: GhosttyTerminalFont): Promise { + if (this.disposed) return; + this.fontFamily = terminalFontFamily(font.family); + this.fontSize = terminalFontSize(font.size); + try { + await document.fonts.load(`${this.fontSize}px ${this.fontFamily}`); + } catch { + // Metrics fall back to whichever faces are already available. + } + if (this.disposed) return; + this.metrics = measureGhosttyCell(this.context, this.fontSize, this.fontFamily); + this.core.resize(this.cols, this.rows, this.metrics.width, this.metrics.height); + // Cached IME textarea coordinates are stale in the new cell geometry. + this.inputLeft = -1; + this.inputTop = -1; + this.forceFullRender = true; + this.scrollbarDirty = true; + this.fit(); + this.requestRender(); + } + fit(): boolean { if (this.disposed) return false; const width = this.mount.clientWidth; @@ -1112,8 +1164,8 @@ export class GhosttyTerminalSurface { context: this.context, snapshot: this.snapshot, metrics: this.metrics, - fontSize: FONT_SIZE, - fontFamily: FONT_FAMILY, + fontSize: this.fontSize, + fontFamily: this.fontFamily, padding: CONTENT_PADDING, forceFull: this.forceFullRender, cursorOn: this.cursorOn, From b72cc87c3e04c0c8c3b2778b5569fc4a1db71a74 Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Fri, 31 Jul 2026 12:24:17 +0200 Subject: [PATCH 42/51] fix(web): survive WebKit table quirks, selection run splits, late fonts Three renderer reliability fixes: - Register the write-PTY trampoline with table.grow(1) + table.set instead of a grow init value: WebKit stores the init value with broken type information and every later call_indirect through it traps with a signature mismatch, which killed the surface on the first terminal reply (resize size reports made it look like resizing broke the terminal: cleared canvas, dead render loop, lost focus). Verified with an isolated WebKit probe: grow-init traps, grow-then-set delivers. - Selection no longer splits text runs: since selection tints only the background overlay, splitting runs at selection edges just shifted glyph spacing whenever the face's true advance differed from the measured cell width. - Re-measure cell metrics when document.fonts finishes loading faces: a cold load could measure the grid from a fallback font and render with the real one, producing wrong advances and a cursor detached from the text. The surface now refits itself when the loaded faces change the measurement. End-to-end verified in WebKit against the dev server: typing after resize, drag selection with the action menu, no page errors. Co-Authored-By: Claude Fable 5 --- apps/web/src/terminal/ghostty/renderer.ts | 6 ++++-- apps/web/src/terminal/ghostty/runtime.ts | 6 +++++- apps/web/src/terminal/ghostty/surface.ts | 21 +++++++++++++++++++++ 3 files changed, 30 insertions(+), 3 deletions(-) diff --git a/apps/web/src/terminal/ghostty/renderer.ts b/apps/web/src/terminal/ghostty/renderer.ts index 7b9ecdc47df..fd50905bbf4 100644 --- a/apps/web/src/terminal/ghostty/renderer.ts +++ b/apps/web/src/terminal/ghostty/renderer.ts @@ -19,12 +19,14 @@ function cssColor(color: GhosttyColor): string { } function sameTextStyle(left: GhosttyCell, right: GhosttyCell): boolean { + // Selection deliberately does not participate: it only tints the background + // overlay, and splitting a text run at a selection boundary visibly shifts + // glyph spacing whenever the face's true advance differs from the cell width. return ( ghosttyColorsEqual(left.foreground, right.foreground) && left.bold === right.bold && left.italic === right.italic && - left.invisible === right.invisible && - left.selected === right.selected + left.invisible === right.invisible ); } diff --git a/apps/web/src/terminal/ghostty/runtime.ts b/apps/web/src/terminal/ghostty/runtime.ts index 75827fc18ac..aca82e7cc3c 100644 --- a/apps/web/src/terminal/ghostty/runtime.ts +++ b/apps/web/src/terminal/ghostty/runtime.ts @@ -201,7 +201,11 @@ export class GhosttyRuntime { throw new Error("libghostty-vt did not expose its callback table"); } const index = table.length; - table.grow(1, trampoline); + // grow-then-set instead of grow(1, fn): WebKit stores a grow init value + // with broken type information and every later call_indirect through the + // entry traps with a signature mismatch. table.set canonicalizes correctly. + table.grow(1); + table.set(index, trampoline); this.writePtyFunctionIndex = index; } } diff --git a/apps/web/src/terminal/ghostty/surface.ts b/apps/web/src/terminal/ghostty/surface.ts index f0135f5517f..24b51e8f485 100644 --- a/apps/web/src/terminal/ghostty/surface.ts +++ b/apps/web/src/terminal/ghostty/surface.ts @@ -369,6 +369,7 @@ export class GhosttyTerminalSurface { this.resizeObserver = new ResizeObserver(() => this.fit()); this.installEvents(); this.watchDevicePixelRatio(); + document.fonts.addEventListener("loadingdone", this.onFontsLoaded); this.resizeObserver.observe(mount); } @@ -475,6 +476,10 @@ export class GhosttyTerminalSurface { // Metrics fall back to whichever faces are already available. } if (this.disposed) return; + this.applyFontMetrics(); + } + + private applyFontMetrics(): void { this.metrics = measureGhosttyCell(this.context, this.fontSize, this.fontFamily); this.core.resize(this.cols, this.rows, this.metrics.width, this.metrics.height); // Cached IME textarea coordinates are stale in the new cell geometry. @@ -486,6 +491,21 @@ export class GhosttyTerminalSurface { this.requestRender(); } + private readonly onFontsLoaded = () => { + if (this.disposed) return; + // A face that finished loading after the initial measurement changes glyph + // advances; re-measure and refit so the grid matches what actually renders. + const metrics = measureGhosttyCell(this.context, this.fontSize, this.fontFamily); + if ( + metrics.width === this.metrics.width && + metrics.height === this.metrics.height && + metrics.baseline === this.metrics.baseline + ) { + return; + } + this.applyFontMetrics(); + }; + fit(): boolean { if (this.disposed) return false; const width = this.mount.clientWidth; @@ -596,6 +616,7 @@ export class GhosttyTerminalSurface { if (this.disposed) return; this.disposed = true; this.resizeObserver.disconnect(); + document.fonts.removeEventListener("loadingdone", this.onFontsLoaded); this.dprMedia?.removeEventListener("change", this.onDevicePixelRatioChange); this.dprMedia = null; if (this.selectionScrollTimer !== null) window.clearInterval(this.selectionScrollTimer); From c94e6bf56d51b9bb3bec457a608ea6e65c52826a Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Fri, 31 Jul 2026 12:38:00 +0200 Subject: [PATCH 43/51] fix(web): anchor the terminal grid to the bottom and serialize setFont MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Resizing the drawer made lines snap up and down: the grid was anchored to the top padding, so the sub-row remainder accumulated at the bottom and the prompt jumped a full row whenever a drag crossed a row boundary. The grid origin now anchors to the bottom edge — the remainder sits above row 0, the bottom edge (where the prompt lives) tracks the container exactly, and row changes grow or shrink the history at the top. The origin threads through the renderer, hit testing, IME positioning, the selection-action rect, and the mouse encoder's per-side vertical padding. This also smooths the equivalent snapping that existed with xterm on main. setFont now resolves the requested face and size into locals, tags the call with an epoch, and only commits fields plus re-measured metrics after its font load wins — overlapping calls can no longer finish out of order or leave the fields ahead of the metrics. Co-Authored-By: Claude Fable 5 --- apps/web/src/terminal/ghostty/core.ts | 13 +++-- apps/web/src/terminal/ghostty/renderer.ts | 7 ++- apps/web/src/terminal/ghostty/surface.test.ts | 22 ++++++++ apps/web/src/terminal/ghostty/surface.ts | 54 ++++++++++++++++--- 4 files changed, 81 insertions(+), 15 deletions(-) diff --git a/apps/web/src/terminal/ghostty/core.ts b/apps/web/src/terminal/ghostty/core.ts index 5af82878757..204a94b6a8c 100644 --- a/apps/web/src/terminal/ghostty/core.ts +++ b/apps/web/src/terminal/ghostty/core.ts @@ -142,7 +142,10 @@ export interface GhosttyMouseInput { readonly screenHeight: number; readonly cellWidth: number; readonly cellHeight: number; - readonly padding: number; + readonly paddingLeft: number; + readonly paddingRight: number; + readonly paddingTop: number; + readonly paddingBottom: number; readonly anyButtonPressed: boolean; } @@ -532,10 +535,10 @@ export class GhosttyTerminalCore { ["screen_height", input.screenHeight], ["cell_width", input.cellWidth], ["cell_height", input.cellHeight], - ["padding_top", input.padding], - ["padding_bottom", input.padding], - ["padding_right", input.padding], - ["padding_left", input.padding], + ["padding_top", input.paddingTop], + ["padding_bottom", input.paddingBottom], + ["padding_right", input.paddingRight], + ["padding_left", input.paddingLeft], ] as const) { this.runtime.setField(size, "GhosttyMouseEncoderSize", field, Math.max(0, Math.round(value))); } diff --git a/apps/web/src/terminal/ghostty/renderer.ts b/apps/web/src/terminal/ghostty/renderer.ts index fd50905bbf4..0cb7d6f535d 100644 --- a/apps/web/src/terminal/ghostty/renderer.ts +++ b/apps/web/src/terminal/ghostty/renderer.ts @@ -98,6 +98,8 @@ export function renderGhosttySnapshot(options: { readonly previousCursorY?: number | null; readonly focused?: boolean; readonly selectionBackground?: string; + /** Vertical origin of row 0; defaults to the horizontal padding. */ + readonly originY?: number; }): void { const { context, @@ -112,6 +114,7 @@ export function renderGhosttySnapshot(options: { } = options; const focused = options.focused ?? true; const selectionBackground = options.selectionBackground ?? DEFAULT_SELECTION_BACKGROUND; + const originY = options.originY ?? padding; const rowsToDraw = forceFull ? Array.from({ length: snapshot.rows }, (_, index) => index) : [...snapshot.dirtyRows]; @@ -139,7 +142,7 @@ export function renderGhosttySnapshot(options: { for (const rowIndex of rowsToDraw) { const row = snapshot.rowData[rowIndex]; if (!row) continue; - const top = padding + rowIndex * metrics.height; + const top = originY + rowIndex * metrics.height; context.fillStyle = cssColor(snapshot.background); context.fillRect(padding, top, snapshot.cols * metrics.width, metrics.height); @@ -226,7 +229,7 @@ export function renderGhosttySnapshot(options: { if (cursorOn && snapshot.cursorVisible && snapshot.cursorX >= 0 && snapshot.cursorY >= 0) { const left = padding + snapshot.cursorX * metrics.width; - const top = padding + snapshot.cursorY * metrics.height; + const top = originY + snapshot.cursorY * metrics.height; context.fillStyle = cssColor(snapshot.cursor); if (!focused) { // An unfocused terminal draws a hollow cursor so the active pane is obvious. diff --git a/apps/web/src/terminal/ghostty/surface.test.ts b/apps/web/src/terminal/ghostty/surface.test.ts index 7106555a68a..3dbbf2d9cac 100644 --- a/apps/web/src/terminal/ghostty/surface.test.ts +++ b/apps/web/src/terminal/ghostty/surface.test.ts @@ -16,6 +16,7 @@ import { terminalScrollbarOffsetAtPointer, terminalLinkAtColumn, terminalLinkAtPosition, + terminalContentOriginY, terminalFontFamily, terminalFontSize, terminalWheelArrowData, @@ -240,6 +241,27 @@ describe("terminal font resolution", () => { }); }); +describe("terminalContentOriginY", () => { + it("pins the grid to the bottom by moving the sub-row slack above row 0", () => { + // 100px mount, 4px padding, 5 rows of 16px: 92 - 80 = 12px slack on top. + expect(terminalContentOriginY(100, 4, 5, 16)).toBe(16); + // Exact fit keeps the origin at the padding. + expect(terminalContentOriginY(88, 4, 5, 16)).toBe(4); + // A mount smaller than the grid never pushes the origin above the padding. + expect(terminalContentOriginY(80, 4, 5, 16)).toBe(4); + }); + + it("keeps the prompt stationary while a drag crosses row boundaries", () => { + // Growing the mount pixel by pixel: the bottom edge (origin + rows*cell) + // tracks the mount bottom exactly until a new row fits. + for (let height = 88; height < 104; height += 1) { + const rows = Math.max(1, Math.floor((height - 8) / 16)); + const origin = terminalContentOriginY(height, 4, rows, 16); + expect(origin + rows * 16).toBe(height - 4); + } + }); +}); + describe("terminalWheelDeltaRows", () => { it("converts line-mode deltas into whole rows", () => { const result = terminalWheelDeltaRows({ deltaY: 3, deltaMode: 1 }, 16, 24, 0); diff --git a/apps/web/src/terminal/ghostty/surface.ts b/apps/web/src/terminal/ghostty/surface.ts index 24b51e8f485..ab58c05eb8f 100644 --- a/apps/web/src/terminal/ghostty/surface.ts +++ b/apps/web/src/terminal/ghostty/surface.ts @@ -49,6 +49,22 @@ export function terminalFontSize(size?: number): number { return Math.max(MIN_TERMINAL_FONT_SIZE, Math.min(MAX_TERMINAL_FONT_SIZE, Math.round(size))); } +/** + * Vertical origin of the grid inside the mount. The grid anchors to the + * bottom edge so the sub-row remainder sits above the first row: while the + * container resizes within a row boundary the prompt stays pinned to the + * bottom instead of snapping up and down with the remainder. + */ +export function terminalContentOriginY( + mountHeight: number, + padding: number, + rows: number, + cellHeight: number, +): number { + const slack = mountHeight - padding * 2 - rows * cellHeight; + return padding + Math.max(0, slack); +} + export interface TerminalScrollbarGeometry { readonly thumbHeight: number; readonly thumbTop: number; @@ -293,6 +309,7 @@ export class GhosttyTerminalSurface { private metrics: GhosttyCellMetrics; private fontFamily: string; private fontSize: number; + private fontEpoch = 0; private readonly resizeObserver: ResizeObserver; private readonly scrollbarThumb: HTMLDivElement; private snapshot: GhosttySnapshot | null = null; @@ -468,14 +485,19 @@ export class GhosttyTerminalSurface { async setFont(font: GhosttyTerminalFont): Promise { if (this.disposed) return; - this.fontFamily = terminalFontFamily(font.family); - this.fontSize = terminalFontSize(font.size); + const fontFamily = terminalFontFamily(font.family); + const fontSize = terminalFontSize(font.size); + // The fields only change together with their metrics after the load, and + // the epoch lets the newest overlapping call win regardless of load order. + const epoch = ++this.fontEpoch; try { - await document.fonts.load(`${this.fontSize}px ${this.fontFamily}`); + await document.fonts.load(`${fontSize}px ${fontFamily}`); } catch { // Metrics fall back to whichever faces are already available. } - if (this.disposed) return; + if (this.disposed || epoch !== this.fontEpoch) return; + this.fontFamily = fontFamily; + this.fontSize = fontSize; this.applyFontMetrics(); } @@ -583,7 +605,7 @@ export class GhosttyTerminalSurface { const bounds = this.canvas.getBoundingClientRect(); return { right: bounds.left + CONTENT_PADDING + (viewportEnd.x + 1) * this.metrics.width, - bottom: bounds.top + CONTENT_PADDING + (viewportEnd.y + 1) * this.metrics.height, + bottom: bounds.top + this.contentOriginY() + (viewportEnd.y + 1) * this.metrics.height, }; } @@ -1188,6 +1210,7 @@ export class GhosttyTerminalSurface { fontSize: this.fontSize, fontFamily: this.fontFamily, padding: CONTENT_PADDING, + originY: this.contentOriginY(), forceFull: this.forceFullRender, cursorOn: this.cursorOn, previousCursorY: this.renderedCursorY, @@ -1222,6 +1245,15 @@ export class GhosttyTerminalSurface { }, 500); } + private contentOriginY(): number { + return terminalContentOriginY( + this.mount.clientHeight, + CONTENT_PADDING, + this.rows, + this.metrics.height, + ); + } + private positionInput(): void { const snapshot = this.snapshot; if (!snapshot || !snapshot.cursorVisible || snapshot.cursorX < 0 || snapshot.cursorY < 0) { @@ -1230,7 +1262,7 @@ export class GhosttyTerminalSurface { // The IME candidate window anchors to the textarea, so it must follow the // terminal cursor for composition to appear where the user is typing. const left = CONTENT_PADDING + snapshot.cursorX * this.metrics.width; - const top = CONTENT_PADDING + snapshot.cursorY * this.metrics.height; + const top = this.contentOriginY() + snapshot.cursorY * this.metrics.height; if (left === this.inputLeft && top === this.inputTop) return; this.inputLeft = left; this.inputTop = top; @@ -1253,7 +1285,7 @@ export class GhosttyTerminalSurface { 0, Math.min( this.rows - 1, - Math.floor((clientY - bounds.top - CONTENT_PADDING) / this.metrics.height), + Math.floor((clientY - bounds.top - this.contentOriginY()) / this.metrics.height), ), ), }; @@ -1287,7 +1319,13 @@ export class GhosttyTerminalSurface { screenHeight: bounds.height, cellWidth: this.metrics.width, cellHeight: this.metrics.height, - padding: CONTENT_PADDING, + paddingLeft: CONTENT_PADDING, + paddingRight: CONTENT_PADDING, + paddingTop: this.contentOriginY(), + paddingBottom: Math.max( + 0, + bounds.height - this.contentOriginY() - this.rows * this.metrics.height, + ), anyButtonPressed: event.buttons !== 0, }); if (data.length > 0) this.options.onData(data); From 3cf380ccaf98c1c9a0192d5f50ca899d58d2f718 Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Fri, 31 Jul 2026 12:42:19 +0200 Subject: [PATCH 44/51] fix(web): repaint resizes synchronously and settle PTY dims after drags MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two remaining sources of resize jitter: - The canvas backing store was resized in a deferred animation frame, so every drag step painted one frame with the old backing stretched into the new element box before the repaint landed. ResizeObserver callbacks run before paint, so fit() now applies the backing size, DPR transform, and a full repaint synchronously — the browser never composites a stale frame. - Every row-boundary crossing notified the PTY immediately, making the shell reprint its prompt mid-drag. The local Ghostty grid still reflows instantly, but the resize RPC now settles 150ms after the last change, so applications redraw once for the final size. Co-Authored-By: Claude Fable 5 --- apps/web/src/terminal/ghostty/surface.ts | 115 +++++++++++++---------- 1 file changed, 63 insertions(+), 52 deletions(-) diff --git a/apps/web/src/terminal/ghostty/surface.ts b/apps/web/src/terminal/ghostty/surface.ts index ab58c05eb8f..635609a4c89 100644 --- a/apps/web/src/terminal/ghostty/surface.ts +++ b/apps/web/src/terminal/ghostty/surface.ts @@ -325,11 +325,7 @@ export class GhosttyTerminalSurface { private scrollbarPointerId: number | null = null; private scrollbarPointerOffset = 0; private disposed = false; - private pendingCanvasSize: { - readonly width: number; - readonly height: number; - readonly ratio: number; - } | null = null; + private resizeNotifyTimer: number | null = null; private selectionEnd: { x: number; y: number } | null = null; private selectionAnchorScreen: { x: number; y: number } | null = null; private selectionEndScreen: { x: number; y: number } | null = null; @@ -545,16 +541,13 @@ export class GhosttyTerminalSurface { this.canvas.height !== pixelHeight || !this.canvasConfigured ) { - this.pendingCanvasSize = { - width: pixelWidth, - height: pixelHeight, - ratio, - }; + this.canvas.width = pixelWidth; + this.canvas.height = pixelHeight; + this.context.setTransform(ratio, 0, 0, ratio, 0, 0); + this.canvasConfigured = true; this.forceFullRender = true; this.scrollbarDirty = true; shouldRender = true; - } else if (this.pendingCanvasSize !== null) { - this.pendingCanvasSize = null; } const grid = terminalGridSize(width, height, this.metrics, CONTENT_PADDING); // onResize is the only PTY resize channel, so the first successful fit must @@ -562,17 +555,33 @@ export class GhosttyTerminalSurface { if (grid.cols !== this.cols || grid.rows !== this.rows || !this.resizeNotified) { this.cols = grid.cols; this.rows = grid.rows; - this.resizeNotified = true; this.core.resize(grid.cols, grid.rows, this.metrics.width, this.metrics.height); - this.options.onResize(grid.cols, grid.rows); + this.notifyResize(); this.forceFullRender = true; this.scrollbarDirty = true; shouldRender = true; } - if (shouldRender) this.requestRender(); + // Rendering synchronously keeps the repaint inside the same frame as the + // layout change: ResizeObserver fires before paint, so the browser never + // composites the old backing store stretched into the new element box. + if (shouldRender) this.renderFrame(); return true; } + /** + * The local grid reflows immediately, but the PTY only hears about settled + * dimensions: notifying on every drag step makes the shell reprint its + * prompt mid-drag, which reads as jitter. + */ + private notifyResize(): void { + this.resizeNotified = true; + if (this.resizeNotifyTimer !== null) window.clearTimeout(this.resizeNotifyTimer); + this.resizeNotifyTimer = window.setTimeout(() => { + this.resizeNotifyTimer = null; + if (!this.disposed) this.options.onResize(this.cols, this.rows); + }, 150); + } + focus(): void { this.input.focus({ preventScroll: true }); } @@ -642,6 +651,7 @@ export class GhosttyTerminalSurface { this.dprMedia?.removeEventListener("change", this.onDevicePixelRatioChange); this.dprMedia = null; if (this.selectionScrollTimer !== null) window.clearInterval(this.selectionScrollTimer); + if (this.resizeNotifyTimer !== null) window.clearTimeout(this.resizeNotifyTimer); if (this.frame !== 0) window.cancelAnimationFrame(this.frame); if (this.cursorTimer !== null) window.clearTimeout(this.cursorTimer); if (this.compositionSuppressionTimer !== null) { @@ -1193,46 +1203,47 @@ export class GhosttyTerminalSurface { if (this.disposed || this.frame !== 0) return; this.frame = window.requestAnimationFrame(() => { this.frame = 0; - const canvasSize = this.pendingCanvasSize; - this.pendingCanvasSize = null; - if (canvasSize !== null) { - this.canvas.width = canvasSize.width; - this.canvas.height = canvasSize.height; - this.context.setTransform(canvasSize.ratio, 0, 0, canvasSize.ratio, 0, 0); - this.canvasConfigured = true; - } - this.snapshot = this.core.snapshot(); - if (!this.snapshot.cursorBlinking) this.cursorOn = true; - renderGhosttySnapshot({ - context: this.context, - snapshot: this.snapshot, - metrics: this.metrics, - fontSize: this.fontSize, - fontFamily: this.fontFamily, - padding: CONTENT_PADDING, - originY: this.contentOriginY(), - forceFull: this.forceFullRender, - cursorOn: this.cursorOn, - previousCursorY: this.renderedCursorY, - focused: this.focused, - ...(this.theme.selectionBackground !== undefined - ? { selectionBackground: this.theme.selectionBackground } - : {}), - }); - this.positionInput(); - this.renderedCursorY = - this.cursorOn && this.snapshot.cursorVisible && this.snapshot.cursorY >= 0 - ? this.snapshot.cursorY - : null; - if (this.scrollbarDirty) { - this.scrollbarDirty = false; - this.updateScrollbar(); - } - this.forceFullRender = false; - this.scheduleCursorBlink(); + this.renderFrame(); }); } + private renderFrame(): void { + if (this.disposed) return; + if (this.frame !== 0) { + window.cancelAnimationFrame(this.frame); + this.frame = 0; + } + this.snapshot = this.core.snapshot(); + if (!this.snapshot.cursorBlinking) this.cursorOn = true; + renderGhosttySnapshot({ + context: this.context, + snapshot: this.snapshot, + metrics: this.metrics, + fontSize: this.fontSize, + fontFamily: this.fontFamily, + padding: CONTENT_PADDING, + originY: this.contentOriginY(), + forceFull: this.forceFullRender, + cursorOn: this.cursorOn, + previousCursorY: this.renderedCursorY, + focused: this.focused, + ...(this.theme.selectionBackground !== undefined + ? { selectionBackground: this.theme.selectionBackground } + : {}), + }); + this.positionInput(); + this.renderedCursorY = + this.cursorOn && this.snapshot.cursorVisible && this.snapshot.cursorY >= 0 + ? this.snapshot.cursorY + : null; + if (this.scrollbarDirty) { + this.scrollbarDirty = false; + this.updateScrollbar(); + } + this.forceFullRender = false; + this.scheduleCursorBlink(); + } + private scheduleCursorBlink(): void { if (this.cursorTimer !== null) window.clearTimeout(this.cursorTimer); this.cursorTimer = null; From 7997cd16e5aa62f167d571d7da458b7fbfed3e83 Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Fri, 31 Jul 2026 12:44:45 +0200 Subject: [PATCH 45/51] feat(web): bundle the symbols-only Nerd Font for default glyph coverage MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Prompt glyphs and devicons previously depended on a locally installed Nerd Font. The surface now vendors Symbols Nerd Font Mono (MIT, 1.2MB woff2) and registers it through the FontFace API when the first terminal mounts — lazy, cached, and awaited before cell metrics. The face carries no regular text glyphs, so it composes with the default stack and any future user-chosen face without affecting metrics. Co-Authored-By: Claude Fable 5 --- apps/web/src/terminal/ghostty/README.md | 2 ++ apps/web/src/terminal/ghostty/fonts/LICENSE | 21 ++++++++++++++++ .../fonts/SymbolsNerdFontMono-Regular.woff2 | Bin 0 -> 1177576 bytes apps/web/src/terminal/ghostty/surface.ts | 23 ++++++++++++++++++ 4 files changed, 46 insertions(+) create mode 100644 apps/web/src/terminal/ghostty/fonts/LICENSE create mode 100644 apps/web/src/terminal/ghostty/fonts/SymbolsNerdFontMono-Regular.woff2 diff --git a/apps/web/src/terminal/ghostty/README.md b/apps/web/src/terminal/ghostty/README.md index b251a022a4b..b563c6e833b 100644 --- a/apps/web/src/terminal/ghostty/README.md +++ b/apps/web/src/terminal/ghostty/README.md @@ -8,6 +8,8 @@ It is intentionally not an xterm compatibility layer. - `core.ts` owns per-terminal Ghostty handles and translates the C ABI into render snapshots. - `renderer.ts` batches backgrounds and style runs into a Canvas 2D frame. - `surface.ts` owns browser input, IME, selection, scrolling, sizing, links, and cursor blinking. +- `fonts/` vendors the symbols-only Nerd Font (MIT) the surface registers lazily, so + prompt glyphs render without a locally installed Nerd Font. - `vendor/` holds only the artifacts, reproducibly generated by `apps/web/scripts/build-libghostty-wasm.sh`. The upstream pin and license live once, at `apps/mobile/modules/t3-terminal/Vendor/libghostty-vt/`; the wasm embeds the pinned revision diff --git a/apps/web/src/terminal/ghostty/fonts/LICENSE b/apps/web/src/terminal/ghostty/fonts/LICENSE new file mode 100644 index 00000000000..06eb073d6b5 --- /dev/null +++ b/apps/web/src/terminal/ghostty/fonts/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Ryan L McIntyre + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/apps/web/src/terminal/ghostty/fonts/SymbolsNerdFontMono-Regular.woff2 b/apps/web/src/terminal/ghostty/fonts/SymbolsNerdFontMono-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..1e2127fadb98cac292ea75e5352077bbc30d97fa GIT binary patch literal 1177576 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

#_jb%`cum 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

g;L6a~!1 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 !|PK6;JR0FoT^W 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

lVP{sjrK3BIK&#}!hnS;i~CgJjWeTk3D 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

A4Ys|<5Q%!roBT7l+|qXFKq%e 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%0DI51+awI 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 z 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ȓ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Ë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

Jv&Umx~C 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 | null = null; + +/** + * Register the bundled symbols-only Nerd Font once per page. It loads lazily + * with the first terminal, and because it carries no regular text glyphs it + * composes with any text face without changing metrics — prompt symbols and + * devicons render even on machines without a locally installed Nerd Font. + */ +function ensureTerminalSymbolsFont(): Promise { + if (symbolsFontLoad !== null) return symbolsFontLoad; + symbolsFontLoad = (async () => { + try { + const face = new FontFace("Symbols Nerd Font Mono", `url(${symbolsFontUrl})`); + document.fonts.add(await face.load()); + } catch { + // Locally installed fallback faces still apply. + } + })(); + return symbolsFontLoad; +} + export function terminalFontFamily(family?: string): string { const custom = family?.trim(); if (!custom) return DEFAULT_TERMINAL_FONT_FAMILY; @@ -423,6 +445,7 @@ export class GhosttyTerminalSurface { try { // Cell metrics must come from the faces that will render; measuring before // the bundled webfonts load would size the grid from a fallback font. + await ensureTerminalSymbolsFont(); await document.fonts.load(`${fontSize}px ${fontFamily}`); } catch { // Metrics fall back to whichever faces are already available. From e6109923edfc0d106b5f7fb42555d9f5f71f4d2e Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Fri, 31 Jul 2026 12:47:38 +0200 Subject: [PATCH 46/51] fix(web): move the grid origin only together with a full repaint MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The bottom-anchored origin was recomputed from the live mount height at render time, but an animation-frame render can run before the same frame's ResizeObserver fit. A partial dirty-row redraw could therefore composite rows at a shifted origin over rows painted at the previous one, leaving interleaved stale fragments — visible when shell history recall rewrote wrapped prompt lines during or after a resize. The origin is now cached and only updated inside fit(), where any change forces the full repaint that keeps every consumer consistent. Co-Authored-By: Claude Fable 5 --- apps/web/src/terminal/ghostty/surface.ts | 34 +++++++++++------------- 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/apps/web/src/terminal/ghostty/surface.ts b/apps/web/src/terminal/ghostty/surface.ts index 8c9b1d36753..cbc66995983 100644 --- a/apps/web/src/terminal/ghostty/surface.ts +++ b/apps/web/src/terminal/ghostty/surface.ts @@ -348,6 +348,7 @@ export class GhosttyTerminalSurface { private scrollbarPointerOffset = 0; private disposed = false; private resizeNotifyTimer: number | null = null; + private originY = CONTENT_PADDING; private selectionEnd: { x: number; y: number } | null = null; private selectionAnchorScreen: { x: number; y: number } | null = null; private selectionEndScreen: { x: number; y: number } | null = null; @@ -573,6 +574,15 @@ export class GhosttyTerminalSurface { shouldRender = true; } const grid = terminalGridSize(width, height, this.metrics, CONTENT_PADDING); + // The origin only moves together with a forced full repaint: partial + // dirty-row redraws must never composite rows at a shifted origin over + // rows painted at the previous one. + const originY = terminalContentOriginY(height, CONTENT_PADDING, grid.rows, this.metrics.height); + if (originY !== this.originY) { + this.originY = originY; + this.forceFullRender = true; + shouldRender = true; + } // onResize is the only PTY resize channel, so the first successful fit must // notify even when the measured grid equals the 1x1 construction sentinel. if (grid.cols !== this.cols || grid.rows !== this.rows || !this.resizeNotified) { @@ -637,7 +647,7 @@ export class GhosttyTerminalSurface { const bounds = this.canvas.getBoundingClientRect(); return { right: bounds.left + CONTENT_PADDING + (viewportEnd.x + 1) * this.metrics.width, - bottom: bounds.top + this.contentOriginY() + (viewportEnd.y + 1) * this.metrics.height, + bottom: bounds.top + this.originY + (viewportEnd.y + 1) * this.metrics.height, }; } @@ -1245,7 +1255,7 @@ export class GhosttyTerminalSurface { fontSize: this.fontSize, fontFamily: this.fontFamily, padding: CONTENT_PADDING, - originY: this.contentOriginY(), + originY: this.originY, forceFull: this.forceFullRender, cursorOn: this.cursorOn, previousCursorY: this.renderedCursorY, @@ -1279,15 +1289,6 @@ export class GhosttyTerminalSurface { }, 500); } - private contentOriginY(): number { - return terminalContentOriginY( - this.mount.clientHeight, - CONTENT_PADDING, - this.rows, - this.metrics.height, - ); - } - private positionInput(): void { const snapshot = this.snapshot; if (!snapshot || !snapshot.cursorVisible || snapshot.cursorX < 0 || snapshot.cursorY < 0) { @@ -1296,7 +1297,7 @@ export class GhosttyTerminalSurface { // The IME candidate window anchors to the textarea, so it must follow the // terminal cursor for composition to appear where the user is typing. const left = CONTENT_PADDING + snapshot.cursorX * this.metrics.width; - const top = this.contentOriginY() + snapshot.cursorY * this.metrics.height; + const top = this.originY + snapshot.cursorY * this.metrics.height; if (left === this.inputLeft && top === this.inputTop) return; this.inputLeft = left; this.inputTop = top; @@ -1319,7 +1320,7 @@ export class GhosttyTerminalSurface { 0, Math.min( this.rows - 1, - Math.floor((clientY - bounds.top - this.contentOriginY()) / this.metrics.height), + Math.floor((clientY - bounds.top - this.originY) / this.metrics.height), ), ), }; @@ -1355,11 +1356,8 @@ export class GhosttyTerminalSurface { cellHeight: this.metrics.height, paddingLeft: CONTENT_PADDING, paddingRight: CONTENT_PADDING, - paddingTop: this.contentOriginY(), - paddingBottom: Math.max( - 0, - bounds.height - this.contentOriginY() - this.rows * this.metrics.height, - ), + paddingTop: this.originY, + paddingBottom: Math.max(0, bounds.height - this.originY - this.rows * this.metrics.height), anyButtonPressed: event.buttons !== 0, }); if (data.length > 0) this.options.onData(data); From 124718ca075321b1c314f269f31658b8f326640b Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Fri, 31 Jul 2026 12:49:33 +0200 Subject: [PATCH 47/51] fix(web): flush the pending PTY resize when the surface disposes A dispose inside the 150ms settle window silently dropped the final dimensions; the RPC now flushes synchronously on teardown. Co-Authored-By: Claude Fable 5 --- apps/web/src/terminal/ghostty/surface.ts | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/apps/web/src/terminal/ghostty/surface.ts b/apps/web/src/terminal/ghostty/surface.ts index cbc66995983..dbc59b867e7 100644 --- a/apps/web/src/terminal/ghostty/surface.ts +++ b/apps/web/src/terminal/ghostty/surface.ts @@ -608,7 +608,13 @@ export class GhosttyTerminalSurface { */ private notifyResize(): void { this.resizeNotified = true; - if (this.resizeNotifyTimer !== null) window.clearTimeout(this.resizeNotifyTimer); + if (this.resizeNotifyTimer !== null) { + window.clearTimeout(this.resizeNotifyTimer); + this.resizeNotifyTimer = null; + // Flush the settled dimensions so the PTY keeps the final size even when + // the surface unmounts inside the debounce window. + this.options.onResize(this.cols, this.rows); + } this.resizeNotifyTimer = window.setTimeout(() => { this.resizeNotifyTimer = null; if (!this.disposed) this.options.onResize(this.cols, this.rows); @@ -684,7 +690,13 @@ export class GhosttyTerminalSurface { this.dprMedia?.removeEventListener("change", this.onDevicePixelRatioChange); this.dprMedia = null; if (this.selectionScrollTimer !== null) window.clearInterval(this.selectionScrollTimer); - if (this.resizeNotifyTimer !== null) window.clearTimeout(this.resizeNotifyTimer); + if (this.resizeNotifyTimer !== null) { + window.clearTimeout(this.resizeNotifyTimer); + this.resizeNotifyTimer = null; + // Flush the settled dimensions so the PTY keeps the final size even when + // the surface unmounts inside the debounce window. + this.options.onResize(this.cols, this.rows); + } if (this.frame !== 0) window.cancelAnimationFrame(this.frame); if (this.cursorTimer !== null) window.clearTimeout(this.cursorTimer); if (this.compositionSuppressionTimer !== null) { From 5da6b1f049d927cf00dba43788f7452075d3bb39 Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Fri, 31 Jul 2026 12:52:57 +0200 Subject: [PATCH 48/51] fix(web): keep the resize debounce intact; flush only on dispose The dispose flush was mistakenly duplicated into notifyResize's timer reset, which re-sent the resize RPC on every drag step and defeated the settle window. The mid-debounce reset is a plain clear again; the synchronous flush remains only in dispose. Co-Authored-By: Claude Fable 5 --- apps/web/src/terminal/ghostty/surface.ts | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/apps/web/src/terminal/ghostty/surface.ts b/apps/web/src/terminal/ghostty/surface.ts index dbc59b867e7..721a03e64cf 100644 --- a/apps/web/src/terminal/ghostty/surface.ts +++ b/apps/web/src/terminal/ghostty/surface.ts @@ -608,13 +608,7 @@ export class GhosttyTerminalSurface { */ private notifyResize(): void { this.resizeNotified = true; - if (this.resizeNotifyTimer !== null) { - window.clearTimeout(this.resizeNotifyTimer); - this.resizeNotifyTimer = null; - // Flush the settled dimensions so the PTY keeps the final size even when - // the surface unmounts inside the debounce window. - this.options.onResize(this.cols, this.rows); - } + if (this.resizeNotifyTimer !== null) window.clearTimeout(this.resizeNotifyTimer); this.resizeNotifyTimer = window.setTimeout(() => { this.resizeNotifyTimer = null; if (!this.disposed) this.options.onResize(this.cols, this.rows); From 2d2e6c5089c7dccac23256159b6c5a13b1a885aa Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Fri, 31 Jul 2026 13:01:00 +0200 Subject: [PATCH 49/51] fix(web): stop drawer and panel terminals from allocating the same id Terminal sessions are keyed by (threadId, terminalId) and ids are client-allocated, but the drawer seeded its allocator from the server-known sessions with panel terminals filtered out, while other call sites ignored panel ids or freshly opened local ids the server does not know yet. A drawer terminal could therefore mint the id of an existing panel terminal (deterministically when the drawer was empty), attaching two viewports to one PTY that mirrored each other. Every allocator now seeds from the union of server-known ids, the drawer's local UI-state ids, and the right panel's surface ids, via one allocatable-ids memo per scope. Co-Authored-By: Claude Fable 5 --- apps/web/src/components/ChatView.tsx | 39 ++++++++++++++++++++-------- 1 file changed, 28 insertions(+), 11 deletions(-) diff --git a/apps/web/src/components/ChatView.tsx b/apps/web/src/components/ChatView.tsx index f0a918e136f..9c27cbaf8a6 100644 --- a/apps/web/src/components/ChatView.tsx +++ b/apps/web/src/components/ChatView.tsx @@ -704,6 +704,19 @@ const PersistentThreadTerminalDrawer = memo(function PersistentThreadTerminalDra () => drawerTerminalSessions.map((session) => session.target.terminalId), [drawerTerminalSessions], ); + // Every client-side id source participates in allocation: the server list + // lags fresh opens, and panel terminals are filtered out of the drawer's + // sessions — an id collision attaches two viewports to one PTY session. + const allocatableTerminalIds = useMemo( + () => [ + ...new Set([ + ...serverOrderedTerminalIds, + ...terminalUiState.terminalIds, + ...panelTerminalIds, + ]), + ], + [panelTerminalIds, serverOrderedTerminalIds, terminalUiState.terminalIds], + ); const storeSetTerminalHeight = useTerminalUiStateStore((state) => state.setTerminalHeight); const storeSplitTerminal = useTerminalUiStateStore((state) => state.splitTerminal); const storeSplitTerminalVertical = useTerminalUiStateStore( @@ -773,7 +786,7 @@ const PersistentThreadTerminalDrawer = memo(function PersistentThreadTerminalDra if (!cwd) { return; } - const terminalId = nextTerminalId(serverOrderedTerminalIds); + const terminalId = nextTerminalId(allocatableTerminalIds); storeSplitTerminal(threadRef, terminalId); bumpFocusRequestId(); void openTerminal({ @@ -787,11 +800,11 @@ const PersistentThreadTerminalDrawer = memo(function PersistentThreadTerminalDra }, }); }, [ + allocatableTerminalIds, bumpFocusRequestId, cwd, effectiveWorktreePath, runtimeEnv, - serverOrderedTerminalIds, storeSplitTerminal, threadId, threadRef, @@ -801,7 +814,7 @@ const PersistentThreadTerminalDrawer = memo(function PersistentThreadTerminalDra if (!cwd) { return; } - const terminalId = nextTerminalId(serverOrderedTerminalIds); + const terminalId = nextTerminalId(allocatableTerminalIds); storeSplitTerminalVertical(threadRef, terminalId); bumpFocusRequestId(); void openTerminal({ @@ -815,12 +828,12 @@ const PersistentThreadTerminalDrawer = memo(function PersistentThreadTerminalDra }, }); }, [ + allocatableTerminalIds, bumpFocusRequestId, cwd, effectiveWorktreePath, openTerminal, runtimeEnv, - serverOrderedTerminalIds, storeSplitTerminalVertical, threadId, threadRef, @@ -830,7 +843,7 @@ const PersistentThreadTerminalDrawer = memo(function PersistentThreadTerminalDra if (!cwd) { return; } - const terminalId = nextTerminalId(serverOrderedTerminalIds); + const terminalId = nextTerminalId(allocatableTerminalIds); storeNewTerminal(threadRef, terminalId); bumpFocusRequestId(); void openTerminal({ @@ -1521,6 +1534,10 @@ function ChatViewContent(props: ChatViewProps) { ), [rightPanelState.surfaces], ); + const allocatableActiveTerminalIds = useMemo( + () => [...new Set([...activeKnownTerminalIds, ...panelTerminalIds])], + [activeKnownTerminalIds, panelTerminalIds], + ); const previewPanelOpen = activeRightPanelKind === "preview" && isPreviewSupportedInRuntime(); const rightPanelOpen = rightPanelState.isOpen; const canMaximizeRightPanel = rightPanelOpen && !shouldUsePlanSidebarSheet; @@ -2628,7 +2645,7 @@ function ChatViewContent(props: ChatViewProps) { if (!cwdForOpen) { return; } - const terminalId = nextTerminalId([...activeKnownTerminalIds, ...panelTerminalIds]); + const terminalId = nextTerminalId(allocatableActiveTerminalIds); storeEnsureTerminal(activeThreadRef, terminalId, { open: true }); void openTerminal({ environmentId, @@ -2670,7 +2687,7 @@ function ChatViewContent(props: ChatViewProps) { if (!cwdForOpen) { return; } - const terminalId = nextTerminalId(activeKnownTerminalIds); + const terminalId = nextTerminalId(allocatableActiveTerminalIds); if (direction === "vertical") { storeSplitTerminalVertical(activeThreadRef, terminalId); } else { @@ -2713,7 +2730,7 @@ function ChatViewContent(props: ChatViewProps) { if (!cwdForOpen) { return; } - const terminalId = nextTerminalId(activeKnownTerminalIds); + const terminalId = nextTerminalId(allocatableActiveTerminalIds); storeNewTerminal(activeThreadRef, terminalId); setTerminalFocusRequestId((value) => value + 1); void openTerminal({ @@ -2818,7 +2835,7 @@ function ChatViewContent(props: ChatViewProps) { ...(options?.env ? { extraEnv: options.env } : {}), }); const targetTerminalId = shouldCreateNewTerminal - ? nextTerminalId(activeKnownTerminalIds) + ? nextTerminalId(allocatableActiveTerminalIds) : baseTerminalId; const openTerminalInput: TerminalOpenInput = shouldCreateNewTerminal ? { @@ -3144,7 +3161,7 @@ function ChatViewContent(props: ChatViewProps) { const addTerminalSurface = useCallback(() => { if (!activeThreadRef || !activeThreadId || !activeProject) return; const cwd = gitCwd ?? activeProject.workspaceRoot; - const terminalId = nextTerminalId([...activeKnownTerminalIds, ...panelTerminalIds]); + const terminalId = nextTerminalId(allocatableActiveTerminalIds); useRightPanelStore.getState().openTerminal(activeThreadRef, terminalId); setTerminalFocusRequestId((value) => value + 1); void openTerminal({ @@ -3181,7 +3198,7 @@ function ChatViewContent(props: ChatViewProps) { ) { return; } - const terminalId = nextTerminalId([...activeKnownTerminalIds, ...panelTerminalIds]); + const terminalId = nextTerminalId(allocatableActiveTerminalIds); const cwd = gitCwd ?? activeProject.workspaceRoot; useRightPanelStore .getState() From bba62118ec3838530d3c58b96af3aefa6beb22d2 Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Fri, 31 Jul 2026 13:05:51 +0200 Subject: [PATCH 50/51] fix(web): recreate terminal allocators when any allocation source changes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The allocation-seed swap left several useCallback dependency arrays on the old sources, so a callback could close over a stale allocatable set when only a panel terminal or a not-yet-server-known id changed — and mint a duplicate id anyway. All seven allocator callbacks now depend on the allocatable memo itself (the script-run callback additionally keeps its direct activeKnownTerminalIds use). Co-Authored-By: Claude Fable 5 --- apps/web/src/components/ChatView.tsx | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/apps/web/src/components/ChatView.tsx b/apps/web/src/components/ChatView.tsx index 9c27cbaf8a6..2b9eda1a787 100644 --- a/apps/web/src/components/ChatView.tsx +++ b/apps/web/src/components/ChatView.tsx @@ -860,8 +860,8 @@ const PersistentThreadTerminalDrawer = memo(function PersistentThreadTerminalDra bumpFocusRequestId, cwd, effectiveWorktreePath, + allocatableTerminalIds, runtimeEnv, - serverOrderedTerminalIds, storeNewTerminal, threadId, threadRef, @@ -2664,15 +2664,14 @@ function ChatViewContent(props: ChatViewProps) { } setTerminalOpen(nextOpen); }, [ - activeKnownTerminalIds, activeProject, activeThreadId, activeThreadRef, activeThreadWorktreePath, + allocatableActiveTerminalIds, environmentId, gitCwd, openTerminal, - panelTerminalIds, setTerminalOpen, storeEnsureTerminal, terminalUiState.terminalIds.length, @@ -2710,8 +2709,8 @@ function ChatViewContent(props: ChatViewProps) { }, [ activeProject, - activeKnownTerminalIds, activeThreadId, + allocatableActiveTerminalIds, activeThreadRef, openTerminal, activeThreadWorktreePath, @@ -2748,8 +2747,8 @@ function ChatViewContent(props: ChatViewProps) { }); }, [ activeProject, - activeKnownTerminalIds, activeThreadId, + allocatableActiveTerminalIds, activeThreadRef, openTerminal, activeThreadWorktreePath, @@ -2903,6 +2902,7 @@ function ChatViewContent(props: ChatViewProps) { environmentId, openTerminal, activeKnownTerminalIds, + allocatableActiveTerminalIds, runningTerminalIds, terminalUiState.activeTerminalId, writeTerminal, @@ -3178,14 +3178,13 @@ function ChatViewContent(props: ChatViewProps) { }, }); }, [ - activeKnownTerminalIds, activeProject, activeThreadId, activeThreadRef, activeThreadWorktreePath, + allocatableActiveTerminalIds, gitCwd, openTerminal, - panelTerminalIds, ]); const splitPanelTerminal = useCallback( (direction: "horizontal" | "vertical" = "horizontal") => { @@ -3219,15 +3218,14 @@ function ChatViewContent(props: ChatViewProps) { }); }, [ - activeKnownTerminalIds, activeProject, activeRightPanelSurface, activeThreadId, activeThreadRef, activeThreadWorktreePath, + allocatableActiveTerminalIds, gitCwd, openTerminal, - panelTerminalIds, ], ); const splitPanelTerminalVertical = useCallback(() => { From 0b3c1fccd91af9d607f14958ecd060add217d2d1 Mon Sep 17 00:00:00 2001 From: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Date: Fri, 31 Jul 2026 13:10:25 +0200 Subject: [PATCH 51/51] fix(web): anchor to the bottom only once scrollback exists MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A short session showed the bottom-anchor's sub-row slack as a visible gap above the first line. The grid now stays top-anchored like a fresh terminal until scrollback exists — the point where the prompt actually lives on the bottom row and resize stability matters. The origin is recomputed in the render frame (covering both resize- and content-driven flips) and still only moves together with a forced full repaint. Co-Authored-By: Claude Fable 5 --- apps/web/src/terminal/ghostty/surface.test.ts | 12 ++++-- apps/web/src/terminal/ghostty/surface.ts | 39 ++++++++++++------- 2 files changed, 34 insertions(+), 17 deletions(-) diff --git a/apps/web/src/terminal/ghostty/surface.test.ts b/apps/web/src/terminal/ghostty/surface.test.ts index 3dbbf2d9cac..1cb9502649b 100644 --- a/apps/web/src/terminal/ghostty/surface.test.ts +++ b/apps/web/src/terminal/ghostty/surface.test.ts @@ -242,13 +242,17 @@ describe("terminal font resolution", () => { }); describe("terminalContentOriginY", () => { + it("stays top-anchored like a fresh terminal until scrollback exists", () => { + expect(terminalContentOriginY(100, 4, 5, 16, false)).toBe(4); + }); + it("pins the grid to the bottom by moving the sub-row slack above row 0", () => { // 100px mount, 4px padding, 5 rows of 16px: 92 - 80 = 12px slack on top. - expect(terminalContentOriginY(100, 4, 5, 16)).toBe(16); + expect(terminalContentOriginY(100, 4, 5, 16, true)).toBe(16); // Exact fit keeps the origin at the padding. - expect(terminalContentOriginY(88, 4, 5, 16)).toBe(4); + expect(terminalContentOriginY(88, 4, 5, 16, true)).toBe(4); // A mount smaller than the grid never pushes the origin above the padding. - expect(terminalContentOriginY(80, 4, 5, 16)).toBe(4); + expect(terminalContentOriginY(80, 4, 5, 16, true)).toBe(4); }); it("keeps the prompt stationary while a drag crosses row boundaries", () => { @@ -256,7 +260,7 @@ describe("terminalContentOriginY", () => { // tracks the mount bottom exactly until a new row fits. for (let height = 88; height < 104; height += 1) { const rows = Math.max(1, Math.floor((height - 8) / 16)); - const origin = terminalContentOriginY(height, 4, rows, 16); + const origin = terminalContentOriginY(height, 4, rows, 16, true); expect(origin + rows * 16).toBe(height - 4); } }); diff --git a/apps/web/src/terminal/ghostty/surface.ts b/apps/web/src/terminal/ghostty/surface.ts index 721a03e64cf..86c1ad5329c 100644 --- a/apps/web/src/terminal/ghostty/surface.ts +++ b/apps/web/src/terminal/ghostty/surface.ts @@ -72,17 +72,20 @@ export function terminalFontSize(size?: number): number { } /** - * Vertical origin of the grid inside the mount. The grid anchors to the - * bottom edge so the sub-row remainder sits above the first row: while the - * container resizes within a row boundary the prompt stays pinned to the - * bottom instead of snapping up and down with the remainder. + * Vertical origin of the grid inside the mount. While content is shorter than + * the viewport the grid sits at the top like a fresh terminal. Once scrollback + * exists the prompt lives on the bottom row, so the grid anchors to the bottom + * edge instead: the sub-row remainder moves above row 0 and resizing within a + * row boundary keeps the prompt pinned instead of snapping up and down. */ export function terminalContentOriginY( mountHeight: number, padding: number, rows: number, cellHeight: number, + anchorBottom: boolean, ): number { + if (!anchorBottom) return padding; const slack = mountHeight - padding * 2 - rows * cellHeight; return padding + Math.max(0, slack); } @@ -349,6 +352,7 @@ export class GhosttyTerminalSurface { private disposed = false; private resizeNotifyTimer: number | null = null; private originY = CONTENT_PADDING; + private mountHeight = 0; private selectionEnd: { x: number; y: number } | null = null; private selectionAnchorScreen: { x: number; y: number } | null = null; private selectionEndScreen: { x: number; y: number } | null = null; @@ -574,15 +578,7 @@ export class GhosttyTerminalSurface { shouldRender = true; } const grid = terminalGridSize(width, height, this.metrics, CONTENT_PADDING); - // The origin only moves together with a forced full repaint: partial - // dirty-row redraws must never composite rows at a shifted origin over - // rows painted at the previous one. - const originY = terminalContentOriginY(height, CONTENT_PADDING, grid.rows, this.metrics.height); - if (originY !== this.originY) { - this.originY = originY; - this.forceFullRender = true; - shouldRender = true; - } + this.mountHeight = height; // onResize is the only PTY resize channel, so the first successful fit must // notify even when the measured grid equals the 1x1 construction sentinel. if (grid.cols !== this.cols || grid.rows !== this.rows || !this.resizeNotified) { @@ -1254,6 +1250,23 @@ export class GhosttyTerminalSurface { } this.snapshot = this.core.snapshot(); if (!this.snapshot.cursorBlinking) this.cursorOn = true; + // The origin only moves together with a forced full repaint: partial + // dirty-row redraws must never composite rows at a shifted origin over + // rows painted at the previous one. Bottom anchoring starts once + // scrollback exists, i.e. when the prompt actually lives at the bottom. + const scrollState = this.readScrollbarState(); + const anchorBottom = scrollState !== null && scrollState.total > scrollState.len; + const nextOriginY = terminalContentOriginY( + this.mountHeight, + CONTENT_PADDING, + this.rows, + this.metrics.height, + anchorBottom, + ); + if (nextOriginY !== this.originY) { + this.originY = nextOriginY; + this.forceFullRender = true; + } renderGhosttySnapshot({ context: this.context, snapshot: this.snapshot,