diff --git a/src/main/ipc/pty/delivery/pending.ts b/src/main/ipc/pty/delivery/pending.ts index 5b4167b93e0..ff14ccc8c52 100644 --- a/src/main/ipc/pty/delivery/pending.ts +++ b/src/main/ipc/pty/delivery/pending.ts @@ -4,6 +4,7 @@ import { scanMode2031ReplyDecision, type Mode2031ReplyScanState } from '../../../../shared/terminal-color-scheme-protocol' +import { redactPtyIdForDiagnostics } from '../../../../shared/pty-delivery-diagnostics' import { recordCrashBreadcrumb } from '../../../crash-reporting/crash-breadcrumb-store' import { terminalOutputBacklogCapChars } from '../../../../shared/terminal-scrollback-policy' import { isHiddenPtyDeliveryGateEnabled } from '../../pty-hidden-delivery-gate' @@ -97,7 +98,7 @@ export function dropOversizedPendingPtyData( if (!session.pendingDataDropWarnedPtys.has(id)) { session.pendingDataDropWarnedPtys.add(id) console.error( - `[pty] dropped ${pending.data.length} buffered chars for ${id}: renderer not receiving and per-PTY pending cap exceeded; pane will restore from the main-owned snapshot` + `[pty] dropped ${pending.data.length} buffered chars for ${redactPtyIdForDiagnostics(id)}: renderer not receiving and per-PTY pending cap exceeded; pane will restore from the main-owned snapshot` ) // Why: field visibility for cap tuning (issue #2836 / #7017); no pty id since session ids can embed workspace paths. recordCrashBreadcrumb('terminal_pending_output_dropped', { diff --git a/src/main/ipc/pty/ipc/spawn-commit.ts b/src/main/ipc/pty/ipc/spawn-commit.ts index 82a3aea1b74..7e277c7c3f5 100644 --- a/src/main/ipc/pty/ipc/spawn-commit.ts +++ b/src/main/ipc/pty/ipc/spawn-commit.ts @@ -64,9 +64,7 @@ export async function commitPtyIpcSpawn(ctx: PtyIpcSpawnState): Promise 0) { - // Why: the relay reattach replay is the one restore main never ingests, so without - // this seed its model is a mere suffix of what the renderer painted — and a later - // park-reveal would outrank the fuller relay replay with that fragment. + // Why: relay reattach replay is the only restore main never ingests; skip this seed and park-reveal would replace it with a suffix fragment. ctx.deps.runtime.seedHeadlessTerminal(ctx.result.id, ctx.result.replay) } }