Skip to content

Commit a2ffd88

Browse files
committed
fix(analytics): rerun savings fetch when startup core becomes ready
1 parent 5be650a commit a2ffd88

1 file changed

Lines changed: 6 additions & 2 deletions

File tree

  • desktop/cortex-control-center/src

desktop/cortex-control-center/src/App.jsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1490,6 +1490,7 @@ export function App() {
14901490
const [showMissionCompactUnits, setShowMissionCompactUnits] = useState(true);
14911491
const [hasVisitedAnalytics, setHasVisitedAnalytics] = useState(() => browserBootstrap.panel === "analytics");
14921492
const [analyticsReady, setAnalyticsReady] = useState(() => browserBootstrap.panel === "analytics");
1493+
const [startupCoreReadyState, setStartupCoreReadyState] = useState(false);
14931494
const [isSettingUpEditors, setIsSettingUpEditors] = useState(false);
14941495
const [currency, setCurrency] = useState(() => normalizeCurrencyCode(readLocalStorageValue("cortex_currency", "USD")));
14951496
const [analyticsMode, setAnalyticsMode] = useState(() => {
@@ -2234,6 +2235,7 @@ export function App() {
22342235
let result = await refreshProtectedData({ includeSecondary, forceCore: true });
22352236
if (!includeSecondary && !result.coreErrors.length) {
22362237
startupCoreReadyRef.current = true;
2238+
setStartupCoreReadyState(true);
22372239
refreshSecondaryDataInBackground();
22382240
result = { ...result, secondaryErrors: [] };
22392241
}
@@ -2242,6 +2244,7 @@ export function App() {
22422244

22432245
const clearStartupCoreReady = useCallback(() => {
22442246
startupCoreReadyRef.current = false;
2247+
setStartupCoreReadyState(false);
22452248
lastCoreRefreshAtRef.current = 0;
22462249
lastSecondaryRefreshAtRef.current = 0;
22472250
}, []);
@@ -2556,6 +2559,7 @@ export function App() {
25562559
&& warmupErrorsOnly;
25572560
if (partialCoreReady) {
25582561
startupCoreReadyRef.current = true;
2562+
setStartupCoreReadyState(true);
25592563
refreshSecondaryDataInBackground();
25602564
const timeoutSummary = timeoutErrors.length
25612565
? summarizeDashboardErrors(timeoutErrors) || "IPC request timeouts detected."
@@ -2837,7 +2841,7 @@ export function App() {
28372841
|| !analyticsReady
28382842
|| !daemonState.reachable
28392843
|| !daemonState.authTokenReady
2840-
|| !startupCoreReadyRef.current
2844+
|| !startupCoreReadyState
28412845
) return;
28422846
refreshSavings().catch((error) => {
28432847
const message = error?.message || String(error);
@@ -2852,7 +2856,7 @@ export function App() {
28522856
});
28532857
}, ANALYTICS_REFRESH_MS);
28542858
return () => clearInterval(timer);
2855-
}, [analyticsReady, daemonState.authTokenReady, daemonState.reachable, panel, refreshSavings]);
2859+
}, [analyticsReady, daemonState.authTokenReady, daemonState.reachable, panel, refreshSavings, startupCoreReadyState]);
28562860

28572861
useEffect(() => {
28582862
let stream = null;

0 commit comments

Comments
 (0)