From 10c65f097ae23ffb25c88d71e18f7f1a1424dde8 Mon Sep 17 00:00:00 2001 From: Arjun <6592213+arkml@users.noreply.github.com> Date: Thu, 14 May 2026 14:46:07 +0530 Subject: [PATCH] fix first load issue --- apps/x/apps/renderer/src/components/email-view.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/apps/x/apps/renderer/src/components/email-view.tsx b/apps/x/apps/renderer/src/components/email-view.tsx index 5b2fa55f..895c31e0 100644 --- a/apps/x/apps/renderer/src/components/email-view.tsx +++ b/apps/x/apps/renderer/src/components/email-view.tsx @@ -872,8 +872,10 @@ export function EmailView() { }, [selectedThreadId, reloadFirstPage]) // Live refresh: hit the Gmail API to validate the freshest threads, then re-render. + const refreshInFlightRef = useRef(false) const refresh = useCallback(async () => { - if (refreshing) return + if (refreshInFlightRef.current) return + refreshInFlightRef.current = true setRefreshing(true) setError(null) try { @@ -896,9 +898,10 @@ export function EmailView() { console.warn('[Gmail] live refresh failed:', err) setError(err instanceof Error ? err.message : String(err)) } finally { + refreshInFlightRef.current = false setRefreshing(false) } - }, [refreshing, reloadFirstPage]) + }, [reloadFirstPage]) // Kick off a live refresh on mount only when there's no persisted data — // otherwise we'd clobber the snapshot the user already had.