At the moment, when trying to drag the input/selection cursor(s) in
the ConverationInputTextView, as soon as you reach the top or bottom
edge of a draft with >4 lines, you'll immediately scroll to the very top
or the very bottom.
This is because we're currently overriding the default implementation of
setContentOffset:animated: to always perform the adjustment without
animation. We do this because we don't want the animated content offset
adjustment to interfere with the growing the bounds of the text view.
This can cause the text to overshoot the updated bounds pre-iOS 13.
But we only grow the text view in response to the text changing. So
instead of disabling all content offset animations, we can get away with
just disabling content offset animations while the text is changing.
So this commit:
- Sets a flag between -textViewShouldChange... and -textViewDidChange:
- On iOS 13 and later, we'll always respect the animate argument of
setContentOffset:animated:
- Pre-iOS 13, we'll ignore the animate parameter if the flag is set
This is now pretty close to the design spec. Most significant change
here is adding a new stack view configuration joining the title and the
thumbnail, both floating above description text.
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.