Commit Graph

469 Commits (9a6f207c211e01d961c9861fbff9446ba1df7d03)

Author SHA1 Message Date
Niels Andriesse 7faa9d333c Add missing save 6 years ago
Niels Andriesse be7724b41b Implement feedback 6 years ago
Niels Andriesse 3161680432 Redo friend request handling 6 years ago
Niels Andriesse cb1e876b7a Make friend request status updates more reliable 6 years ago
Niels Andriesse b83766ef74 Clean & fix conversation settings crash 6 years ago
Mikunj a4b042f282 Added convenience function to make empty outgoing messages. 6 years ago
Niels Andriesse 3dda1f17e1 Implement incoming friend request UI 6 years ago
Niels Andriesse 4da8d33932 Clean 6 years ago
Mikunj 09157673fe Added friend request states in TSThread.
Automatically send a OWSFriendRequest if we are not friend with the person.
6 years ago
Michael Kirk 30266bf65e autoformatted 6 years ago
Michael Kirk 64a0c4bfaa auto-migrate to Swift5 6 years ago
Matthew Chen 4188993fc5 Add accessibilityIdentifiers to 'new contact thread' view. 6 years ago
Matthew Chen 95e125d55e Simplify usage of accessibilityIdentifiers. 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 c9d62f47cc Respond to CR. 6 years ago
Matthew Chen d7b1e65a71 Add accessibility identifiers to blocklist popups. 6 years ago
Matthew Chen f1520d760e Add accessibility identifiers to other settings views. 6 years ago
Matthew Chen b48e204b90 Add accessibility identifiers to notification settings views. 6 years ago
Michael Kirk 0b638f4831 link checks 6 years ago
Michael Kirk 78ce3583ed fix rotation issue 6 years ago
Matthew Chen 88c07fc534 Pinch to change text size in image editor text tool. 6 years ago
Michael Kirk 71dd4eb151 in-conversation search
- use MediaTime for computing benchmarks
6 years ago
Michael Kirk 870caaa84a simplify completion checking - make nonnull 6 years ago
Michael Kirk 13154fb828 allow long text with non-durable sends (SAE) 6 years ago
Matthew Chen 56e5feca46 Introduce ConversationSnapshot. 6 years ago
Michael Kirk f1623b6037 missing nullability text 6 years ago
Michael Kirk 7e5256856c render media+longText message 6 years ago
Michael Kirk b7989e9384 feature flag approval sending 6 years ago
Michael Kirk bc4260b444 Send long-text with other attachments 6 years ago
Michael Kirk a218d6c465 Send first chars of longtext in protobuf 6 years ago
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
6 years ago
Michael Kirk fabd3996c2 pop view if message is deleted
- use global ui database connection
6 years ago
Matthew Chen 9402e088b2 Apply design feedback from Myles. 6 years ago
Matthew Chen 8ecad88674 Move the accessibility identifier macros into UIUtil.h. 6 years ago
Matthew Chen 73b36c5400 Respond to CR. 6 years ago
Michael Kirk cc2e062b85 CR: clean up graphics context code 6 years ago
Michael Kirk 2323cc21f0 note-to-self avatar 6 years ago
Matthew Chen 12e57ecd25 Improve background screenshots v. orientation. 6 years ago
Matthew Chen 9149282e94 Resize link preview images if necessary. 6 years ago
Matthew Chen 4e7dbc486d Segment proxied content downloads. 6 years ago
Matthew Chen 3d757b492a Add link previews to conversation message bubbles. 6 years ago
Matthew Chen 977ee9ffe9 Merge remote-tracking branch 'private/release/2.34.0' 6 years ago
Matthew Chen 2dcc79fbca Fix issues around link previews. 6 years ago
Matthew Chen 8e44bf554c Respond to CR. 6 years ago
Matthew Chen d775a70a89 Build link previews. 6 years ago
Matthew Chen 31ea64bdaf Build link previews. 6 years ago
Matthew Chen 7878c0fac8 Add feature flag for 'note to self'. 6 years ago
Michael Kirk 0c1b2e9f48 CR: remove unnecessary param, clearer code, comment typo 6 years ago
Michael Kirk 6e50a5353b rename for clarity 6 years ago
Michael Kirk b4908e71e9 Use FTS for compose picker search 6 years ago
Matthew Chen a477e01a4a Apply LinkPreview model. 6 years ago
Matthew Chen bf0d92acfb Landscape layout in gif picker. 6 years ago
Matthew Chen 2ddde368ec Landscape orientation. 6 years ago
Matthew Chen 5adcbac5ef Landscape orientation. 6 years ago
Matthew Chen 9ab8bec2b1 Fix searching for 'note to self'. 6 years ago
Michael Kirk af7ee5e1d1 address compiler breakage after rebase 6 years ago
Michael Kirk 5671fd2520 Revert "Revert 'new sort id'."
This reverts commit ebae75af00.
6 years ago
Matthew Chen 35b6f6cf12 Respond to CR. 6 years ago
Matthew Chen db8bc58b6d Implement crop. 6 years ago
Matthew Chen bd40aacd53 Purge dynamic interactions from database. 6 years ago
Matthew Chen 639dac4e26 Add stroke drawing to the image editor. 6 years ago
Michael Kirk fd6a56b3af format bench in ms 6 years ago
Michael Kirk 6232b1ef67 CR: add debug asserts 6 years ago
Michael Kirk 81bc357bbb more robust handling of unsaved outgoing messages 6 years ago
Michael Kirk 668cc22af3 Perf: Insert outgoing message into conversation before save completes.
This was a huge savings - e.g. 50-70% of the time between tapping send and
rendering the message takes place in the save/postWriteTransaction blocks
6 years ago
Michael Kirk 67cc1027cc Fix compiler warnings 6 years ago
Michael Kirk ac2c9cc521 Benchmark Events by ID 6 years ago
Matthew Chen 19a2bfeaad More conversation viewmodel perf improvements. 6 years ago
Matthew Chen fea40d571c Move contact offers to Conversation view model. 6 years ago
Michael Kirk c0cb7df10a rename hasEverHadMessage -> shouldThreadBeVisible 6 years ago
Michael Kirk 1a5c47df2f Fix SAE, limit max attachments 6 years ago
Matthew Chen aeadea67e2 Send multiple attachments from the share extension. 7 years ago
Matthew Chen 7f89c90f16 Fix bug when sending non-body attachments (e.g. group avatars). 7 years ago
Matthew Chen 0e749d5521 Fix build break. 7 years ago
Matthew Chen 49c8e6db7d Merge remote-tracking branch 'origin/release/2.31.0' 7 years ago
Matthew Chen 4b213df950 Fix race in ProximityMonitoringManager. 7 years ago
Michael Kirk 0d7e94f2f6 Fix: Voice Messages don't restore audio to speaker when held up to the ear past
the voice notes duration.

Specifically:

- start a voice note
- hold to ear until complete
- remove from ear
- start another voice note (or the same one) with the phone away from your ear

You'd expect audio to play through the external speaker, but instead it comes
through the earpiece.

Based on the added logging, this seems to be an apple bug.
7 years ago
Michael Kirk 27cb91e9c8 Plumb through messageAlbumId so an Attachment knows what album (if any) it
belongs to.
7 years ago
Matthew Chen 60c5a84dd2 Fix issues in media gallery cells; Improve debug galleries. 7 years ago
Matthew Chen c7d427029b Respond to CR. 7 years ago
Matthew Chen f6591fac25 Add debug UI for multi-image sends. 7 years ago
Matthew Chen d04f1e6e36 Add debug UI for multi-image sends. 7 years ago
Michael Kirk 85a4fc7b66 restore calling banner
The `statusBarDidChange` is called when entering but not leaving landscape mode
we we've got to update manually before showing the call banner.
7 years ago
Michael Kirk 19f2d0db48 WIP: Media Landscape Mode 7 years ago
Matthew Chen 40aa78e001 Merge remote-tracking branch 'origin/release/2.31.0' 7 years ago
Michael Kirk cb9aa6304c find -E . -type f -regex ".*\.(m|h)" -exec sed -i "" -e "s/try_/throws_/" {} \; 7 years ago
Michael Kirk 3a6aafc454 Swift Exception wrap NSData+keyVersionByte 7 years ago
Michael Kirk 6968dbab17 Update UIDevice on main thread 7 years ago
Michael Kirk 5632bd2d83 Use reference counting to disable proximity monitoring after audio message
Multiple overlapping activities require proximity monitoring (namely,
CallViewController and listening to audio messages).

These activities can overlap arbitrarily, so we use a reference counting
strategy to keep proximity monitoring on as long as one of these activities is
active.
7 years ago
Matthew Chen 408008d3e7 Use different contact avatar assets depending on size of output. 7 years ago
Matthew Chen 4ea6d72008 Improve default avatar quality. 7 years ago
Matthew Chen 5b339a642b Respond to CR. 7 years ago
Michael Kirk 3560f3be5c Durable send operation
TODO
-[x] respect order of queue
-[x] replacements
  -[x] those w/o completion handler
  -[x] basic send+log operation persists
  -[x] send+ui completion
  -[x] share extension
  -[x] update state jobs
-[x] App Lifecyle
  -[x] settable
  -[x] Mark as ready on startup
  -[x] Fail appropriate jobs on startup

NICE TO HAVE
-[x] concurrent per senders
-[ ] longer retry (e.g. 24hrs)
-[ ] App Lifecyle
  -[x] retry failed jobs on startup?
  -[ ] reachability

DONE
-[x] basic passing test
-[x] datamodel
-[x] queue/classes
7 years ago
Matthew Chen 28f37a7a34 Update contacts cells' dependencies. 7 years ago
Michael Kirk ce9ca1bdaa audio player type 7 years ago
Michael Kirk 3b4188f34b hoist audio session singleton to Environment 7 years ago
Michael Kirk 3d022adf4e WIP: audio activities 7 years ago
Matthew Chen 275414cbda Respond to CR. 7 years ago
Matthew Chen 7c1f1882d8 Sync "show UD indicators" setting. 7 years ago