mirror of https://github.com/vector-im/riot-web
Analytics.js gets executed during times where localStorage is not ensured to exist
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>pull/21833/head
parent
68608c2bcb
commit
cef9dbe254
|
@ -123,8 +123,8 @@ const LAST_VISIT_TS_KEY = "mx_Riot_Analytics_lvts";
|
|||
|
||||
function getUid() {
|
||||
try {
|
||||
let data = localStorage.getItem(UID_KEY);
|
||||
if (!data) {
|
||||
let data = localStorage && localStorage.getItem(UID_KEY);
|
||||
if (!data && localStorage) {
|
||||
localStorage.setItem(UID_KEY, data = [...Array(16)].map(() => Math.random().toString(16)[2]).join(''));
|
||||
}
|
||||
return data;
|
||||
|
@ -145,15 +145,17 @@ class Analytics {
|
|||
this.firstPage = true;
|
||||
this._heartbeatIntervalID = null;
|
||||
|
||||
this.creationTs = localStorage.getItem(CREATION_TS_KEY);
|
||||
if (!this.creationTs) {
|
||||
this.creationTs = localStorage && localStorage.getItem(CREATION_TS_KEY);
|
||||
if (!this.creationTs && localStorage) {
|
||||
localStorage.setItem(CREATION_TS_KEY, this.creationTs = new Date().getTime());
|
||||
}
|
||||
|
||||
this.lastVisitTs = localStorage.getItem(LAST_VISIT_TS_KEY);
|
||||
this.visitCount = localStorage.getItem(VISIT_COUNT_KEY) || 0;
|
||||
this.lastVisitTs = localStorage && localStorage.getItem(LAST_VISIT_TS_KEY);
|
||||
this.visitCount = localStorage && localStorage.getItem(VISIT_COUNT_KEY) || 0;
|
||||
if (localStorage) {
|
||||
localStorage.setItem(VISIT_COUNT_KEY, parseInt(this.visitCount, 10) + 1);
|
||||
}
|
||||
}
|
||||
|
||||
get disabled() {
|
||||
return !this.baseUrl;
|
||||
|
|
Loading…
Reference in New Issue