Skip to content

Commit b2fdb9a

Browse files
roomote[bot]roomotedaniel-lxs
authored
fix: handle null/undefined token values in ContextCondenseRow to prevent UI crash (#6916)
* fix: handle null/undefined token values in ContextCondenseRow to prevent UI crash - Added null/undefined checks for prevContextTokens, newContextTokens, and cost - Default to 0 when values are null or undefined - Added comprehensive test coverage for edge cases - Fixes #6914 * Delete webview-ui/src/components/chat/__tests__/ContextCondenseRow.spec.tsx --------- Co-authored-by: Roo Code <[email protected]> Co-authored-by: Daniel <[email protected]>
1 parent a5b143b commit b2fdb9a

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

webview-ui/src/components/chat/ContextCondenseRow.tsx

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,11 @@ export const ContextCondenseRow = ({ cost, prevContextTokens, newContextTokens,
1111
const { t } = useTranslation()
1212
const [isExpanded, setIsExpanded] = useState(false)
1313

14+
// Handle null/undefined token values to prevent crashes
15+
const prevTokens = prevContextTokens ?? 0
16+
const newTokens = newContextTokens ?? 0
17+
const displayCost = cost ?? 0
18+
1419
return (
1520
<div className="mb-2">
1621
<div
@@ -33,9 +38,11 @@ export const ContextCondenseRow = ({ cost, prevContextTokens, newContextTokens,
3338
<span className="codicon codicon-compress text-blue-400" />
3439
<span className="font-bold text-vscode-foreground">{t("chat:contextCondense.title")}</span>
3540
<span className="text-vscode-descriptionForeground text-sm">
36-
{prevContextTokens.toLocaleString()}{newContextTokens.toLocaleString()} {t("tokens")}
41+
{prevTokens.toLocaleString()}{newTokens.toLocaleString()} {t("tokens")}
3742
</span>
38-
<VSCodeBadge className={cost > 0 ? "opacity-100" : "opacity-0"}>${cost.toFixed(2)}</VSCodeBadge>
43+
<VSCodeBadge className={displayCost > 0 ? "opacity-100" : "opacity-0"}>
44+
${displayCost.toFixed(2)}
45+
</VSCodeBadge>
3946
</div>
4047
<span className={`codicon codicon-chevron-${isExpanded ? "up" : "down"}`}></span>
4148
</div>

0 commit comments

Comments
 (0)