message: Analytics.js gets executed during times where localStorage is not ensured to exist
diff: @@ -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;
  