From 23bcd7e767cc715bbb88d5380f71b41febdb98aa Mon Sep 17 00:00:00 2001 From: Alexander Kirilin Date: Wed, 17 Jun 2026 10:53:08 -0400 Subject: [PATCH] fix(coding-agent): tighten startup splash review coverage --- packages/coding-agent/src/startup-splash.ts | 2 ++ packages/coding-agent/test/startup-splash.test.ts | 11 ++++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/coding-agent/src/startup-splash.ts b/packages/coding-agent/src/startup-splash.ts index a7ecc09f7..5efec7fa7 100644 --- a/packages/coding-agent/src/startup-splash.ts +++ b/packages/coding-agent/src/startup-splash.ts @@ -1,3 +1,4 @@ +/** Inputs used to decide whether the optional startup splash may run for this process. */ export interface StartupSplashDecisionOptions { readonly configured: boolean; readonly isInteractive: boolean; @@ -8,6 +9,7 @@ export interface StartupSplashDecisionOptions { readonly stdoutIsTTY: boolean | undefined; } +/** Returns true only for explicitly enabled, normal interactive TTY startup. */ export function shouldShowStartupSplash(options: StartupSplashDecisionOptions): boolean { if (!options.configured) return false; if (!options.isInteractive) return false; diff --git a/packages/coding-agent/test/startup-splash.test.ts b/packages/coding-agent/test/startup-splash.test.ts index 9d5e5ac38..7f0ab8275 100644 --- a/packages/coding-agent/test/startup-splash.test.ts +++ b/packages/coding-agent/test/startup-splash.test.ts @@ -32,19 +32,24 @@ describe("startup splash", () => { }); it("shows and hides a fullscreen setup-splash overlay", async () => { + const preSplashEditor: Component = { render: () => [] }; let hidden = false; let renderRequests = 0; - let focused: Component | undefined; + let focused: Component | undefined = preSplashEditor; let overlayComponent: Component | undefined; - const ctx = { ui: { terminal: { rows: 8 }, showOverlay: (component: Component) => { overlayComponent = component; + const preFocus = focused; + focused = component; return { hide: () => { hidden = true; + if (focused === component) { + focused = preFocus; + } }, }; }, @@ -61,7 +66,7 @@ describe("startup splash", () => { expect(hidden).toBe(true); expect(renderRequests).toBeGreaterThan(0); - expect(focused).toBe(overlayComponent); + expect(focused).toBe(preSplashEditor); expect(overlayComponent?.render(32)).toHaveLength(8); }); });