{"action":"created","issue":{"url":"https://api.github.com/repos/MatteoGabriele/vue-analytics/issues/95","repository_url":"https://api.github.com/repos/MatteoGabriele/vue-analytics","labels_url":"https://api.github.com/repos/MatteoGabriele/vue-analytics/issues/95/labels{/name}","comments_url":"https://api.github.com/repos/MatteoGabriele/vue-analytics/issues/95/comments","events_url":"https://api.github.com/repos/MatteoGabriele/vue-analytics/issues/95/events","html_url":"https://github.com/MatteoGabriele/vue-analytics/issues/95","id":299737177,"number":95,"title":"This plugin swallows all errors and makes local debugging impossible","user":{"login":"kylewelsby","id":110469,"avatar_url":"https://avatars1.githubusercontent.com/u/110469?v=4","gravatar_id":"","url":"https://api.github.com/users/kylewelsby","html_url":"https://github.com/kylewelsby","followers_url":"https://api.github.com/users/kylewelsby/followers","following_url":"https://api.github.com/users/kylewelsby/following{/other_user}","gists_url":"https://api.github.com/users/kylewelsby/gists{/gist_id}","starred_url":"https://api.github.com/users/kylewelsby/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylewelsby/subscriptions","organizations_url":"https://api.github.com/users/kylewelsby/orgs","repos_url":"https://api.github.com/users/kylewelsby/repos","events_url":"https://api.github.com/users/kylewelsby/events{/privacy}","received_events_url":"https://api.github.com/users/kylewelsby/received_events","type":"User","site_admin":false},"labels":[{"id":586429046,"url":"https://api.github.com/repos/MatteoGabriele/vue-analytics/labels/P2:%20Very%20Important","name":"P2: Very Important","color":"e99695","default":false},{"id":474069295,"url":"https://api.github.com/repos/MatteoGabriele/vue-analytics/labels/bug","name":"bug","color":"ee0701","default":true}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":9,"created_at":"2018-02-23T14:54:25Z","updated_at":"2018-03-03T12:51:03Z","closed_at":null,"author_association":"NONE","body":"If you are reporting a bug, please fill in below. Otherwise feel free to remove this template entirely.\r\n\r\n### Description\r\n\r\n[This bit of code](https://github.com/MatteoGabriele/vue-analytics/blob/master/src/lib/exception.js#L11-L16) needs to re-raise the handler like [other plugins do](https://github.com/getsentry/raven-js/blob/0fbdf951067e245bb605f530a4cb7f4f143f5ea7/plugins/vue.js#L24-L44)\r\n\r\n### Expected behavior\r\n\r\nAllow standard error handing to continue to be omitted to the browser to assist development. \r\n\r\n### Actual behavior\r\n\r\nAll errors are being swallowed.\r\n\r\n### Environment\r\n\r\nDevelopment\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/MatteoGabriele/vue-analytics/issues/comments/370145373","html_url":"https://github.com/MatteoGabriele/vue-analytics/issues/95#issuecomment-370145373","issue_url":"https://api.github.com/repos/MatteoGabriele/vue-analytics/issues/95","id":370145373,"user":{"login":"MatteoGabriele","id":5337152,"avatar_url":"https://avatars1.githubusercontent.com/u/5337152?v=4","gravatar_id":"","url":"https://api.github.com/users/MatteoGabriele","html_url":"https://github.com/MatteoGabriele","followers_url":"https://api.github.com/users/MatteoGabriele/followers","following_url":"https://api.github.com/users/MatteoGabriele/following{/other_user}","gists_url":"https://api.github.com/users/MatteoGabriele/gists{/gist_id}","starred_url":"https://api.github.com/users/MatteoGabriele/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MatteoGabriele/subscriptions","organizations_url":"https://api.github.com/users/MatteoGabriele/orgs","repos_url":"https://api.github.com/users/MatteoGabriele/repos","events_url":"https://api.github.com/users/MatteoGabriele/events{/privacy}","received_events_url":"https://api.github.com/users/MatteoGabriele/received_events","type":"User","site_admin":false},"created_at":"2018-03-03T12:51:03Z","updated_at":"2018-03-03T12:51:03Z","author_association":"OWNER","body":"because Vue is handling errors itself, I can't use `window.onerror` or eventListeners because they are swallowed already by Vue\r\n\r\nso this could be the new solution for that: it will track errors but they will be silent errors, because of `Vue.config.errorHandler`\r\n\r\nit is still possible to add a `Vue.config.errorHandler` **before** installing the plugin and it will be fired as well\r\n\r\n```js\r\n  if (!config.autoTracking.exception) {\r\n    return\r\n  }\r\n\r\n  const oldErrorHandler = Vue.config.errorHandler\r\n\r\n  Vue.config.errorHandler = (error, vm, info) => {\r\n    exception(error.message)\r\n\r\n    if (typeof oldErrorHandler === 'function') {\r\n      oldErrorHandler.call(this, error, vm, info)\r\n    }\r\n  }\r\n```\r\n\r\n"}}
{"actor":{"display_login":"MatteoGabriele"}}