Merge pull request #1575 from matrix-org/luke/fix-flair-store-again

Fix Flair not appearing due to missing this._usersInFlight
This commit is contained in:
Matthew Hodgson 2017-11-03 22:44:16 +00:00 committed by GitHub
commit d4adff3d25
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -48,6 +48,9 @@ class FlairStore extends EventEmitter {
// reject: () => {}
// }
};
this._usersInFlight = {
// This has the same schema as _usersPending
};
this._debounceTimeoutID = null;
}
@ -125,12 +128,16 @@ class FlairStore extends EventEmitter {
} catch (err) {
// Propagate the same error to all usersInFlight
Object.keys(this._usersInFlight).forEach((userId) => {
// The promise should always exist for userId, but do a null-check anyway
if (!this._usersInFlight[userId]) return;
this._usersInFlight[userId].reject(err);
});
return;
}
const updatedUserGroups = resp.users;
Object.keys(this._usersInFlight).forEach((userId) => {
// The promise should always exist for userId, but do a null-check anyway
if (!this._usersInFlight[userId]) return;
this._usersInFlight[userId].resolve(updatedUserGroups[userId] || []);
});
}