Commit graph

176 commits

Author SHA1 Message Date
Matthew Chen 7c65a98069 Fix breakage from typing indicators. 2018-11-01 17:11:59 -04:00
Matthew Chen 58f36fba47 Disable typing indicators by default for legacy users. 2018-11-01 16:52:31 -04:00
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
Matthew Chen 40aa78e001 Merge remote-tracking branch 'origin/release/2.31.0' 2018-10-31 11:42:41 -04:00
Michael Kirk 9d2731c9b8 exception auditing OWSRaiseException 2018-10-30 11:35:34 -06:00
Michael Kirk 5632bd2d83 Use reference counting to disable proximity monitoring after audio message
Multiple overlapping activities require proximity monitoring (namely,
CallViewController and listening to audio messages).

These activities can overlap arbitrarily, so we use a reference counting
strategy to keep proximity monitoring on as long as one of these activities is
active.
2018-10-26 15:32:12 -06:00
Michael Kirk 54c63c7a2e Reachability Singleton 2018-10-25 11:56:39 -06: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 ce9ca1bdaa audio player type 2018-10-24 07:46:27 -06:00
Michael Kirk 4b4b18c625 Proximity playsback through earpiece
This is kind of unfortunate because playback doesn't allow the earpiece as an
output device.
2018-10-24 07:46:27 -06:00
Michael Kirk 3b4188f34b hoist audio session singleton to Environment 2018-10-24 07:46:25 -06:00
Michael Kirk 3d022adf4e WIP: audio activities 2018-10-24 07:44:50 -06:00
Matthew Chen 275414cbda Respond to CR. 2018-10-16 17:42:54 -04:00
Matthew Chen 7c1f1882d8 Sync "show UD indicators" setting. 2018-10-16 17:42:54 -04:00
Matthew Chen 2b8c70ef9e Fix UD attributes migration completion. 2018-10-16 17:08:31 -04:00
Matthew Chen f1646b6cbc Move db connections to environments. 2018-10-16 13:00:50 -04:00
Matthew Chen 829851bd7b Hang PushManager on AppEnvironment. 2018-10-16 11:47:54 -04:00
Matthew Chen 32cf68bece Get all tests building. 2018-10-15 12:50:07 -04:00
Matthew Chen 603e3bf0b6 Move SM singletons to Environment. 2018-10-15 11:34:42 -04:00
Michael Kirk d6a6024f37 Update PromiseKit 2018-10-13 16:04:20 -06:00
Matthew Chen eb7abdfc64 Account attributes updates. 2018-10-12 17:19:00 -04:00
Matthew Chen f1d93d4472 Merge remote-tracking branch 'origin/release/2.30.2' 2018-10-12 16:00:42 -04:00
Matthew Chen 010ce1f6c2 Rename to OWSOutgoingReceiptManager. 2018-10-12 13:52:46 -04:00
Matthew Chen 13373db3bc Send delivery receipts. 2018-10-12 13:52:46 -04:00
Michael Kirk e7170dc6e8 conventional error structure for connectivity error 2018-10-12 11:06:21 -06:00
Matthew Chen c907721a18 Rotate profile key if blocklist intersects profile whitelist. 2018-10-11 13:02:02 -04:00
Matthew Chen 9323e411fc Revert AppReadiness singleton. 2018-10-11 09:42:49 -04:00
Matthew Chen 27700ef78f Revert AppVersion singleton. 2018-10-11 09:36:47 -04:00
Matthew Chen f24ccb3ce6 Hang more singletons on SSKEnv. 2018-10-11 08:56:50 -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
Matthew Chen fab79e2673 Respond to CR. 2018-10-10 09:59:10 -04:00
Matthew Chen 283cb18288 Re-run UD attributes migration. 2018-10-10 09:10:45 -04:00
Matthew Chen c137e95ae5 Move socket manager to hang on SSKEnvironment. 2018-10-05 12:47:11 -04:00
Matthew Chen 0b41e5e240 Rework profile fetch to reflect UD changes. 2018-10-04 11:56:37 -04:00
Michael Kirk f243914fe5 NSTemporaryDirectory -> OWSTemporaryDirectory/AccessibleAfterFirstAuth
Remove redundant move - AFNetworking alread moves the CFNetwork tmp file for
us.
2018-10-03 14:01:36 -06:00
Matthew Chen 3eb84ed0e0 Move message processing singletons to SSKEnvironment. 2018-10-03 09:25:29 -04:00
Matthew Chen 4ab281346a Respond to CR. 2018-10-03 09:09:24 -04:00
Matthew Chen 95387dd220 Fix rebase breakage. 2018-10-03 08:59:55 -04:00
Matthew Chen 1d40cbfb41 Rework account attributes; persist manual message fetch; add "unrestricted UD" setting. 2018-10-03 08:59:55 -04:00
Matthew Chen 7fd15d2fd9 Add server certificate methods to UD manager. 2018-10-02 13:24:00 -04:00
Matthew Chen 8ae200ac21 Fix build breakage around SignalCoreKit. 2018-10-01 09:07:40 -04:00
Matthew Chen ebae75af00 Revert 'new sort id'. 2018-09-27 19:40:51 -04:00
Matthew Chen b076f14964 Swift exit(). 2018-09-27 16:56:54 -04:00
Michael Kirk 3518d37c3e use autorelease pool in migration to avoid accumulating memory 2018-09-27 10:30:28 -06:00
Michael Kirk 04a52980a3 fixup migration
- nested transaction for enumeration
- save when complete
2018-09-26 09:55:23 -06: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 2eb3ec6d0c benchmark migration 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 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 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