Commit graph

21 commits

Author SHA1 Message Date
Luke Barnard
faf517419f Return null instead of undefined on failure 2018-03-06 12:14:41 +00:00
Luke Barnard
0fc79a4a0d Remove delay used in testing 2018-03-06 12:13:46 +00:00
Luke Barnard
afbd563810 Potentially fix a memory leak in FlairStore
For each successful request of a group profile, we previously
emitted an `updateGroupProfile` event per caller of
`getGroupProfileCached`. This is sub-optimal because only a single
event emit is required to update the views listening.

It's possible that this was enabling some race to cause a memory
leak but this is not certain, hence the extra logging for future
debugging.
2018-03-06 11:33:56 +00:00
Luke Barnard
d5908fbc1e Fix FlairStore cache busting 2018-03-01 15:06:05 +00:00
Luke Barnard
4037a22492 Fix bug where avatar change not reflected in LLP
Fixes vector-im/riot-web#6189
2018-03-01 14:40:03 +00:00
lukebarnard
479e88cff7 Log an error to get group profile data 2018-01-02 18:55:50 +00:00
lukebarnard
3947a72d1b Fix to allow subsequent group profile requests if one fails
Also, delete the groupProfilePromise immediately after setting
the group profile (the first if-statement will prevent a new
request from being started).
2018-01-02 10:42:48 +00:00
Luke Barnard
6e832c7d73 Dedupe requests to fetch group profile data 2017-12-15 16:28:50 +00:00
lukebarnard
2913d396ef Remove redundant super class EventEmitter for FlairStore
, which seemingly is not being used.
2017-11-20 11:34:20 +00:00
Richard van der Hoff
c48994e981 Flairstore: Fix broken reference 2017-11-17 13:56:56 +00:00
Luke Barnard
1c5e7f3048 Fix FlairStore getPublicisedGroupsCached to give the correct, existing promise 2017-11-08 11:31:04 +00:00
Luke Barnard
da23afdec2 Better comment on FlairStore _usersInFlight 2017-11-03 18:48:15 +00:00
Luke Barnard
4d8f18742b Check against non-existant promise to resolve a user's groups 2017-11-03 18:43:43 +00:00
Luke Barnard
d64fc4c842 Fix Flair not appearing due to missing this._usersInFlight 2017-11-03 18:19:10 +00:00
Luke Barnard
21e09840dc Fix multiple requests for publicised groups of given user
Previously, a single user could end up in multiple batches, which would have been fine if the logic didn't assume otherwise. If a request took longer than 200ms, multiple batches would occur with intersecting sets of users, deleting promises that were then assumed to exist.

The logic now takes all "in flight" users to also not be "pending". Pending now means that the user will be processed in the next batch. "In flight" means the user is part of an ongoing batch.
2017-11-02 15:59:26 +00:00
Matthew Hodgson
7d7cd30e46 turn NPE on flair resolution errors into a logged error 2017-11-01 22:10:03 +00:00
Luke Barnard
0ff5b9c6a7 Invalidate the user's public groups cache when changing group publicity
This will make the changes to their Flair "live", but only from the user's own perspective.
2017-10-23 15:28:38 +01:00
Luke Barnard
b0f8619754 Improve MyGroups UI
as per design layed out by @tur2live!
2017-10-19 17:24:45 +01:00
Luke Barnard
25d14af616 Export a global.singletonFlairStore to allow cross-project singleton 2017-10-19 12:00:03 +01:00
Luke Barnard
71443e9b94 Remove logs comments 2017-10-19 10:34:24 +01:00
Luke Barnard
5f3c06b38a Factor out Flair cache into FlairStore
This will make invalidating the userGroups cache for the user architecturally more sound (the plan is to have GroupStore hit FlairStore as opposed to Flair itself in order to invalidate the cache).
2017-10-19 10:28:59 +01:00