diff --git a/src/settings/Settings.js b/src/settings/Settings.js index 87c1526eaa..2b7dc70623 100644 --- a/src/settings/Settings.js +++ b/src/settings/Settings.js @@ -437,7 +437,7 @@ export const SETTINGS = { "RoomList.orderingAlgorithm": { supportedLevels: LEVELS_ACCOUNT_SETTINGS, displayName: _td("Order rooms by message activity instead of by name"), - default: "recent", // XXX controller maps boolean onto algorithm for future flexibility + default: "recent", // controller maps boolean onto algorithm for future flexibility to >2 algorithms controller: new RoomListOrderingController(), }, "RoomList.orderByImportance": { diff --git a/src/settings/controllers/RoomListOrderingController.js b/src/settings/controllers/RoomListOrderingController.js index 449e21545a..7c55e607fc 100644 --- a/src/settings/controllers/RoomListOrderingController.js +++ b/src/settings/controllers/RoomListOrderingController.js @@ -22,4 +22,14 @@ export default class RoomListOrderingController extends SettingController { // where we may want >2 algorithms available for the user to choose between. return newValue ? "recent" : "alphabetic"; } + + getValueOverride(level: string, roomId: String, calculatedValue: *, calculatedAtLevel: string): * { + switch (calculatedValue) { + case "alphabetic": + return false; + case "recent": + default: + return true; + } + } }