diff --git a/packages/rocketchat-api/server/v1/users.js b/packages/rocketchat-api/server/v1/users.js index 2d8e9b9003a..bb65480c984 100644 --- a/packages/rocketchat-api/server/v1/users.js +++ b/packages/rocketchat-api/server/v1/users.js @@ -348,7 +348,7 @@ RocketChat.API.v1.addRoute('users.setPreferences', { authRequired: true }, { sidebarSortby: Match.Optional(String), sidebarViewMode: Match.Optional(String), sidebarHideAvatar: Match.Optional(Boolean), - mergeChannels: Match.Optional(Boolean), + groupByType: Match.Optional(Boolean), muteFocusedConversations: Match.Optional(Boolean) }) }); diff --git a/packages/rocketchat-i18n/i18n/en.i18n.json b/packages/rocketchat-i18n/i18n/en.i18n.json index 4c04064432c..1ec26f7da23 100644 --- a/packages/rocketchat-i18n/i18n/en.i18n.json +++ b/packages/rocketchat-i18n/i18n/en.i18n.json @@ -2189,6 +2189,7 @@ "UI_Click_Direct_Message_Description": "Skip opening profile tab, instead go straight to conversation", "UI_DisplayRoles": "Display Roles", "UI_Merge_Channels_Groups": "Merge Private Groups with Channels", + "UI_Group_Channels_By_Type": "Group channels by type", "UI_Unread_Counter_Style": "Unread Counter Style", "UI_Use_Name_Avatar": "Use Full Name Initials to Generate Default Avatar", "UI_Use_Real_Name": "Use Real Name", diff --git a/packages/rocketchat-lib/lib/roomTypes/conversation.js b/packages/rocketchat-lib/lib/roomTypes/conversation.js index 6f7caa07bdc..9a0f9eb51d8 100644 --- a/packages/rocketchat-lib/lib/roomTypes/conversation.js +++ b/packages/rocketchat-lib/lib/roomTypes/conversation.js @@ -11,6 +11,7 @@ export class ConversationRoomType extends RoomTypeConfig { condition() { const user = Meteor.user(); - return RocketChat.getUserPreference(user, 'mergeChannels'); + // returns true only if groupByType is not set + return !RocketChat.getUserPreference(user, 'groupByType'); } } diff --git a/packages/rocketchat-lib/lib/roomTypes/direct.js b/packages/rocketchat-lib/lib/roomTypes/direct.js index 5ea839f7d1e..0e32b7587d2 100644 --- a/packages/rocketchat-lib/lib/roomTypes/direct.js +++ b/packages/rocketchat-lib/lib/roomTypes/direct.js @@ -62,8 +62,8 @@ export class DirectMessageRoomType extends RoomTypeConfig { condition() { const user = Meteor.user(); - const mergeChannels = RocketChat.getUserPreference(user, 'mergeChannels'); - return !mergeChannels && RocketChat.authz.hasAtLeastOnePermission(['view-d-room', 'view-joined-room']); + const groupByType = RocketChat.getUserPreference(user, 'groupByType'); + return groupByType && RocketChat.authz.hasAtLeastOnePermission(['view-d-room', 'view-joined-room']); } getUserStatus(roomId) { diff --git a/packages/rocketchat-lib/lib/roomTypes/private.js b/packages/rocketchat-lib/lib/roomTypes/private.js index 50504941fb7..fd95a7cec73 100644 --- a/packages/rocketchat-lib/lib/roomTypes/private.js +++ b/packages/rocketchat-lib/lib/roomTypes/private.js @@ -44,8 +44,8 @@ export class PrivateRoomType extends RoomTypeConfig { condition() { const user = Meteor.user(); - const mergeChannels = RocketChat.getUserPreference(user, 'mergeChannels'); - return !mergeChannels && RocketChat.authz.hasAllPermission('view-p-room'); + const groupByType = RocketChat.getUserPreference(user, 'groupByType'); + return groupByType && RocketChat.authz.hasAllPermission('view-p-room'); } isGroupChat() { diff --git a/packages/rocketchat-lib/lib/roomTypes/public.js b/packages/rocketchat-lib/lib/roomTypes/public.js index 12c2af62960..ced1a930b8a 100644 --- a/packages/rocketchat-lib/lib/roomTypes/public.js +++ b/packages/rocketchat-lib/lib/roomTypes/public.js @@ -43,8 +43,8 @@ export class PublicRoomType extends RoomTypeConfig { condition() { const user = Meteor.user(); // const roomsListExhibitionMode = RocketChat.getUserPreference(user, 'roomsListExhibitionMode'); - const mergeChannels = RocketChat.getUserPreference(user, 'mergeChannels'); - return !mergeChannels && (RocketChat.authz.hasAtLeastOnePermission(['view-c-room', 'view-joined-room']) || RocketChat.settings.get('Accounts_AllowAnonymousRead') === true); + const groupByType = RocketChat.getUserPreference(user, 'groupByType'); + return groupByType && (RocketChat.authz.hasAtLeastOnePermission(['view-c-room', 'view-joined-room']) || RocketChat.settings.get('Accounts_AllowAnonymousRead') === true); } showJoinLink(roomId) { diff --git a/packages/rocketchat-lib/server/startup/settings.js b/packages/rocketchat-lib/server/startup/settings.js index 7bc15e5b674..2ad5cc06fc1 100644 --- a/packages/rocketchat-lib/server/startup/settings.js +++ b/packages/rocketchat-lib/server/startup/settings.js @@ -1625,9 +1625,9 @@ RocketChat.settings.addGroup('Layout', function() { type: 'boolean', 'public': true }); - this.add('UI_Merge_Channels_Groups', true, { + this.add('UI_Group_Channels_By_Type', true, { type: 'boolean', - 'public': true + 'public': false }); this.add('UI_Use_Name_Avatar', false, { type: 'boolean', diff --git a/packages/rocketchat-ui-account/client/accountPreferences.html b/packages/rocketchat-ui-account/client/accountPreferences.html index 8ec4479fda1..232f358b728 100644 --- a/packages/rocketchat-ui-account/client/accountPreferences.html +++ b/packages/rocketchat-ui-account/client/accountPreferences.html @@ -193,26 +193,6 @@ - -