From 1f7ed656b2b99ed8c25909bf6a66c1dde744855e Mon Sep 17 00:00:00 2001 From: "Kai (Tam Nhu) Tran" <61256810+kaitranntt@users.noreply.github.com> Date: Sat, 30 May 2026 14:56:55 -0400 Subject: [PATCH] fix(ui): preserve Gemini tier fallback without entitlement --- ui/src/components/shared/quota-tooltip-content.tsx | 3 ++- .../shared/quota-tooltip-content.test.tsx | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/ui/src/components/shared/quota-tooltip-content.tsx b/ui/src/components/shared/quota-tooltip-content.tsx index 8fd4f5c0..f11774dc 100644 --- a/ui/src/components/shared/quota-tooltip-content.tsx +++ b/ui/src/components/shared/quota-tooltip-content.tsx @@ -378,7 +378,8 @@ export function QuotaTooltipContent({ quota, resetTime }: QuotaTooltipContentPro if (isGeminiQuotaResult(quota)) { const hasBucketResetTime = quota.buckets.some((bucket) => !!bucket.resetTime); const hasEntitlementTier = - !!quota.entitlement?.rawTierLabel || quota.entitlement?.normalizedTier !== 'unknown'; + !!quota.entitlement?.rawTierLabel || + (!!quota.entitlement && quota.entitlement.normalizedTier !== 'unknown'); const distinctTokenTypes = Array.from( new Set( quota.buckets diff --git a/ui/tests/unit/ui/components/shared/quota-tooltip-content.test.tsx b/ui/tests/unit/ui/components/shared/quota-tooltip-content.test.tsx index bf600694..6780fc7a 100644 --- a/ui/tests/unit/ui/components/shared/quota-tooltip-content.test.tsx +++ b/ui/tests/unit/ui/components/shared/quota-tooltip-content.test.tsx @@ -83,6 +83,20 @@ describe('QuotaTooltipContent', () => { expect(screen.getByText(expectedReset)).toBeInTheDocument(); }); + it('renders the Gemini tier label when entitlement evidence is absent', () => { + const quota = createGeminiQuotaResult({ + entitlement: undefined, + tierLabel: 'Legacy Pro', + tierId: null, + creditBalance: null, + }); + + render(); + + expect(screen.getByText('Tier')).toBeInTheDocument(); + expect(screen.getByText('Legacy Pro')).toBeInTheDocument(); + }); + it('falls back to the shared reset indicator when Gemini buckets omit reset timestamps', () => { vi.useFakeTimers(); vi.setSystemTime(new Date('2026-01-29T00:00:00Z'));