summaryrefslogtreecommitdiff
path: root/tt-rss.js
diff options
context:
space:
mode:
Diffstat (limited to 'tt-rss.js')
-rw-r--r--tt-rss.js50
1 files changed, 50 insertions, 0 deletions
diff --git a/tt-rss.js b/tt-rss.js
index b97a19aa1..e755faf70 100644
--- a/tt-rss.js
+++ b/tt-rss.js
@@ -1250,3 +1250,53 @@ function showFeedsWithErrors() {
displayDlg('feedUpdateErrors');
}
+function handle_rpc_reply(transport, scheduled_call) {
+ try {
+ if (offline_mode) return false;
+
+ if (!transport.responseText && db) {
+ offlineConfirmModeChange();
+ return false;
+ }
+
+ if (transport.responseXML) {
+
+ if (!transport_error_check(transport)) return false;
+
+ var message = transport.responseXML.getElementsByTagName("message")[0];
+
+ if (message) {
+ message = message.firstChild.nodeValue;
+
+ if (message == "UPDATE_COUNTERS") {
+ setInitParam("last_article_id", -1);
+ _force_scheduled_update = true;
+ }
+ }
+
+ var counters = transport.responseXML.getElementsByTagName("counters")[0];
+
+ if (counters)
+ parse_counters(counters, scheduled_call);
+
+ var runtime_info = transport.responseXML.getElementsByTagName("runtime-info")[0];
+
+ if (runtime_info)
+ parse_runtime_info(runtime_info);
+
+ if (feedsSortByUnread())
+ resort_feedlist();
+
+ hideOrShowFeeds(getInitParam("hide_read_feeds") == 1);
+
+ } else {
+ notify_error("Error communicating with server.");
+ }
+
+ } catch (e) {
+ exception_error("handle_rpc_reply", e, transport);
+ }
+
+ return true;
+}
+