remove thread for getTempMessagesForConversation

i'm not yet sure about it and did not have a problem with it, but i guess this change makes sense to ensure temporary messages from a thread are not shown and remain in the main chat. This could theoretically happen when directly leaving a thread after sending a message?

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
This commit is contained in:
Marcel Hibbe 2025-07-11 23:07:18 +02:00
parent 8c8bee3fe9
commit d25e85e3f2
No known key found for this signature in database
GPG Key ID: C793F8B59F43CE7B
3 changed files with 4 additions and 6 deletions

View File

@ -379,7 +379,7 @@ class OfflineFirstChatRepository @Inject constructor(
} }
// remove all temp messages from UI // remove all temp messages from UI
val oldTempMessages = chatDao.getTempMessagesForConversation(internalConversationId, threadId) val oldTempMessages = chatDao.getTempMessagesForConversation(internalConversationId)
.first() .first()
.map(ChatMessageEntity::asModel) .map(ChatMessageEntity::asModel)
oldTempMessages.forEach { oldTempMessages.forEach {
@ -403,7 +403,7 @@ class OfflineFirstChatRepository @Inject constructor(
) )
// add the remaining temp messages to UI again // add the remaining temp messages to UI again
val remainingTempMessages = chatDao.getTempMessagesForConversation(internalConversationId, threadId) val remainingTempMessages = chatDao.getTempMessagesForConversation(internalConversationId)
.first() .first()
.sortedBy { it.internalId } .sortedBy { it.internalId }
.map(ChatMessageEntity::asModel) .map(ChatMessageEntity::asModel)

View File

@ -49,11 +49,10 @@ interface ChatMessagesDao {
FROM ChatMessages FROM ChatMessages
WHERE internalConversationId = :internalConversationId WHERE internalConversationId = :internalConversationId
AND isTemporary = 1 AND isTemporary = 1
AND (:threadId IS NULL OR threadId = :threadId)
ORDER BY timestamp DESC, id DESC ORDER BY timestamp DESC, id DESC
""" """
) )
fun getTempMessagesForConversation(internalConversationId: String, threadId: Long?): Flow<List<ChatMessageEntity>> fun getTempMessagesForConversation(internalConversationId: String): Flow<List<ChatMessageEntity>>
@Query( @Query(
""" """

View File

@ -31,8 +31,7 @@ class DummyChatMessagesDaoImpl : ChatMessagesDao {
override fun getMessagesForConversation(internalConversationId: String): Flow<List<ChatMessageEntity>> = flowOf() override fun getMessagesForConversation(internalConversationId: String): Flow<List<ChatMessageEntity>> = flowOf()
override fun getTempMessagesForConversation( override fun getTempMessagesForConversation(
internalConversationId: String, internalConversationId: String
threadId: Long?
): Flow<List<ChatMessageEntity>> = flowOf() ): Flow<List<ChatMessageEntity>> = flowOf()
override fun getTempUnsentMessagesForConversation( override fun getTempUnsentMessagesForConversation(