diff --git a/packages/coding-agent/CHANGELOG.md b/packages/coding-agent/CHANGELOG.md index 8af492f49..8d8c902e8 100644 --- a/packages/coding-agent/CHANGELOG.md +++ b/packages/coding-agent/CHANGELOG.md @@ -51,6 +51,9 @@ ### Fixed - Reclaimed abandoned daemon runtime directories under `~/.omp/run/daemons/`: each broker now prunes sibling scopes with a dead/absent `broker.pid`, no live client presence, and past a short stale grace on startup, removing the leftover Chromium profiles and broker state that grew unbounded from short-lived project directories ([#8674](https://github.com/can1357/oh-my-pi/issues/8674)). +### Fixed + +- Kept the welcome screen's Tips, LSP Servers, and Recent sessions visible when a long model name still leaves enough terminal width for both columns ([#8657](https://github.com/can1357/oh-my-pi/issues/8657)). ## [17.3.4] - 2026-08-14 diff --git a/packages/coding-agent/src/modes/components/welcome.ts b/packages/coding-agent/src/modes/components/welcome.ts index fdb4dfc3e..9ec8ba5b3 100644 --- a/packages/coding-agent/src/modes/components/welcome.ts +++ b/packages/coding-agent/src/modes/components/welcome.ts @@ -248,7 +248,10 @@ export class WelcomeComponent implements Component { visibleWidth(this.modelName), visibleWidth(this.providerName), ); - const desiredLeftCol = Math.min(preferredLeftCol, Math.max(minLeftCol, Math.floor(dualContentWidth * 0.35))); + const desiredLeftCol = Math.max( + Math.min(preferredLeftCol, Math.max(minLeftCol, Math.floor(dualContentWidth * 0.35))), + leftMinContentWidth, + ); const dualLeftCol = dualContentWidth >= minRightCol + 1 ? Math.min(desiredLeftCol, dualContentWidth - minRightCol) diff --git a/packages/coding-agent/test/modes/components/welcome.test.ts b/packages/coding-agent/test/modes/components/welcome.test.ts index f1d5997d1..d74a7a5ea 100644 --- a/packages/coding-agent/test/modes/components/welcome.test.ts +++ b/packages/coding-agent/test/modes/components/welcome.test.ts @@ -3,7 +3,7 @@ import { Settings } from "@oh-my-pi/pi-coding-agent/config/settings"; import { pickWeightedTip, WelcomeComponent } from "@oh-my-pi/pi-coding-agent/modes/components/welcome"; import { initTheme, theme } from "@oh-my-pi/pi-coding-agent/modes/theme/theme"; -describe("WelcomeComponent tips", () => { +describe("WelcomeComponent", () => { beforeAll(async () => { await Settings.init({ inMemory: true }); await initTheme(false); @@ -61,4 +61,12 @@ describe("WelcomeComponent tips", () => { expect(newMax).toBeGreaterThan(ordinaryMax); expect(pickWeightedTip([], 0.5)).toBe(""); }); + + it("keeps the right column visible when a long model name fits", () => { + const modelName = "DeepSeek V4 Flash (2x usage)"; + const output = new WelcomeComponent("17.3.4", modelName, "opencode-go").render(55).join("\n"); + + expect(output).toContain(modelName); + expect(output).toContain("Recent sessions"); + }); });