From 3a82172dd5804e765dbfbfcdabc0b81119165506 Mon Sep 17 00:00:00 2001 From: Teknium <127238744+teknium1@users.noreply.github.com> Date: Thu, 7 May 2026 05:15:57 -0700 Subject: [PATCH] feat(tui): surface compression count in Ink status bar Parity with the classic CLI status bar (PR #18579). The Python backend already exposes 'compressions' on SessionUsageResponse; this wires it through the Ink Usage type and renders 'cmp N' next to the duration segment of StatusRule. - types.ts Usage: add optional compressions field - appChrome.tsx StatusRule: render 'cmp N' when > 0, color-tiered by pressure (muted <5, warn 5-9, error 10+) - Plain text 'cmp' token (no emoji) matches PR #18579's original author rationale and avoids Ink layout drift from VS16 emoji width --- ui-tui/src/components/appChrome.tsx | 8 ++++++++ ui-tui/src/types.ts | 1 + 2 files changed, 9 insertions(+) diff --git a/ui-tui/src/components/appChrome.tsx b/ui-tui/src/components/appChrome.tsx index c2e08b3698..e5724c99ba 100644 --- a/ui-tui/src/components/appChrome.tsx +++ b/ui-tui/src/components/appChrome.tsx @@ -325,6 +325,14 @@ export function StatusRule({ ) : null} + {typeof usage.compressions === 'number' && usage.compressions > 0 ? ( + + {' │ '} + = 10 ? t.color.error : usage.compressions >= 5 ? t.color.warn : t.color.muted}> + cmp {usage.compressions} + + + ) : null} {voiceLabel ? (