From 5e2765429844efb978d29da854d4a942ef1f5e40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Thu, 27 Aug 2020 08:55:26 +0200 Subject: [PATCH] Dashboard: Ignore cancelled api request error when loading dashboard (#27232) --- .../app/features/dashboard/state/initDashboard.test.ts | 2 +- public/app/features/dashboard/state/initDashboard.ts | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/public/app/features/dashboard/state/initDashboard.test.ts b/public/app/features/dashboard/state/initDashboard.test.ts index 9f1fd1d109f..243524f15d8 100644 --- a/public/app/features/dashboard/state/initDashboard.test.ts +++ b/public/app/features/dashboard/state/initDashboard.test.ts @@ -214,7 +214,7 @@ describeInitScenario('Initializing home dashboard', ctx => { describeInitScenario('Initializing home dashboard cancelled', ctx => { ctx.setup(() => { ctx.args.routeInfo = DashboardRouteInfo.Home; - ctx.backendSrv.get.mockResolvedValue([]); + ctx.backendSrv.get.mockRejectedValue({ cancelled: true }); }); it('Should abort init process', () => { diff --git a/public/app/features/dashboard/state/initDashboard.ts b/public/app/features/dashboard/state/initDashboard.ts index 634e883823d..1b82b6349aa 100644 --- a/public/app/features/dashboard/state/initDashboard.ts +++ b/public/app/features/dashboard/state/initDashboard.ts @@ -68,11 +68,6 @@ async function fetchDashboard( // load home dash const dashDTO: DashboardDTO = await backendSrv.get('/api/dashboards/home'); - // if above all is cancelled it will return an array - if (Array.isArray(dashDTO)) { - return null; - } - // if user specified a custom home dashboard redirect to that if (dashDTO.redirectUri) { const newUrl = locationUtil.stripBaseFromUrl(dashDTO.redirectUri); @@ -116,6 +111,11 @@ async function fetchDashboard( throw { message: 'Unknown route ' + args.routeInfo }; } } catch (err) { + // Ignore cancelled errors + if (err.cancelled) { + return null; + } + dispatch(dashboardInitFailed({ message: 'Failed to fetch dashboard', error: err })); console.error(err); return null;