Commit Graph

35 Commits (ad47144355e221e9a430f09dcba0b9c6d99a74a8)

Author SHA1 Message Date
David Baker 7d161de35b Partial merge of develop to experimental
Does not include #2336 as the file has been moved out from underneath it:
will do this separately
2019-01-03 15:02:58 +00:00
David Baker 3d478c3c3a
Merge pull request #1867 from matrix-org/luke/fix-group-request-concurrency
Prevent error responses wedging group request concurrency limit
2018-05-02 10:45:12 +01:00
Luke Barnard 2dfb3146b0 Simplify concurrent request error handling 2018-05-02 10:39:15 +01:00
Luke Barnard 71c1198d12 Rewrite limitConcurrency to fix error catching
Make sure that we only catch errors that are a result of
calling fn()
2018-05-01 18:01:25 +01:00
Luke Barnard bd703b17e5 Update documentation for GroupStore.registerListener 2018-05-01 16:57:28 +01:00
Luke Barnard 56ec7713bb Refresh group rooms and members when selecting a tag 2018-05-01 16:54:14 +01:00
Luke Barnard 4d8394954c Only create one group store listener in RoomList
Instead of creating several and destroying the reference to the one
created before.
2018-05-01 14:24:58 +01:00
Luke Barnard da1a5616eb Prevent error responses wedging group request concurrency limit
Fixes https://github.com/vector-im/riot-web/issues/6592
2018-05-01 14:04:13 +01:00
Luke Barnard e3a07be127 Remove GroupStore logging 2018-05-01 13:14:01 +01:00
Luke Barnard 023daef4b7 Refactor GroupStores into one global GroupStore
Take a step closer to a flux-like architecture for group data, for
the purposes of providing features that require it.

Now the app has a single GroupStore that can be poked to fetch
updates for a particular group.
2018-05-01 11:24:17 +01:00
Luke Barnard 42141f7da7 Fetch group data when leaving or joining to update the view 2018-04-10 10:03:54 +01:00
Luke Barnard 35cc443562 Limit group requests to 3 at once
using a FIFO queue.

This is needed in order to lower the priority of getting group
state and prioritise everything else, namely initial sync.

It should be noted that this by no means guarantees that the
first incremental sync will happen sooner; the client could
end up doing some other requests first instead.
2018-03-13 11:35:19 +00:00
lukebarnard 5f413ddf8b Do not fetch GroupStore resources if already fetching 2018-01-17 17:01:42 +00:00
lukebarnard 3ebf278cf3 Refactor GroupStore based on existing STATE_KEY concept
by factoring out a lot of repeated code.
2018-01-17 16:59:13 +00:00
lukebarnard 45e860de7a Document GroupStore.registerListener 2018-01-02 18:12:08 +00:00
Luke Barnard 34e455c6fc Fix leaking of GroupStore listeners in RoomList 2017-12-15 14:12:21 +00:00
Luke Barnard 7ec4010881 Make GroupStore use MatrixClientPeg
To avoid weirdness with using a cached matrix client
2017-11-28 11:54:05 +00:00
Luke Barnard 31be27515c Modify the group room visibility API to reflect the js-sdk changes
See https://github.com/matrix-org/matrix-js-sdk/pull/569
2017-11-09 16:28:21 +00:00
Luke Barnard 3e3ebd6358 Fetch group members after accepting an invite 2017-11-08 11:52:52 +00:00
Luke Barnard edc744067f Add checkbox to GroupAddressPicker for determining visibility of group rooms 2017-11-07 18:51:41 +00:00
Luke Barnard febeb0429e Throw an error when trying to create a group store with falsey groupId 2017-11-06 10:18:10 +00:00
Luke Barnard 790db94fd7 Add toggle to alter the visibility of a room-group association 2017-11-02 13:31:11 +00:00
Luke Barnard 16dca08b77 Use constants instead of string literals 2017-10-31 16:13:13 +00:00
Luke Barnard 775468e71a Display whether the group summary/room list is loading
This uses a `ready` flag assigned to each fetching API used by the GroupServer. I've avoided making this generic for now for want of not doing so early.
2017-10-31 11:42:09 +00:00
Luke Barnard 175fadbb57 Add unregiseterListener to GroupStore 2017-10-27 15:08:38 +01:00
Luke Barnard 5d0aa8d7f7 Handle 403 when inspecting invited users as non-member 2017-10-27 11:38:10 +01:00
Luke Barnard e094c32c62 Simplify GroupStore listener registration 2017-10-27 11:38:10 +01:00
Luke Barnard b9dc5cb5ed Merge branch 'develop' into luke/groups-update-on-invite 2017-10-23 16:05:52 +01:00
Luke Barnard 0799e5cde4 Refresh group member lists after inviting users 2017-10-23 16:04:26 +01: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 0415869b8c Add useful functions to GroupView to inspect user flags 2017-10-17 16:08:19 +01:00
Luke Barnard 917957c1dc Modify the group store to include group rooms
and modify components to use this new part of the store such that feedback can be given
when adding or removing a room from the room list.
2017-10-05 14:30:04 +01:00
Luke Barnard c1318e9102 Only maintain one GroupStore in the GroupStoreCache
So that the group store data is up-to-date and to prevent group stores hanging around in memory
2017-10-04 17:51:38 +01:00
Luke Barnard b16eb1713e Typo 2017-10-04 17:01:44 +01:00
Luke Barnard 4017fa7f1d Factor-out GroupStore and create GroupStoreCache
In order to provide feedback when adding a room to a group, the group summarry store needs to be extended to store the list of rooms in a group. This commit is the first step required.

The next step is to get the GroupRoomList listening to updates from GroupStore and expose the list of rooms from GroupStore.

(We're running out of words to describe the hierachy of things that store things)
2017-10-04 16:56:35 +01:00