Commit Graph

322 Commits

Author SHA1 Message Date
Michael Kirk
e1e355bfec fixup filebrowser 2018-10-03 09:50:42 -06:00
Michael Kirk
06eae47e09 ConversationViewItem -> protocol 2018-09-28 12:58:33 -06:00
Matthew Chen
ebae75af00 Revert 'new sort id'. 2018-09-27 19:40:51 -04:00
Michael Kirk
79add78d51 Merge branch 'release/2.30.1' 2018-09-27 13:03:35 -06:00
Matthew Chen
6715e3d1ad Respond to CR. 2018-09-27 09:28:16 -04:00
Matthew Chen
b20cd57383 Rename OWSConversationColor. 2018-09-27 09:15:15 -04:00
Matthew Chen
b3ad6e27dc Rework conversation message bubble colors; add "conversation colors" class. 2018-09-27 09:07:47 -04:00
Michael Kirk
3240e0d9d0 Be explicit about receivedAt time
We were often using `timestampForLegacySorting`, which is convoluted for when
we actually just want received time.

In some sense this is a superficial change, but it's part of auditing that
we've completed moved away from timestampForLegacySorting.
2018-09-26 09:52:34 -06:00
Michael Kirk
ab55e85304 step 1: timestampForSorting audit, change signature
No change in functionality in this commit, I just broke the signature to have a
systematic audit of the callsites. Added TODO's with the plan for each call.
2018-09-26 09:52:33 -06:00
Michael Kirk
df61316495 minimize diff senderTimestamp -> timestamp 2018-09-26 09:52:33 -06:00
Michael Kirk
00d0d1e002 Remove legacy Error backdating - no changes in functionality
Historically we would backdate the SN change messages, but since adopting
non-blocking SN changes long ago, they're already sorted properly by creation
time, so backdating has been unnecessary for a while.

I also audited that all other error messages are saved directly after creation.

I applied deprecation attributes as appropriate as I audited.
2018-09-26 09:52:33 -06:00
Michael Kirk
eef1368ad3 Timestamp audit step1: change signature
There is no change in functionality in this commit.

Apart from clarifying what the timestamp means (it's the timestamp of the
*sender*), this intentionally breaks all the call sites, so I could have a sane
way to thoroughly audit wherever we're passing in timestamps, to see where
we're depending on them to affect sort order.

For the sake of a cleaner diff of meaningful changes, instead of "fixing"
everything in this commit, I've just added comments and renamed signatures.
2018-09-26 09:52:33 -06:00
Michael Kirk
ae668ceca9 include sequence number in fake messages 2018-09-26 09:52:33 -06:00
Matthew Chen
0b7d269017 Rename DebugContactsUtils. 2018-09-25 15:48:27 -04:00
Matthew Chen
bcee59f5e5 Add contact utils class. 2018-09-25 15:46:08 -04:00
Matthew Chen
e1db60c1c0 Rework creation of singletons. 2018-09-19 15:11:26 -04:00
Michael Kirk
920a82564f Merge tag '2.29.3.3' 2018-09-15 09:17:08 -05:00
Michael Kirk
b282d51da0 SyncMessages for blocked groups 2018-09-12 19:16:14 -05:00
Matthew Chen
cc117b385c Modify environment accessors to use our 'shared' convention. 2018-09-07 16:20:59 -04:00
Matthew Chen
3a12446be8 Modify environment accessors to use our 'shared' convention. 2018-09-07 16:20:41 -04:00
Michael Kirk
01a6a3d98e avoid overflow in debug logging 2018-09-07 11:02:52 -06:00
Michael Kirk
c7662b5a86 Step 2/2 %s/OWSAssert/OWSAssertDebug for existing previous assert semantics
Going forward, we want to prefer safer asserts, but we don't want to blindly
apply crashing asserts across the codebase
2018-09-07 10:00:48 -06:00
Matthew Chen
fac7f6932f Rename TSGroupMetaMessage enum values. 2018-09-04 09:30:01 -04:00
Matthew Chen
7df8976559 Fix breakage in production builds. 2018-08-30 10:07:34 -04:00
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