From 924141fbfacaed336f05c06b7c02c3349b2cd2c7 Mon Sep 17 00:00:00 2001
From: Stan Hu <stanhu@gmail.com>
Date: Tue, 6 Sep 2016 07:41:32 -0400
Subject: [PATCH] Reduce intermittent spec failures by making VueJS resource
 interceptor decrement outstanding resource counts when HTTP response is
 received

Before the count would be reduced 500 ms after a DOM update tick, which could
cause race conditions since the `DatabaseCleaner` could run in the middle of
a Rails controller handling the response.

Partial fix to #21197 and other intermittent spec failures.
---
 .../javascripts/boards/vue_resource_interceptor.js.es6   | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/app/assets/javascripts/boards/vue_resource_interceptor.js.es6 b/app/assets/javascripts/boards/vue_resource_interceptor.js.es6
index f9f9f7999d4..b5ff3a81ed5 100644
--- a/app/assets/javascripts/boards/vue_resource_interceptor.js.es6
+++ b/app/assets/javascripts/boards/vue_resource_interceptor.js.es6
@@ -1,10 +1,7 @@
-Vue.http.interceptors.push((request, next)  => {
+Vue.http.interceptors.push((request, next) => {
   Vue.activeResources = Vue.activeResources ? Vue.activeResources + 1 : 1;
 
-  Vue.nextTick(() => {
-    setTimeout(() => {
-      Vue.activeResources--;
-    }, 500);
+  next(function (response) {
+    Vue.activeResources--;
   });
-  next();
 });
-- 
GitLab