var _infscroll_disable = 0;
var _infscroll_request_sent = 0;
var _search_query = false;
+var _viewfeed_last = 0;
var counter_timeout_id = false;
var offset = 0;
var view_mode = document.forms["main_toolbar_form"].view_mode.value;
- var num_unread = $$("#headlines-frame > div[id*=RROW][class*=Unread]").length;
+ var unread_in_buffer = $$("#headlines-frame > div[id*=RROW][class*=Unread]").length;
var num_all = $$("#headlines-frame > div[id*=RROW]").length;
+ var num_unread = getFeedUnread(getActiveFeedId(), activeFeedIsCat());
// TODO implement marked & published
console.warn("loadMoreHeadlines: published is not implemented, falling back.");
offset = num_all;
} else if (view_mode == "unread") {
- offset = num_unread;
+ offset = unread_in_buffer;
+ } else if (_search_query) {
+ offset = num_all;
} else if (view_mode == "adaptive") {
if (num_unread > 0)
- offset = num_unread;
+ offset = unread_in_buffer;
else
offset = num_all;
} else {
offset = num_all;
}
+ console.log("offset: " + offset);
+
viewfeed(getActiveFeedId(), '', activeFeedIsCat(), offset, false, true);
} catch (e) {
var cached_headlines = false;
- if (feed == getActiveFeedId()) {
+ if (feed == getActiveFeedId() && activeFeedIsCat() == is_cat) {
cache_delete("feed:" + feed + ":" + is_cat);
} else {
cached_headlines = cache_get("feed:" + feed + ":" + is_cat);
+ if (_search_query) _search_query = false;
+
// switching to a different feed, we might as well catchup stuff visible
// in headlines buffer (if any)
// disabled for now because this behavior is considered confusing -fox
dijit.byId("content-tabs").getChildren()[0]);
if (!background) {
+ _viewfeed_last = get_timestamp();
+
if (getActiveFeedId() != feed || offset == 0) {
active_post_id = 0;
_infscroll_disable = 0;
}
if (offset != 0 && !method) {
- var date = new Date();
- var timestamp = Math.round(date.getTime() / 1000);
+ var timestamp = get_timestamp();
if (_infscroll_request_sent && _infscroll_request_sent + 30 > timestamp) {
//console.log("infscroll request in progress, aborting");
if (_search_query) {
force_nocache = true;
query = query + "&" + _search_query;
- _search_query = false;
+ //_search_query = false;
}
if (offset != 0) {
hideOrShowFeeds(getInitParam("hide_read_feeds") == 1);
setTimeout("timeout()", 5000);
- setTimeout("precache_headlines_idle()", 3000);
+ setTimeout("precache_headlines_idle()", 15000);
} catch (e) {
exception_error("feedlist/init", e);
try {
- if (getInitParam("bw_limit") == "1") return;
+ //if (getInitParam("bw_limit") == "1") return;
var date = new Date();
var timestamp = Math.round(date.getTime() / 1000);
displayNewContentPrompt(id);
}
- if (getFeedUnread(id, (kind == "cat")) != ctr)
+ if (getFeedUnread(id, (kind == "cat")) != ctr ||
+ (kind == "cat")) {
+
cache_delete("feed:" + id + ":" + (kind == "cat"));
+ }
setFeedUnread(id, (kind == "cat"), ctr);