We were often using `timestampForLegacySorting`, which is convoluted for when
we actually just want received time.
In some sense this is a superficial change, but it's part of auditing that
we've completed moved away from timestampForLegacySorting.
No change in functionality in this commit, I just broke the signature to have a
systematic audit of the callsites. Added TODO's with the plan for each call.
There is no change in functionality in this commit.
Apart from clarifying what the timestamp means (it's the timestamp of the
*sender*), this intentionally breaks all the call sites, so I could have a sane
way to thoroughly audit wherever we're passing in timestamps, to see where
we're depending on them to affect sort order.
For the sake of a cleaner diff of meaningful changes, instead of "fixing"
everything in this commit, I've just added comments and renamed signatures.
TODO:
-[ ] contact offer
-[ ] verify all paths that utilized timestampForSorting, e.g. make sure SN appear before the message they affect, etc.
-[x] Monotonic ID
-[x] New extension which sorts by id
-[x] Migration
-[ ] batch migration?
verify `description` isn't used elsewhere (notifications? conversation
view?)
Probably want to remove overzealous asserts for now, but would be good
to work towards leaving them enabled.
// FREEBIE
First pass at a swipe-through media view for conversations.
Future work could include
- title label per item
- sender name
- date/time
- photo rail
- include caption
// FREEBIE