From 3f0b99e7637da0fd7b7f7cb538803db9a51c3e10 Mon Sep 17 00:00:00 2001 From: Richard Cox Date: Tue, 19 May 2026 17:57:23 +0100 Subject: [PATCH 1/2] Reduce lag from home --> explorer, plus refresh in explorer --- shell/plugins/steve/subscribe.js | 4 +++- shell/store/index.js | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/shell/plugins/steve/subscribe.js b/shell/plugins/steve/subscribe.js index 3fd5e46dacc..3f8c4a10710 100644 --- a/shell/plugins/steve/subscribe.js +++ b/shell/plugins/steve/subscribe.js @@ -469,8 +469,10 @@ const sharedActions = { const worker = (this.$workers || {})[getters.storeName]; if (worker) { + const storeName = getters.storeName; + worker.postMessage({ destroyWorker: true }); // we're only passing the boolean here because the key needs to be something truthy to ensure it's passed on the object. - cleanupTasks.push(waitFor(() => !this.$workers[getters.storeName], 'Worker is destroyed')); + cleanupTasks.push(waitFor(() => !this.$workers?.[storeName], 'Worker to be destroyed', 30000, 10, true)); } if ( socket ) { diff --git a/shell/store/index.js b/shell/store/index.js index 1899393e16f..690b5790ca7 100644 --- a/shell/store/index.js +++ b/shell/store/index.js @@ -1041,6 +1041,8 @@ export const actions = { // This is a workaround for a timing issue where the mgmt cluster schema may not be available // Try and wait until the schema exists before proceeding await dispatch('management/waitForSchema', { type: MANAGEMENT.CLUSTER }); + // Similarly to above, we somehow get here without everything in management land being ready. FF needed to determine pagination state + await dispatch('management/waitForHaveAll', { type: MANAGEMENT.FEATURE }); // If SSP is on we won't have requested all clusters if (!paginateClusters({ rootGetters, state })) { From b2949324e68623bcd29d03e25991b6ec96e96924 Mon Sep 17 00:00:00 2001 From: Richard Cox Date: Tue, 19 May 2026 18:43:02 +0100 Subject: [PATCH 2/2] fix unit test --- shell/components/nav/__tests__/TopLevelMenu.test.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/shell/components/nav/__tests__/TopLevelMenu.test.ts b/shell/components/nav/__tests__/TopLevelMenu.test.ts index 0d891c0a5e9..c0908d11612 100644 --- a/shell/components/nav/__tests__/TopLevelMenu.test.ts +++ b/shell/components/nav/__tests__/TopLevelMenu.test.ts @@ -727,13 +727,13 @@ describe('topLevelMenu', () => { nameDisplay: 'cluster1', id: 'an-id1', mgmt: { id: 'an-id1' }, - isReady: true + canExplore: true }, { nameDisplay: 'cluster2', id: 'an-id2', mgmt: { id: 'an-id2' }, - isReady: true + canExplore: true } ]) } @@ -786,7 +786,7 @@ describe('topLevelMenu', () => { nameDisplay: 'cluster1', id: 'an-id1', mgmt: { id: 'an-id1' }, - isReady: true + canExplore: true } ]); @@ -814,7 +814,7 @@ describe('topLevelMenu', () => { nameDisplay: 'cluster1', id: 'an-id1', mgmt: { id: 'an-id1' }, - isReady: true + canExplore: true } ]);