Commit Graph

298 Commits

Author SHA1 Message Date
Matthew Chen
f473f60111 Apply OWS log functions in Objective-C. 2018-08-27 12:58:52 -04:00
Matthew Chen
cc5a480baa Apply OWS log functions in Objective-C. 2018-08-27 12:58:52 -04:00
Matthew Chen
3a50377902 Apply OWS log functions in Objective-C. 2018-08-27 12:58:52 -04:00
Matthew Chen
713606271c Rename fail macros in Obj-C. 2018-08-27 10:29:51 -04:00
Matthew Chen
5b50e81b4f Rename fail macros in Swift. 2018-08-27 10:27:48 -04:00
Matthew Chen
7be8f30877 Apply -> Never. 2018-08-27 10:21:03 -04:00
Matthew Chen
cf6f3841a8 Apply new Swift logging. 2018-08-27 10:02:28 -04:00
Michael Kirk
7e8b2e3034 Faster conversation presentation.
There are multiple places in the codebase we present a conversation.

We used to have some very conservative machinery around how this was done, for
fear of failing to present the call view controller, which would have left a
hidden call in the background. We've since addressed that concern more
thoroughly via the separate calling UIWindow.

As such, the remaining presentation machinery is overly complex and inflexible
for what we need.

Sometimes we want to animate-push the conversation. (tap on home, tap on "send message" in contact card/group members)
Sometimes we want to dismiss a modal, to reveal the conversation behind it (contact picker, group creation)
Sometimes we want to present the conversation with no animation (becoming active from a notification)

We also want to ensure that we're never pushing more than one conversation view
controller, which was previously a problem since we were "pushing" a newly
constructed VC in response to these myriad actions. It turned out there were
certain code paths that caused multiple actions to be fired in rapid succession
which pushed multiple ConversationVC's.

The built-in method: `setViewControllers:animated` easily ensures we only have
one ConversationVC on the stack, while being composable enough to faciliate the
various more efficient animations we desire.

The only thing lost with the complex methods is that the naive
`presentViewController:` can fail, e.g. if another view is already presented.
E.g. if an alert appears *just* before the user taps compose, the contact
picker will fail to present.

Since we no longer depend on this for presenting the CallViewController, this
isn't catostrophic, and in fact, arguable preferable, since we want the user to
read and dismiss any alert explicitly.

// FREEBIE
2018-08-24 08:54:23 -06:00
Matthew Chen
26001e49d1 Unify log tags. 2018-08-15 10:24:29 -04:00
Michael Kirk
8829cdfb4b Toast view when tapped message doesn't exist, mark remotely sourced. 2018-08-10 16:55:54 -06:00
Michael Kirk
c05700fd98 Log in OWSFail
step 1: rename OWSFail->OWSFailNoProdLog
step 2: rename OWSProdLogAndFail->OWSFail
step 3: Convert OWSFailNoProdLog->OWSFail where we want logging
step 4: Rename OWSCFail->OWSCFailNoProdLog
step 5: Rename OWSProdLogAndCFail -> OWSCFail
step 6: Convert OWSCFailNoProdLog -> OWSCFail where we want logging
2018-08-09 15:30:19 -06:00
Matthew Chen
2c9c028504 Clean up. 2018-08-09 09:51:23 -06:00
Matthew Chen
e5eda8b45d Add convenience initializers to proto wrappers. 2018-08-08 13:08:47 -04:00
Michael Kirk
51b1761364 Fix crash during CollectionView thrash 2018-08-08 10:17:42 -06:00
Matthew Chen
dc012d46e4 Migrate call proto wrappers. 2018-08-07 14:40:49 -04:00
Matthew Chen
135a1655fd Migrate call proto wrappers. 2018-08-07 14:40:49 -04:00
Matthew Chen
45e782c243 Revamp orphan data cleaner. 2018-08-07 13:07:26 -04:00
Matthew Chen
3f47524373 Respond to CR. 2018-08-03 14:52:55 -04:00
Matthew Chen
6be3d2e42d Code generate Swift wrappers for protocol buffers. 2018-08-03 14:05:20 -04:00
Matthew Chen
827f979282 Code generate Swift wrappers for protocol buffers. 2018-08-01 15:55:00 -04:00
Matthew Chen
2b05bbc0aa Code generate Swift wrappers for protocol buffers. 2018-08-01 11:20:55 -04:00
Matthew Chen
f814157a9e Code generate Swift wrappers for protocol buffers. 2018-08-01 11:20:55 -04:00
Matthew Chen
dfc39b4a1d Tidy files. 2018-08-01 09:46:05 -04:00
Matthew Chen
e6bc37d941 Tidy files. 2018-08-01 09:46:05 -04:00
Matthew Chen
8f55f53329 Tidy files. 2018-08-01 09:46:05 -04:00
Michael Kirk
e5856b2ac5 CR: Add back deprecated constructor to debug list 2018-07-25 15:19:40 -06:00
Michael Kirk
b860dce7f9 Swift protos for Envelope 2018-07-25 13:04:26 -06:00
Matthew Chen
7f33236d6c Respond to CR. 2018-07-18 13:57:22 -04:00
Matthew Chen
ace07ac62a Respond to CR. 2018-07-18 13:57:22 -04:00
Matthew Chen
ebe87348a2 Streamline SignalRecipient. 2018-07-18 13:57:21 -04:00
Matthew Chen
d14f764b50 Streamline SignalRecipient. 2018-07-18 13:57:21 -04:00
Matthew Chen
dbb0a494f9 Tweak system messages. 2018-07-11 15:34:16 -04:00
Matthew Chen
158aa3abc4 Tweak system messages; incomplete vs. missed calls. 2018-07-11 15:34:16 -04:00
Matthew Chen
8b3bdb88f3 Revert "Merge branch 'charlesmchen/tweakCalls'"
This reverts commit 3e0233ea60, reversing
changes made to 74ce3012cf.
2018-07-11 15:34:16 -04:00
Michael Kirk
4d3d5d98e1 Sync colors with contacts 2018-07-10 13:25:38 -06:00
Michael Kirk
76745bee5b failed background color to spec 2018-07-10 10:07:36 -06:00
Matthew Chen
1a9a5016fe Tweak calls. 2018-07-09 11:08:53 -04:00
Michael Kirk
16df4f589e conversation colors
// FREEBIE
2018-06-29 11:52:41 -06:00
Matthew Chen
35dc348551 Move conversation style. 2018-06-28 13:26:17 -04:00
Matthew Chen
cbc80abff1 Tweak color palette. 2018-06-28 13:18:35 -04:00
Matthew Chen
33b1628c26 Rename to ConversationStyle. 2018-06-26 10:20:26 -04:00
Matthew Chen
ac6f78a5fc Tweak message cells. 2018-06-25 09:26:41 -04:00
Matthew Chen
63b6276c25 Clear LRUCache in background. 2018-06-20 17:55:15 -04:00
Matthew Chen
41a2ea03b0 Don't cache CNContact. 2018-06-20 17:55:14 -04:00
Matthew Chen
1607aa7f57 Image content types. 2018-06-20 17:13:31 -04:00
Matthew Chen
bc6a4ea8d8 Add re-registration UI. 2018-06-20 14:54:16 -04:00
Michael Kirk
0a17246737 Don't use group name in message.
// FREEBIE
2018-06-14 15:21:24 -04:00
Michael Kirk
95b1dced18 add: messages in Book Club will disappear in 1 minute
Show different message when joining group with disappearing messages
2018-06-14 15:20:45 -04:00
Michael Kirk
0cf751d34f Newly added group members should have expire time
Send expire timer with group info updates and in group updates that add a user.
2018-06-14 15:20:45 -04:00
Matthew Chen
4d8c764789 Migrate to Swift 4. 2018-05-30 15:05:02 -04:00