Commit Graph

58 Commits (13373db3bcd5cce9c9ef76b648ee8008f0042dea)

Author SHA1 Message Date
Matthew Chen 13373db3bc Send delivery receipts. 7 years ago
Matthew Chen 0125535d4d Pull out SignalCoreKit. 7 years ago
Matthew Chen ebae75af00 Revert 'new sort id'. 7 years ago
Michael Kirk 90aa593dcd sortId vs. Read status 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
Matthew Chen e1db60c1c0 Rework creation of singletons. 7 years ago
Matthew Chen 3a12446be8 Modify environment accessors to use our 'shared' convention. 7 years ago
Matthew Chen bd05cdc031 Rename TextSecureKitEnv to SSKEnvironment. 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 f473f60111 Apply OWS log functions in Objective-C. 7 years ago
Matthew Chen cc5a480baa Apply OWS log functions in Objective-C. 7 years ago
Matthew Chen 03829779cc Apply OWS log functions in Objective-C. 7 years ago
Matthew Chen 3a50377902 Apply OWS log functions in Objective-C. 7 years ago
Matthew Chen 713606271c Rename fail macros in Obj-C. 7 years ago
Michael Kirk c05700fd98 Log in OWSFail
step 1: rename OWSFail->OWSFailNoProdLog
step 2: rename OWSProdLogAndFail->OWSFail
step 3: Convert OWSFailNoProdLog->OWSFail where we want logging
step 4: Rename OWSCFail->OWSCFailNoProdLog
step 5: Rename OWSProdLogAndCFail -> OWSCFail
step 6: Convert OWSCFailNoProdLog -> OWSCFail where we want logging
7 years ago
Matthew Chen ab31e5a07f Code generate Swift wrappers for protocol buffers. 7 years ago
Michael Kirk d591fb7f2c Fix some compiler warnings 7 years ago
Michael Kirk 74b741e9de Update timer
// FREEBIE
7 years ago
Michael Kirk a10ae1835e respond to code review
// FREEBIE
8 years ago
Michael Kirk c88ce07f66 CR: Clean up comments, use property setter instead of ivar
// FREEBIE
8 years ago
Michael Kirk 754549adf1 Start timer for expiring message based on when read receipt was sent
// FREEBIE
8 years ago
Michael Kirk dfb2a034af Use explicit transactions.
- Start expiration within scope of existing transaction when we're
  already in a transaction

// FREEBIE
8 years ago
Matthew Chen d6f4db1523 Rename TSStorageManager to OWSPrimaryStorage. 8 years ago
Matthew Chen ad78b1ea53 Convert duplicate timestamp fail to log. 8 years ago
Michael Kirk b79244affa Don't enqueue sender read receipts from self-sent messages
These messages are always already read.

Reminder, there are two types of read receipts:

1. One informs our linked devices that we've read a message on another
device.
2. The other informs the sender that we've read their message.

This change is about the latter, we'll continue to send the former to
ourself.

The proximate cause for this change was a failing assert in
OWSMessageSender#handleSendToMyself:(TSOutgoingMessage *)outgoingMessage

The assert was failing because we were sending a message to ourself
which had no body or attachment (the sender-read receipt). Rather than
filtering them out from the message sender, we should never ask the
message sender to do nonsense work (send a senderReadReceipt to ourself)

// FREEBIE
8 years ago
Matthew Chen b7958262ba Respond to CR. 8 years ago
Matthew Chen 6f28c75257 Fix glitch in batch processing of incoming messages. 8 years ago
Matthew Chen a30170b3b2 Prefer "app is ready" flag to "storage is ready" flag. 8 years ago
Matthew Chen fe67cd924c Rework database view registration. 8 years ago
Matthew Chen d52eba739d Clean up TSStorageManager usage. 8 years ago
Matthew Chen 9da165b846 Continue conversion of app setup. 8 years ago
Matthew Chen 6d4a05bbea Improving handling of edge cases in conversation view. 8 years ago
Matthew Chen 19ba564f80 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen c6160a5a1e Rework the "update with..." methods to avoid re-saving deleted models. 8 years ago
Matthew Chen 6e840ff956 Fix build warnings from XCode 9. 8 years ago
Michael Kirk 462a6e4456 Persist read receipts to proper collection
// FREEBIE
8 years ago
Michael Kirk 2125dbe72c CR: Avoid potential transaction nesting
also clean up description method

// FREEBIE
8 years ago
Michael Kirk 5d62741a3c Sync read receipt configuration upon set
// FREEBIE
8 years ago
Matthew Chen 46d2b7a891 Refine read receipt processing cycle.
// FREEBIE
8 years ago
Matthew Chen 6b3c0377cf Refine read receipt processing cycle.
// FREEBIE
8 years ago
Matthew Chen c3dca21a69 More thread safety fixes.
// FREEBIE
8 years ago
Matthew Chen 65957c932d Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 8b15dba4e7 Fix "mark as read on linked device".
// FREEBIE
8 years ago
Matthew Chen facbc56062 Move more work off the main thread.
// FREEBIE
8 years ago
Matthew Chen 9573e0e16d Move more work off the main thread.
// FREEBIE
8 years ago
Matthew Chen 25c40ea3cf Handle new-style delivery receipts.
// FREEBIE
8 years ago
Matthew Chen ee13084d5c Respond to CR.
// FREEBIE
8 years ago
Matthew Chen ffe44e68be Refactor linked device read receipts.
// FREEBIE
8 years ago