From a4e04c498f3178dd9b869c3080b13f35beac5b6e Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sun, 22 Jan 2017 19:29:14 +0300 Subject: [PATCH] parse_counters: cache previous reply and skip processing of unchanged rows --- js/feedlist.js | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/js/feedlist.js b/js/feedlist.js index e66a0c1b..232cf0be 100644 --- a/js/feedlist.js +++ b/js/feedlist.js @@ -6,11 +6,12 @@ var _viewfeed_last = 0; var _viewfeed_timeout = false; var counters_last_request = 0; +var _counters_prev = []; -function viewCategory(cat) { +/*function viewCategory(cat) { viewfeed({feed: cat, is_cat: true}); return false; -} +}*/ function loadMoreHeadlines() { try { @@ -253,10 +254,18 @@ function request_counters(force) { } } -function parse_counters(elems, scheduled_call) { +function parse_counters(elems) { try { for (var l = 0; l < elems.length; l++) { + if (_counters_prev[l] && + _counters_prev[l].id == elems[l].id && + _counters_prev[l].updated == elems[l].updated && + _counters_prev[l].counter == elems[l].counter) { + + continue; + } + var id = elems[l].id; var kind = elems[l].kind; var ctr = parseInt(elems[l].counter); @@ -300,6 +309,8 @@ function parse_counters(elems, scheduled_call) { hideOrShowFeeds(getInitParam("hide_read_feeds") == 1); + _counters_prev = elems; + } catch (e) { exception_error("parse_counters", e); } -- 2.39.5