Commit Graph

632 Commits (b83766ef74d0c7bd90c00cb681445e244c6a7772)

Author SHA1 Message Date
Niels Andriesse b83766ef74 Clean & fix conversation settings crash 6 years ago
Niels Andriesse e3e7788219 Disable input if a friend request is pending 6 years ago
Niels Andriesse 3dda1f17e1 Implement incoming friend request UI 6 years ago
Niels Andriesse aeb3cecf55 WIP 6 years ago
Michael Kirk 349dd61fee adapt iOS9 fix to new media flow 6 years ago
Michael Kirk a9ba848ffc address notification race 6 years ago
Matthew Chen 6c1d6cc201 Simplify the scroll down button layout. 6 years ago
Matthew Chen 40bd2b06d2 Simplify the scroll down button layout. 6 years ago
Matthew Chen 42871bb6a6 Simplify the scroll down button layout. 6 years ago
Matthew Chen 0e87d2e5b3 Simplify the scroll down button layout. 6 years ago
Matthew Chen 79d594b4d3 Ensure that conversation view's content insets reserve space for input accessory view when app is inactive. 6 years ago
Michael Kirk 501e2c761f Merge tag '2.38.1.2' 6 years ago
Michael Kirk 8ead2cc83d fix overzealous assert 6 years ago
Michael Kirk fdc9db3487 iOS9 workaround to restore input view after sending captioned attachment 6 years ago
Michael Kirk 07e88009e4 Merge tag '2.38.0.11' 6 years ago
Matthew Chen 8f7ad79506 Only update scroll state to reflect keyboard changes if view has appeared. 6 years ago
Michael Kirk 5b77bc5475 sleep hack for iOS9 6 years ago
Matthew Chen f3d0cd99fc Handle notifications for open conversations. 6 years ago
Michael Kirk a8caae73cf remove redundant state 6 years ago
Michael Kirk fa2d5b422b maintain body text navigating to/from approval view 6 years ago
Michael Kirk 7dbb9517af Centralize attachment state in nav controller 6 years ago
Michael Kirk 6502d7d4a5 remove `isMultiSendEnabled` feature flag 6 years ago
Matthew Chen 0d9b780f75 Remove scroll up button. 6 years ago
Michael Kirk d02152cf14 fix release build 6 years ago
Matthew Chen d253c5aa91 Add accessibilityIdentifiers to conversation view. 6 years ago
Matthew Chen a6e00c8fec Respond to CR. 6 years ago
Matthew Chen a7ae79aaad Ignore keyboard notifications while the view is disappearing or has disappeared. 6 years ago
Michael Kirk e3cc8bb101 Keep results bar visible when dismissing keyboard or returning to view. 6 years ago
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;
}
```
6 years ago
Matthew Chen 882dd16d7c Apply presentAlert() throughout codebase. 6 years ago
Matthew Chen 9fe3aa06ed Respond to CR. 6 years ago
Matthew Chen 6ab8ea9b6e Respond to CR. 6 years ago
Matthew Chen a8e9b87f03 Rework menu actions focus item layout. 6 years ago
Matthew Chen 4f06e6dd6e Conversation view always observes view model. 6 years ago
Matthew Chen 3b008ad963 Fix conversation view content offset and scroll down button layout. 6 years ago
Michael Kirk 284357137f Photo/Movie Capture 6 years ago
Matthew Chen 7a67a7b6b5 Hide the status bar in the image picker / attachment approval. 6 years ago
Matthew Chen 0aebac0d07 Fix layout of the 'scroll down' button. 6 years ago
Matthew Chen 0a1947c961 Dismiss message actions UI on orientation change. 6 years ago
Matthew Chen 41a2a954f5 Dismiss message actions UI on orientation change. 6 years ago
Matthew Chen 6fe3ce6d87 Deconflict "bottom view" layout and keyboard animations. 6 years ago
Michael Kirk 1c78350f9a Clear input bar UI earlier in send process for snappier send animation. 6 years ago
Michael Kirk 71dd4eb151 in-conversation search
- use MediaTime for computing benchmarks
6 years ago
Michael Kirk b11308b2f8 Return to conversation after deleting long text 6 years ago
Matthew Chen 7711ee92a7 Revert "Conversation view always observes view model."
This reverts commit 9d39e829a44f28f324f79e0b74a6c8692678d788.
6 years ago
Matthew Chen 6ed4045fbe Conversation view always observes view model. 6 years ago
Matthew Chen 56e5feca46 Introduce ConversationSnapshot. 6 years ago
Matthew Chen 586b362b89 Introduce ConversationSnapshot. 6 years ago
Michael Kirk 233bc3858b dismiss menu actions when selected item is deleted 6 years ago
Michael Kirk bc4260b444 Send long-text with other attachments 6 years ago