diff --git a/Signal/src/Loki/Components/ConversationCell.swift b/Signal/src/Loki/Components/ConversationCell.swift index f31c8ba2f..ff00980d2 100644 --- a/Signal/src/Loki/Components/ConversationCell.swift +++ b/Signal/src/Loki/Components/ConversationCell.swift @@ -139,22 +139,24 @@ final class ConversationCell : UITableViewCell { unreadMessagesIndicatorView.alpha = threadViewModel.hasUnreadMessages ? 1 : 0.0001 // Setting the alpha to exactly 0 causes an issue on iOS 12 profilePictureView.openGroupProfilePicture = nil if threadViewModel.isGroupThread { - if threadViewModel.name == "Loki Public Chat" { + if threadViewModel.name == "Loki Public Chat" + || threadViewModel.name == "Session Public Chat" { // Override the profile picture for the Loki Public Chat and the Session Public Chat profilePictureView.hexEncodedPublicKey = "" profilePictureView.isRSSFeed = true - } else { - if let openGroupProfilePicture = (threadViewModel.threadRecord as! TSGroupThread).groupModel.groupImage { - profilePictureView.openGroupProfilePicture = openGroupProfilePicture - } else { - var users = MentionsManager.userPublicKeyCache[threadViewModel.threadRecord.uniqueId!] ?? [] - users.remove(getUserHexEncodedPublicKey()) - let randomUsers = users.sorted().prefix(2) // Sort to provide a level of stability - profilePictureView.hexEncodedPublicKey = randomUsers.count >= 1 ? randomUsers[0] : "" - profilePictureView.additionalHexEncodedPublicKey = randomUsers.count >= 2 ? randomUsers[1] : "" - } - profilePictureView.isRSSFeed = (threadViewModel.threadRecord as? TSGroupThread)?.isRSSFeed ?? false + } else if let openGroupProfilePicture = (threadViewModel.threadRecord as! TSGroupThread).groupModel.groupImage { // An open group with a profile picture + profilePictureView.openGroupProfilePicture = openGroupProfilePicture + } else if (threadViewModel.threadRecord as! TSGroupThread).groupModel.groupType == .openGroup + || (threadViewModel.threadRecord as! TSGroupThread).groupModel.groupType == .rssFeed { // An open group without a profile picture or an RSS feed + profilePictureView.hexEncodedPublicKey = "" + profilePictureView.isRSSFeed = true + } else { // A closed group + var users = MentionsManager.userPublicKeyCache[threadViewModel.threadRecord.uniqueId!] ?? [] + users.remove(getUserHexEncodedPublicKey()) + let randomUsers = users.sorted().prefix(2) // Sort to provide a level of stability + profilePictureView.hexEncodedPublicKey = randomUsers.count >= 1 ? randomUsers[0] : "" + profilePictureView.additionalHexEncodedPublicKey = randomUsers.count >= 2 ? randomUsers[1] : "" } - } else { + } else { // A one-on-one chat profilePictureView.hexEncodedPublicKey = threadViewModel.contactIdentifier! profilePictureView.additionalHexEncodedPublicKey = nil profilePictureView.isRSSFeed = false diff --git a/Signal/src/Models/MessageActions.swift b/Signal/src/Models/MessageActions.swift index 70883b76e..7b9dc9d16 100644 --- a/Signal/src/Models/MessageActions.swift +++ b/Signal/src/Models/MessageActions.swift @@ -115,7 +115,8 @@ class ConversationViewItemActions: NSObject { actions.append(deleteAction) } - if isGroup && conversationViewItem.interaction.thread.name() == "Loki Public Chat" { + if isGroup && conversationViewItem.interaction.thread.name() == "Loki Public Chat" + || conversationViewItem.interaction.thread.name() == "Session Public Chat" { let reportAction = MessageActionBuilder.report(conversationViewItem, delegate: delegate) actions.append(reportAction) } @@ -159,7 +160,8 @@ class ConversationViewItemActions: NSObject { actions.append(deleteAction) } - if isGroup && conversationViewItem.interaction.thread.name() == "Loki Public Chat" { + if isGroup && conversationViewItem.interaction.thread.name() == "Loki Public Chat" + || conversationViewItem.interaction.thread.name() == "Session Public Chat" { let reportAction = MessageActionBuilder.report(conversationViewItem, delegate: delegate) actions.append(reportAction) } @@ -192,7 +194,8 @@ class ConversationViewItemActions: NSObject { actions.append(deleteAction) } - if isGroup && conversationViewItem.interaction.thread.name() == "Loki Public Chat" { + if isGroup && conversationViewItem.interaction.thread.name() == "Loki Public Chat" + || conversationViewItem.interaction.thread.name() == "Session Public Chat" { let reportAction = MessageActionBuilder.report(conversationViewItem, delegate: delegate) actions.append(reportAction) } diff --git a/Signal/src/ViewControllers/ThreadSettings/OWSConversationSettingsViewController.m b/Signal/src/ViewControllers/ThreadSettings/OWSConversationSettingsViewController.m index bc3ffd057..56ab7e54f 100644 --- a/Signal/src/ViewControllers/ThreadSettings/OWSConversationSettingsViewController.m +++ b/Signal/src/ViewControllers/ThreadSettings/OWSConversationSettingsViewController.m @@ -958,7 +958,8 @@ const CGFloat kIconViewLength = 24; if (self.isGroupThread) { TSGroupThread* groupThread = (TSGroupThread *)self.thread; - if (groupThread.isPublicChat && groupThread.groupModel.groupImage != nil && ![groupThread.groupModel.groupName isEqual:@"Loki Public Chat"]) { + if (groupThread.isPublicChat && groupThread.groupModel.groupImage != nil + && ![groupThread.groupModel.groupName isEqual:@"Loki Public Chat"] && ![groupThread.groupModel.groupName isEqual:@"Session Public Chat"]) { profilePictureView.openGroupProfilePicture = groupThread.groupModel.groupImage; profilePictureView.isRSSFeed = false; } else {