Form.enable("main_toolbar_form");
- const toolbar_query = Form.serialize("main_toolbar_form");
+ let query = Object.assign({op: "feeds", method: "view", feed: feed},
+ dojo.formToObject("main_toolbar_form"));
- let query = "?op=feeds&method=view&feed=" + param_escape(feed) + "&" +
- toolbar_query;
-
- if (method) query += "&m=" + param_escape(method);
+ if (method) query.m = method;
if (offset > 0) {
if (current_first_id) {
- query = query + "&fid=" + param_escape(current_first_id);
+ query.fid = current_first_id;
}
}
if (!background) {
if (_search_query) {
- query = query + "&" + _search_query;
- //_search_query = false;
+ query = Object.assign(query, _search_query);
}
if (offset != 0) {
- query = query + "&skip=" + offset;
+ query.skip = offset;
// to prevent duplicate feed titles when showing grouped vfeeds
if (vgroup_last_feed) {
- query = query + "&vgrlf=" + param_escape(vgroup_last_feed);
+ query.vgrlf = vgroup_last_feed;
}
} else if (!is_cat && feed == getActiveFeedId() && !params.method) {
- query = query + "&m=ForceUpdate";
+ query.m = "ForceUpdate";
}
Form.enable("main_toolbar_form");
notify_progress("Loading, please wait...", true);
}
- query += "&cat=" + is_cat;
+ query.cat = is_cat;
if (can_wait && _viewfeed_timeout) {
setFeedExpandoIcon(getActiveFeedId(), activeFeedIsCat(), 'images/blank_icon.gif');
setActiveFeedId(feed, is_cat);
if (viewfeed_debug) {
- window.open("backend.php" + query + "&debug=1&csrf_token=" + getInitParam("csrf_token"));
+ window.open("backend.php?" +
+ dojo.objectToQuery(
+ Object.assign({debug: 1, csrf_token: getInitParam("csrf_token")}, query)
+ ));
}
const timeout_ms = can_wait ? 250 : 0;
_viewfeed_timeout = setTimeout(() => {
xhrPost("backend.php", query, (transport) => {
- try {
- setFeedExpandoIcon(feed, is_cat, 'images/blank_icon.gif');
- headlines_callback2(transport, offset, background, infscroll_req);
- PluginHost.run(PluginHost.HOOK_FEED_LOADED, [feed, is_cat]);
- } catch (e) {
- exception_error(e);
- }
+ try {
+ setFeedExpandoIcon(feed, is_cat, 'images/blank_icon.gif');
+ headlines_callback2(transport, offset, background, infscroll_req);
+ PluginHost.run(PluginHost.HOOK_FEED_LOADED, [feed, is_cat]);
+ } catch (e) {
+ exception_error(e);
+ }
});
}, timeout_ms); // Wait 250ms
loading_set_progress(50);
document.onkeydown = hotkey_handler;
- setTimeout(hotkey_prefix_timeout, 5*1000);
+ setInterval(hotkey_prefix_timeout, 5*1000);
+ setInterval(catchupBatchedArticles, 3*1000);
if (!getActiveFeedId()) {
viewfeed({feed: -3});
}
// bw_limit disables timeout() so we request initial counters separately
- if (getInitParam("bw_limit") == "1") {
+ if (getInitParam("bw_limit") == "1") {
request_counters(true);
- } else {
- setTimeout(timeout, 250);
- }
+ } else {
+ setTimeout(timeout, 250);
+ }
}
query.last_article_id = getInitParam("last_article_id");
xhrPost("backend.php", query, (transport) => {
- handle_rpc_json(transport);
+ handle_rpc_json(transport);
});
} else {
notify_progress("Loading, please wait...", true);
xhrPost("backend.php", { op: "rpc", method: "catchupFeed", feed_id: id, is_cat: false}, (transport) => {
- handle_rpc_json(transport);
+ handle_rpc_json(transport);
});
}
}
notify_progress("Loading, please wait...", true);
xhrPost("backend.php", catchup_query, (transport) => {
- handle_rpc_json(transport);
+ handle_rpc_json(transport);
- const show_next_feed = getInitParam("on_catchup_show_next_feed") == "1";
+ const show_next_feed = getInitParam("on_catchup_show_next_feed") == "1";
- if (show_next_feed) {
- const nuf = getNextUnreadFeed(feed, is_cat);
+ if (show_next_feed) {
+ const nuf = getNextUnreadFeed(feed, is_cat);
- if (nuf) {
- viewfeed({feed: nuf, is_cat: is_cat});
- }
- } else if (feed == getActiveFeedId() && is_cat == activeFeedIsCat()) {
- viewCurrentFeed();
- }
+ if (nuf) {
+ viewfeed({feed: nuf, is_cat: is_cat});
+ }
+ } else if (feed == getActiveFeedId() && is_cat == activeFeedIsCat()) {
+ viewCurrentFeed();
+ }
- notify("");
+ notify("");
});
}