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. |
||
|---|---|---|
| .. | ||
| AppSetup.h | ||
| AppSetup.m | ||
| Environment.h | ||
| Environment.m | ||
| LaunchJobs.swift | ||
| MessageRequestPendingReceipts.swift | ||
| NoopCallMessageHandler.swift | ||
| OWSSounds.h | ||
| OWSSounds.m | ||
| VersionMigrations.h | ||
| VersionMigrations.m | ||