From c23a3fd7fedf10aab874381822216237a4a237b9 Mon Sep 17 00:00:00 2001 From: David Baker Date: Tue, 5 Dec 2017 11:14:55 +0000 Subject: [PATCH 1/3] Add some null checks --- src/Lifecycle.js | 2 +- src/autocomplete/UserProvider.js | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/Lifecycle.js b/src/Lifecycle.js index 946f22537d..4f786510e1 100644 --- a/src/Lifecycle.js +++ b/src/Lifecycle.js @@ -389,7 +389,7 @@ function _persistCredentialsToLocalStorage(credentials) { * Logs the current session out and transitions to the logged-out state */ export function logout() { - if (MatrixClientPeg.get().isGuest()) { + if (MatrixClientPeg.get() && MatrixClientPeg.get().isGuest()) { // logout doesn't work for guest sessions // Also we sometimes want to re-log in a guest session // if we abort the login diff --git a/src/autocomplete/UserProvider.js b/src/autocomplete/UserProvider.js index 9d587c2eb4..794f507d21 100644 --- a/src/autocomplete/UserProvider.js +++ b/src/autocomplete/UserProvider.js @@ -53,8 +53,10 @@ export default class UserProvider extends AutocompleteProvider { } destroy() { - MatrixClientPeg.get().removeListener("Room.timeline", this._onRoomTimelineBound); - MatrixClientPeg.get().removeListener("RoomState.members", this._onRoomStateMemberBound); + if (MatrixClientPeg.get()) { + MatrixClientPeg.get().removeListener("Room.timeline", this._onRoomTimelineBound); + MatrixClientPeg.get().removeListener("RoomState.members", this._onRoomStateMemberBound); + } } _onRoomTimeline(ev, room, toStartOfTimeline, removed, data) { From fec2e31b41eb66feab0cabacf1d20fb482e92a45 Mon Sep 17 00:00:00 2001 From: David Baker Date: Tue, 5 Dec 2017 11:38:25 +0000 Subject: [PATCH 2/3] oops, actual null check --- src/Lifecycle.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Lifecycle.js b/src/Lifecycle.js index 4f786510e1..b35957408e 100644 --- a/src/Lifecycle.js +++ b/src/Lifecycle.js @@ -389,7 +389,9 @@ function _persistCredentialsToLocalStorage(credentials) { * Logs the current session out and transitions to the logged-out state */ export function logout() { - if (MatrixClientPeg.get() && MatrixClientPeg.get().isGuest()) { + if (!MatrixClientPeg.get()) return + + if (MatrixClientPeg.get().isGuest()) { // logout doesn't work for guest sessions // Also we sometimes want to re-log in a guest session // if we abort the login From 87c808a0882ccc9cf889cb324ff0674f849413a7 Mon Sep 17 00:00:00 2001 From: David Baker Date: Tue, 5 Dec 2017 11:53:49 +0000 Subject: [PATCH 3/3] semicolon --- src/Lifecycle.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Lifecycle.js b/src/Lifecycle.js index b35957408e..efd5c20d5c 100644 --- a/src/Lifecycle.js +++ b/src/Lifecycle.js @@ -389,7 +389,7 @@ function _persistCredentialsToLocalStorage(credentials) { * Logs the current session out and transitions to the logged-out state */ export function logout() { - if (!MatrixClientPeg.get()) return + if (!MatrixClientPeg.get()) return; if (MatrixClientPeg.get().isGuest()) { // logout doesn't work for guest sessions