From af07d734325d6664af6a7e393a18b035591c1fc6 Mon Sep 17 00:00:00 2001 From: Bruno Windels Date: Mon, 16 Jul 2018 15:07:53 +0200 Subject: [PATCH] hide lazy loading behind feature flag --- src/MatrixClientPeg.js | 4 +++- src/components/structures/RoomView.js | 6 +++++- src/settings/Settings.js | 5 +++++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/MatrixClientPeg.js b/src/MatrixClientPeg.js index 01a411663c..82d18d307d 100644 --- a/src/MatrixClientPeg.js +++ b/src/MatrixClientPeg.js @@ -107,7 +107,9 @@ class MatrixClientPeg { // the react sdk doesn't work without this, so don't allow opts.pendingEventOrdering = "detached"; - opts.filter = await this.matrixClient.createFilter(FILTER_CONTENT); + if (SettingsStore.isFeatureEnabled('feature_lazyloading')) { + opts.filter = await this.matrixClient.createFilter(FILTER_CONTENT); + } try { const promise = this.matrixClient.store.startup(); diff --git a/src/components/structures/RoomView.js b/src/components/structures/RoomView.js index 8d4a15642f..2eaf0180a9 100644 --- a/src/components/structures/RoomView.js +++ b/src/components/structures/RoomView.js @@ -314,7 +314,11 @@ module.exports = React.createClass({ this.setState({isPeeking: false}); //viewing a previously joined room, try to lazy load members - MatrixClientPeg.get().loadRoomMembersIfNeeded(room.roomId); + + // lazy load members if enabled + if (SettingsStore.isFeatureEnabled('feature_lazyloading')) { + MatrixClientPeg.get().loadRoomMembersIfNeeded(room.roomId); + } } } }, diff --git a/src/settings/Settings.js b/src/settings/Settings.js index e3f5855f0d..d76c1fd8e8 100644 --- a/src/settings/Settings.js +++ b/src/settings/Settings.js @@ -83,6 +83,11 @@ export const SETTINGS = { supportedLevels: LEVELS_FEATURE, default: false, }, + "feature_lazyloading": { + isFeature: true, + displayName: _td("Increase performance by loading room members on first view"), + supportedLevels: LEVELS_FEATURE, + }, "MessageComposerInput.dontSuggestEmoji": { supportedLevels: LEVELS_ACCOUNT_SETTINGS, displayName: _td('Disable Emoji suggestions while typing'),