Commit Graph

286 Commits

Author SHA1 Message Date
Matthew Chen
111338b59d Rewrite conversation view. 2020-12-10 12:44:13 -03:00
Michelle Linington
f9067bac8a Respect server received timestamp in group call message 2020-11-19 16:04:22 -08:00
Michelle Linington
485e12e6c4 Stable ordering of call participants 2020-11-19 16:04:21 -08:00
Michelle Linington
f4d60ff89c Notify the user when a group call begins 2020-11-19 16:02:22 -08:00
Michelle Linington
daa28d413d Handle incoming GroupCallUpdate messages
This builds out infrastructure to fetch updated PeekInfo structs from
RingRTC on a GroupCallUpdate. There are still a bunch of TODOs to
resolve once RingRTC adds PeekInfo.
2020-11-19 16:02:22 -08:00
Nora Trapp
1bc6da36fe PR Feedback 2020-11-05 12:25:49 -08:00
Nora Trapp
723ea9c95f Allow RingRTC to send/receive opaque call messages 2020-11-05 12:25:49 -08:00
Matthew Chen
ed9ae2ec9f Migrate groups from v1 to v2. 2020-10-30 09:04:12 -03:00
Matthew Chen
1e8c8980fc Rework debug log file handling. 2020-10-23 14:10:00 -03:00
Matthew Chen
274aa326cb Merge branch 'release/3.20.1' into release/3.21.0 2020-10-23 14:06:47 -03:00
Matthew Chen
f272471db5 Re-upload protected profiled names. 2020-10-23 14:01:44 -03:00
Matthew Chen
13e7456d22 Fix some of the performance tests. 2020-10-16 10:15:16 -03:00
Matthew Chen
b13ff0c879 Respond to CR. 2020-10-08 17:31:29 -03:00
Nora Trapp
6ca4bfeff9 Add backwards compatible support for new photo library APIs 2020-10-05 14:32:07 -07:00
Matthew Chen
686aee752c Rename OWSMessageSender -> MessageSender. 2020-09-17 21:35:35 -03:00
Matthew Chen
c017e76aab Rename singleton accessors. 2020-09-17 21:11:09 -03:00
Matthew Chen
ad6bda8a44 Rename singleton accessors. 2020-09-17 21:11:07 -03:00
Matthew Chen
9aa17e833b Remote deprecation. 2020-09-02 16:51:58 -03:00
Nora Trapp
4b3908077b Migration to add serverDeliveryTimestamp 2020-08-20 16:48:54 -07:00
Nora Trapp
5457c37ba8 Handle x-signal-timestamp header 2020-08-20 16:48:54 -07:00
gte-signal
e7eb016e62 Nickname support
Add nickname support. 1:1 threads are now named using the nickname of the contact if available. I expect there'll be design input about how to present this. For now I've gone with putting quotes around the nickname. Also, there's a lot of contact stuff so I'd appreciate checking that I did the correct thing here.
2020-08-20 14:14:49 -03:00
Matthew Chen
07bbe9550c Don't load pre-existing profile avatars during profile fetches. 2020-08-18 02:18:54 -03:00
Matthew Chen
fdd3c513ca Rework Groups v2 & CDS feature flags. 2020-08-11 17:45:04 -03:00
Michelle Linington
a660a81d0f IOS-668: Reorganize how ContactsUpdater interacts with CDS operations
- Removes ContactsUpdater singleton. It wasn't really tracking much
  state anyway
- Introduces ContactDiscoveryTask. This creates a
  ContactDiscoveryOperation (modern or legacy) and updates the
  SignalRecipients database on completion. Returns a promise.
- Begin migrating away from operation queues

PromiseKit is weird about priority propogation, so this shouldn't be
used yet. Since all then closures are asynced, priorities don't
propogate down to underlying queues. This means the a
ContactDiscoveryTask on the main queue will not boost the priority on
the ModernContactDiscoverOperation's owned operation queue
2020-08-06 12:55:32 -07:00
Nora Trapp
cb3fe88e1b Fix mentions in sent transcripts 2020-08-06 09:58:12 -07:00
Nora Trapp
a39750113f Full suppoort for ention send + receive 2020-08-04 14:08:30 -07:00
Matthew Chen
038bb5e1d7 Rework profile lifecycle. 2020-08-01 12:04:22 -03:00
Matthew Chen
d4b9e778f5 Update debug name list. 2020-07-27 11:15:20 -03:00
Nora Trapp
dde6f0bc59 Add tests around uuid <-> phone number mapping changes 2020-07-24 13:15:32 -07:00
Michelle Linington
e3e903a8ad IOS-631: Suppress message processing pipeline while we have a pending backfill operation
Creates a new root singleton: OWSMessagePipelineSupervisor

As of right now, this singleton has two responsibilities:
- Track all message processing pipeline stages that have registered
  themselves
- Post processing suspension updates to interested stages

Four classes will now register themselves as pipeline stages:
- OWSMessageContentQueue
- YAPDBMessageDecryptQueue
- IncomingGroupsV2MessageQueue
- SSKMessageDecryptJobQueue

At initialization, OWSMessagePipelineSupervisor will take out a pipeline
suspension while it waits for a UUIDBackfillTask to complete. Other
interested objects are also able to suspend the message processing
pipeline by invoking suspendMessageProcessing(for:) on the supervisor
(though, currently this is not used by anything except tests)

This also adds some supporting improvements to UnfairLock. Now,
UnfairLock closures will return the value returned from its critical
section closure.
2020-07-22 21:10:27 -07:00
Nora Trapp
719213e8d9 Render profile name changes in conversation 2020-07-14 19:18:28 -07:00
Michelle Linington
16583ceafa Additional review feedback:
- Removed static UUIDBackfillTask initializer and removed the
  registration from AppDelegate. Kicking off the task will be handled
  with IOS-631.
- Moved the async perform work to its own function
- Some minor syntactic changes
- Updated database fetch to retrieve empty string UUIDs
- Handles non-e164 numbers fetched from database
- Leverages the MockSSKEnvironment to deal with the shared
  SignalServiceAddressCache. Removes added test support.
- Add tests to exercise new functionality
2020-07-13 18:20:47 -07:00
Matthew Chen
00d5af278d Add owsFail() methods. 2020-07-10 10:59:24 -03:00
Matthew Chen
fc82a11ccf Clean up naming around profile fetches. 2020-07-08 11:04:01 -03:00
Matthew Chen
3b9920ff66 Track messages sent and received from users. 2020-07-08 11:04:01 -03:00
Matthew Chen
f55b0790b9 Track last fetch date on user profile. 2020-07-08 11:04:01 -03:00
Nora Trapp
05d6b57616 Render memoji, bitmoji, etc. as stickers 2020-07-06 11:43:35 -07:00
Matthew Chen
3983974c53 Merge branch 'release/3.12.3' 2020-07-03 16:47:53 -03:00
Matthew Chen
8274c4feab Respond to CR. 2020-06-30 15:56:30 -03:00
Matthew Chen
781ffa5741 Add checks to thread record deserialization that can be resymbolicated. 2020-06-30 15:31:26 -03:00
Matthew Chen
e5bee64490 Preserve avatars. 2020-06-26 18:31:29 -03:00
Matthew Chen
51f35da8dd Preserve avatars. 2020-06-26 18:31:29 -03:00
Matthew Chen
154805cf68 Fix broken tests. 2020-06-23 10:04:39 -03:00
Matthew Chen
179ecaf258 Cache threads, interactions, attachments. Improve model cache. 2020-06-18 12:05:07 -03:00
Nora Trapp
aab95db806 Strip out message request special casing 2020-06-16 12:28:21 -07:00
Nora Trapp
bebcda4a3c Merge branch 'release/3.10.4' into release/3.11.0 2020-06-08 19:48:36 -07:00
Nora Trapp
cafaa231b3 Use short names for message requests 2020-06-08 19:06:31 -07:00
Matthew Chen
ea1b62e838 Rework model read caches. 2020-06-08 17:36:21 -03:00
Matthew Chen
c49a977d3e Merge branch 'release/3.10.3' into release/3.11.0 2020-06-07 15:01:54 -03:00
Nora Trapp
ad64727ecc Evacuate early message cache after memory warning 2020-06-07 10:05:07 -07:00