diff --git a/client/src/components/Chat/Input/TokenUsageIndicator.tsx b/client/src/components/Chat/Input/TokenUsageIndicator.tsx index 72562044d9..f4a847ef06 100644 --- a/client/src/components/Chat/Input/TokenUsageIndicator.tsx +++ b/client/src/components/Chat/Input/TokenUsageIndicator.tsx @@ -5,10 +5,10 @@ import { cn } from '~/utils'; function formatTokens(n: number): string { if (n >= 1000000) { - return `${(n / 1000000).toFixed(1)}M`; + return `${(n / 1000000).toFixed(1).replace(/\.0$/, '')}M`; } if (n >= 1000) { - return `${(n / 1000).toFixed(1)}K`; + return `${(n / 1000).toFixed(1).replace(/\.0$/, '')}K`; } return n.toString(); } diff --git a/client/src/hooks/useTokenUsage.ts b/client/src/hooks/useTokenUsage.ts index 2dce4f87b2..3141c9c454 100644 --- a/client/src/hooks/useTokenUsage.ts +++ b/client/src/hooks/useTokenUsage.ts @@ -84,6 +84,17 @@ export function useTokenUsageComputation() { useEffect(() => { setTokenUsage(tokenData); }, [tokenData, setTokenUsage]); + + // Reset token usage when starting a new conversation + useEffect(() => { + if (paramId === 'new' && effectiveMessages.length === 0) { + setTokenUsage({ + inputTokens: 0, + outputTokens: 0, + maxContext: null, + }); + } + }, [paramId, effectiveMessages.length, setTokenUsage]); } /**