Don't aggregate rooms and users in SpaceStore (#7723)
* add direct child maps
* track rooms, users and space children in flat hierarchy in spacestore
Signed-off-by: Kerry Archibald <kerrya@element.io>
* update spacefiltercondition to use new spacestore
* remove unused code
Signed-off-by: Kerry Archibald <kerrya@element.io>
* typos
Signed-off-by: Kerry Archibald <kerrya@element.io>
* only build flattened rooms set once per space when updating notifs
* copyright
Signed-off-by: Kerry Archibald <kerrya@element.io>
* remove unnecessary currying
Signed-off-by: Kerry Archibald <kerrya@element.io>
* rename SpaceStore spaceFilteredRooms => roomsIdsBySpace, spaceFilteredUsers => userIdsBySpace
Signed-off-by: Kerry Archibald <kerrya@element.io>
* cache aggregates rooms and users by space
Signed-off-by: Kerry Archibald <kerrya@element.io>
* emit events recursively up parent spaces on changes
Signed-off-by: Kerry Archibald <kerrya@element.io>
* exclude meta spaces from aggregate cache
Signed-off-by: Kerry Archibald <kerrya@element.io>
* stray log
* fix emit on member update
Signed-off-by: Kerry Archibald <kerrya@element.io>
* call order
Signed-off-by: Kerry Archibald <kerrya@element.io>
* extend existing getKnownParents fn
Signed-off-by: Kerry Archibald <kerrya@element.io>
* refine types and comments
Signed-off-by: Kerry Archibald <kerrya@element.io>