This repository has been archived by the owner on Mar 10, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 4
Ravenjs #356
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
yes! nikel! on teste deja sur l'application staging pour voir si l'app marche correctement? |
Bien joué ! Je ne suis pas sûr de comprendre:
Effectivement, à la lecture de ce message, je vois difficilement comment débugger quoi que ce soit : main.bundle.js est bundlé et minifié, aucune chance de retrouver l'erreur qui a déclenché ça, si ? Je n'ai jamais utilisé ce genre d'outils. Pour moi ce qui est chez le client reste chez le client ... |
Même avec un JS minifié :
ça a beaucoup de valeur. |
{
"project": "client_errors",
"logger": "javascript",
"platform": "javascript",
"request": {
"headers": {
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36",
"Referer": "http://localhost:3000/decouverte/tuto/A9"
},
"url": "http://localhost:3000/decouverte/tuto/A9"
},
"exception": {
"values": [{
"type": "Error",
"value": "Non-Error exception captured with keys: message, name",
"stacktrace": {
"frames": [{
"filename": "http://localhost:3000/static/js/main.bundle.js",
"lineno": 49216,
"colno": 14,
"function": "HTMLDocument.wrapped",
"in_app": true
}, {
"filename": "http://localhost:3000/static/js/main.bundle.js",
"lineno": 49336,
"colno": 12,
"function": "Raven.captureException",
"in_app": false
}]
}
}],
"mechanism": {
"type": "instrument",
"handled": true,
"data": {
"target": "EventTarget",
"function": "addEventListener",
"handler": "bound dispatchInteractiveEvent"
}
}
},
"transaction": "http://localhost:3000/static/js/main.bundle.js",
"trimHeadFrames": 0,
"message": "Non-Error exception captured with keys: message, name",
"fingerprint": ["222fee9291820c011821499e971c192e"],
"extra": {
"__serialized__": {
"message": "InvalidMonthNo",
"name": "UserException"
},
"session:duration": 66641
},
"breadcrumbs": {
"values": [{
"timestamp": 1530622442.789,
"message": "Geoloc received [object Position]",
"level": "log",
"category": "console"
}, {
"timestamp": 1530622442.939,
"message": "./src/components/BookingItem.js\n Line 5: 'TimeAgo' is defined but never used no-unused-vars\n Line 15: 'formatter' is assigned a value but never used no-unused-vars",
"level": "warning",
"category": "console"
}, {
"timestamp": 1530622473.761,
"message": "React Hot Loader: this component is not accepted by Hot Loader. \nPlease check is it extracted as a top level class, a function or a variable. \nClick below to reveal the source location: \n function Connect(props, context) {\n _classCallCheck(this, Connect);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));\n\n _this.version = version;\n _this.state = {};\n _this.renderCount = 0;\n _this.store = props[storeKey] || context[storeKey];\n _this.propsMode = Boolean(props[storeKey]);\n _this.setWrappedInstance = _this.setWrappedInstance.bind(_this);\n\n __WEBPACK_IMPORTED_MODULE_1_invariant___default()(_this.store, 'Could not find \"' + storeKey + '\" in either the context or props of ' + ('\"' + displayName + '\". Either wrap the root component in a <Provider>, ') + ('or explicitly pass \"' + storeKey + '\" as a prop to \"' + displayName + '\".'));\n\n _this.initSelector();\n _this.initSubscription();\n return _this;\n }",
"level": "warning",
"category": "console"
}, {
"timestamp": 1530622473.762,
"message": "React Hot Loader: this component is not accepted by Hot Loader. \nPlease check is it extracted as a top level class, a function or a variable. \nClick below to reveal the source location: \n function _withLogin() {\n _classCallCheck(this, _withLogin);\n\n var _this = _possibleConstructorReturn(this, (_withLogin.__proto__ || Object.getPrototypeOf(_withLogin)).call(this));\n\n _this.componentWillMount = function () {\n return _this.__componentWillMount__REACT_HOT_LOADER__.apply(_this, arguments);\n };\n\n _this.componentWillReceiveProps = function () {\n return _this.__componentWillReceiveProps__REACT_HOT_LOADER__.apply(_this, arguments);\n };\n\n _this.hasBackendRequest = false;\n _this.state = { hasConfirmRequest: false };\n return _this;\n }",
"level": "warning",
"category": "console"
}, {
"timestamp": 1530622473.769,
"message": "React Hot Loader: this component is not accepted by Hot Loader. \nPlease check is it extracted as a top level class, a function or a variable. \nClick below to reveal the source location: \n function C(props) {\n var wrappedComponentRef = props.wrappedComponentRef,\n remainingProps = _objectWithoutProperties(props, ['wrappedComponentRef']);\n\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3__Route__[\"a\" /* default */], { render: function render(routeComponentProps) {\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(Component, _extends({}, remainingProps, routeComponentProps, { ref: wrappedComponentRef }));\n } });\n }",
"level": "warning",
"category": "console"
}, {
"timestamp": 1530622473.775,
"message": "React Hot Loader: this component is not accepted by Hot Loader. \nPlease check is it extracted as a top level class, a function or a variable. \nClick below to reveal the source location: \n function Connect(props, context) {\n _classCallCheck(this, Connect);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));\n\n _this.version = version;\n _this.state = {};\n _this.renderCount = 0;\n _this.store = props[storeKey] || context[storeKey];\n _this.propsMode = Boolean(props[storeKey]);\n _this.setWrappedInstance = _this.setWrappedInstance.bind(_this);\n\n __WEBPACK_IMPORTED_MODULE_1_invariant___default()(_this.store, 'Could not find \"' + storeKey + '\" in either the context or props of ' + ('\"' + displayName + '\". Either wrap the root component in a <Provider>, ') + ('or explicitly pass \"' + storeKey + '\" as a prop to \"' + displayName + '\".'));\n\n _this.initSelector();\n _this.initSubscription();\n return _this;\n }",
"level": "warning",
"category": "console"
}, {
"timestamp": 1530622473.783,
"message": "React Hot Loader: this component is not accepted by Hot Loader. \nPlease check is it extracted as a top level class, a function or a variable. \nClick below to reveal the source location: \n function r(t,e){E(this,r);var n=M(this,(r.__proto__||Object.getPrototypeOf(r)).call(this,t,e));return n.dispatchSizes=function(){var t=n.getPropsToPass();j(t,n.state.propsToPass)&&n.setState({propsToPass:t})},n.throttledDispatchSizes=k(n.dispatchSizes,n.context.throttle||200),n.getWindowSizesWithFallback=function(){var t=n.context[A]||{},e=t.fallbackHeight,r=t.fallbackWidth;return P({fallbackHeight:void 0===e?null:e,fallbackWidth:void 0===r?null:r})},n.getPropsToPass=function(){return o(n.getWindowSizesWithFallback(),n.props)},n.state={initialSizes:n.getWindowSizesWithFallback(),propsToPass:n.getPropsToPass()},n}",
"level": "warning",
"category": "console"
}, {
"timestamp": 1530622473.785,
"message": "React Hot Loader: this component is not accepted by Hot Loader. \nPlease check is it extracted as a top level class, a function or a variable. \nClick below to reveal the source location: \n function Connect(props, context) {\n _classCallCheck(this, Connect);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));\n\n _this.version = version;\n _this.state = {};\n _this.renderCount = 0;\n _this.store = props[storeKey] || context[storeKey];\n _this.propsMode = Boolean(props[storeKey]);\n _this.setWrappedInstance = _this.setWrappedInstance.bind(_this);\n\n __WEBPACK_IMPORTED_MODULE_1_invariant___default()(_this.store, 'Could not find \"' + storeKey + '\" in either the context or props of ' + ('\"' + displayName + '\". Either wrap the root component in a <Provider>, ') + ('or explicitly pass \"' + storeKey + '\" as a prop to \"' + displayName + '\".'));\n\n _this.initSelector();\n _this.initSubscription();\n return _this;\n }",
"level": "warning",
"category": "console"
}, {
"timestamp": 1530622473.9,
"message": "./src/components/BookingItem.js\n Line 5: 'frenchStrings' is defined but never used no-unused-vars\n Line 6: 'buildFormatter' is defined but never used no-unused-vars",
"level": "warning",
"category": "console"
}, {
"timestamp": 1530622488.635,
"message": "React Hot Loader: this component is not accepted by Hot Loader. \nPlease check is it extracted as a top level class, a function or a variable. \nClick below to reveal the source location: \n function Connect(props, context) {\n _classCallCheck(this, Connect);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));\n\n _this.version = version;\n _this.state = {};\n _this.renderCount = 0;\n _this.store = props[storeKey] || context[storeKey];\n _this.propsMode = Boolean(props[storeKey]);\n _this.setWrappedInstance = _this.setWrappedInstance.bind(_this);\n\n __WEBPACK_IMPORTED_MODULE_1_invariant___default()(_this.store, 'Could not find \"' + storeKey + '\" in either the context or props of ' + ('\"' + displayName + '\". Either wrap the root component in a <Provider>, ') + ('or explicitly pass \"' + storeKey + '\" as a prop to \"' + displayName + '\".'));\n\n _this.initSelector();\n _this.initSubscription();\n return _this;\n }",
"level": "warning",
"category": "console"
}, {
"timestamp": 1530622488.636,
"message": "React Hot Loader: this component is not accepted by Hot Loader. \nPlease check is it extracted as a top level class, a function or a variable. \nClick below to reveal the source location: \n function _withLogin() {\n _classCallCheck(this, _withLogin);\n\n var _this = _possibleConstructorReturn(this, (_withLogin.__proto__ || Object.getPrototypeOf(_withLogin)).call(this));\n\n _this.componentWillMount = function () {\n return _this.__componentWillMount__REACT_HOT_LOADER__.apply(_this, arguments);\n };\n\n _this.componentWillReceiveProps = function () {\n return _this.__componentWillReceiveProps__REACT_HOT_LOADER__.apply(_this, arguments);\n };\n\n _this.hasBackendRequest = false;\n _this.state = { hasConfirmRequest: false };\n return _this;\n }",
"level": "warning",
"category": "console"
}, {
"timestamp": 1530622488.638,
"message": "React Hot Loader: this component is not accepted by Hot Loader. \nPlease check is it extracted as a top level class, a function or a variable. \nClick below to reveal the source location: \n function C(props) {\n var wrappedComponentRef = props.wrappedComponentRef,\n remainingProps = _objectWithoutProperties(props, ['wrappedComponentRef']);\n\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3__Route__[\"a\" /* default */], { render: function render(routeComponentProps) {\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(Component, _extends({}, remainingProps, routeComponentProps, { ref: wrappedComponentRef }));\n } });\n }",
"level": "warning",
"category": "console"
}, {
"timestamp": 1530622488.639,
"message": "React Hot Loader: this component is not accepted by Hot Loader. \nPlease check is it extracted as a top level class, a function or a variable. \nClick below to reveal the source location: \n function Connect(props, context) {\n _classCallCheck(this, Connect);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));\n\n _this.version = version;\n _this.state = {};\n _this.renderCount = 0;\n _this.store = props[storeKey] || context[storeKey];\n _this.propsMode = Boolean(props[storeKey]);\n _this.setWrappedInstance = _this.setWrappedInstance.bind(_this);\n\n __WEBPACK_IMPORTED_MODULE_1_invariant___default()(_this.store, 'Could not find \"' + storeKey + '\" in either the context or props of ' + ('\"' + displayName + '\". Either wrap the root component in a <Provider>, ') + ('or explicitly pass \"' + storeKey + '\" as a prop to \"' + displayName + '\".'));\n\n _this.initSelector();\n _this.initSubscription();\n return _this;\n }",
"level": "warning",
"category": "console"
}, {
"timestamp": 1530622488.641,
"message": "React Hot Loader: this component is not accepted by Hot Loader. \nPlease check is it extracted as a top level class, a function or a variable. \nClick below to reveal the source location: \n function r(t,e){E(this,r);var n=M(this,(r.__proto__||Object.getPrototypeOf(r)).call(this,t,e));return n.dispatchSizes=function(){var t=n.getPropsToPass();j(t,n.state.propsToPass)&&n.setState({propsToPass:t})},n.throttledDispatchSizes=k(n.dispatchSizes,n.context.throttle||200),n.getWindowSizesWithFallback=function(){var t=n.context[A]||{},e=t.fallbackHeight,r=t.fallbackWidth;return P({fallbackHeight:void 0===e?null:e,fallbackWidth:void 0===r?null:r})},n.getPropsToPass=function(){return o(n.getWindowSizesWithFallback(),n.props)},n.state={initialSizes:n.getWindowSizesWithFallback(),propsToPass:n.getPropsToPass()},n}",
"level": "warning",
"category": "console"
}, {
"timestamp": 1530622488.643,
"message": "React Hot Loader: this component is not accepted by Hot Loader. \nPlease check is it extracted as a top level class, a function or a variable. \nClick below to reveal the source location: \n function Connect(props, context) {\n _classCallCheck(this, Connect);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));\n\n _this.version = version;\n _this.state = {};\n _this.renderCount = 0;\n _this.store = props[storeKey] || context[storeKey];\n _this.propsMode = Boolean(props[storeKey]);\n _this.setWrappedInstance = _this.setWrappedInstance.bind(_this);\n\n __WEBPACK_IMPORTED_MODULE_1_invariant___default()(_this.store, 'Could not find \"' + storeKey + '\" in either the context or props of ' + ('\"' + displayName + '\". Either wrap the root component in a <Provider>, ') + ('or explicitly pass \"' + storeKey + '\" as a prop to \"' + displayName + '\".'));\n\n _this.initSelector();\n _this.initSubscription();\n return _this;\n }",
"level": "warning",
"category": "console"
}, {
"timestamp": 1530622491.317,
"message": "Geoloc received [object Position]",
"level": "log",
"category": "console"
}, {
"timestamp": 1530622507.345,
"category": "ui.click",
"message": "footer.menu-button.bordered > div.button-wrapper > button > img[alt=\"Mon menu\"]"
}, {
"timestamp": 1530622507.362,
"category": "sentry",
"message": "Error: Non-Error exception captured with keys: message, name",
"event_id": "673e824ae9b3408bacb0d164ba01745d",
"level": "error"
}, {
"timestamp": 1530622507.383,
"message": "The above error occurred in the <Menu> component:\n in Menu (created by Connect(Menu))\n in Connect(Menu) (at MenuButton.js:11)\n in ContentComponent (at Modal.js:126)\n in div (at Modal.js:125)\n in div (at Modal.js:108)\n in div (at Modal.js:100)\n in Modal (created by Connect(Modal))\n in Connect(Modal) (at App.js:15)\n in div (at Debug.js:59)\n in Debug (created by Connect(Debug))\n in Connect(Debug) (at App.js:12)\n in App (at Root.js:31)\n in Router (created by ConnectedRouter)\n in ConnectedRouter (at Root.js:30)\n in Provider (at Root.js:29)\n in Root (at index.js:21)\n in AppContainer (at index.js:20)\n\nReact will try to recreate this component tree from scratch using the error boundary you provided, AppContainer.",
"level": "error",
"category": "console"
}, {
"timestamp": 1530622507.383,
"message": "[object Object]",
"level": "error",
"category": "console"
}, {
"timestamp": 1530622507.441,
"message": "The above error occurred in the <Menu> component:\n in Menu (created by Connect(Menu))\n in Connect(Menu) (at MenuButton.js:11)\n in ContentComponent (at Modal.js:126)\n in div (at Modal.js:125)\n in div (at Modal.js:108)\n in div (at Modal.js:100)\n in Modal (created by Connect(Modal))\n in Connect(Modal) (at App.js:15)\n in div (at Debug.js:59)\n in Debug (created by Connect(Debug))\n in Connect(Debug) (at App.js:12)\n in App (at Root.js:31)\n in Router (created by ConnectedRouter)\n in ConnectedRouter (at Root.js:30)\n in Provider (at Root.js:29)\n in Root (at index.js:21)\n in AppContainer (at index.js:20)\n\nConsider adding an error boundary to your tree to customize error handling behavior.\nVisit https://fb.me/react-error-boundaries to learn more about error boundaries.",
"level": "error",
"category": "console"
}]
},
"environment": "development",
"release": "0.1.2",
"event_id": "79b03d7cb2b5471a8c27d3f819f36d3b"
} |
Autre type de message envoyé par mail {
"project": "client_errors",
"logger": "javascript",
"platform": "javascript",
"request": {
"headers": {
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36",
"Referer": "http://localhost:3000/decouverte/tuto/A9"
},
"url": "http://localhost:3000/decouverte/tuto/A9"
},
"exception": {
"values": [{
"type": "Error",
"value": "Non-Error exception captured with keys: message, name",
"stacktrace": {
"frames": [{
"filename": "http://localhost:3000/static/js/main.bundle.js",
"lineno": 49216,
"colno": 14,
"function": "HTMLDocument.wrapped",
"in_app": true
}, {
"filename": "http://localhost:3000/static/js/main.bundle.js",
"lineno": 49336,
"colno": 12,
"function": "Raven.captureException",
"in_app": false
}]
}
}],
"mechanism": {
"type": "instrument",
"handled": true,
"data": {
"target": "EventTarget",
"function": "addEventListener",
"handler": "bound dispatchInteractiveEvent"
}
}
},
"transaction": "http://localhost:3000/static/js/main.bundle.js",
"trimHeadFrames": 0,
"message": "Non-Error exception captured with keys: message, name",
"fingerprint": ["222fee9291820c011821499e971c192e"],
"extra": {
"__serialized__": {
"message": "InvalidMonthNo",
"name": "UserException"
},
"session:duration": 10615
},
"breadcrumbs": {
"values": [{
"timestamp": 1530622683.194,
"category": "navigation",
"data": {
"to": "/decouverte/empty",
"from": "/decouverte/tuto/A9"
}
}, {
"timestamp": 1530622685.471,
"message": "Geoloc received [object Position]",
"level": "log",
"category": "console"
}, {
"timestamp": 1530622687.211,
"category": "navigation",
"data": {
"to": "/decouverte/tuto/A9",
"from": "/decouverte/empty"
}
}, {
"timestamp": 1530622691.837,
"category": "ui.click",
"message": "footer.menu-button.bordered > div.button-wrapper > button > img[alt=\"Mon menu\"]"
}, {
"timestamp": 1530622691.853,
"category": "sentry",
"message": "Error: Non-Error exception captured with keys: message, name",
"event_id": "bbf2830d9da34104873e143aebc76a0c",
"level": "error"
}, {
"timestamp": 1530622691.879,
"message": "The above error occurred in the <Menu> component:\n in Menu (created by Connect(Menu))\n in Connect(Menu) (at MenuButton.js:11)\n in ContentComponent (at Modal.js:126)\n in div (at Modal.js:125)\n in div (at Modal.js:108)\n in div (at Modal.js:100)\n in Modal (created by Connect(Modal))\n in Connect(Modal) (at App.js:15)\n in div (at Debug.js:59)\n in Debug (created by Connect(Debug))\n in Connect(Debug) (at App.js:12)\n in App (at Root.js:31)\n in Router (created by ConnectedRouter)\n in ConnectedRouter (at Root.js:30)\n in Provider (at Root.js:29)\n in Root (at index.js:15)\n\nConsider adding an error boundary to your tree to customize error handling behavior.\nVisit https://fb.me/react-error-boundaries to learn more about error boundaries.",
"level": "error",
"category": "console"
}]
},
"environment": "development",
"release": "0.1.2",
"event_id": "72466672ab27476fbaee05f021c6e2a6"
} |
Cool, bien joué ! |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
To do au 03/07:
C'est fonctionnel, il reste encore la qualité du payload fourni par Raven quand le post est fait: #Old browsers cause [object Event] to be logged getsentry/sentry-javascript#360
Voir également si on configure le context
Quels autres paramètre peut-on configurer ?
https://github.com/getsentry/raven-js/blob/master/docs/usage.rst
Filter le payload pour ne remonter que certaines erreurs.
cf plus bas