From 645d635976ef48905c0416bd2a4a25025fef9ee4 Mon Sep 17 00:00:00 2001 From: Phil Hughes Date: Fri, 2 Feb 2018 10:05:37 +0000 Subject: [PATCH] fixed issue with axios_utils not reducing activeVueResources variable when request fails --- app/assets/javascripts/job.js | 13 ++++++++++++- app/assets/javascripts/lib/utils/axios_utils.js | 4 ++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/app/assets/javascripts/job.js b/app/assets/javascripts/job.js index d2cbc9b82b3..d0b7ea75082 100644 --- a/app/assets/javascripts/job.js +++ b/app/assets/javascripts/job.js @@ -9,6 +9,7 @@ export default class Job { constructor(options) { this.timeout = null; this.state = null; + this.fetchingStatusFavicon = false; this.options = options || $('.js-build-options').data(); this.pagePath = this.options.pagePath; @@ -178,7 +179,17 @@ export default class Job { .then((res) => { const log = res.data; - setCiStatusFavicon(`${this.pagePath}/status.json`); + if (!this.fetchingStatusFavicon) { + this.fetchingStatusFavicon = true; + + setCiStatusFavicon(`${this.pagePath}/status.json`) + .then(() => { + this.fetchingStatusFavicon = false; + }) + .catch(() => { + this.fetchingStatusFavicon = false; + }); + } if (log.state) { this.state = log.state; diff --git a/app/assets/javascripts/lib/utils/axios_utils.js b/app/assets/javascripts/lib/utils/axios_utils.js index 585214049c7..792871e2ecf 100644 --- a/app/assets/javascripts/lib/utils/axios_utils.js +++ b/app/assets/javascripts/lib/utils/axios_utils.js @@ -19,6 +19,10 @@ axios.interceptors.response.use((config) => { window.activeVueResources -= 1; return config; +}, (e) => { + window.activeVueResources -= 1; + + return Promise.reject(e); }); export default axios;