Commit Graph

308 Commits (63d88ef5cbf6bc69e8571f7e02c14acf982bb9cf)

Author SHA1 Message Date
Matthew Chen 40aa78e001 Merge remote-tracking branch 'origin/release/2.31.0' 7 years ago
Michael Kirk 3d9cd4f4ed CR: comments and code clarity 7 years ago
Michael Kirk cb9aa6304c find -E . -type f -regex ".*\.(m|h)" -exec sed -i "" -e "s/try_/throws_/" {} \; 7 years ago
Michael Kirk c4f8975308 Swift Exception wrap Curve25519 7 years ago
Michael Kirk c686e766b1 Exception audit, fail directly where intended 7 years ago
Michael Kirk 5f5ec9b82a ExceptionWrap loadPreKey 7 years ago
Matthew Chen f26241ebd0 Avoid deadlocks in contact manager. 7 years ago
Michael Kirk 3560f3be5c Durable send operation
TODO
-[x] respect order of queue
-[x] replacements
  -[x] those w/o completion handler
  -[x] basic send+log operation persists
  -[x] send+ui completion
  -[x] share extension
  -[x] update state jobs
-[x] App Lifecyle
  -[x] settable
  -[x] Mark as ready on startup
  -[x] Fail appropriate jobs on startup

NICE TO HAVE
-[x] concurrent per senders
-[ ] longer retry (e.g. 24hrs)
-[ ] App Lifecyle
  -[x] retry failed jobs on startup?
  -[ ] reachability

DONE
-[x] basic passing test
-[x] datamodel
-[x] queue/classes
7 years ago
Michael Kirk 456b2c0830 Avoid crash during test runs
In tests that have writes occuring async WRT the test loop, we sometimes crash
when the transaction ends and we end the background task, because
CurrentAppContext() is momentarily nil between test runs.
7 years ago
Matthew Chen f1646b6cbc Move db connections to environments. 7 years ago
Matthew Chen f1d93d4472 Merge remote-tracking branch 'origin/release/2.30.2' 7 years ago
Matthew Chen 03f23b5f79 Fix breakage in UD manager; add UD manager test, hang TSAccountManager on SSKEnv, fix bugs in tests. 7 years ago
Michael Kirk 006021ea41 Fix: group color change doesn't immediately apply
Because we were fetching a new thread instance, instead of updating the
existing thread instance, classes which were bound to the old thread instance
weren't updating. This affected the HeaderView.AvatarView.thread and the
ConversationStyle.thread.
7 years ago
Matthew Chen 3738155c81 Fix build breakage from SMK. 7 years ago
Matthew Chen 8ae200ac21 Fix build breakage around SignalCoreKit. 7 years ago
Matthew Chen 0125535d4d Pull out SignalCoreKit. 7 years ago
Matthew Chen ebae75af00 Revert 'new sort id'. 7 years ago
Michael Kirk fe7d69e9c6 Update thread's sorting order based on whatever the currently last message is 7 years ago
Michael Kirk 02692e42bd remove addressed TODO's 7 years ago
Michael Kirk c0c973de1c Sort gallery finder by sortId 7 years ago
Michael Kirk b281b37637 replace thread.lastMessageDate/archivalDate -> thread.lastSortId, thread.archivedAsOfSortId
Update migration accordingly

Date shown on home view cell is message.receivedAt
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 df61316495 minimize diff senderTimestamp -> timestamp 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
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 3b2c5bfc7b Modify mock environments to register all db views. 7 years ago
Matthew Chen e1db60c1c0 Rework creation of singletons. 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 9bca1c8e52 Add some missing nullability annotations 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 1eb05c1d01 remove unused preKeyLastResort 7 years ago
Michael Kirk 920a82564f Merge tag '2.29.3.3' 7 years ago
Matthew Chen e784f9feeb Move fakes to SSK/tests. 7 years ago
Michael Kirk e4d12feeb9 rev gallery db extension since our `isValid` checks have changed 7 years ago
Matthew Chen cc117b385c Modify environment accessors to use our 'shared' convention. 7 years ago
Matthew Chen bd05cdc031 Rename TextSecureKitEnv to SSKEnvironment. 7 years ago
Matthew Chen bcceda1861 Respond to CR. 7 years ago
Matthew Chen cfb511aa57 Respond to CR. 7 years ago
Matthew Chen eb616a3411 Respond to CR. 7 years ago
Matthew Chen 535241ef9e Add test app context; use mock "document" and "shared data container" directories in tests, use mock keychain storage in tests. 7 years ago
Matthew Chen 399dd13cee Add test app context; use mock "document" and "shared data container" directories in tests, use mock keychain storage in tests. 7 years ago
Michael Kirk c7662b5a86 Step 2/2 %s/OWSAssert/OWSAssertDebug for existing previous assert semantics
Going forward, we want to prefer safer asserts, but we don't want to blindly
apply crashing asserts across the codebase
7 years ago
Matthew Chen f4d1f25656 Merge remote-tracking branch 'origin/release/2.29.1' 7 years ago
Michael Kirk 6821e4a3a5 Don't include invalid media in gallery 7 years ago
Matthew Chen f473f60111 Apply OWS log functions in Objective-C. 7 years ago