From 9c17c74e8b425c98228e61901539261b8fdfc77d Mon Sep 17 00:00:00 2001 From: Samuel Clay Date: Wed, 4 Jan 2017 17:26:42 -0800 Subject: [PATCH] Double-checking when cookie lost to ensure it is actually lost. Re-sending request. --- media/js/newsblur/common/assetmodel.js | 24 ++++++++++++++++------ media/js/newsblur/views/dashboard_river.js | 2 +- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/media/js/newsblur/common/assetmodel.js b/media/js/newsblur/common/assetmodel.js index 9ca74167d..7aabc545b 100644 --- a/media/js/newsblur/common/assetmodel.js +++ b/media/js/newsblur/common/assetmodel.js @@ -94,13 +94,25 @@ NEWSBLUR.AssetModel = Backbone.Router.extend({ success: function(o) { // NEWSBLUR.log(['make_request 1', o]); + var lost_authentication = self.check_authentication_lost(o); + if (lost_authentication) { + if (options.retry) { + console.log(['Retrying due to lost auth cookie', o]); + options.retry = false; + self.make_request(url, data, callback, error_callback, options); + } else { + console.log(['Woah! Lost auth cookie, letting user know...']); + NEWSBLUR.reader.show_authentication_lost(); + } + return; + } + if (o && o.code < 0 && error_callback) { error_callback(o); } else if ($.isFunction(callback)) { callback(o); } - self.ensure_authenticated(o); }, error: function(e, textStatus, errorThrown) { if (errorThrown == 'abort') { @@ -610,13 +622,13 @@ NEWSBLUR.AssetModel = Backbone.Router.extend({ } }, - ensure_authenticated: function(data) { - if (!NEWSBLUR.Globals.is_authenticated) return; - if (_.isUndefined(data.authenticated)) return; + check_authentication_lost: function(data) { + if (!NEWSBLUR.Globals.is_authenticated) return false; + if (_.isUndefined(data.authenticated)) return false; if (NEWSBLUR.Globals.is_authenticated != data.authenticated) { - console.log(['Woah! Lost auth cookie, letting user know...']); - NEWSBLUR.reader.show_authentication_lost(); + return true; } + return false; }, load_canonical_feed: function(feed_id, callback) { diff --git a/media/js/newsblur/views/dashboard_river.js b/media/js/newsblur/views/dashboard_river.js index 8b11aea60..743cbbe07 100644 --- a/media/js/newsblur/views/dashboard_river.js +++ b/media/js/newsblur/views/dashboard_river.js @@ -49,7 +49,7 @@ NEWSBLUR.Views.DashboardRiver = Backbone.View.extend({ // =========== setup_dashboard_refresh: function() { - // if (NEWSBLUR.Globals.debug) return; + if (NEWSBLUR.Globals.debug) return; // Reload dashboard graphs every 10 minutes. var reload_interval = NEWSBLUR.Globals.is_staff ? 60*1000 : 10*60*1000;