diff --git a/src/components/views/rooms/RoomBreadcrumbs.js b/src/components/views/rooms/RoomBreadcrumbs.js index 5a15a7518b..f9408d3259 100644 --- a/src/components/views/rooms/RoomBreadcrumbs.js +++ b/src/components/views/rooms/RoomBreadcrumbs.js @@ -363,7 +363,7 @@ export default class RoomBreadcrumbs extends React.Component { } let dmIndicator; - if (this._isDmRoom(r.room)) { + if (this._isDmRoom(r.room) && !SettingsStore.isFeatureEnabled("feature_cross_signing")) { dmIndicator = : undefined; + const dmUserId = DMRoomMap.shared().getUserIdForRoomId(this.props.room.roomId); const joinRules = this.props.room && this.props.room.currentState.getStateEvents("m.room.join_rules", ""); const joinRule = joinRules && joinRules.getContent().join_rule; let privateIcon; - if (SettingsStore.isFeatureEnabled("feature_cross_signing")) { + // Don't show an invite-only icon for DMs. Users know they're invite-only. + if (!dmUserId && SettingsStore.isFeatureEnabled("feature_cross_signing")) { if (joinRule == "invite") { privateIcon = ; } diff --git a/src/components/views/rooms/RoomTile.js b/src/components/views/rooms/RoomTile.js index 9d2334de82..41975fe7b8 100644 --- a/src/components/views/rooms/RoomTile.js +++ b/src/components/views/rooms/RoomTile.js @@ -478,8 +478,9 @@ export default createReactClass({ let dmIndicator; let dmOnline; - // If we can place a shield, do that instead - if (dmUserId && !this.state.e2eStatus) { + /* Post-cross-signing we don't show DM indicators at all, instead relying on user + context to let them know when that is. */ + if (dmUserId && !SettingsStore.isFeatureEnabled("feature_cross_signing")) { dmIndicator =