49abfc1fb2
Fixes https://github.com/vector-im/riot-web/issues/14798 (part 2) This is in two parts itself: The `RoomSublist` needs to break its references to the `RoomListStore`, so it now clones the room arrays. The `Algorithm` is the other part, which is slightly more complicated. It turns out that we weren't handling splicing as a change in the `ImportanceAlgorithm`, therefore the `Algorithm` wasn't really feeling like it needed to change anything. Further, the `Algorithm` was using the wrong reference to where it should be dumping rooms (`this.cachedRooms` is a getter which returns a different object depending on conditions), so having fixed that we need to ensure that the filtered and sticky maps are also updated when we remove a room. Because we send the new tag through a Timeline update, we'll end up updating the tag later on and don't need to update the filter and sticky collections. |
||
---|---|---|
.. | ||
notifications | ||
room-list | ||
ActiveWidgetStore.js | ||
AsyncStore.ts | ||
AsyncStoreWithClient.ts | ||
BreadcrumbsStore.ts | ||
CustomRoomTagStore.js | ||
FlairStore.js | ||
GroupStore.js | ||
LifecycleStore.js | ||
OwnProfileStore.ts | ||
RightPanelStore.ts | ||
RightPanelStorePhases.ts | ||
RoomScrollStateStore.js | ||
RoomViewStore.js | ||
SessionStore.js | ||
SetupEncryptionStore.js | ||
TagOrderStore.js | ||
ToastStore.ts | ||
TypingStore.js | ||
WidgetEchoStore.js |