fix parent message for temp messages

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
This commit is contained in:
Marcel Hibbe 2025-01-06 14:39:12 +01:00
parent 4c795139ac
commit 3fdaa4bdcd
No known key found for this signature in database
GPG Key ID: C793F8B59F43CE7B

View File

@ -26,6 +26,8 @@ import com.nextcloud.talk.models.domain.ConversationModel
import com.nextcloud.talk.models.json.chat.ChatMessageJson import com.nextcloud.talk.models.json.chat.ChatMessageJson
import com.nextcloud.talk.models.json.chat.ChatOverall import com.nextcloud.talk.models.json.chat.ChatOverall
import com.nextcloud.talk.models.json.chat.ChatOverallSingleMessage import com.nextcloud.talk.models.json.chat.ChatOverallSingleMessage
import com.nextcloud.talk.models.json.converters.EnumActorTypeConverter
import com.nextcloud.talk.models.json.participants.Participant
import com.nextcloud.talk.utils.bundle.BundleKeys import com.nextcloud.talk.utils.bundle.BundleKeys
import com.nextcloud.talk.utils.database.user.CurrentUserProviderNew import com.nextcloud.talk.utils.database.user.CurrentUserProviderNew
import com.nextcloud.talk.utils.message.SendMessageUtils import com.nextcloud.talk.utils.message.SendMessageUtils
@ -956,6 +958,7 @@ class OfflineFirstChatRepository @Inject constructor(
val tempChatMessageEntity = createChatMessageEntity( val tempChatMessageEntity = createChatMessageEntity(
internalConversationId, internalConversationId,
message.toString(), message.toString(),
replyTo,
referenceId referenceId
) )
@ -976,25 +979,32 @@ class OfflineFirstChatRepository @Inject constructor(
private fun createChatMessageEntity( private fun createChatMessageEntity(
internalConversationId: String, internalConversationId: String,
message: String, message: String,
replyTo: Int,
referenceId: String referenceId: String
): ChatMessageEntity { ): ChatMessageEntity {
val currentTimeMillies = System.currentTimeMillis() val currentTimeMillies = System.currentTimeMillis()
val currentTimeWithoutYear = SendMessageUtils().removeYearFromTimestamp(currentTimeMillies) val currentTimeWithoutYear = SendMessageUtils().removeYearFromTimestamp(currentTimeMillies)
val parentMessageId = if (replyTo != 0) {
replyTo.toLong()
} else {
null
}
val entity = ChatMessageEntity( val entity = ChatMessageEntity(
internalId = internalConversationId + "@_temp_" + currentTimeMillies, internalId = "$internalConversationId@_temp_$currentTimeMillies",
internalConversationId = internalConversationId, internalConversationId = internalConversationId,
id = currentTimeWithoutYear.toLong(), id = currentTimeWithoutYear.toLong(),
message = message, message = message,
deleted = false, deleted = false,
token = conversationModel.token, token = conversationModel.token,
actorId = currentUser.userId!!, actorId = currentUser.userId!!,
actorType = "users", actorType = EnumActorTypeConverter().convertToString(Participant.ActorType.USERS),
accountId = currentUser.id!!, accountId = currentUser.id!!,
messageParameters = null, messageParameters = null,
messageType = "comment", messageType = "comment",
parentMessageId = null, parentMessageId = parentMessageId,
systemMessageType = ChatMessage.SystemMessageType.DUMMY, systemMessageType = ChatMessage.SystemMessageType.DUMMY,
replyable = false, replyable = false,
timestamp = System.currentTimeMillis() / MILLIES, timestamp = System.currentTimeMillis() / MILLIES,