Commit graph

45 commits

Author SHA1 Message Date
Matthew Chen
03829779cc Apply OWS log functions in Objective-C. 2018-08-27 12:58:52 -04:00
Matthew Chen
3a50377902 Apply OWS log functions in Objective-C. 2018-08-27 12:58:52 -04:00
Matthew Chen
713606271c Rename fail macros in Obj-C. 2018-08-27 10:29:51 -04:00
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
2018-08-09 15:30:19 -06:00
Matthew Chen
ab31e5a07f Code generate Swift wrappers for protocol buffers. 2018-08-03 14:05:20 -04:00
Michael Kirk
d591fb7f2c Fix some compiler warnings 2018-07-17 19:22:58 -06:00
Michael Kirk
74b741e9de Update timer
// FREEBIE
2018-06-14 15:18:42 -04:00
Michael Kirk
a10ae1835e respond to code review
// FREEBIE
2018-05-07 12:51:55 -04:00
Michael Kirk
c88ce07f66 CR: Clean up comments, use property setter instead of ivar
// FREEBIE
2018-04-18 15:32:01 -04:00
Michael Kirk
754549adf1 Start timer for expiring message based on when read receipt was sent
// FREEBIE
2018-04-18 15:32:01 -04:00
Michael Kirk
dfb2a034af Use explicit transactions.
- Start expiration within scope of existing transaction when we're
  already in a transaction

// FREEBIE
2018-04-18 15:32:01 -04:00
Matthew Chen
d6f4db1523 Rename TSStorageManager to OWSPrimaryStorage. 2018-03-06 17:12:13 -03:00
Matthew Chen
ad78b1ea53 Convert duplicate timestamp fail to log. 2018-02-26 14:45:32 -05:00
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
2018-02-23 13:50:40 -05:00
Matthew Chen
b7958262ba Respond to CR. 2018-02-14 16:06:47 -05:00
Matthew Chen
6f28c75257 Fix glitch in batch processing of incoming messages. 2018-02-14 14:56:47 -05:00
Matthew Chen
a30170b3b2 Prefer "app is ready" flag to "storage is ready" flag. 2018-01-30 11:34:00 -05:00
Matthew Chen
fe67cd924c Rework database view registration. 2017-12-19 11:42:06 -05:00
Matthew Chen
d52eba739d Clean up TSStorageManager usage. 2017-12-19 11:41:31 -05:00
Matthew Chen
9da165b846 Continue conversion of app setup. 2017-12-05 11:19:11 -05:00
Matthew Chen
6d4a05bbea Improving handling of edge cases in conversation view. 2017-11-20 14:44:10 -05:00
Matthew Chen
19ba564f80 Respond to CR.
// FREEBIE
2017-11-15 13:21:31 -05:00
Matthew Chen
c6160a5a1e Rework the "update with..." methods to avoid re-saving deleted models. 2017-11-15 07:16:12 -05:00
Matthew Chen
6e840ff956 Fix build warnings from XCode 9. 2017-11-09 02:52:44 -05:00
Michael Kirk
462a6e4456 Persist read receipts to proper collection
// FREEBIE
2017-10-03 16:06:11 -04:00
Michael Kirk
2125dbe72c CR: Avoid potential transaction nesting
also clean up description method

// FREEBIE
2017-10-03 11:11:15 -04:00
Michael Kirk
5d62741a3c Sync read receipt configuration upon set
// FREEBIE
2017-10-03 09:17:08 -04:00
Matthew Chen
46d2b7a891 Refine read receipt processing cycle.
// FREEBIE
2017-09-29 14:35:12 -04:00
Matthew Chen
6b3c0377cf Refine read receipt processing cycle.
// FREEBIE
2017-09-29 14:35:12 -04:00
Matthew Chen
c3dca21a69 More thread safety fixes.
// FREEBIE
2017-09-29 10:16:42 -04:00
Matthew Chen
65957c932d Respond to CR.
// FREEBIE
2017-09-28 14:49:58 -04:00
Matthew Chen
8b15dba4e7 Fix "mark as read on linked device".
// FREEBIE
2017-09-28 14:49:58 -04:00
Matthew Chen
facbc56062 Move more work off the main thread.
// FREEBIE
2017-09-28 14:30:27 -04:00
Matthew Chen
9573e0e16d Move more work off the main thread.
// FREEBIE
2017-09-28 14:30:27 -04:00
Matthew Chen
25c40ea3cf Handle new-style delivery receipts.
// FREEBIE
2017-09-27 14:09:47 -04:00
Matthew Chen
ee13084d5c Respond to CR.
// FREEBIE
2017-09-27 14:05:21 -04:00
Matthew Chen
ffe44e68be Refactor linked device read receipts.
// FREEBIE
2017-09-27 13:17:43 -04:00
Matthew Chen
19e010645e Respond to CR.
// FREEBIE
2017-09-26 09:32:48 -04:00
Matthew Chen
9f9ac746d1 Sketch out message metadata view.
* Show message metadata view from conversation view.
* Pull out MediaMessageView class.
* Track recipient read timestamps.
* Add per-recipient status to message metadata view.
* Add share button to message metadata view.

// FREEBIE
2017-09-25 17:25:49 -04:00
Matthew Chen
f001e8c225 Respond to CR.
// FREEBIE
2017-09-25 17:22:27 -04:00
Matthew Chen
b74da07f7e Respond to CR.
// FREEBIE
2017-09-22 15:15:04 -04:00
Matthew Chen
825503210b Remove extraneous database view.
// FREEBIE
2017-09-22 14:24:17 -04:00
Matthew Chen
11cadf4200 Send, receive & show read receipts to senders/from receivers.
* Send read receipts to senders.
* Honor "send read receipts" preference.
* Process read receipts from recipients.
* Refactor "mark as read" logic.
* Serialize and apply recipient read receipts received before sync transcript.
* Show recipient read receipts in conversation view.

// FREEBIE
2017-09-22 14:24:17 -04:00
Matthew Chen
1c8dbcd223 Respond to CR.
// FREEBIE
2017-09-21 16:58:07 -04:00
Matthew Chen
3eaeb4e0ec Add read receipts manager.
* Simplify read receipts plumbing.
* Rework incoming read receipts handling.
* Rework outgoing read receipts handling.
* Make "database view registration complete" check thread-safe.
* Don't send sync messages to self if no linked devices.

// FREEBIE
2017-09-21 16:23:03 -04:00