From b5fd8738b4eebb9b2fe43a638aabc8134baa3180 Mon Sep 17 00:00:00 2001 From: Zixaphir Date: Mon, 12 Jan 2015 21:25:53 -0700 Subject: [PATCH] Make feature errors per post/thread, as they're supposed to be. --- builds/appchan-x.user.js | 31 ++++++++++++++++--------------- builds/crx/script.js | 31 ++++++++++++++++--------------- src/General/lib/callbacks.class | 16 +++++++++------- 3 files changed, 41 insertions(+), 37 deletions(-) diff --git a/builds/appchan-x.user.js b/builds/appchan-x.user.js index ae844d3e5..352aabd39 100644 --- a/builds/appchan-x.user.js +++ b/builds/appchan-x.user.js @@ -3141,26 +3141,27 @@ }; Callbacks.prototype.execute = function(nodes) { - var err, errors, name, node, _i, _j, _len, _len1, _ref; + var err, errors, feature, name, node, _i, _j, _len, _len1, _ref; _ref = this.keys; for (_i = 0, _len = _ref.length; _i < _len; _i++) { name = _ref[_i]; - try { - for (_j = 0, _len1 = nodes.length; _j < _len1; _j++) { - node = nodes[_j]; - if (!this[name].disconnected) { - this[name].call(node); + feature = this[name]; + for (_j = 0, _len1 = nodes.length; _j < _len1; _j++) { + node = nodes[_j]; + if (!feature.disconnected) { + try { + feature.call(node); + } catch (_error) { + err = _error; + if (!errors) { + errors = []; + } + errors.push({ + message: ['"', name, '" crashed on node ', this.type, ' No.', node.ID, ' (', node.board, ').'].join(''), + error: err + }); } } - } catch (_error) { - err = _error; - if (!errors) { - errors = []; - } - errors.push({ - message: ['"', name, '" crashed on node ', this.type, ' No.', node.ID, ' (', node.board, ').'].join(''), - error: err - }); } } if (errors) { diff --git a/builds/crx/script.js b/builds/crx/script.js index 2ffa5d238..004fb014e 100644 --- a/builds/crx/script.js +++ b/builds/crx/script.js @@ -3167,26 +3167,27 @@ }; Callbacks.prototype.execute = function(nodes) { - var err, errors, name, node, _i, _j, _len, _len1, _ref; + var err, errors, feature, name, node, _i, _j, _len, _len1, _ref; _ref = this.keys; for (_i = 0, _len = _ref.length; _i < _len; _i++) { name = _ref[_i]; - try { - for (_j = 0, _len1 = nodes.length; _j < _len1; _j++) { - node = nodes[_j]; - if (!this[name].disconnected) { - this[name].call(node); + feature = this[name]; + for (_j = 0, _len1 = nodes.length; _j < _len1; _j++) { + node = nodes[_j]; + if (!feature.disconnected) { + try { + feature.call(node); + } catch (_error) { + err = _error; + if (!errors) { + errors = []; + } + errors.push({ + message: ['"', name, '" crashed on node ', this.type, ' No.', node.ID, ' (', node.board, ').'].join(''), + error: err + }); } } - } catch (_error) { - err = _error; - if (!errors) { - errors = []; - } - errors.push({ - message: ['"', name, '" crashed on node ', this.type, ' No.', node.ID, ' (', node.board, ').'].join(''), - error: err - }); } } if (errors) { diff --git a/src/General/lib/callbacks.class b/src/General/lib/callbacks.class index df6de52d1..11cac8b55 100644 --- a/src/General/lib/callbacks.class +++ b/src/General/lib/callbacks.class @@ -12,12 +12,14 @@ class Callbacks execute: (nodes) -> for name in @keys - try - @[name].call node for node in nodes when not @[name].disconnected - catch err - errors = [] unless errors - errors.push - message: ['"', name, '" crashed on node ', @type, ' No.', node.ID, ' (', node.board, ').'].join('') - error: err + feature = @[name] + for node in nodes when not feature.disconnected + try + feature.call node + catch err + errors = [] unless errors + errors.push + message: ['"', name, '" crashed on node ', @type, ' No.', node.ID, ' (', node.board, ').'].join('') + error: err Main.handleErrors errors if errors