Skip to content
This repository has been archived by the owner on Oct 11, 2022. It is now read-only.

Don't double-load raven-js #4275

Merged
merged 2 commits into from Nov 20, 2018
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 0 additions & 1 deletion api/package.json
Expand Up @@ -88,7 +88,6 @@
"prismjs": "^1.15.0",
"query-string": "5.1.1",
"raven": "^2.6.4",
"raven-js": "^3.27.0",
"react": "^15.4.1",
"react-app-rewire-styled-components": "^3.0.2",
"react-app-rewired": "^1.6.2",
Expand Down
5 changes: 0 additions & 5 deletions api/yarn.lock
Expand Up @@ -7668,11 +7668,6 @@ range-parser@~1.2.0:
resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e"
integrity sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=

raven-js@^3.27.0:
version "3.27.0"
resolved "https://registry.yarnpkg.com/raven-js/-/raven-js-3.27.0.tgz#9f47c03e17933ce756e189f3669d49c441c1ba6e"
integrity sha512-vChdOL+yzecfnGA+B5EhEZkJ3kY3KlMzxEhShKh6Vdtooyl0yZfYNFQfYzgMf2v4pyQa+OTZ5esTxxgOOZDHqw==

raven@^2.6.4:
version "2.6.4"
resolved "https://registry.yarnpkg.com/raven/-/raven-2.6.4.tgz#458d4a380c8fbb59e0150c655625aaf60c167ea3"
Expand Down
1 change: 0 additions & 1 deletion package.json
Expand Up @@ -145,7 +145,6 @@
"query-string": "5.1.1",
"raf": "^3.4.0",
"raven": "^2.6.4",
"raven-js": "^3.27.0",
"react": "16.4.2",
"react-apollo": "^2.2.4",
"react-app-rewire-styled-components": "^3.0.0",
Expand Down
69 changes: 32 additions & 37 deletions public/index.html
Expand Up @@ -32,47 +32,42 @@
a.defer = 1;
a.src = g;
m.parentNode.insertBefore(a, m);
})
(
window,
document,
'script',
'https://www.google-analytics.com/analytics.js',
'ga'
);
})(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');

ga('create', 'UA-92673909-1', 'auto');
ga('send', 'pageview');
ga('set', 'anonymizeIp', true);
</script>

<script type="text/javascript">
(function(e,t){var n=e.amplitude||{_q:[],_iq:{}};var r=t.createElement("script")
;r.type="text/javascript";r.async=true
;r.src="https://cdn.amplitude.com/libs/amplitude-4.2.1-min.gz.js"
;r.onload=function(){if(e.amplitude.runQueuedFunctions){
e.amplitude.runQueuedFunctions()}else{
console.log("[Amplitude] Error: could not load SDK")}}
;var i=t.getElementsByTagName("script")[0];i.parentNode.insertBefore(r,i)
;function s(e,t){e.prototype[t]=function(){
this._q.push([t].concat(Array.prototype.slice.call(arguments,0)));return this}}
var o=function(){this._q=[];return this}
;var a=["add","append","clearAll","prepend","set","setOnce","unset"]
;for(var u=0;u<a.length;u++){s(o,a[u])}n.Identify=o;var c=function(){this._q=[]
;return this}
;var l=["setProductId","setQuantity","setPrice","setRevenueType","setEventProperties"]
;for(var p=0;p<l.length;p++){s(c,l[p])}n.Revenue=c
;var d=["init","logEvent","logRevenue","setUserId","setUserProperties","setOptOut","setVersionName","setDomain","setDeviceId","setGlobalUserProperties","identify","clearUserProperties","setGroup","logRevenueV2","regenerateDeviceId","logEventWithTimestamp","logEventWithGroups","setSessionId","resetSessionId"]
;function v(e){function t(t){e[t]=function(){
e._q.push([t].concat(Array.prototype.slice.call(arguments,0)))}}
for(var n=0;n<d.length;n++){t(d[n])}}v(n);n.getInstance=function(e){
e=(!e||e.length===0?"$default_instance":e).toLowerCase()
;if(!n._iq.hasOwnProperty(e)){n._iq[e]={_q:[]};v(n._iq[e])}return n._iq[e]}
;e.amplitude=n})(window,document);
</script>
ga('create', 'UA-92673909-1', 'auto');
ga('send', 'pageview');
ga('set', 'anonymizeIp', true);
</script>

<script type="text/javascript">
(function(e,t){var n=e.amplitude||{_q:[],_iq:{}};var r=t.createElement("script")
;r.type="text/javascript";r.async=true
;r.src="https://cdn.amplitude.com/libs/amplitude-4.2.1-min.gz.js"
;r.onload=function(){if(e.amplitude.runQueuedFunctions){
e.amplitude.runQueuedFunctions()}else{
console.log("[Amplitude] Error: could not load SDK")}}
;var i=t.getElementsByTagName("script")[0];i.parentNode.insertBefore(r,i)
;function s(e,t){e.prototype[t]=function(){
this._q.push([t].concat(Array.prototype.slice.call(arguments,0)));return this}}
var o=function(){this._q=[];return this}
;var a=["add","append","clearAll","prepend","set","setOnce","unset"]
;for(var u=0;u<a.length;u++){s(o,a[u])}n.Identify=o;var c=function(){this._q=[]
;return this}
;var l=["setProductId","setQuantity","setPrice","setRevenueType","setEventProperties"]
;for(var p=0;p<l.length;p++){s(c,l[p])}n.Revenue=c
;var d=["init","logEvent","logRevenue","setUserId","setUserProperties","setOptOut","setVersionName","setDomain","setDeviceId","setGlobalUserProperties","identify","clearUserProperties","setGroup","logRevenueV2","regenerateDeviceId","logEventWithTimestamp","logEventWithGroups","setSessionId","resetSessionId"]
;function v(e){function t(t){e[t]=function(){
e._q.push([t].concat(Array.prototype.slice.call(arguments,0)))}}
for(var n=0;n<d.length;n++){t(d[n])}}v(n);n.getInstance=function(e){
e=(!e||e.length===0?"$default_instance":e).toLowerCase()
;if(!n._iq.hasOwnProperty(e)){n._iq[e]={_q:[]};v(n._iq[e])}return n._iq[e]}
;e.amplitude=n})(window,document);
</script>
</head>
<body>
<div id="root"></div>
<script defer="defer" src="https://cdn.ravenjs.com/3.14.0/raven.min.js" crossorigin="anonymous"></script>
<script defer="defer" src="/install-raven.js"></script>
<script defer="defer" type="text/javascript" src="https://cdn.polyfill.io/v2/polyfill.min.js?features=default,Array.prototype.find,Symbol.iterator"></script>
</body>
</html>
1 change: 0 additions & 1 deletion shared/clients/analytics/index.js
Expand Up @@ -4,7 +4,6 @@ import { createTrack } from './track';
import { createSetUser } from './setUser';
import { createUnsetUser } from './unsetUser';
import * as transformations from './transformations';
require('./raven');

export type AmplitudeClient = 'web' | 'desktop' | 'mobile';

Expand Down
12 changes: 0 additions & 12 deletions shared/clients/analytics/raven.js

This file was deleted.

20 changes: 17 additions & 3 deletions src/actions/authentication.js
@@ -1,6 +1,5 @@
import { setUser, unsetUser } from 'src/helpers/analytics';
import { removeItemFromStorage, storeItem } from 'src/helpers/localStorage';
import Raven from 'raven-js';

export const logout = dispatch => {
// clear localStorage
Expand Down Expand Up @@ -42,8 +41,23 @@ export const saveUserDataToLocalStorage = (user: Object) => async dispatch => {
const { text } = await response.json();
setUser(text);

// logs the user id to sentry errors
Raven.setUserContext({ id: user.id });
// logs the user id to Sentry
// if Raven hasn't loaded yet, try every 5s until it's loaded
if (window.Raven) {
console.log('Raven setUserContext!');
window.Raven.setUserContext({ id: user.id });
} else {
console.log('No Raven :( Try again in 5s');
const interval = setInterval(() => {
console.log('Raven?');
if (window.Raven) {
console.log('Yes! setUserContext');
window.Raven.setUserContext({ id: user.id });
clearInterval(interval);
}
console.log('No :( Try again in 5s');
}, 5000);
}

// save this object to localstorage. This will be used in the future to hydrate
// the store when users visit the homepage
Expand Down
3 changes: 1 addition & 2 deletions src/components/error/ErrorBoundary.js
@@ -1,6 +1,5 @@
// @flow
import * as React from 'react';
import Raven from 'raven-js';
import BlueScreen from '.';

type State = {
Expand All @@ -17,7 +16,7 @@ class ErrorBoundary extends React.Component<Props, State> {

componentDidCatch = (error: any, errorInfo: any) => {
this.setState({ error });
Raven.captureException(error, { extra: errorInfo });
window.Raven && window.Raven.captureException(error, { extra: errorInfo });
};

render() {
Expand Down
28 changes: 14 additions & 14 deletions src/helpers/sentry-redux-middleware.js
@@ -1,16 +1,15 @@
import Raven from 'raven-js';

const crashReporter = store => next => action => {
// Handle THROW_ERROR actions
if (action.type === 'THROW_ERROR') {
console.error('Caught an exception!', action.err);
if (process.env.NODE_ENV !== 'development') {
Raven.captureException(action.err, {
extra: {
action,
state: store.getState(),
},
});
window.Raven &&
window.Raven.captureException(action.err, {
extra: {
action,
state: store.getState(),
},
});
}
}

Expand All @@ -19,12 +18,13 @@ const crashReporter = store => next => action => {
} catch (err) {
console.error('Caught an exception!', err);
if (process.env.NODE_ENV !== 'development') {
Raven.captureException(err, {
extra: {
action,
state: store.getState(),
},
});
window.Raven &&
window.Raven.captureException(err, {
extra: {
action,
state: store.getState(),
},
});
}
throw err;
}
Expand Down
4 changes: 0 additions & 4 deletions yarn.lock
Expand Up @@ -10033,10 +10033,6 @@ range-parser@^1.0.3, range-parser@~1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e"

raven-js@^3.27.0:
version "3.27.0"
resolved "https://registry.yarnpkg.com/raven-js/-/raven-js-3.27.0.tgz#9f47c03e17933ce756e189f3669d49c441c1ba6e"

raven@^2.6.4:
version "2.6.4"
resolved "https://registry.yarnpkg.com/raven/-/raven-2.6.4.tgz#458d4a380c8fbb59e0150c655625aaf60c167ea3"
Expand Down