Signal-iOS/SignalUI/ViewControllers
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
..
AttachmentApproval Refactor OWSNavigationController 2022-11-03 16:40:47 -07:00
ConversationPicker Require explicitly setting my story privacy settings before sending to my story 2022-11-11 13:28:14 -08:00
Member Picker Require explicitly setting my story privacy settings before sending to my story 2022-11-11 13:28:14 -08:00
Recipient Picker Add ContactDiscoveryManager 2022-11-15 13:37:28 -08:00
Safety Numbers Translate OWSViewController to swift 2022-10-28 10:24:55 -07:00
Stickers Switify some code related to ConversationInputToolbar. 2022-11-07 16:32:59 -08:00
Stories Require explicitly setting my story privacy settings before sending to my story 2022-11-11 13:28:14 -08:00
ActionSheetController.swift Change license to AGPL 2022-10-13 08:25:37 -05:00
ApprovalFooterView.swift Switify some code related to ConversationInputToolbar. 2022-11-07 16:32:59 -08:00
ContactFieldView.swift Prefer isEmpty with strings 2022-11-01 17:53:46 -05:00
ContactShareApprovalViewController.swift Switify some code related to ConversationInputToolbar. 2022-11-07 16:32:59 -08:00
ContactsPicker.swift Import SignalMessaging where it’s needed 2022-10-24 10:19:06 -07:00
CountryCodeViewController.swift Change license to AGPL 2022-10-13 08:25:37 -05:00
EditContactShareNameViewController.swift Change license to AGPL 2022-10-13 08:25:37 -05:00
FindByPhoneNumberViewController.swift Add ContactDiscoveryManager 2022-11-15 13:37:28 -08:00
InteractiveSheetViewController.swift Once reply sheet is focused and maximized, keep it maximized 2022-10-18 22:38:36 -07:00
MediaMessageView.swift Import SignalMessaging where it’s needed 2022-10-24 10:19:06 -07:00
ModalActivityIndicatorViewController.swift Update “Find by Number/Username” to latest designs 2022-11-04 13:40:13 -07:00
OWSNavigationController.swift Fix broken navigation when interactive back swiping on root nav controller 2022-11-09 11:59:38 -08:00
OWSNavigationControllerBase.h Translate OWSNavigationController to swift 2022-11-03 15:33:02 -07:00
OWSNavigationControllerBase.m Translate OWSNavigationController to swift 2022-11-03 15:33:02 -07:00
OWSTableSheetViewController.swift Add always dark support to blocking announcement only view 2022-10-18 11:09:10 -07:00
OWSTableViewController2.swift Refactor OWSNavigationController 2022-11-03 16:40:47 -07:00
OWSTableViewController.h Translate OWSViewController to swift 2022-10-28 10:24:55 -07:00
OWSTableViewController.m Translate OWSNavigationController to swift 2022-11-03 15:33:02 -07:00
OWSTableViewController.swift Prefer isEmpty with strings 2022-11-01 17:53:46 -05:00
OWSViewController.swift Apply rotation+keyboard updates properly in OWSViewController 2022-11-09 08:51:39 -06:00
OWSViewControllerObjc.h Refactor OWSNavigationController 2022-11-03 16:40:47 -07:00
OWSViewControllerObjc.m Refactor OWSNavigationController 2022-11-03 16:40:47 -07:00
OWSWindow.swift Change license to AGPL 2022-10-13 08:25:37 -05:00
RegistrationValues.swift Prefer isEmpty with strings 2022-11-01 17:53:46 -05:00
SafetyNumberConfirmationSheet.swift Import SignalMessaging where it’s needed 2022-10-24 10:19:06 -07:00
ScanQRCodeViewController.swift Translate OWSViewController to swift 2022-10-28 10:24:55 -07:00
ScreenLockViewController.h Change license to AGPL 2022-10-13 08:25:37 -05:00
ScreenLockViewController.m Change license to AGPL 2022-10-13 08:25:37 -05:00
SheetViewController.swift Change license to AGPL 2022-10-13 08:25:37 -05:00
SpamCaptchaViewController.swift Import SignalMessaging where it’s needed 2022-10-24 10:19:06 -07:00
TextApprovalViewController.swift Switify some code related to ConversationInputToolbar. 2022-11-07 16:32:59 -08:00
UIViewController+Permissions.h Change license to AGPL 2022-10-13 08:25:37 -05:00
UIViewController+Permissions.m Change license to AGPL 2022-10-13 08:25:37 -05:00
ViewControllerUtils.h Change license to AGPL 2022-10-13 08:25:37 -05:00
ViewControllerUtils.m Change license to AGPL 2022-10-13 08:25:37 -05:00