Throttle RoomState.members handlers (#7876)
This commit is contained in:
committed by
GitHub
parent
61b68252a6
commit
b0737b6e31
@@ -20,6 +20,7 @@ import { RoomMember } from "matrix-js-sdk/src/models/room-member";
|
||||
import { MatrixEvent } from "matrix-js-sdk/src/models/event";
|
||||
import { RoomState, RoomStateEvent } from "matrix-js-sdk/src/models/room-state";
|
||||
import { logger } from "matrix-js-sdk/src/logger";
|
||||
import { throttle } from "lodash";
|
||||
|
||||
import { _t, _td } from "../../../../../languageHandler";
|
||||
import { MatrixClientPeg } from "../../../../../MatrixClientPeg";
|
||||
@@ -134,9 +135,13 @@ export default class RolesRoomSettingsTab extends React.Component<IProps> {
|
||||
|
||||
private onRoomMembership = (event: MatrixEvent, state: RoomState, member: RoomMember) => {
|
||||
if (state.roomId !== this.props.roomId) return;
|
||||
this.forceUpdate();
|
||||
this.onThisRoomMembership();
|
||||
};
|
||||
|
||||
private onThisRoomMembership = throttle(() => {
|
||||
this.forceUpdate();
|
||||
}, 200, { leading: true, trailing: true });
|
||||
|
||||
private populateDefaultPlEvents(eventsSection: Record<string, number>, stateLevel: number, eventsLevel: number) {
|
||||
for (const desiredEvent of Object.keys(plEventsToShow)) {
|
||||
if (!(desiredEvent in eventsSection)) {
|
||||
|
||||
Reference in New Issue
Block a user