Commit Graph

2831 Commits

Author SHA1 Message Date
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
115ea3be12 Force refetch the latest manifest after cleaning up unknown identifiers 2020-07-22 14:43:24 -07:00
Nora Trapp
f2d96d02ec Maintain unknown fields when updating storage records 2020-07-22 14:43:24 -07:00
Nora Trapp
c5214e38b6 Add Codable adherance to proto wrappers 2020-07-22 14:34:24 -07:00
Nora Trapp
ee9a56dc4b Clean up orphaned accounts from storage service 2020-07-22 14:33:07 -07:00
Matthew Chen
d0a674be65 Fix overzealous assert around changes from pending members. 2020-07-22 13:46:21 -03:00
Matthew Chen
9db8e72d52 Re-apply current revision when updating v2 groups in some cases. 2020-07-22 13:05:38 -03:00
Matthew Chen
269309de01 Add remote config for modern CDS and groups v2. 2020-07-22 13:04:33 -03:00
Nora Trapp
30e89998da Merge branch 'release/3.13.2' 2020-07-19 15:00:54 -07:00
Nora Trapp
7fd148a919 Fix a crash on launch effecting some users 2020-07-17 12:47:06 -07:00
Nora Trapp
6dfc1d04dd Merge branch 'release/3.13.2' 2020-07-15 19:25:39 -07:00
Nora Trapp
531e7f2db8 Update contact icons 2020-07-15 19:21:43 -07:00
Nora Trapp
463e0266a4 PR Feedback 2020-07-15 18:41:29 -07:00
Nora Trapp
c7eb281d38 Render profile name changes in conversation 2020-07-15 18:41:14 -07:00
Nora Trapp
0460d9cdea PR Feedback 2020-07-15 11:32:20 -07:00
Nora Trapp
719213e8d9 Render profile name changes in conversation 2020-07-14 19:18:28 -07:00
Matthew Chen
91028f9021 Respond to CR. 2020-07-13 10:41:37 -03:00
Matthew Chen
69fccfd923 Respond to CR. 2020-07-13 10:41:37 -03:00
Matthew Chen
b5925c8f6f Filter more display names. 2020-07-13 10:41:37 -03:00
Matthew Chen
f3d1712274 Handle invalid groups v2 invites. 2020-07-10 11:23:15 -03:00
Matthew Chen
5e76936937 Handle invalid groups v2 invites. 2020-07-10 11:23:15 -03:00
Matthew Chen
b4554cc4d0 Handle invalid groups v2 invites. 2020-07-10 11:23:15 -03:00
Matthew Chen
bd2ef77383 Slight tweak to the group v2 change rigidity. 2020-07-10 11:22:23 -03:00
Matthew Chen
4d30176b92 Respond to CR. 2020-07-10 11:13:00 -03:00
Matthew Chen
00d5af278d Add owsFail() methods. 2020-07-10 10:59:24 -03:00
Matthew Chen
c49d244d91 Merge remote-tracking branch 'private/release/3.13.0' 2020-07-10 10:53:45 -03:00
Nora Trapp
de0522586a Add the ability to opt out of PINs. 2020-07-09 18:46:17 -07:00
Matthew Chen
7b9242bc29 Merge remote-tracking branch 'private/release/3.13.0' 2020-07-08 15:23:44 -03:00
Matthew Chen
02e812deef Tweak readiness checking. 2020-07-08 15:02:14 -03:00
Matthew Chen
df44fe18a2 Respond to CR. 2020-07-08 11:10:37 -03:00
Matthew Chen
f070a0e479 Clean up naming around profile fetches. 2020-07-08 11:10:37 -03:00
Matthew Chen
e779b3ca18 Fetch missing and stale user profiles. 2020-07-08 11:10:37 -03:00
Matthew Chen
5d71446e06 Track messages sent and received from users. 2020-07-08 11:10:37 -03:00
Matthew Chen
426640416d Track last fetch date on user profile. 2020-07-08 11:10:37 -03:00
Matthew Chen
3aec6593e2 Respond to CR. 2020-07-08 11:09:41 -03:00
Matthew Chen
fc82a11ccf Clean up naming around profile fetches. 2020-07-08 11:04:01 -03:00
Matthew Chen
e0ec351c9c Fetch missing and stale user profiles. 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
Matthew Chen
e8b85670c4 Strict formatting of disappearing message durations. 2020-07-08 11:02:07 -03:00
Nora Trapp
6882a0a415 Only render registered whitelisted addresses 2020-07-06 16:07:02 -07:00
Nora Trapp
33e5f5b1b7 Show all whitelisted contacts in recipient picker 2020-07-06 16:07:02 -07:00
Nora Trapp
05d6b57616 Render memoji, bitmoji, etc. as stickers 2020-07-06 11:43:35 -07:00
Nora Trapp
34d941700b Reject incoming calls unless the caller is approved 2020-07-06 11:41:28 -07:00
Matthew Chen
e508c66422 Index signal recipients; re-index recipients and accounts when profile changes. 2020-07-06 14:31:30 -03:00
Matthew Chen
1f98b12373 Strict or "rigid" application of v2 group changes. 2020-07-06 14:27:41 -03:00
Matthew Chen
ba091bccad Strict or "rigid" application of v2 group changes. 2020-07-06 14:27:40 -03:00
Matthew Chen
3983974c53 Merge branch 'release/3.12.3' 2020-07-03 16:47:53 -03:00
Nora Trapp
d57335ec28 Forward WebP images as png to preserve any potential alpha 2020-07-02 10:07:38 -07:00
Nora Trapp
9df13c232c Fix sharing of YYImage 2020-07-02 10:06:41 -07:00