From 1c8c63e33f2f5f34bc02ab0b3ab6bdf2f8069157 Mon Sep 17 00:00:00 2001 From: Ammar Date: Mon, 24 Nov 2025 18:35:23 -0600 Subject: [PATCH 1/2] =?UTF-8?q?=F0=9F=A4=96=20fix:=20match=20token=20count?= =?UTF-8?q?=20text=20size=20to=20surrounding=20elements?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Changed text-xs (12px) to text-[11px] to match nearby controls. --- src/browser/components/ChatInput/index.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/browser/components/ChatInput/index.tsx b/src/browser/components/ChatInput/index.tsx index 0ad550b505..a6c80316ca 100644 --- a/src/browser/components/ChatInput/index.tsx +++ b/src/browser/components/ChatInput/index.tsx @@ -879,7 +879,7 @@ export const ChatInput: React.FC = (props) => { Calculating tokens… @@ -940,7 +940,7 @@ const TokenCountDisplay: React.FC<{ reader: TokenCountReader }> = ({ reader }) = return null; } return ( -
+
{tokens.toLocaleString()} tokens
); From 2de14f06e69a48c847810edecfcd00c57030212c Mon Sep 17 00:00:00 2001 From: Ammar Date: Mon, 24 Nov 2025 18:44:18 -0600 Subject: [PATCH 2/2] test: add token count to ActiveWorkspaceWithChat story Pre-fills input text and model so the token count display is visible, capturing the text-[11px] fix for visual regression testing. --- src/browser/App.stories.tsx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/browser/App.stories.tsx b/src/browser/App.stories.tsx index ab7e4443dc..aa3e5f5725 100644 --- a/src/browser/App.stories.tsx +++ b/src/browser/App.stories.tsx @@ -541,6 +541,18 @@ export const ActiveWorkspaceWithChat: Story = { projects, workspaces, apiOverrides: { + tokenizer: { + countTokens: () => Promise.resolve(42), + countTokensBatch: (_model, texts) => Promise.resolve(texts.map(() => 42)), + calculateStats: () => + Promise.resolve({ + consumers: [], + totalTokens: 0, + model: "mock-model", + tokenizerName: "mock-tokenizer", + usageHistory: [], + }), + }, providers: { setProviderConfig: () => Promise.resolve({ success: true, data: undefined }), list: () => Promise.resolve(["anthropic", "openai", "xai"]), @@ -1246,6 +1258,13 @@ main }) ); + // Pre-fill input with text so token count is visible + localStorage.setItem( + `input:${workspaceId}`, + "Add OAuth2 support with Google and GitHub providers" + ); + localStorage.setItem(`model:${workspaceId}`, "anthropic:claude-sonnet-4-5"); + initialized.current = true; }