Commit Graph

320 Commits

Author SHA1 Message Date
Matthew Chen
95e1f840c1 Backup misc collections. 2018-11-28 17:05:08 -05:00
Matthew Chen
90e7df5515 Use attachment pointers to restore attachments from backup. 2018-11-21 08:53:15 -08:00
Michael Kirk
b79860ae0f fix compiler doc warning 2018-11-12 09:45:06 -06:00
Michael Kirk
5da525ce2e Merge remote-tracking branch 'origin/release/2.31.0' 2018-11-09 15:49:53 -06:00
Matthew Chen
29b4702311 Fix build break. 2018-11-09 14:10:15 -05:00
Michael Kirk
366b228c01 use UUID for TSInteractions.uniqueId 2018-11-09 14:02:23 -05:00
Michael Kirk
57681bd6f3 Gallery supports album messages 2018-11-08 12:52:09 -06:00
Matthew Chen
0341f5dc2b Modify ConversationViewItem to support media galleries. 2018-11-06 15:23:09 -05:00
Matthew Chen
f2c0985907 Add 'is valid media?' method. 2018-11-06 15:23:09 -05:00
Matthew Chen
1c21c31c2b Fix failed reloads in SignalRecipient. 2018-11-05 08:43:16 -05:00
Matthew Chen
c7d427029b Respond to CR. 2018-11-02 13:17:36 -04:00
Matthew Chen
f6591fac25 Add debug UI for multi-image sends. 2018-11-02 13:04:05 -04:00
Matthew Chen
40aa78e001 Merge remote-tracking branch 'origin/release/2.31.0' 2018-10-31 11:42:41 -04:00
Michael Kirk
3d9cd4f4ed CR: comments and code clarity 2018-10-30 11:35:34 -06:00
Michael Kirk
cb9aa6304c find -E . -type f -regex ".*\.(m|h)" -exec sed -i "" -e "s/try_/throws_/" {} \; 2018-10-30 11:35:34 -06:00
Michael Kirk
c4f8975308 Swift Exception wrap Curve25519 2018-10-30 11:35:34 -06:00
Michael Kirk
c686e766b1 Exception audit, fail directly where intended 2018-10-30 11:35:34 -06:00
Michael Kirk
5f5ec9b82a ExceptionWrap loadPreKey 2018-10-30 11:35:34 -06:00
Matthew Chen
f26241ebd0 Avoid deadlocks in contact manager. 2018-10-26 14:10:58 -04:00
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
2018-10-25 11:54:59 -06:00
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.
2018-10-25 11:54:58 -06:00
Matthew Chen
f1646b6cbc Move db connections to environments. 2018-10-16 13:00:50 -04:00
Matthew Chen
f1d93d4472 Merge remote-tracking branch 'origin/release/2.30.2' 2018-10-12 16:00:42 -04:00
Matthew Chen
03f23b5f79 Fix breakage in UD manager; add UD manager test, hang TSAccountManager on SSKEnv, fix bugs in tests. 2018-10-11 08:46:24 -04:00
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.
2018-10-01 17:06:09 -06:00
Matthew Chen
3738155c81 Fix build breakage from SMK. 2018-10-01 09:08:02 -04:00
Matthew Chen
8ae200ac21 Fix build breakage around SignalCoreKit. 2018-10-01 09:07:40 -04:00
Matthew Chen
0125535d4d Pull out SignalCoreKit. 2018-10-01 09:06:40 -04:00
Matthew Chen
ebae75af00 Revert 'new sort id'. 2018-09-27 19:40:51 -04:00
Michael Kirk
fe7d69e9c6 Update thread's sorting order based on whatever the currently last message is 2018-09-26 09:52:34 -06:00
Michael Kirk
02692e42bd remove addressed TODO's 2018-09-26 09:52:34 -06:00
Michael Kirk
c0c973de1c Sort gallery finder by sortId 2018-09-26 09:52:34 -06:00
Michael Kirk
b281b37637 replace thread.lastMessageDate/archivalDate -> thread.lastSortId, thread.archivedAsOfSortId
Update migration accordingly

Date shown on home view cell is message.receivedAt
2018-09-26 09:52:34 -06:00
Michael Kirk
089c4f09ea bump all views which rely on message sorting 2018-09-26 09:52:33 -06:00
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.
2018-09-26 09:52:33 -06:00
Michael Kirk
df61316495 minimize diff senderTimestamp -> timestamp 2018-09-26 09:52:33 -06:00
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.
2018-09-26 09:52:33 -06:00
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?
2018-09-26 09:52:33 -06:00
Matthew Chen
15b52db8bf Respond to CR. 2018-09-20 08:55:19 -04:00
Matthew Chen
29bb69032a DRY up the debounce of db extension version increment. 2018-09-20 08:55:19 -04:00
Matthew Chen
3b2c5bfc7b Modify mock environments to register all db views. 2018-09-19 16:29:15 -04:00
Matthew Chen
e1db60c1c0 Rework creation of singletons. 2018-09-19 15:11:26 -04:00
Matthew Chen
69290f7ec8 Improve logging around failied keychain deletion. 2018-09-18 09:07:54 -04:00
Matt Rubin
d25579e478 Treat failure to delete a non-existent password as success
Fixes https://github.com/signalapp/Signal-iOS/issues/3876
2018-09-18 09:05:43 -04:00
Michael Kirk
9bca1c8e52 Add some missing nullability annotations 2018-09-17 10:10:32 -06:00
Michael Kirk
3df0e72eda Extract SPK rotation and CreatePreKey operations 2018-09-17 10:10:32 -06:00
Michael Kirk
286d3c8ce9 Serialize RefreshKeyOperation
TODO

-[] rotate signed prekey job
-[] verify current prekey w/ server
-[] create keys
2018-09-17 10:10:32 -06:00
Michael Kirk
1eb05c1d01 remove unused preKeyLastResort 2018-09-17 10:10:32 -06:00
Michael Kirk
920a82564f Merge tag '2.29.3.3' 2018-09-15 09:17:08 -05:00
Matthew Chen
e784f9feeb Move fakes to SSK/tests. 2018-09-14 14:05:43 -04:00