Signal-iOS/SignalMessaging
Max Radermacher 50e0405276
Add ContactDiscoveryManager
RATE LIMITS & IS CRITICAL PRIORITY

Before this change, there was a notion of “critical” discovery tasks
that had their own rate limit, and that rate limit was used for
UUIDBackfillTask. In this change, that logic has been generalized to
consider a separate rate limit for additional request types.

QUEUE PRIORITIES

All of the discovery operations were updated to use `.userInitiated` as
their priority. Before this change, the `UUIDBackfillTask` and message
sending flow used lower priorities. However, both of those should use
higher priorities -- the former blocks receiving messages and the latter
blocks outgoing messages. This change allows the code to be simplified.

TESTS

This removes most of the existing `UUIDBackfillTaskTest` test cases
(they were commented out) and all of the `ContactDiscoveryTaskTest` test
cases (which were for the rate limiter, which has been moved elsewhere).

It introduces a few new tests. These aren’t meant to be exhausive;
instead, they’re meant to hit most of the code in the new classes and a
few specific edge cases that aren’t likely to be hit in normal use.
2022-11-15 13:37:28 -08:00
..
attachments Add all JobQueues to environment, via a wrapper 2022-11-09 14:08:44 -06:00
calls Change license to AGPL 2022-10-13 08:25:37 -05:00
categories Use title casing in filenames 2022-11-10 19:08:44 -08:00
contacts Add ContactDiscoveryManager 2022-11-15 13:37:28 -08:00
environment Add ContactDiscoveryManager 2022-11-15 13:37:28 -08:00
groups Add ContactDiscoveryManager 2022-11-15 13:37:28 -08:00
Jobs Add all JobQueues to environment, via a wrapper 2022-11-09 14:08:44 -06:00
Notifications Group calls: separate new/existing member safety number notifications 2022-11-14 10:01:04 -08:00
Payments Hide Apple Pay UI when the server disallows your region 2022-11-10 16:19:47 -06:00
profiles Drop deprecated credentials asynchronously 2022-11-15 12:49:20 -08:00
Storage Service Make it explicit where we download missing avatars 2022-11-03 16:58:49 -07:00
Subscriptions Hide Apple Pay UI when the server disallows your region 2022-11-10 16:19:47 -06:00
test Add FiatMoney type 2022-10-26 17:04:51 -05:00
utils Group calls: separate new/existing member safety number notifications 2022-11-14 10:01:04 -08:00
Info.plist Shared framework between app and extension 2017-11-29 13:58:27 -08:00
SignalMessaging-Prefix.pch Change license to AGPL 2022-10-13 08:25:37 -05:00
SignalMessaging.h Change license to AGPL 2022-10-13 08:25:37 -05:00