Commit Graph

436 Commits

Author SHA1 Message Date
Michael Kirk
2ab50d28c6 require explicit default for getBool 2019-05-15 15:13:17 -06:00
Michael Kirk
fe65ff035f Sneaky Transaction audit for SDSKeyValueStore 2019-05-15 15:13:17 -06:00
Michael Kirk
ecb6c275f8 MessageSender API takes AnyTransaction 2019-05-14 10:44:55 -06:00
Michael Kirk
aa37cdbadd GRDB: Avoid assert when missing dynamic interactions
Triggered whenever entering a conversation
2019-05-13 12:48:45 -04:00
Matthew Chen
d3ff3df926 Ensure window frames. 2019-05-13 12:01:02 -04:00
Michael Kirk
02f6a99da7 AnyGalleryFinder 2019-05-10 17:55:26 -06:00
Matthew Chen
246131ebbd Fix "set unread" deadlock. 2019-05-09 13:39:23 -04:00
Matthew Chen
0024705254 Add sticker suggestions for emoji input. 2019-05-03 09:22:41 -04:00
Michael Kirk
3c7f994b34 DB updates UI
-[x] uiRead from Snapshot
-[x] update snapshot after writes
-[x] notify observers of change
-[x] external notifications
2019-05-02 14:22:53 -06:00
Michael Kirk
36370980d1 Merge tag '2.39.0.9' 2019-05-01 15:14:47 -06:00
Michael Kirk
fdbb5edf55 Fix wrong tint in media views with light theme enabled 2019-05-01 15:01:33 -06:00
Michael Kirk
dafa3f12be Merge tag '2.39.0.8' 2019-05-01 14:34:15 -06:00
Matthew Chen
d168b3e1dc Respond to CR. 2019-04-30 16:37:55 -04:00
Michael Kirk
54dc7802ad quieter logging 2019-04-30 09:10:13 -06:00
Matthew Chen
a81acfa788 Apply asAnyRead/Write convenience methods. 2019-04-30 10:11:19 -04:00
Matthew Chen
783858ea52 Remove extra semicolons. 2019-04-30 09:39:04 -04:00
Matthew Chen
4a57db7b0b Respond to CR. 2019-04-26 15:22:48 -04:00
Matthew Chen
a766f1e944 Send stickers. 2019-04-26 12:34:56 -04:00
Matthew Chen
dec4513f46 Send stickers. 2019-04-26 12:34:56 -04:00
Matthew Chen
c229f39012 Add sticker sync messages. 2019-04-22 10:26:09 -04:00
Michael Kirk
b52bfd88bc HomeView backed by GRDB 2019-04-18 10:11:40 -06:00
Matthew Chen
509bc57401 Update proto schema to reflect stickers. Sketch out the Sticker model classes. 2019-04-18 10:12:17 -04:00
Michael Kirk
baef0815b1 GRDB: info message text for interation previews 2019-04-17 15:43:40 -06:00
Matthew Chen
d5cf49be7f Apply key-value store to preference classes. 2019-04-17 15:45:24 -04:00
Matthew Chen
f5c04f3801 Respond to CR. 2019-04-16 09:08:45 -04:00
Michael Kirk
ee3697793a GRDB adapter for message mapping 2019-04-10 16:28:18 -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
Matthew Chen
4188993fc5 Add accessibilityIdentifiers to 'new contact thread' view. 2019-03-25 09:31:19 -04:00
Matthew Chen
95e125d55e Simplify usage of accessibilityIdentifiers. 2019-03-25 09:31:19 -04: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
c9d62f47cc Respond to CR. 2019-03-21 10:26:38 -04:00
Matthew Chen
d7b1e65a71 Add accessibility identifiers to blocklist popups. 2019-03-21 10:08:25 -04:00
Matthew Chen
f1520d760e Add accessibility identifiers to other settings views. 2019-03-21 10:08:25 -04:00
Matthew Chen
b48e204b90 Add accessibility identifiers to notification settings views. 2019-03-21 10:08:25 -04:00
Michael Kirk
0b638f4831 link checks 2019-03-18 15:21:19 -07:00
Michael Kirk
78ce3583ed fix rotation issue 2019-03-18 15:17:13 -07:00
Matthew Chen
88c07fc534 Pinch to change text size in image editor text tool. 2019-03-13 11:41:44 -04:00
Michael Kirk
71dd4eb151 in-conversation search
- use MediaTime for computing benchmarks
2019-02-28 16:19:16 -07:00
Michael Kirk
870caaa84a simplify completion checking - make nonnull 2019-02-26 10:06:52 -07:00
Michael Kirk
13154fb828 allow long text with non-durable sends (SAE) 2019-02-26 10:06:52 -07:00
Matthew Chen
56e5feca46 Introduce ConversationSnapshot. 2019-02-26 10:55:44 -05:00
Michael Kirk
f1623b6037 missing nullability text 2019-02-25 13:27:49 -07:00
Michael Kirk
7e5256856c render media+longText message 2019-02-25 13:27:49 -07:00
Michael Kirk
b7989e9384 feature flag approval sending 2019-02-25 13:27:49 -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
680b844f3c Allow all windows to do landscape, fixes:
1. Remove undesirable animation from portrait->landscape when minimizizing in
   landscape and relaunching in landscape.

2. This also seems to fix the intermittently misplaced toolbar when launching
   in landscape. I believe this is a consequence of fix #1
2019-02-21 17:38:52 -07:00
Michael Kirk
fabd3996c2 pop view if message is deleted
- use global ui database connection
2019-02-21 16:18:14 -07:00