Thanks for reporting this, I did try to take this into account with the feature but I think I got a little too lucky with the testing I did
So we do indeed set all the timestamps to the same thing here:
The problem is that we do not want to interleave the moved messages between the existing channel messages, and it gets harder and harder the more messages your move.
A question before I dive too deep on this – can you remember and identify which messages are out of place? Is there just a couple, or are they completely out of order? I think what has possibly caused the discrepancy is that when we are fetching messages for a channel, we do it by ID order (which we order DESC and then reverse in most cases):
Whereas in the message mover I am ordering by created_at to maintain order, which could cause some small discrepancies:
I have some ideas on how we might be able to address this (maybe changing the message mover to order by ID or changing the controller to order by created_at would be enough, preferring the latter because I think it would make more sense), but I would like to hear just how messed up the order is if it’s possible to tell.