From 48616e87bd917d249d4e800a0bda355ae9e58b7a Mon Sep 17 00:00:00 2001 From: Attila Kerekes Date: Thu, 17 Nov 2022 18:00:35 +0100 Subject: [PATCH] fix: Stop polling enhanced apps when api returns error --- .gitignore | 1 + public/js/app.js | 13 +++++++++---- public/mix-manifest.json | 2 +- resources/assets/js/app.js | 13 ++++++++++--- 4 files changed, 21 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index 8ff7791b..4ef710f0 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,4 @@ yarn-error.log .VolumeIcon.icns storage/app/public/avatars/* .env +.phpunit.result.cache diff --git a/public/js/app.js b/public/js/app.js index 58d87613..237cf19b 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -588,8 +588,13 @@ $.when($.ready).then(function () { if (timer < max_timer) timer += 2000; } }, - complete: function complete() { - // Schedule the next request when the current one's complete + complete: function complete(jqXHR) { + if (jqXHR.status > 299) { + // Stop polling when we get errors + return; + } // Schedule the next request when the current one's complete + + livestatsRefreshTimeouts[index] = window.setTimeout(worker, timer); } }); @@ -696,10 +701,10 @@ $.when($.ready).then(function () { $('.add-item').hide(); $('.item-edit').hide(); $('#app').removeClass('sidebar'); - $('#sortable .tooltip').css('display', '') + $('#sortable .tooltip').css('display', ''); $('#sortable').sortable('disable'); } else { - $('#sortable .tooltip').css('display', 'none') + $('#sortable .tooltip').css('display', 'none'); $('#sortable').sortable('enable'); setTimeout(function () { $('.add-item').fadeIn(); diff --git a/public/mix-manifest.json b/public/mix-manifest.json index 7063c22d..bfc1a549 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -1,4 +1,4 @@ { "/css/app.css": "/css/app.css?id=ad45b1705b7f7906db0b", - "/js/app.js": "/js/app.js?id=5446aeb4aa754e641c77" + "/js/app.js": "/js/app.js?id=19a3a77634861ef418d7" } diff --git a/resources/assets/js/app.js b/resources/assets/js/app.js index 963fc89b..25a84b30 100644 --- a/resources/assets/js/app.js +++ b/resources/assets/js/app.js @@ -69,8 +69,13 @@ $.when( $.ready ).then(function() { if(timer < max_timer) timer += 2000; } }, - complete: function() { - // Schedule the next request when the current one's complete + complete: function(jqXHR) { + if (jqXHR.status > 299) { + // Stop polling when we get errors + return; + } + + // Schedule the next request when the current one's complete livestatsRefreshTimeouts[index] = window.setTimeout(worker, timer); } }); @@ -128,7 +133,7 @@ $.when( $.ready ).then(function() { }); $('#sortable').sortable('disable'); - $('#sortable').on('mouseenter', '.item', function () { + $('#main').on('mouseenter', '#sortable.ui-sortable-disabled .item', function () { $(this).siblings('.tooltip').addClass('active') $('.refresh', this).addClass('active') }).on('mouseleave', '.item', function () { @@ -181,8 +186,10 @@ $.when( $.ready ).then(function() { $('.add-item').hide(); $('.item-edit').hide(); $('#app').removeClass('sidebar'); + $('#sortable .tooltip').css('display', '') $('#sortable').sortable('disable'); } else { + $('#sortable .tooltip').css('display', 'none') $('#sortable').sortable('enable'); setTimeout(function() { $('.add-item').fadeIn();