fix: moderator status going off open chat API instead of PublicChatAPI

This commit is contained in:
jubb
2021-03-30 17:13:25 +11:00
parent 65fbd56b6a
commit a445e0a326
4 changed files with 257 additions and 18 deletions

View File

@@ -130,7 +130,7 @@ fun MessageReceiver.handleVisibleMessage(message: VisibleMessage, proto: SignalS
val context = MessagingConfiguration.shared.context
// Update profile if needed
val newProfile = message.profile
if (newProfile != null && openGroupID.isNullOrEmpty()) {
if (newProfile != null) {
val profileManager = SSKEnvironment.shared.profileManager
val recipient = Recipient.from(context, Address.fromSerialized(message.sender!!), false)
val displayName = newProfile.displayName!!

View File

@@ -83,7 +83,10 @@ class OpenGroupPoller(private val openGroup: OpenGroup, private val executorServ
messages.forEach { message ->
try {
val senderPublicKey = message.senderPublicKey
val senderDisplayName = message.displayName
fun generateDisplayName(rawDisplayName: String): String {
return "$rawDisplayName (...${senderPublicKey.takeLast(8)})"
}
val senderDisplayName = MessagingConfiguration.shared.storage.getOpenGroupDisplayName(senderPublicKey, openGroup.channel, openGroup.server) ?: generateDisplayName(message.displayName)
val id = openGroup.id.toByteArray()
// Main message
val dataMessageProto = DataMessage.newBuilder()
@@ -187,6 +190,7 @@ class OpenGroupPoller(private val openGroup: OpenGroup, private val executorServ
Log.e("Loki", "Exception parsing message", e)
}
}
displayNameUpdates = displayNameUpdates + messages.map { it.senderPublicKey }.toSet() - userHexEncodedPublicKey
isCaughtUp = true
isPollOngoing = false
deferred.resolve(Unit)