Commit graph

1339 commits

Author SHA1 Message Date
Michael Kirk
b175bd77a5 Fix "too much content inset" issue 2019-04-12 09:14:57 -06:00
Michael Kirk
a9ba848ffc address notification race 2019-04-10 07:13:10 -06:00
Matthew Chen
6c1d6cc201 Simplify the scroll down button layout. 2019-04-09 15:46:42 -04:00
Matthew Chen
40bd2b06d2 Simplify the scroll down button layout. 2019-04-09 14:55:49 -04:00
Matthew Chen
42871bb6a6 Simplify the scroll down button layout. 2019-04-09 14:48:01 -04:00
Matthew Chen
0e87d2e5b3 Simplify the scroll down button layout. 2019-04-09 14:38:29 -04:00
Matthew Chen
79d594b4d3 Ensure that conversation view's content insets reserve space for input accessory view when app is inactive. 2019-04-09 14:36:30 -04:00
Michael Kirk
78790ab69d swift style lint 2019-04-04 13:44:42 -06:00
Michael Kirk
cfebb53719 more concise constants post translation 2019-04-04 13:44:42 -06:00
Michael Kirk
30266bf65e autoformatted 2019-04-04 13:44:42 -06:00
Michael Kirk
64a0c4bfaa auto-migrate to Swift5 2019-04-04 13:44:42 -06:00
Michael Kirk
501e2c761f Merge tag '2.38.1.2' 2019-04-04 13:42:07 -06:00
Michael Kirk
5e96769a12 resize voice note bar with rotation 2019-04-03 10:55:33 -06:00
Michael Kirk
63907acb54 Don't update "cancel" status when locked 2019-04-03 10:54:54 -06:00
Michael Kirk
8ead2cc83d fix overzealous assert 2019-04-03 10:53:08 -06:00
Michael Kirk
fdc9db3487 iOS9 workaround to restore input view after sending captioned attachment 2019-04-03 10:52:00 -06:00
Michael Kirk
07e88009e4 Merge tag '2.38.0.11' 2019-04-01 14:04:43 -06:00
Matthew Chen
8f7ad79506 Only update scroll state to reflect keyboard changes if view has appeared. 2019-03-29 15:29:54 -04:00
Michael Kirk
5b77bc5475 sleep hack for iOS9 2019-03-29 12:38:01 -06:00
Michael Kirk
05d8846f6c match highlight behavior with search behavior 2019-03-29 12:38:01 -06:00
Matthew Chen
f3d0cd99fc Handle notifications for open conversations. 2019-03-28 16:58:02 -04:00
Michael Kirk
a8caae73cf remove redundant state 2019-03-28 13:13:43 -06:00
Michael Kirk
fa2d5b422b maintain body text navigating to/from approval view 2019-03-28 11:58:43 -06:00
Michael Kirk
7dbb9517af Centralize attachment state in nav controller 2019-03-28 10:30:47 -06:00
Michael Kirk
6502d7d4a5 remove isMultiSendEnabled feature flag 2019-03-28 10:30:47 -06:00
Matthew Chen
0d9b780f75 Remove scroll up button. 2019-03-27 10:41:48 -04:00
Michael Kirk
d02152cf14 fix release build 2019-03-26 21:44:59 -06:00
Matthew Chen
d253c5aa91 Add accessibilityIdentifiers to conversation view. 2019-03-25 09:31:19 -04:00
Matthew Chen
a6e00c8fec Respond to CR. 2019-03-22 16:53:55 -04:00
Matthew Chen
a7ae79aaad Ignore keyboard notifications while the view is disappearing or has disappeared. 2019-03-22 10:26:25 -04:00
Michael Kirk
e3cc8bb101 Keep results bar visible when dismissing keyboard or returning to view. 2019-03-21 12:04:37 -07:00
Michael Kirk
3850ca29b0 Bigger hack to fix problem with lesser hack.
There were two symptoms to this bad "leave app while dismissing keyboard"
state...

The first, most noticeable symptom was that the main window no longer respected
the device orientation. This was caused by UIKit temporarily disabling
autorotate during an interactive keyboard dismissal, and not cleaning up after
itself when we hid the window mid dismissal due to our screen protection
feature. This was solved previously in: ca0a555f8

The second symptom remained, and is solved by this commit. Wherein after
getting in this bad state, the interactive keyboard dismiss function behaves
oddly. Normally when interactively dismissing the keyboard in a scroll view,
the keyboard top follows your finger, until you lift up your finger, at which
point, depending on how close you are to the bottom, the keyboard should
completely dismiss, or cancel and return to its fully popped position. In the
degraded state, the keyboard would follow your finger, but when you lifted your
finger, it would stay where your finger left it, it would not complete/cancel
the dismiss.

The solution is, instead of only re-enabling autorotate, to use a higher level
private method which is called upon complete/cancellation of the interactive
dismissal. The method, `UIScrollToDismissSupport#finishScrollViewTransition`,
as well as re-enabling autorotate, does some other work to restore the UI to
it's normal post interactive-keyboard-dismiss gesture state.

For posterity here's the decompiled pseudocode:

```
/* @class UIScrollToDismissSupport */
-(void)finishScrollViewTransition {
    *(int8_t *)&self->_scrollViewTransitionFinishing = 0x0;
    [self->_controller setInterfaceAutorotationDisabled:0x0];
    [self hideScrollViewHorizontalScrollIndicator:0x0];
    ebx = *ivar_offset(_scrollViewNotificationInfo);
    [*(self + ebx) release];
    *(self + ebx) = 0x0;
    esi = *ivar_offset(_scrollViewForTransition);
    [*(self + esi) release];
    *(self + esi) = 0x0;
    return;
}
```
2019-03-21 10:37:54 -07:00
Matthew Chen
882dd16d7c Apply presentAlert() throughout codebase. 2019-03-21 10:55:04 -04:00
Matthew Chen
6ee4317590 Add "track" to attachment download progress indicator. 2019-03-21 10:07:38 -04:00
Matthew Chen
c2c08d0712 Remove overzealous valid media asserts. 2019-03-20 14:43:18 -04:00
Matthew Chen
31b4612746 Rework attachment download progress for generic attachments. 2019-03-20 11:33:36 -04:00
Matthew Chen
5df4a0bc17 Rework attachment download progress for audio files. 2019-03-20 11:33:36 -04:00
Matthew Chen
9fe3aa06ed Respond to CR. 2019-03-19 11:15:09 -04:00
Matthew Chen
6ab8ea9b6e Respond to CR. 2019-03-19 11:13:06 -04:00
Matthew Chen
a8e9b87f03 Rework menu actions focus item layout. 2019-03-19 11:12:30 -04:00
Matthew Chen
4f06e6dd6e Conversation view always observes view model. 2019-03-19 10:03:58 -04:00
Michael Kirk
0b638f4831 link checks 2019-03-18 15:21:19 -07:00
Matthew Chen
6cc28bdf8f Redraw message bubbles when corner state changes. 2019-03-18 16:31:47 -04:00
Matthew Chen
df4cf5c09e Respond to CR. 2019-03-18 14:24:33 -04:00
Matthew Chen
b6724ee181 Clean up ahead of PR. 2019-03-18 14:14:20 -04:00
Matthew Chen
936aa5842d Clean up ahead of PR. 2019-03-18 14:14:20 -04:00
Matthew Chen
4bfa251321 Ensure constant bubble sizes for oversize text. 2019-03-18 14:14:20 -04:00
Matthew Chen
67c89cb4e3 Ensure constant bubble sizes for oversize text. 2019-03-18 14:14:20 -04:00
Matthew Chen
dc168270c2 Ensure constant bubble sizes for generic attachments. 2019-03-18 14:14:20 -04:00
Matthew Chen
3702dfa198 Rework "upload progress", "download progress" and "tap to retry" states. 2019-03-18 14:14:20 -04:00