diff --git a/js/debugLog.js b/js/debugLog.js index 9ae4b0b12..57ec4504e 100644 --- a/js/debugLog.js +++ b/js/debugLog.js @@ -33,5 +33,9 @@ }).fail(resolve); }); }; + + window.onerror = function(message, script, line, col, error) { + console.log(error); + }; } })(); diff --git a/js/index.js b/js/index.js index f4dc54ba4..18d7b1ab9 100644 --- a/js/index.js +++ b/js/index.js @@ -5,21 +5,36 @@ (function () { 'use strict'; + function logError(error) { + extension.windows.getBackground(function(bg) { + bg.console.log('index.html: ', error); + }); + } + + window.onerror = function(message, script, line, col, error) { + logError(error); + }; + var view; function render() { extension.windows.getBackground(function(bg) { extension.windows.getCurrent(function(appWindow) { - if (view) { view.remove(); } - var $body = bg.$('body',document).empty(); - view = new bg.Whisper.InboxView({appWindow: appWindow}); - view.$el.prependTo($body); - window.openConversation = function(conversation) { - if (conversation) { - view.openConversation(null, conversation); - } - }; - openConversation(bg.getOpenConversation()); + try { + if (view) { view.remove(); } + var $body = bg.$('body',document).empty(); + view = new bg.Whisper.InboxView({appWindow: appWindow}); + view.$el.prependTo($body); + window.openConversation = function(conversation) { + if (conversation) { + view.openConversation(null, conversation); + } + }; + openConversation(bg.getOpenConversation()); + } catch (e) { + logError(e); + } + }); }); }