This change updates the link preview fetch flow to fetch content
directly rather than through the proxy. This means we can remove the
allowed domain list and fetch content from most provided domains.
This almost moves HTML content parsing outside of OWSLinkPreview.
Currently we'll still only fetch the same content, but it's extensible
enough to fetch all sorts of different opengraph tags.
AFHTTPSessionManager will no longer faildebug on a request failure.
Since we're going to be firing opportunistic fetch requests as we parse
a URL, it's expected that some will fail.
Modifies ContactDiscoveryTask to filter out any duplicate e164s. Also
renames a bunch of things to make identifier formatting expectations
more clear.
A candidate for further improvement: IOS-757: Adopt PhoneNumbers in CDS
subsystem
- Adjust how clients provide QoS information to ContactDiscoveryTask
- Fix an issue where legacy CDS was reporting a generic server failure
as a result of network failures.
- ContactDiscoveryTask will no longer error on an empty set
- Remove CDSFeedback operation
- 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