Put back code

with comment hopefully explaining why it's necessary
pull/21833/head
David Baker 2020-07-30 19:46:27 +01:00
parent 9d247321f5
commit aaf0c7d269
1 changed files with 7 additions and 0 deletions

View File

@ -35,6 +35,13 @@ export abstract class AsyncStoreWithClient<T extends Object> extends AsyncStore<
await this.onAction(payload);
if (payload.action === 'MatrixActions.sync') {
// Only set the client on the transition into the PREPARED state.
// Everything after this is unnecessary (we only need to know once we have a client)
// and we intentionally don't set the client before this point to avoid stores
// updating for every event emitted during the cached sync.
if (!(payload.prevState === 'PREPARED' && payload.state !== 'PREPARED')) {
return;
}
this.matrixClient = payload.matrixClient;
await this.onReady();
} else if (payload.action === 'on_client_not_viable' || payload.action === 'on_logged_out') {