|
|
|
@ -1,6 +1,5 @@
|
|
|
|
|
package org.session.libsession.messaging.sending_receiving
|
|
|
|
|
|
|
|
|
|
import com.goterl.lazysodium.utils.KeyPair
|
|
|
|
|
import nl.komponents.kovenant.Promise
|
|
|
|
|
import nl.komponents.kovenant.deferred
|
|
|
|
|
import org.session.libsession.messaging.MessagingModuleConfiguration
|
|
|
|
@ -338,8 +337,23 @@ object MessageSender {
|
|
|
|
|
storage.setMessageServerHash(messageID, it)
|
|
|
|
|
}
|
|
|
|
|
// Track the open group server message ID
|
|
|
|
|
if (message.openGroupServerMessageID != null && destination is Destination.LegacyOpenGroup) {
|
|
|
|
|
val encoded = GroupUtil.getEncodedOpenGroupID("${destination.server}.${destination.roomToken}".toByteArray())
|
|
|
|
|
if (message.openGroupServerMessageID != null && (destination is Destination.LegacyOpenGroup || destination is Destination.OpenGroup)) {
|
|
|
|
|
val server: String
|
|
|
|
|
val room: String
|
|
|
|
|
when (destination) {
|
|
|
|
|
is Destination.LegacyOpenGroup -> {
|
|
|
|
|
server = destination.server
|
|
|
|
|
room = destination.roomToken
|
|
|
|
|
}
|
|
|
|
|
is Destination.OpenGroup -> {
|
|
|
|
|
server = destination.server
|
|
|
|
|
room = destination.roomToken
|
|
|
|
|
}
|
|
|
|
|
else -> {
|
|
|
|
|
throw Exception("Destination was a different destination than we were expecting")
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
val encoded = GroupUtil.getEncodedOpenGroupID("$server.$room".toByteArray())
|
|
|
|
|
val threadID = storage.getThreadId(Address.fromSerialized(encoded))
|
|
|
|
|
if (threadID != null && threadID >= 0) {
|
|
|
|
|
storage.setOpenGroupServerMessageID(messageID, message.openGroupServerMessageID!!, threadID, !(message as VisibleMessage).isMediaMessage())
|
|
|
|
|