Commit graph

626 commits

Author SHA1 Message Date
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 501e2c761f Merge tag '2.38.1.2' 2019-04-04 13:42:07 -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
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 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
Matthew Chen 3b008ad963 Fix conversation view content offset and scroll down button layout. 2019-03-14 15:47:59 -04:00
Michael Kirk 284357137f Photo/Movie Capture 2019-03-14 12:20:21 -07:00
Matthew Chen 7a67a7b6b5 Hide the status bar in the image picker / attachment approval. 2019-03-12 17:22:46 -04:00
Matthew Chen 0aebac0d07 Fix layout of the 'scroll down' button. 2019-03-11 23:29:01 -04:00
Matthew Chen 0a1947c961 Dismiss message actions UI on orientation change. 2019-03-11 23:28:20 -04:00
Matthew Chen 41a2a954f5 Dismiss message actions UI on orientation change. 2019-03-11 23:28:20 -04:00
Matthew Chen 6fe3ce6d87 Deconflict "bottom view" layout and keyboard animations. 2019-03-11 23:23:08 -04:00
Michael Kirk 1c78350f9a Clear input bar UI earlier in send process for snappier send animation. 2019-03-11 12:37:18 -07:00
Michael Kirk 71dd4eb151 in-conversation search
- use MediaTime for computing benchmarks
2019-02-28 16:19:16 -07:00
Michael Kirk b11308b2f8 Return to conversation after deleting long text 2019-02-26 17:19:18 -07:00
Matthew Chen 7711ee92a7 Revert "Conversation view always observes view model."
This reverts commit 9d39e829a44f28f324f79e0b74a6c8692678d788.
2019-02-26 10:56:23 -05:00
Matthew Chen 6ed4045fbe Conversation view always observes view model. 2019-02-26 10:56:11 -05:00
Matthew Chen 56e5feca46 Introduce ConversationSnapshot. 2019-02-26 10:55:44 -05:00
Matthew Chen 586b362b89 Introduce ConversationSnapshot. 2019-02-26 10:55:44 -05:00
Michael Kirk 233bc3858b dismiss menu actions when selected item is deleted 2019-02-25 14:10:12 -07:00
Michael Kirk bc4260b444 Send long-text with other attachments 2019-02-25 13:27:49 -07:00
Michael Kirk a218d6c465 Send first chars of longtext in protobuf 2019-02-25 13:27:49 -07:00
Michael Kirk fabd3996c2 pop view if message is deleted
- use global ui database connection
2019-02-21 16:18:14 -07:00
Michael Kirk d29ce740cb Voice Note Lock 2019-02-06 17:34:29 -07:00
Matthew Chen 4feb0011d7 Reduce logging. 2019-01-31 15:48:50 -05:00
Matthew Chen 6ff6ee2e2e Rework layout of conversation input toolbar. 2019-01-23 13:02:52 -05:00
Matthew Chen 8452f5e74b Open link preview URLs when tapped. 2019-01-23 09:58:37 -05:00