Handle localstorage exceptions.

pull/1/head
David Baker 2015-07-16 16:12:54 +01:00
parent a6df6ca29b
commit 64042c9de8
2 changed files with 12 additions and 7 deletions

View File

@ -72,9 +72,9 @@ module.exports = {
logged_in: false, logged_in: false,
ready: false ready: false
}); });
localStorage.removeItem("mx_hs_url"); if (window.localStorage) {
localStorage.removeItem("mx_user_id"); window.localStorage.clear();
localStorage.removeItem("mx_access_token"); }
Notifier.stop(); Notifier.stop();
MatrixClientPeg.get().removeAllListeners(); MatrixClientPeg.get().removeAllListeners();
MatrixClientPeg.replace(null); MatrixClientPeg.replace(null);

View File

@ -82,10 +82,15 @@ module.exports = {
})); }));
var localStorage = window.localStorage; var localStorage = window.localStorage;
if (localStorage) { if (localStorage) {
try {
localStorage.clear();
localStorage.setItem("mx_hs_url", that.state.hs_url); localStorage.setItem("mx_hs_url", that.state.hs_url);
localStorage.setItem("mx_is_url", that.state.is_url); localStorage.setItem("mx_is_url", that.state.is_url);
localStorage.setItem("mx_user_id", data.user_id); localStorage.setItem("mx_user_id", data.user_id);
localStorage.setItem("mx_access_token", data.access_token); localStorage.setItem("mx_access_token", data.access_token);
} catch (e) {
console.warn("Error using local storage: can't persist session!");
}
} else { } else {
console.warn("No local storage available: can't persist session!"); console.warn("No local storage available: can't persist session!");
} }