Commit graph

48 commits

Author SHA1 Message Date
Matthew Chen a98c82645c Start work on typing indicators.
* Update proto schema to reflect typing indicators.
* Sketch out OWSTypingIndicatorMessage.
* Add "online" to the service message params.
* Sketch out logic to send typing indicator messages.
* Sketch out OWSTypingIndicators class.
2018-10-31 12:11:29 -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
Matthew Chen 86e22edcb1 Send "sent message transcript" sync messages at the _end_ of a send, not after the first recipient is sent. 2018-10-19 17:22:28 -04:00
Matthew Chen 7e7fcc1698 Apply UD status from transcripts. 2018-10-12 13:49:05 -04:00
Matthew Chen a6eed30127 Add 'is ud' property to outgoing messages. 2018-10-10 14:32:14 -04:00
Matthew Chen ebae75af00 Revert 'new sort id'. 2018-09-27 19:40:51 -04: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
Matthew Chen fac7f6932f Rename TSGroupMetaMessage enum values. 2018-09-04 09:30:01 -04:00
Matthew Chen 8d814a5210 Code generate Swift wrappers for protocol buffers. 2018-08-03 14:05:20 -04:00
Matthew Chen ab31e5a07f Code generate Swift wrappers for protocol buffers. 2018-08-03 14:05:20 -04:00
Michael Kirk 0cf751d34f Newly added group members should have expire time
Send expire timer with group info updates and in group updates that add a user.
2018-06-14 15:20:45 -04:00
Michael Kirk 7df158120b Fix build warnings: mark initWithCoder as designated.
// FREEBIE
2018-06-11 09:56:14 -04:00
Matthew Chen 1343e4bc19 Preserve legacy outgoing message state; special case contact thread messages. 2018-05-23 10:23:46 -04:00
Michael Kirk d3cda951ef Fix/Simplify outgoing attachment proto building
// FREEBIE
2018-05-07 17:42:08 -04:00
Matthew Chen 0316a98eb8 Undo renaming of contactShare property of TSMessage. 2018-05-01 11:26:01 -04:00
Matthew Chen 0d8cfc5403 Rename contact share class to contact. 2018-05-01 11:03:25 -04:00
Matthew Chen 7490a55f61 Sketch out "contact share" model. 2018-05-01 11:03:25 -04:00
Matthew Chen 4b8a2fa8a3 Sketch out "contact share" model. 2018-05-01 11:03:25 -04:00
Matthew Chen bb96454070 More outgoing message fixes. 2018-04-30 11:00:57 -04:00
Matthew Chen 204d379603 Respond to CR. 2018-04-25 10:49:19 -04:00
Matthew Chen 4de4a4b229 Respond to CR. 2018-04-25 10:49:19 -04:00
Matthew Chen 6486b99415 Clean up ahead of PR. 2018-04-25 10:49:19 -04:00
Matthew Chen 9e6062f21c Rework outgoing message state. 2018-04-25 10:49:19 -04:00
Matthew Chen 9275c67818 Rework outgoing message state. 2018-04-25 10:49:19 -04:00
Michael Kirk eec7678979 Group's meta message defaults to "Delivery"
// FREEBIE
2018-04-19 14:57:42 -04:00
Michael Kirk 253435b27f extract QuotedReplyDraft model 2018-04-09 12:47:56 -04:00
Michael Kirk 0b8b3b4f16 WIP: towards avatar attachment streams
// FREEBIE
2018-04-09 12:47:56 -04:00
Matthew Chen 9085609087 Fix interaction initializers and tests. 2018-04-05 09:36:52 -04:00
Matthew Chen 8e4f2ca0ed Rework proto schema changes for quoted replies.
Sketch out model changes for quoted replies.

Sketch out quoted reply input preview.

Send quoted messages protos.

Update models to reflect quoted messages.

Rework interaction initializers.

Rework interaction initializers.

Add debug UI methods for generating quoted reply variations.

Add debug UI methods for generating quoted reply variations.
2018-04-02 16:17:46 -04:00
Michael Kirk e20f44024c WIP: Support sending attachment captions
Looks fine on other clients, but locally we don't display the caption.

// FREEBIE
2017-12-20 14:26:53 -06:00
Matthew Chen 2f84e0c426 Fix calling; be explicit about which messages should be saved. 2017-11-15 20:52:07 -05:00
Matthew Chen 00feb14b10 Respond to CR.
// FREEBIE
2017-11-15 13:15:48 -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 fce52841f9 Don't resurrect zombies. 2017-11-15 07:16:12 -05:00
Matthew Chen 9b5affb390 Send silent messages where appropriate.
// FREEBIE
2017-09-27 17:13:29 -04:00
Matthew Chen d557817bb4 Format message statuses with date if possible.
// FREEBIE
2017-09-27 16:38:48 -04:00
Matthew Chen a4d285f50d Respond to CR.
// FREEBIE
2017-09-27 14:19:26 -04:00
Matthew Chen aa7329013d Handle new-style delivery receipts.
// FREEBIE
2017-09-27 14:09:47 -04:00
Matthew Chen 25c40ea3cf Handle new-style delivery receipts.
// FREEBIE
2017-09-27 14:09:47 -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 b74da07f7e Respond to CR.
// FREEBIE
2017-09-22 15:15:04 -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 6fce2c26b7 Process messages in a single transaction (wherever possible).
// FREEBIE
2017-09-20 09:40:46 -04:00
Matthew Chen 05b1818874 Don't "scroll to bottom" when messages are sent from desktop.
// FREEBIE
2017-09-18 15:49:33 -04:00
Matthew Chen 83e2fbe28c Rework where profile key is attached in photos.
// FREEBIE
2017-08-04 15:23:17 -04:00
Matthew Chen aa6312b586 DRY up and refine the logic to attach the local profile key to outgoing messages.
// FREEBIE
2017-08-02 10:50:44 -04:00
Michael Kirk ccb4a88742 Import SSK (and history) into Signal-iOS
git remote add ssk ../SignalServiceKit
git remote update
git merge -s ours --allow-unrelated-histories --no-commit ssk/master
git read-tree --prefix=SignalServiceKit -u ssk/master
git commit
2017-07-21 13:55:01 -04:00