From 97ba700fac30667b30c7dc0a748ee0aa25a61286 Mon Sep 17 00:00:00 2001 From: Kit Langton Date: Tue, 25 Aug 2026 21:37:58 -0400 Subject: [PATCH] fix(tui): preserve prompt metadata visibility across sessions (#45116) --- packages/tui/src/component/prompt/index.tsx | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/packages/tui/src/component/prompt/index.tsx b/packages/tui/src/component/prompt/index.tsx index dbb241bbd17..d03ba13540b 100644 --- a/packages/tui/src/component/prompt/index.tsx +++ b/packages/tui/src/component/prompt/index.tsx @@ -102,6 +102,7 @@ export type PromptRef = { } const DRAFT_RETENTION_MIN_CHARS = 20 +const revealedPromptMetadata = new WeakSet() function randomIndex(count: number) { if (count <= 0) return 0 @@ -1608,12 +1609,20 @@ export function Prompt(props: PromptProps) { return promptDisplay().agentColor ?? theme.border.default }) const agentLabel = createMemo(() => (store.mode === "shell" ? "Shell" : promptDisplay().agentLabel)) - const agentMetaAlpha = createFadeIn(() => !!agentLabel(), animationsEnabled) - const modelMetaAlpha = createFadeIn(() => !!promptDisplay().agentLabel && store.mode === "normal", animationsEnabled) + const animateMetadata = !revealedPromptMetadata.has(local) + const metadataAnimationsEnabled = () => animationsEnabled() && animateMetadata + const agentMetaAlpha = createFadeIn(() => !!agentLabel(), metadataAnimationsEnabled) + const modelMetaAlpha = createFadeIn( + () => !!promptDisplay().agentLabel && store.mode === "normal", + metadataAnimationsEnabled, + ) const variantMetaAlpha = createFadeIn( () => !!promptDisplay().agentLabel && store.mode === "normal" && !!promptDisplay().variant, - animationsEnabled, + metadataAnimationsEnabled, ) + createEffect(() => { + if (agentLabel()) revealedPromptMetadata.add(local) + }) const borderHighlight = createMemo(() => tint(theme.border.default, highlight(), agentMetaAlpha())) const footerInput = () => ({ sessionID: props.sessionID, mode: store.mode })