fix: Order of messages if outgoing reply is received earlier (#7169) #7192
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Based on #7180 . Replacement for #7177 . The third try %)
Fix #7169
This fixes a scenario when an outgoing reply is received earlier than an incoming message for some reason like device B having
MvboxMove
enabled, sending the reply and going offline immediately, so the reply is in Inbox and it's processed by device A earlier because e.g.MvboxMove
is disabled on it. Also if we add multi-transport later, this scenario will be just normal.This allows received outgoing messages to mingle with fresh incoming ones, i.e. sorts them together purely by timestamp by assigning
InFresh
state to received outgoing messages, but still returningOutDelivered
by all APIs for compatibility. NB: We already do such a trick forOutMdnRcvd
.As for messages sent locally, there's no need to make them more noticeable even if they are newer, so received outgoing messages are always added after them.