From 3ad5a168e7499ea4d9c87b5012875dd63dac7fa9 Mon Sep 17 00:00:00 2001 From: Mario Zechner Date: Fri, 2 Jan 2026 01:15:45 +0100 Subject: [PATCH] Fix DynamicBorder crash when theme not initialized Make DynamicBorder defensive against undefined theme by checking at render time instead of relying on default parameter closure. --- .../src/modes/interactive/components/dynamic-border.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/coding-agent/src/modes/interactive/components/dynamic-border.ts b/packages/coding-agent/src/modes/interactive/components/dynamic-border.ts index b835ae0a..76e5c7b7 100644 --- a/packages/coding-agent/src/modes/interactive/components/dynamic-border.ts +++ b/packages/coding-agent/src/modes/interactive/components/dynamic-border.ts @@ -7,8 +7,10 @@ import { theme } from "../theme/theme.js"; export class DynamicBorder implements Component { private color: (str: string) => string; - constructor(color: (str: string) => string = (str) => theme.fg("border", str)) { - this.color = color; + constructor(color?: (str: string) => string) { + // Use provided color function, or default to theme border color + // Theme may not be initialized at construction time, so we check at render time + this.color = color ?? ((str) => (theme ? theme.fg("border", str) : str)); } invalidate(): void {