Commit graph

851 commits

Author SHA1 Message Date
Michael Kirk
c3dc8508ab pre-PR cleanup
// FREEBIE
2017-10-05 13:02:38 -04:00
Michael Kirk
2a4e113c82 Cleanup
// FREEBIE
2017-10-05 13:02:38 -04:00
Michael Kirk
9b33bb0b6d fix layout on MetalKit view 2017-10-05 13:02:38 -04:00
Michael Kirk
ff2f9ebaf0 fix compiling on 32bit.
// FREEBIE
2017-10-05 13:02:38 -04:00
Michael Kirk
f171c56488 Video calls use MetalKit when available
Taking advantage of the new RTCMTLVideoView where available
(64bit && >=iOS9), should help performance (battery and rendering
quality).

// FREEBIE
2017-10-05 13:02:38 -04:00
Matthew Chen
380ed0f82b Create & access groups more carefully.
// FREEBIE
2017-10-04 09:45:09 -04:00
Matthew Chen
cef1f9186d Fix the scroll down button margins.
// FREEBIE
2017-10-03 11:18:57 -04:00
Matthew Chen
9f5454a4cb Fix the "is contact" test.
// FREEBIE
2017-10-02 17:38:54 -04:00
Matthew Chen
10c00501fd Fix the "is contact" test.
// FREEBIE
2017-10-02 17:38:54 -04:00
Matthew Chen
50ec55c313 Fix the "is contact" test.
// FREEBIE
2017-10-02 17:38:54 -04:00
Michael Kirk
ab5b090338 Sync read receipt config to linked devices
// FREEBIE
2017-10-02 16:35:53 -04:00
Matthew Chen
8b7d34e51c Respond to CR.
// FREEBIE
2017-10-02 15:24:57 -04:00
Matthew Chen
fd9188415f Respond to CR.
// FREEBIE
2017-10-02 14:26:03 -04:00
Matthew Chen
a0c9a84390 Clean up ahead of PR.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen
d73a1a02a8 Tweak GIF cells.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen
801734a938 Clean up ahead of PR.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen
e4556967b6 Ensure gif cells reload when app becomes active or network becomes available.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen
5b70116209 Unify the "message was sent" logic in conversation view. Ensure "message sent" sounds are played after sending attachments.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen
3bfb91d0c2 Ignore obsolete GIF requests.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen
c32945b576 Clean up ahead of PR.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen
56e30d954e Clean up ahead of PR.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen
e0194fd605 Allow multiple simultaneous GIF downloads.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen
a65a4b133c Clean up ahead of PR.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen
48e6cea207 Replace FLAnimatedImage with YYImage.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen
4f77a2a504 Load GIFs progressively using stills.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen
2dfd7aa0e9 Actually send GIFs.
// FREEBIE

SQUASH ME.

SQUASH ME.
2017-10-02 13:37:32 -04:00
Matthew Chen
789cea118d Pull out GifDownloader class.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen
e9885af973 Sketch out the GIF picker.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen
4242001828 Sketch out the GIF picker.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen
ee9101eb16 Sketch out the GIF picker.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen
3b9726a4fa Sketch out the GIF picker.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen
206f96c9af Sketch out GIF picker.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen
62ba5701f6 Sketch out GIF picker.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen
27e5a2f1b2 Sketch out GIF picker.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen
9710964e38 Sketch out the GIF manager.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen
dbe2c6aa76 Fix scroll down button.
// FREEBIE
2017-10-01 14:22:01 -04:00
Matthew Chen
f99ce23e69 Fix wrongful "add to contacts offer" issue.
// FREEBIE
2017-09-29 16:38:57 -04:00
Michael Kirk
175474e0d1 Read receipt update screen
// FREEBIE
2017-09-29 16:02:00 -04:00
Matthew Chen
6abc4bed90 Increase hot area of scroll down button.
// FREEBIE
2017-09-29 14:39:35 -04:00
Matthew Chen
34218feece Disable contact cells in message metadata view.
// FREEBIE
2017-09-29 14:13:08 -04:00
Matthew Chen
256b5ab446 Don't show recipient status group titles for 1:1 threads.
// FREEBIE
2017-09-29 14:11:16 -04:00
Michael Kirk
e2445e6ed2 Fix RTL bubbles in conversation and message detail view
// FREEBIE
2017-09-28 16:34:10 -04:00
Michael Kirk
c3bb8a0190 on main thread, per CR
// FREEBIE
2017-09-28 14:59:00 -04:00
Michael Kirk
5704bf1765 message bubbles for message detail view controller
// FREEBIE
2017-09-28 14:58:15 -04:00
Michael Kirk
344903fa5b Show proper thread from notification
// FREEBIE
2017-09-28 14:55:13 -04:00
Matthew Chen
9573e0e16d Move more work off the main thread.
// FREEBIE
2017-09-28 14:30:27 -04:00
Michael Kirk
e77a7e09bb Fix assert for empty thread
// FREEBIE
2017-09-28 13:06:29 -04:00
Matthew Chen
5faeed4d59 Fix breakage.
// FREEBIE
2017-09-28 10:26:10 -04:00
Matthew Chen
2dce0e9b1b Respond to CR.
// FREEBIE
2017-09-28 10:09:54 -04:00
Matthew Chen
26c8c4e1fa Rework message metadata view.
// FREEBIE
2017-09-28 10:06:50 -04:00
Matthew Chen
de29b5a6ee Rework message metadata view.
// FREEBIE
2017-09-28 10:06:50 -04:00
Matthew Chen
29c4059049 Rework message metadata view.
// FREEBIE
2017-09-28 10:06:50 -04:00
Michael Kirk
655598d0a3 remove existing account button
// FREEBIE
2017-09-28 09:47:44 -04:00
Matthew Chen
a231834a73 Use contact cells in message metadata view.
// FREEBIE
2017-09-27 20:25:02 -04:00
Matthew Chen
d6e8849248 Rework "send read receipts" setting.
// FREEBIE
2017-09-27 20:23:41 -04:00
Matthew Chen
d28a014e2d Respond to CR.
// FREEBIE
2017-09-27 16:52:31 -04:00
Matthew Chen
cf4aeac0ec Modify message metadata view to observe DB changes.
// FREEBIE
2017-09-27 16:50:24 -04:00
Matthew Chen
b3ab6d0602 Respond to CR.
// FREEBIE
2017-09-27 16:38:48 -04:00
Matthew Chen
d557817bb4 Format message statuses with date if possible.
// FREEBIE
2017-09-27 16:38:48 -04:00
Matthew Chen
a4d285f50d Respond to CR.
// FREEBIE
2017-09-27 14:19:26 -04:00
Matthew Chen
aa7329013d Handle new-style delivery receipts.
// FREEBIE
2017-09-27 14:09:47 -04:00
Matthew Chen
16d4256e99 Address deadlocks in profile manager.
// FREEBIE
2017-09-27 13:00:01 -04:00
Matthew Chen
af7fd60d76 Fix NPE in conversation view.
// FREEBIE
2017-09-27 11:31:48 -04:00
Matthew Chen
19e010645e Respond to CR.
// FREEBIE
2017-09-26 09:32:48 -04:00
Michael Kirk
bfaa7f2e0c On iOS11 doc picker requires system appearance.
Otherwise nav items are illegible.

// FREEBIE
2017-09-25 21:53:04 -04:00
Matthew Chen
9f9ac746d1 Sketch out message metadata view.
* Show message metadata view from conversation view.
* Pull out MediaMessageView class.
* Track recipient read timestamps.
* Add per-recipient status to message metadata view.
* Add share button to message metadata view.

// FREEBIE
2017-09-25 17:25:49 -04:00
Matthew Chen
315c1d7dc4 Hide all read receipts in UI if not enabled.
// FREEBIE
2017-09-25 17:22:27 -04:00
Matthew Chen
11cadf4200 Send, receive & show read receipts to senders/from receivers.
* Send read receipts to senders.
* Honor "send read receipts" preference.
* Process read receipts from recipients.
* Refactor "mark as read" logic.
* Serialize and apply recipient read receipts received before sync transcript.
* Show recipient read receipts in conversation view.

// FREEBIE
2017-09-22 14:24:17 -04:00
Matthew Chen
f2d19ffe09 Respond to CR.
// FREEBIE
2017-09-22 14:21:15 -04:00
Matthew Chen
c92c6de7b9 Add stress group to debug UI.
// FREEBIE
2017-09-22 10:40:23 -04:00
Matthew Chen
7268bde506 Add stress group to debug UI.
// FREEBIE
2017-09-22 10:30:35 -04:00
Matthew Chen
bd416176ae Add stress group to debug UI.
// FREEBIE
2017-09-22 00:31:13 -04:00
Matthew Chen
bfb03c0db4 Fix message processing edge cases.
// FREEBIE
2017-09-21 17:06:08 -04:00
Matthew Chen
35a2470cb7 Post notifications asynchronously.
// FREEBIE
2017-09-21 17:03:57 -04:00
Matthew Chen
b28c4b74b2 Pull out TSMessageDecrypter class.
// FREEBIE
2017-09-21 14:38:30 -04:00
Matthew Chen
f1b7d895e2 Modify precommit script to clean up includes and forward declarations.
// FREEBIE
2017-09-20 15:33:17 -04:00
Matthew Chen
fa353259c3 Process messages in a single transaction (wherever possible).
// FREEBIE
2017-09-20 10:56:04 -04:00
Matthew Chen
6fce2c26b7 Process messages in a single transaction (wherever possible).
// FREEBIE
2017-09-20 09:40:46 -04:00
Matthew Chen
183f0f1ccd Respond to CR.
// FREEBIE
2017-09-19 17:45:18 -04:00
Matthew Chen
83c21c6159 Add setting for read receipts in app settings.
// FREEBIE
2017-09-19 17:35:42 -04:00
Matthew Chen
80e5f281c6 Rename app preferences class.
// FREEBIE
2017-09-19 17:35:42 -04:00
Matthew Chen
3367292ba0 Merge branch 'hotfix/2.16.1' 2017-09-19 17:25:24 -04:00
Michael Kirk
5e878b486e Show album organizer for profile picker
This is in line with attachment picking and let's the user find photos
outside of "moments".

// FREEBIE
2017-09-19 10:47:15 -04:00
Matthew Chen
2affcd934f Respond to CR.
// FREEBIE
2017-09-19 09:40:29 -04:00
Matthew Chen
c0f5bda2be Respond to CR.
// FREEBIE
2017-09-19 09:39:38 -04:00
Matthew Chen
400f536e37 Respond to CR.
// FREEBIE
2017-09-19 09:30:01 -04:00
Matthew Chen
872ce17dd6 Clean up data source temp files when complete.
// FREEBIE
2017-09-19 09:30:01 -04:00
Matthew Chen
92a2fd6b69 Avoid NPEs when entering conversation view.
// FREEBIE
2017-09-19 09:29:36 -04:00
Matthew Chen
541966aaf6 Fix NPEs when profiles change while entering conversation view.
// FREEBIE
2017-09-18 16:36:58 -04:00
Matthew Chen
2c68b06412 Respond to CR.
// FREEBIE
2017-09-18 16:12:51 -04:00
Matthew Chen
b6d782046a Normalize conversation presentation logic.
// FREEBIE
2017-09-18 16:08:18 -04:00
Matthew Chen
563753a4cb Force contacts intersection in pull-to-refresh from new thread view.
// FREEBIE
2017-09-18 15:56:52 -04:00
Matthew Chen
3aa90451f1 Restore pull-to-refresh in the "new contact thread" view.
// FREEBIE
2017-09-18 15:56:51 -04:00
Matthew Chen
05b1818874 Don't "scroll to bottom" when messages are sent from desktop.
// FREEBIE
2017-09-18 15:49:33 -04:00
Matthew Chen
48121e5eac Don't "scroll to bottom" when messages are sent from desktop.
// FREEBIE
2017-09-18 15:49:32 -04:00
Michael Kirk
4997b4e332 update to new support URL
// FREEBIE
2017-09-18 14:34:52 -04:00
Matthew Chen
0b772b3a37 Move post-registration work from view to app delegate.
// FREEBIE
2017-09-14 15:29:59 -04:00
Matthew Chen
9ee72756ae Create Flat UI rounded button class.
// FREEBIE
2017-09-12 14:45:57 -04:00
Matthew Chen
46d00383fd Create Flat UI rounded button class.
// FREEBIE
2017-09-12 14:45:57 -04:00
Matthew Chen
3993035d98 Create Flat UI rounded button class.
// FREEBIE
2017-09-12 14:45:57 -04:00
Matthew Chen
5be2014ec7 Create Flat UI rounded button class.
// FREEBIE
2017-09-12 14:45:57 -04:00
Matthew Chen
ab00342d67 Add modal activity indicator view.
// FREEBIE
2017-09-11 12:49:14 -04:00
Matthew Chen
9dfebb2d4b Apply OWSFail() in more places.
// FREEBIE
2017-09-11 10:20:48 -04:00
Matthew Chen
c21a7673c8 Rework preservation of attachment filenames.
// FREEBIE
2017-09-11 10:20:48 -04:00
Matthew Chen
b95b5f69de Apply DataSource to message sender.
// FREEBIE
2017-09-11 10:20:48 -04:00
Matthew Chen
20e5013aae Convert DataSource to Objective-C.
// FREEBIE
2017-09-11 10:20:48 -04:00
Matthew Chen
69816cdf0e Convert DataSource to Objective-C.
// FREEBIE
2017-09-11 10:20:48 -04:00
Matthew Chen
2282733fa9 Add data source class.
// FREEBIE
2017-09-11 10:20:48 -04:00
riya
e11a3bd180 change animation to linear
//FREEBIE
2017-09-11 10:01:21 -04:00
Michael Kirk
643f583fa6 Disable name marquee scrolling whenever local video is open
The marquee is distracting, and doubly so during a video call.

Plus because of the local video frame, the space is so small that
marqueeing will be enabled even for relatively short names on small
devices.

Also, at the point you enable local video - presumably you already know
who's on the other end.

// FREEBIE
2017-09-11 10:01:21 -04:00
Michael Kirk
0ec2ac862a Marquee label for callview controller
// FREEBIE
2017-09-11 10:01:21 -04:00
Michael Kirk
bd6387d1df fit more of profile name on call screen
// FREEBIE
2017-09-11 10:01:21 -04:00
Matthew Chen
0c281cab95 Add "log user profiles" debug UI action.
// FREEBIE
2017-09-07 15:33:12 -04:00
Matthew Chen
d8d3f36070 Add "delete all contacts" debug UI action.
// FREEBIE
2017-09-07 15:27:08 -04:00
Matthew Chen
948da2afbb Merge remote-tracking branch 'origin/release/2.16.0' 2017-09-07 15:20:45 -04:00
Michael Kirk
04bf548a7b Fix one-time crash when opening thread without having a local profile
// FREEBIE
2017-09-07 13:24:15 -04:00
Michael Kirk
25a2646c8b Always present settings from OWSNavigationController
// FREEBIE
2017-09-07 11:06:52 -04:00
Matthew Chen
26a6e76f3c Rework conversation view header.
// FREEBIE
2017-09-07 10:47:35 -04:00
Matthew Chen
b626fb5bf8 Rework conversation view header.
// FREEBIE
2017-09-07 10:36:28 -04:00
Matthew Chen
644f435b16 Rework conversation view header.
// FREEBIE
2017-09-07 10:35:11 -04:00
Matthew Chen
c106794fe8 Rename conversation view.
// FREEBIE
2017-09-06 14:13:18 -04:00
Matthew Chen
928525c31e Rename home view.
// FREEBIE
2017-09-06 13:59:39 -04:00
Matthew Chen
fd4f00fa4d Rename new contact thread view.
// FREEBIE
2017-09-06 13:55:01 -04:00
Michael Kirk
2d13c49222 [iOS11] Support sending .heif filesS
// FREEBIE
2017-09-06 12:11:54 -04:00
Michael Kirk
83ca34edbe Fix sending images taken on iOS11 camera.
Convert .heic to .jpg upon sending

// FREEBIE
2017-09-06 11:47:01 -04:00
Michael Kirk
ecf8ca093f [JSQMVC] iOS11 compatability
// FREEBIE
2017-09-06 11:46:25 -04:00
Matthew Chen
0d04cf251b Ensure the crop view is WYSIWIG.
// FREEBIE
2017-09-05 16:36:42 -04:00
Michael Kirk
4e93bec230 black masking style for avatar cropper
- cancel/done buttons
- no navbar for modal edit
- vertically center image

// FREEBIE
2017-09-05 16:36:42 -04:00
Michael Kirk
59eb782d57 Optimize layout for profile upgrade, remove other upgrade screens
// FREEBIE
2017-09-05 16:24:33 -04:00
Michael Kirk
90b1db9eb4 new upgrade layout
// FREEBIE
2017-09-05 16:24:33 -04:00
Michael Kirk
b7cc1e9f56 top margin iphone5c 2017-09-05 16:24:33 -04:00
Michael Kirk
73a441a28c introducing profiles
// FREEBIE
2017-09-05 16:24:33 -04:00
Matthew Chen
6a2d14ad2a Refine message view's initial range size.
// FREEBIE
2017-09-05 09:21:36 -04:00
Matthew Chen
a1cb2c015e Refine message view's initial range size.
// FREEBIE
2017-09-05 09:21:36 -04:00
Michael Kirk
cd4cfb50d3 clean up avatar icon
avatar outline was showing behind camera which had transparent center

// FREEBIE
2017-09-01 18:15:50 -04:00
Michael Kirk
ae174d4a87 proper handling for multibyte characters
// FREEBIE
2017-09-01 18:15:02 -04:00
Michael Kirk
362b383785 Length-limit profile name field
// FREEBIE
2017-09-01 18:14:08 -04:00
Matthew Chen
3d0300242a Use "skip" not "stop" in profile upgrade nag.
// FREEBIE
2017-09-01 15:26:11 -04:00
Matthew Chen
94daccc78e Fix fake contacts.
// FREEBIE
2017-09-01 15:24:27 -04:00
Matthew Chen
a35a21d5cc Batch the creation of fake contacts.
// FREEBIE
2017-09-01 15:24:27 -04:00
Michael Kirk
1cd51a8df2 Use existing isViewLoaded var
Defined in UIKit, this will actually already do what we need without
having to define a new var

// FREEBIE
2017-09-01 14:39:52 -04:00
Michael Kirk
3b85c5e495 crashfix: production crash when notification fired before view loaded
We're observing notifications in init that modify the view, which is
problematic if we receive a notification before the view has loaded.

// FREEBIE
2017-09-01 12:56:50 -04:00
Michael Kirk
2cd2596ddc crashfix: thread.uniqueId is sometimes nil in production
fail early and print diagnostics

// FREEBIE
2017-09-01 12:56:50 -04:00
Michael Kirk
bb8f6c1b73 crashfix: crash while accessing image property
assert on blind cast

// FREEBIE
2017-09-01 12:56:50 -04:00
Michael Kirk
2eaaba9082 crashfix: on addObject, presumably it's nil.
I'm not sure how this is happening, but this will prevent the crash and
give us additional diagnostic data in the cases where it is happening.

// FREEBIE
2017-09-01 12:56:50 -04:00
Matthew Chen
95eaa2c3bb Preserve scroll state across conversation view layout changes, if possible.
// FREEBIE
2017-08-31 15:21:29 -04:00
Matthew Chen
b2c8ad2d29 Restore scroll state after resetting the conversation view's mapping.
// FREEBIE
2017-08-31 15:21:29 -04:00
Matthew Chen
7d32491968 Preserve scroll state across conversation view layout changes, if possible.
// FREEBIE
2017-08-31 15:21:27 -04:00
Matthew Chen
fce2ad2793 Refine the "is scrolled to bottom" logic to better handle new conversations.
// FREEBIE
2017-08-30 13:00:02 -04:00
Matthew Chen
cc048b3971 Respond to CR.
// FREEBIE
2017-08-30 12:46:21 -04:00