diff --git a/amplitude.js b/amplitude.js index 1ec04662b7..816b919582 100644 --- a/amplitude.js +++ b/amplitude.js @@ -24,10 +24,23 @@ ;if(!n._iq.hasOwnProperty(e)){n._iq[e]={_q:[]};v(n._iq[e])}return n._iq[e]} ;e.amplitude=n})(window,document); -window.amplitudeInit = function (apiKey) { - amplitude.getInstance().init(apiKey); +window.amplitudeInit = function (apiKey, options) { + options = options || { + includeUtm: true, + includeReferrer: true, + saveEvents: true, + }; + amplitude.getInstance().init(apiKey, null, options); }; window.amplitudePushEvent = function (name, params) { - amplitude.getInstance().logEvent(name, params); + if (name === 'history_state') { + try { + history.pushState(null, null, params.url); + } catch (e) { + + } + } else { + amplitude.getInstance().logEvent(name, params); + } }; diff --git a/package-lock.json b/package-lock.json index 7560bd56f7..9a773ea9da 100644 --- a/package-lock.json +++ b/package-lock.json @@ -790,9 +790,9 @@ } }, "@waves/event-sender": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@waves/event-sender/-/event-sender-1.1.0.tgz", - "integrity": "sha512-/ZHa5hNs6UP5F8h5FrxY3mjmYmmv9uodU0eBddwUvp0L4hsJD16dP+bY6xcc8lBMj7ghmm7Or63dG7VrhkcsnA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@waves/event-sender/-/event-sender-1.2.0.tgz", + "integrity": "sha512-Ymrn5oqk6wbyvBRlVPph3v3qwkJrn2lLL0uKmSqkcTBCTbJPasYcwllKXCA1e0XV5NrgQ+3zy7KiPCeeKksVsg==", "requires": { "@waves/waves-browser-bus": "^0.1.5" } diff --git a/package.json b/package.json index 4a830c0d32..02354050cb 100644 --- a/package.json +++ b/package.json @@ -106,7 +106,7 @@ "@waves/bignumber": "0.0.1", "@waves/data-entities": "^2.0.0", "@waves/data-service-client-js": "^4.1.0", - "@waves/event-sender": "^1.1.0", + "@waves/event-sender": "^1.2.0", "@waves/ledger": "^3.5.1", "@waves/marshall": "^0.8.0", "@waves/oracle-data": "^0.0.6", diff --git a/src/modules/app/initialize/AppRun.js b/src/modules/app/initialize/AppRun.js index bb5233e9b2..0e12174102 100644 --- a/src/modules/app/initialize/AppRun.js +++ b/src/modules/app/initialize/AppRun.js @@ -600,7 +600,6 @@ const toState = transition.to(); const fromState = transition.from(); const from = fromState.name || document.referrer; - if (toState.name !== fromState.name) { switch (toState.name) { case 'create': @@ -673,6 +672,8 @@ user.applyState(toState); state.signals.changeRouterStateSuccess.dispatch(toState); + analytics.send({ name: 'history_state', params: { url: toState.url } }); + analytics.send({ name: 'route', params: { from: fromState.url, to: toState.url } }); } /** diff --git a/src/modules/app/services/User.js b/src/modules/app/services/User.js index 9f05835d51..7c9762dee3 100644 --- a/src/modules/app/services/User.js +++ b/src/modules/app/services/User.js @@ -607,7 +607,12 @@ getUserList() { return storage.onReady() .then(() => storage.load('userList')) - .then(list => (list || []).sort((a, b) => b.lastLogin - a.lastLogin)); + .then(list => { + if (Array.isArray(list)) { + return list.sort((a, b) => b.lastLogin - a.lastLogin); + } + return []; + }); } /**