diff --git a/packages/cli/src/ui/hooks/useBanner.test.ts b/packages/cli/src/ui/hooks/useBanner.test.ts index 5712aecc91..6c55ab0473 100644 --- a/packages/cli/src/ui/hooks/useBanner.test.ts +++ b/packages/cli/src/ui/hooks/useBanner.test.ts @@ -77,10 +77,24 @@ describe('useBanner', () => { .update(defaultBannerData.defaultText) .digest('hex')]: 5, }); + }); - const { result } = await renderHook(() => useBanner(defaultBannerData)); + it('should not hide banner if show count exceeds max limit (Legacy format) if it contains an Antigravity announcement', async () => { + const antigravityBannerData = { + defaultText: 'Antigravity is coming to town!', + warningText: '', + }; - expect(result.current.bannerText).toBe(''); + mockedPersistentStateGet.mockReturnValue({ + [crypto + .createHash('sha256') + .update(antigravityBannerData.defaultText) + .digest('hex')]: 5, + }); + + const { result } = await renderHook(() => useBanner(antigravityBannerData)); + + expect(result.current.bannerText).toBe('Antigravity is coming to town!'); }); it('should increment the persistent count when banner is shown', async () => { diff --git a/packages/cli/src/ui/hooks/useBanner.ts b/packages/cli/src/ui/hooks/useBanner.ts index ddd739ecd2..5216cf03bd 100644 --- a/packages/cli/src/ui/hooks/useBanner.ts +++ b/packages/cli/src/ui/hooks/useBanner.ts @@ -41,7 +41,9 @@ export function useBanner(bannerData: BannerData) { const currentBannerCount = bannerCounts[hashedText] || 0; const showBanner = - activeText !== '' && currentBannerCount < DEFAULT_MAX_BANNER_SHOWN_COUNT; + activeText !== '' && + (currentBannerCount < DEFAULT_MAX_BANNER_SHOWN_COUNT || + activeText.includes('Antigravity')); const rawBannerText = showBanner ? activeText : ''; const bannerText = rawBannerText.replace(/\\n/g, '\n');