Commit Graph

1306 Commits (c27d35f8f28ede39a53a9f433a474b41501fe49b)

Author SHA1 Message Date
Michael Kirk 90aa593dcd sortId vs. Read status 7 years ago
Michael Kirk 089c4f09ea bump all views which rely on message sorting 7 years ago
Michael Kirk ab55e85304 step 1: timestampForSorting audit, change signature
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.
7 years ago
Michael Kirk e1a46d85fb investigation shows we don't use this timestamp for call error messages 7 years ago
Michael Kirk df61316495 minimize diff senderTimestamp -> timestamp 7 years ago
Michael Kirk 00d0d1e002 Remove legacy Error backdating - no changes in functionality
Historically we would backdate the SN change messages, but since adopting
non-blocking SN changes long ago, they're already sorted properly by creation
time, so backdating has been unnecessary for a while.

I also audited that all other error messages are saved directly after creation.

I applied deprecation attributes as appropriate as I audited.
7 years ago
Michael Kirk 550e7ba63b Create disappearing message update info messages before messages they affect
Since we're no longer sorting by timestamp we have to ensure we save the update
info message before we save any affected message, e.g. in the case of implicit
updates.
7 years ago
Michael Kirk eef1368ad3 Timestamp audit step1: change signature
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.
7 years ago
Michael Kirk a60d8eb161 WIP: migration / autoincrement logic
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?
7 years ago
Michael Kirk bccb633b6c fix release compile 7 years ago
Matthew Chen 98630cca50 Respond to CR; add db utility methods to test base classes. 7 years ago
Matthew Chen 559c496ae5 Clean up. 7 years ago
Matthew Chen 66fc389fba Get SSK tests building and running. 7 years ago
Matthew Chen 87836f506b Move more singletons to SSKEnvironment. 7 years ago
Matthew Chen 39ebdf0921 Log curl command for failed requests in debug builds. 7 years ago
Matthew Chen 15b52db8bf Respond to CR. 7 years ago
Matthew Chen 29bb69032a DRY up the debounce of db extension version increment. 7 years ago
Matthew Chen e8186a7005 Fix rebase breakage. Make environment properties mutable in tests. 7 years ago
Matthew Chen 3b2c5bfc7b Modify mock environments to register all db views. 7 years ago
Matthew Chen 83e6484156 Respond to CR. Rework how OWSUploadOperation's networkManager property. 7 years ago
Matthew Chen edcedd2845 Remove selfRecipient method. 7 years ago
Matthew Chen e1db60c1c0 Rework creation of singletons. 7 years ago
Matthew Chen 4ad7ca79b7 Respond to CR. 7 years ago
Matthew Chen e8eac9f30b Clean up ahead of PR. 7 years ago
Matthew Chen b883209f91 Refine logging. 7 years ago
Matthew Chen 69290f7ec8 Improve logging around failied keychain deletion. 7 years ago
Matt Rubin d25579e478 Treat failure to delete a non-existent password as success
Fixes https://github.com/signalapp/Signal-iOS/issues/3876
7 years ago
Michael Kirk e1f131f09c restore save after marking item as uploaded
This was lost in an earlier fixup commit - markAsAccepted mutates but does not
persist anything since SPK doesn't know about YapDB
7 years ago
Michael Kirk cb55ba57f5 CR: rename classes, no functional changes 7 years ago
Michael Kirk 9f35b93647 CR: clarify comment 7 years ago
Michael Kirk 9bca1c8e52 Add some missing nullability annotations 7 years ago
Michael Kirk b3d3c27f39 CR: Split operations into separate files (no changes in functionality) 7 years ago
Michael Kirk ff3e9bcdd1 cr: add comment about operation queue 7 years ago
Michael Kirk bfd8eb63c6 Add some comments/nullability annotations for clarity 7 years ago
Michael Kirk c9218b59ca CR: add operation queue name 7 years ago
Michael Kirk 5a7d7634bf store keys before uploading to avoid race condition with service 7 years ago
Michael Kirk 1853e79c3e Don't retry send until SPK has been rotated
// FREEBIE
7 years ago
Michael Kirk 5e1306aaa5 Restore check debounce 7 years ago
Michael Kirk 8e488b5c3b remove unused code 7 years ago
Michael Kirk 85d35b52d6 restore PreKey upload failure tracking 7 years ago
Michael Kirk 39b691b697 Fix operations not being de-alloced 7 years ago
Michael Kirk 619597cd61 ensure operations run to completion on the PreKey operation queue 7 years ago
Michael Kirk 3df0e72eda Extract SPK rotation and CreatePreKey operations 7 years ago
Michael Kirk 286d3c8ce9 Serialize RefreshKeyOperation
TODO

-[] rotate signed prekey job
-[] verify current prekey w/ server
-[] create keys
7 years ago
Michael Kirk 01811a4891 fix swift method signature 7 years ago
Michael Kirk b11bd6ea46 extract convenience intitializer for param parser 7 years ago
Michael Kirk 1eb05c1d01 remove unused preKeyLastResort 7 years ago
Michael Kirk 920a82564f Merge tag '2.29.3.3' 7 years ago
Matthew Chen 22afe39cd0 Respond to CR. 7 years ago
Matthew Chen 2ea751bbac Clean up attachment downloads. 7 years ago