From e0a957b3f66f1fb35060e51c63f0a271d9a7d938 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sun, 5 Mar 2017 10:30:49 +0300 Subject: [PATCH] use try/catch block in updatefeedlist remove reporting function from exception dialog --- css/tt-rss.css | 4 +- js/functions.js | 35 +------------ js/tt-rss.js | 128 +++++++++++++++++++++++++----------------------- 3 files changed, 70 insertions(+), 97 deletions(-) diff --git a/css/tt-rss.css b/css/tt-rss.css index b6469c094..b470931bd 100644 --- a/css/tt-rss.css +++ b/css/tt-rss.css @@ -817,8 +817,8 @@ div.fatalError button { } div.fatalError textarea { - width : 100%; - height : 100px; + width : 565px; + height : 200px; } #ttrssMain #main { diff --git a/js/functions.js b/js/functions.js index 134ce0b18..ddb27cba1 100755 --- a/js/functions.js +++ b/js/functions.js @@ -55,34 +55,19 @@ function exception_error(e, e_compat) { var msg = e.toString(); - msg += "

"+ __("The error will be reported to the configured log destination.") + - "

"; - console.error(msg); - var content = "
" + - "
" + msg + "
"; + var content = "

" + msg + "

"; - content += "
"; - - content += ""; - content += ""; - - if (e) { + if (e.stack) { content += "
Stack trace:
" + ""; } - content += "
"; - content += "
"; content += "
"; - content += " "; content += ""; @@ -95,22 +80,6 @@ function exception_error(e, e_compat) { id: "exceptionDlg", title: "Unhandled exception", style: "width: 600px", - report: function() { - if (confirm(__("Are you sure to report this exception to tt-rss.org? The report will include information about your web browser and tt-rss configuration. Your IP will be saved in the database."))) { - - document.forms['exceptionForm'].params.value = $H({ - browserName: navigator.appName, - browserVersion: navigator.appVersion, - browserPlatform: navigator.platform, - browserCookies: navigator.cookieEnabled, - ttrssVersion: __ttrss_version, - initParams: JSON.stringify(init_params), - }).toQueryString(); - - document.forms['exceptionForm'].submit(); - - } - }, content: content}); dialog.show(); diff --git a/js/tt-rss.js b/js/tt-rss.js index ed305a8bb..244bbd8ed 100644 --- a/js/tt-rss.js +++ b/js/tt-rss.js @@ -41,72 +41,76 @@ function setActiveFeedId(id, is_cat) { function updateFeedList() { + try { + Element.show("feedlistLoading"); - Element.show("feedlistLoading"); + resetCounterCache(); - resetCounterCache(); - - if (dijit.byId("feedTree")) { - dijit.byId("feedTree").destroyRecursive(); - } - - var store = new dojo.data.ItemFileWriteStore({ - url: "backend.php?op=pref_feeds&method=getfeedtree&mode=2"}); - - var treeModel = new fox.FeedStoreModel({ - store: store, - query: { - "type": getInitParam('enable_feed_cats') == 1 ? "category" : "feed" - }, - rootId: "root", - rootLabel: "Feeds", - childrenAttrs: ["items"] - }); - - var tree = new fox.FeedTree({ - model: treeModel, - onClick: function (item, node) { - var id = String(item.id); - var is_cat = id.match("^CAT:"); - var feed = id.substr(id.indexOf(":")+1); - viewfeed({feed: feed, is_cat: is_cat}); - return false; - }, - openOnClick: false, - showRoot: false, - persist: true, - id: "feedTree", - }, "feedTree"); - -/* var menu = new dijit.Menu({id: 'feedMenu'}); - - menu.addChild(new dijit.MenuItem({ - label: "Simple menu item" - })); - -// menu.bindDomNode(tree.domNode); */ - - var tmph = dojo.connect(dijit.byId('feedMenu'), '_openMyself', function (event) { - console.log(dijit.getEnclosingWidget(event.target)); - dojo.disconnect(tmph); - }); - - $("feeds-holder").appendChild(tree.domNode); - - var tmph = dojo.connect(tree, 'onLoad', function() { - dojo.disconnect(tmph); - Element.hide("feedlistLoading"); - - try { - feedlist_init(); - - loading_set_progress(25); - } catch (e) { - exception_error(e); + if (dijit.byId("feedTree")) { + dijit.byId("feedTree").destroyRecursive(); } - }); - tree.startup(); + var store = new dojo.data.ItemFileWriteStore({ + url: "backend.php?op=pref_feeds&method=getfeedtree&mode=2" + }); + + var treeModel = new fox.FeedStoreModel({ + store: store, + query: { + "type": getInitParam('enable_feed_cats') == 1 ? "category" : "feed" + }, + rootId: "root", + rootLabel: "Feeds", + childrenAttrs: ["items"] + }); + + var tree = new fox.FeedTree({ + model: treeModel, + onClick: function (item, node) { + var id = String(item.id); + var is_cat = id.match("^CAT:"); + var feed = id.substr(id.indexOf(":") + 1); + viewfeed({feed: feed, is_cat: is_cat}); + return false; + }, + openOnClick: false, + showRoot: false, + persist: true, + id: "feedTree", + }, "feedTree"); + + /* var menu = new dijit.Menu({id: 'feedMenu'}); + + menu.addChild(new dijit.MenuItem({ + label: "Simple menu item" + })); + + // menu.bindDomNode(tree.domNode); */ + + var tmph = dojo.connect(dijit.byId('feedMenu'), '_openMyself', function (event) { + console.log(dijit.getEnclosingWidget(event.target)); + dojo.disconnect(tmph); + }); + + $("feeds-holder").appendChild(tree.domNode); + + var tmph = dojo.connect(tree, 'onLoad', function () { + dojo.disconnect(tmph); + Element.hide("feedlistLoading"); + + try { + feedlist_init(); + + loading_set_progress(25); + } catch (e) { + exception_error(e); + } + }); + + tree.startup(); + } catch (e) { + exception_error(e); + } } function catchupAllFeeds() {