1
0
mirror of https://git.tt-rss.org/git/tt-rss.git synced 2026-01-03 23:09:14 +00:00

js: simplify counter updating, remove some unused stuff

This commit is contained in:
Andrew Dolgov
2013-02-01 13:09:43 +04:00
parent 1e6463fde9
commit 5b55e9e25c
6 changed files with 44 additions and 145 deletions

View File

@@ -3,8 +3,6 @@ var _infscroll_request_sent = 0;
var _search_query = false;
var _viewfeed_last = 0;
var counter_timeout_id = false;
var counters_last_request = 0;
function viewCategory(cat) {
@@ -218,7 +216,8 @@ function feedlist_init() {
hideOrShowFeeds(getInitParam("hide_read_feeds") == 1);
setTimeout("timeout()", 5000);
request_counters(true);
timeout();
setTimeout("precache_headlines_idle()", 15000);
} catch (e) {
@@ -226,46 +225,34 @@ function feedlist_init() {
}
}
function request_counters_real() {
function request_counters(force) {
try {
console.log("requesting counters...");
var query = "?op=rpc&method=getAllCounters&seq=" + next_seq();
query = query + "&omode=flc";
new Ajax.Request("backend.php", {
parameters: query,
onComplete: function(transport) {
try {
handle_rpc_json(transport);
} catch (e) {
exception_error("viewfeed/getcounters", e);
}
} });
} catch (e) {
exception_error("request_counters_real", e);
}
}
function request_counters() {
try {
//if (getInitParam("bw_limit") == "1") return;
var date = new Date();
var timestamp = Math.round(date.getTime() / 1000);
if (timestamp - counters_last_request > 5) {
if (force || timestamp - counters_last_request > 15) {
console.log("scheduling request of counters...");
window.clearTimeout(counter_timeout_id);
counter_timeout_id = window.setTimeout("request_counters_real()", 1000);
counters_last_request = timestamp;
var query = "?op=rpc&method=getAllCounters&seq=" + next_seq();
if (!force)
query = query + "&last_article_id=" + getInitParam("last_article_id");
console.log(query);
new Ajax.Request("backend.php", {
parameters: query,
onComplete: function(transport) {
try {
handle_rpc_json(transport);
} catch (e) {
exception_error("request_counters", e);
}
} });
} else {
console.log("request_counters: rate limit reached: " + (timestamp - counters_last_request));
}
@@ -567,6 +554,8 @@ function decrementFeedCounter(feed, is_cat) {
if (ctr > 0) {
setFeedUnread(feed, is_cat, ctr - 1);
global_unread = global_unread - 1;
updateTitle();
if (!is_cat) {
var cat = parseInt(getFeedCategory(feed));

View File

@@ -1,14 +1,9 @@
var total_unread = 0;
var global_unread = -1;
var firsttime_update = true;
var _active_feed_id = undefined;
var _active_feed_is_cat = false;
var hotkey_prefix = false;
var hotkey_prefix_pressed = false;
var _force_scheduled_update = false;
var last_scheduled_update = false;
var _widescreen_mode = false;
var _rpc_seq = 0;
function next_seq() {
@@ -105,8 +100,6 @@ function updateFeedList() {
id: "feedTree",
}, "feedTree");
_force_scheduled_update = true;
/* var menu = new dijit.Menu({id: 'feedMenu'});
menu.addChild(new dijit.MenuItem({
@@ -176,51 +169,10 @@ function viewCurrentFeed(method) {
}
function timeout() {
if (getInitParam("bw_limit") == "1") return;
try {
var date = new Date();
var ts = Math.round(date.getTime() / 1000);
if (ts - last_scheduled_update > 10 || _force_scheduled_update) {
//console.log("timeout()");
window.clearTimeout(counter_timeout_id);
var query_str = "?op=rpc&method=getAllCounters&seq=" + next_seq();
var omode;
if (firsttime_update && !navigator.userAgent.match("Opera")) {
firsttime_update = false;
omode = "T";
} else {
omode = "flc";
}
query_str = query_str + "&omode=" + omode;
if (!_force_scheduled_update)
query_str = query_str + "&last_article_id=" + getInitParam("last_article_id");
//console.log("[timeout]" + query_str);
new Ajax.Request("backend.php", {
parameters: query_str,
onComplete: function(transport) {
handle_rpc_json(transport, !_force_scheduled_update);
_force_scheduled_update = false;
} });
last_scheduled_update = ts;
}
} catch (e) {
exception_error("timeout", e);
if (getInitParam("bw_limit") != "1") {
request_counters();
setTimeout("timeout()", 60*1000);
}
setTimeout("timeout()", 3000);
}
function search() {
@@ -960,7 +912,7 @@ function handle_rpc_json(transport, scheduled_call) {
if (message == "UPDATE_COUNTERS") {
console.log("need to refresh counters...");
setInitParam("last_article_id", -1);
_force_scheduled_update = true;
request_counters(true);
}
}

View File

@@ -1650,6 +1650,8 @@ function cdmClicked(event, id) {
zoomToArticle(event, id);
}
request_counters();
} catch (e) {
exception_error("cdmClicked");
}
@@ -2058,7 +2060,7 @@ function render_local_headlines(feed, is_cat, obj) {
function precache_headlines_idle() {
try {
if (!feed_precache_timeout_id) {
if (getInitParam("bw_limit") != "1" && !feed_precache_timeout_id) {
if (get_timestamp() - _viewfeed_last > 120) {
var feeds = dijit.byId("feedTree").getVisibleUnreadFeeds();
@@ -2084,8 +2086,8 @@ function precache_headlines_idle() {
function precache_headlines() {
try {
if (getInitParam("bw_limit") != "1" && !feed_precache_timeout_id) {
if (!feed_precache_timeout_id) {
feed_precache_timeout_id = window.setTimeout(function() {
var nuf = getNextUnreadFeed(getActiveFeedId(), activeFeedIsCat());
var nf = dijit.byId("feedTree").getNextFeed(getActiveFeedId(), activeFeedIsCat());