sliding sync: add lazy-loading member support (#9530)
* sliding sync: add lazy-loading member support Also swap to `$ME` constants when referring to our own member event. * Hook into existing LL logic when showing the MemberList * Linting * Use consts in js sdk not react sdk * Add jest tests * linting * Store the room in the test * Fix up getRoom impl * Add MemberListStore * Use the right context in MemberList tests * Fix RightPanel-test * Always return members even if we lazy load * Add MemberListStore tests * Additional tests
This commit is contained in:
parent
d626f71fdd
commit
acdcda78f0
8 changed files with 658 additions and 210 deletions
|
@ -21,6 +21,7 @@ import defaultDispatcher from "../dispatcher/dispatcher";
|
|||
import LegacyCallHandler from "../LegacyCallHandler";
|
||||
import { PosthogAnalytics } from "../PosthogAnalytics";
|
||||
import { SlidingSyncManager } from "../SlidingSyncManager";
|
||||
import { MemberListStore } from "../stores/MemberListStore";
|
||||
import { RoomNotificationStateStore } from "../stores/notifications/RoomNotificationStateStore";
|
||||
import RightPanelStore from "../stores/right-panel/RightPanelStore";
|
||||
import { RoomViewStore } from "../stores/RoomViewStore";
|
||||
|
@ -54,6 +55,7 @@ export class SdkContextClass {
|
|||
|
||||
// All protected fields to make it easier to derive test stores
|
||||
protected _WidgetPermissionStore?: WidgetPermissionStore;
|
||||
protected _MemberListStore?: MemberListStore;
|
||||
protected _RightPanelStore?: RightPanelStore;
|
||||
protected _RoomNotificationStateStore?: RoomNotificationStateStore;
|
||||
protected _RoomViewStore?: RoomViewStore;
|
||||
|
@ -125,6 +127,12 @@ export class SdkContextClass {
|
|||
}
|
||||
return this._PosthogAnalytics;
|
||||
}
|
||||
public get memberListStore(): MemberListStore {
|
||||
if (!this._MemberListStore) {
|
||||
this._MemberListStore = new MemberListStore(this);
|
||||
}
|
||||
return this._MemberListStore;
|
||||
}
|
||||
public get slidingSyncManager(): SlidingSyncManager {
|
||||
if (!this._SlidingSyncManager) {
|
||||
this._SlidingSyncManager = SlidingSyncManager.instance;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue