Fix stacktrace when starting riot up with rooms
Settings can trigger before we're ready, so don't generate the room list. This also includes a comment to signify to future people that we need to track settings still.pull/21833/head
							parent
							
								
									b2f4de4488
								
							
						
					
					
						commit
						b1e16e9f49
					
				|  | @ -133,6 +133,8 @@ class RoomListStore extends Store { | |||
|         const logicallyReady = this._matrixClient && this._state.ready; | ||||
|         switch (payload.action) { | ||||
|             case 'setting_updated': { | ||||
|                 if (!logicallyReady) break; | ||||
| 
 | ||||
|                 if (payload.settingName === 'RoomList.orderByImportance') { | ||||
|                     this.updateSortingAlgorithm(payload.newValue === true ? ALGO_IMPORTANCE : ALGO_RECENT); | ||||
|                 } else if (payload.settingName === 'feature_custom_tags') { | ||||
|  | @ -147,6 +149,10 @@ class RoomListStore extends Store { | |||
|                     break; | ||||
|                 } | ||||
| 
 | ||||
|                 // Always ensure that we set any state needed for settings here. It is possible that
 | ||||
|                 // setting updates trigger on startup before we are ready to sync, so we want to make
 | ||||
|                 // sure that the right state is in place before we actually react to those changes.
 | ||||
| 
 | ||||
|                 this._setState({tagsEnabled: SettingsStore.isFeatureEnabled("feature_custom_tags")}); | ||||
| 
 | ||||
|                 this._matrixClient = payload.matrixClient; | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Travis Ralston
						Travis Ralston