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:
commit
d4adff3d25
1 changed files with 7 additions and 0 deletions
|
@ -48,6 +48,9 @@ class FlairStore extends EventEmitter {
|
||||||
// reject: () => {}
|
// reject: () => {}
|
||||||
// }
|
// }
|
||||||
};
|
};
|
||||||
|
this._usersInFlight = {
|
||||||
|
// This has the same schema as _usersPending
|
||||||
|
};
|
||||||
|
|
||||||
this._debounceTimeoutID = null;
|
this._debounceTimeoutID = null;
|
||||||
}
|
}
|
||||||
|
@ -125,12 +128,16 @@ class FlairStore extends EventEmitter {
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
// Propagate the same error to all usersInFlight
|
// Propagate the same error to all usersInFlight
|
||||||
Object.keys(this._usersInFlight).forEach((userId) => {
|
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);
|
this._usersInFlight[userId].reject(err);
|
||||||
});
|
});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const updatedUserGroups = resp.users;
|
const updatedUserGroups = resp.users;
|
||||||
Object.keys(this._usersInFlight).forEach((userId) => {
|
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] || []);
|
this._usersInFlight[userId].resolve(updatedUserGroups[userId] || []);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue