From d5f2d60b86011fe8b003e50d658dd573bc9069ad Mon Sep 17 00:00:00 2001 From: kate bonner Date: Tue, 28 Jul 2026 19:50:35 -0400 Subject: [PATCH] fix(session): header backdrop-blur off while the context-tree band is open MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit With the context-tree block open the sticky header grows to ~300px and the band sits inside the pl-4 gutter — backdrop-blur(10px) samples transcript content through that transparent 16px strip and smears it into a grey streak along the straight left edge (worst in light theme). The band is opaque below the 48px title strip, so the blur contributed nothing there. Slim headers keep the frosted fade. Co-Authored-By: Claude Fable 5 --- packages/app/src/pages/session/message-timeline.tsx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/app/src/pages/session/message-timeline.tsx b/packages/app/src/pages/session/message-timeline.tsx index 0d3bcc05c..85052483f 100644 --- a/packages/app/src/pages/session/message-timeline.tsx +++ b/packages/app/src/pages/session/message-timeline.tsx @@ -1409,7 +1409,15 @@ export function MessageTimeline(props: { }} data-session-title classList={{ - "sticky top-0 z-30 bg-[linear-gradient(to_bottom,var(--background-stronger)_48px,transparent)] backdrop-blur-[10px]": true, + "sticky top-0 z-30 bg-[linear-gradient(to_bottom,var(--background-stronger)_48px,transparent)]": true, + // The frosted fade only while the header is slim. With the + // context-tree band open the header is ~300px tall and the band + // sits inside the pl-4 gutter — the blur samples transcript + // content through that transparent 16px strip and smears it into + // a grey streak along the straight left edge (worst on light). + // The band is opaque below the 48px title strip anyway, so the + // blur buys nothing there. + "backdrop-blur-[10px]": !contextTreeVisible(), "w-full": true, // the tall padding exists to seat the entity-chip rail; the // context-tree block closes the header itself when it renders,