Skip to content

Commit

Permalink
fix(replies): update quoted message data when receiving new messages
Browse files Browse the repository at this point in the history
Fixes #9156
  • Loading branch information
jrainville committed Jan 19, 2023
1 parent 162fe76 commit 470a872
Showing 1 changed file with 25 additions and 0 deletions.
25 changes: 25 additions & 0 deletions src/app/modules/shared_models/message_model.nim
Original file line number Diff line number Diff line change
Expand Up @@ -292,6 +292,31 @@ QtObject:
let parentModelIndex = newQModelIndex()
defer: parentModelIndex.delete

# Update replied to messages if there are
# We update replies before adding, since we do not need to update the new items, they should already be up to date
for i in 0 ..< self.items.len:
var oldItem = self.items[i]
if oldItem.responseToMessageWithId == "" or oldItem.quotedMessageFrom != "":
continue
for newItem in items:
if oldItem.responseToMessageWithId == newItem.id:
oldItem.quotedMessageFrom = newItem.senderId
oldItem.quotedMessageAuthorDisplayName = newItem.senderDisplayName
oldItem.quotedMessageAuthorAvatar = newItem.senderIcon
oldItem.quotedMessageParsedText = newItem.messageText
oldItem.quotedMessageText = newItem.unparsedText
oldItem.quotedMessageContentType = newItem.contentType.int
let index = self.createIndex(i, 0, nil)
self.dataChanged(index, index, @[
ModelRole.QuotedMessageFrom.int,
ModelRole.QuotedMessageAuthorDisplayName.int,
ModelRole.QuotedMessageAuthorAvatar.int,
ModelRole.QuotedMessageText.int,
ModelRole.QuotedMessageParsedText.int,
ModelRole.QuotedMessageContentType.int,
])


self.beginInsertRows(parentModelIndex, position, position + items.len - 1)
self.items.insert(items, position)
self.endInsertRows()
Expand Down

0 comments on commit 470a872

Please sign in to comment.