Don't try to send presence updates until the client is started

Otherwise we can start making API reqiests which can fail which
can trigger things like the soft logout code.

Fixes https://github.com/vector-im/riot-web/issues/12943
This commit is contained in:
David Baker 2020-04-07 12:07:41 +01:00
parent 0e1341c498
commit 8d68a4ab52

View file

@ -578,9 +578,6 @@ async function startMatrixClient(startSyncing=true) {
UserActivity.sharedInstance().start(); UserActivity.sharedInstance().start();
TypingStore.sharedInstance().reset(); // just in case TypingStore.sharedInstance().reset(); // just in case
ToastStore.sharedInstance().reset(); ToastStore.sharedInstance().reset();
if (!SettingsStore.getValue("lowBandwidth")) {
Presence.start();
}
DMRoomMap.makeShared().start(); DMRoomMap.makeShared().start();
IntegrationManagers.sharedInstance().startWatching(); IntegrationManagers.sharedInstance().startWatching();
ActiveWidgetStore.start(); ActiveWidgetStore.start();
@ -603,6 +600,11 @@ async function startMatrixClient(startSyncing=true) {
// This needs to be started after crypto is set up // This needs to be started after crypto is set up
DeviceListener.sharedInstance().start(); DeviceListener.sharedInstance().start();
// Similarly, don't start sending presence updates until we've started
// the client
if (!SettingsStore.getValue("lowBandwidth")) {
Presence.start();
}
// dispatch that we finished starting up to wire up any other bits // dispatch that we finished starting up to wire up any other bits
// of the matrix client that cannot be set prior to starting up. // of the matrix client that cannot be set prior to starting up.