Unsent messages should be placed as the last ones in the message list #5959
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.
🎯 Goal
Unsent messages should be placed as the last ones in the message list
🛠 Implementation details
Ensure the message has a
Message.createdLocallyAt
timestamp.If not, set it to the max of the channel's
Channel.lastMessageAt
+ 1 millisecond andnow
.This ensures that the message appears in the correct order in the channel.
🎨 UI Changes
Screen_recording_20251013_140608.webm
Screen_recording_20251013_140449.webm
🧪 Testing
Set the device clock to a time in the past.
Send a message in the online state.
Send a new message in the offline state.
Observe that the new message is placed as the last one.
Send an attachment message.
While the attachment is being uploaded, send a new message.
Observe that the attachment message is placed above the new message while the upload is not completed.
Observe that the attachment message is placed below the new message when the upload is completed.