Commit Graph

872 Commits

Author SHA1 Message Date
Michael Kirk
95f2d511e1 font updates 2019-09-26 12:20:42 -07:00
Michael Kirk
515d673b6f new secondary colors for message bubbles 2019-09-26 12:20:42 -07:00
Matthew Chen
ebfd203f7d Merge remote-tracking branch 'private/release/2.44.0' 2019-09-25 10:05:16 -03:00
Michael Kirk
54812451f4 Update and apply palette. Consolidate dupes. 2019-09-24 15:12:51 -07:00
Michael Kirk
f63a64243a convert colors to Swift 2019-09-24 15:12:50 -07:00
Matthew Chen
6743b73c79 Protect audio waveform files from orphan data cleaner. 2019-09-24 17:18:23 -03:00
Nora Trapp
ab2ff4db32 Rewrite audio progress view in swift, add play/pause animation 2019-09-23 17:03:03 -07:00
Matthew Chen
6714932fca Add suppressBackgroundActivity feature flag. 2019-09-23 13:49:59 -03:00
Matthew Chen
b09da45672 Rework isStorageReady. 2019-09-23 13:04:39 -03:00
Matthew Chen
19f2be0e12 Fix build break. 2019-09-23 12:37:13 -03:00
Matthew Chen
d80a8b73d2 Improve logging around database file protection. 2019-09-23 12:25:24 -03:00
Matthew Chen
da6ade366f Protect databases from orphan clean up. 2019-09-23 12:24:13 -03:00
Matthew Chen
8e4cd299be Merge tag '2.43.0.17' 2019-09-23 12:19:18 -03:00
Matthew Chen
f3d252e5d5 Improve logging around missing or corrupt images. 2019-09-20 21:17:20 -03:00
Matthew Chen
e2a5e93116 Merge tag '2.43.0.10' 2019-09-19 12:40:59 -03:00
Matthew Chen
9f93b6c62e Fix build warnings around unknown enum values. 2019-09-18 17:34:07 -03:00
Michael Kirk
a3b866da17 fix note-to-self-search 2019-09-18 11:52:49 -07:00
Michael Kirk
965c1c91cc include note-to-self in compose search, even if no thread preexists 2019-09-18 11:52:49 -07:00
Matthew Chen
f56aae7ac9 Merge remote-tracking branch 'private/release/2.43.0'
# Conflicts:
#	SignalServiceKit/src/Util/FeatureFlags.swift
#	SignalServiceKit/tests/Storage/SDSDatabaseStorageObservationTest.swift
2019-09-16 14:41:22 -03:00
Nora Trapp
618dea7e9f Ensure ui styling is correct regardless of system theme 2019-09-16 10:26:00 -07:00
Matthew Chen
0389cdb730 Respond to CR. 2019-09-16 13:01:37 -03:00
Matthew Chen
9dea6069e4 Batched and unbatched enumerations. 2019-09-16 13:01:36 -03:00
Matthew Chen
6a529e792d Rework message configuration. Simplify change detection, ensure continuity for deleted threads. 2019-09-13 20:40:06 -03:00
Matthew Chen
5dc6cf5f8b Fix bug in orphan data cleaner. 2019-09-13 16:16:18 -07:00
Matthew Chen
c067858d1b Fix bug in orphan data cleaner. 2019-09-13 16:13:28 -07:00
Michael Kirk
c1f859f746 audible error logging is configurable, disabled by default 2019-09-13 10:31:17 -07:00
Michael Kirk
29315febee Merge tag '2.42.4.0' into release/2.43.0 2019-09-12 18:55:41 -07:00
Michael Kirk
2bae90d157 Merge tag '2.42.4.0' 2019-09-12 18:44:00 -07:00
Michael Kirk
4dbb7d0590 remove deleted contact threads from search results 2019-09-12 11:47:31 -07:00
Michael Kirk
bb316f711b Merge tag '2.42.1.1' into release/2.43.0 2019-09-05 14:52:59 -06:00
Nora Trapp
ccaa4e0e90 Fix avatar contact name when is disabled 2019-09-03 12:12:13 -07:00
Matthew Chen
7502dcc571 Avoid deadlock in TSAccountManager. 2019-08-30 14:39:45 -03:00
Matthew Chen
14b9ce025b Avoid deadlock in TSAccountManager. 2019-08-30 14:39:45 -03:00
Nora Trapp
129535f2d7 Merge branch 'release/2.42.0' 2019-08-29 15:21:40 -07:00
Nora Trapp
85beb08bde Put message request view behind a feature flag 2019-08-29 10:15:30 -07:00
Matthew Chen
6da987eb3a Remove YDB header usage. 2019-08-29 10:24:27 -03:00
Matthew Chen
d845ccd61b Respond to PR. 2019-08-29 09:34:03 -03:00
Matthew Chen
a5efaf8d16 Merge remote-tracking branch 'private/release/2.42.0' 2019-08-28 11:33:26 -03:00
Matthew Chen
753b49ea74 Address sticky keyboards on iOS 12. 2019-08-27 14:00:23 -03:00
Matthew Chen
79c13c0cf0 Modify contact avatar builder to handle "no address" case. 2019-08-27 13:53:48 -03:00
Matthew Chen
aab82a6753 Respond to CR; add a unit test around the "special messages" finder method. 2019-08-26 12:29:43 -03:00
Matthew Chen
203dc7272e Remove YDB usage. 2019-08-26 12:27:42 -03:00
Matthew Chen
f8e5c4f697 Remove YDB usage. 2019-08-26 12:27:42 -03:00
Matthew Chen
7e22d332b1 Remove YDB usage. 2019-08-26 12:27:42 -03:00
Michael Kirk
45c4066a80 Fix deadlock with thread.name
For contact threads, thread.name opened a sneaky transaction, which would
sometimes cause a deadlock.

This commit moves the name method to the contact manager and offers an explicit
transaction flavor. There is still a sneaky transaction flavor used in some
places where it's deemed dangerous to plumb through a transaction without
further scrutiny.
2019-08-23 18:45:23 -06:00
Matthew Chen
dd770f9f2d Use separate keyspec for GRDB. 2019-08-23 15:34:53 -03:00
Matthew Chen
47b000ec09 Remove YDB usage. 2019-08-22 09:32:00 -03:00
Nora Trapp
df63a9b827 Allow audio messages to play in the background. 2019-08-21 20:33:41 -07:00
Michael Kirk
4371c696dc Audible Debug Assertions in dev-qa builds 2019-08-21 09:01:43 -06:00
Michael Kirk
6deaead851 less likely to show review
Potentially showing the review request immediately after the user has sent a
message, may be too soon. Also, it involves some storage machinery.

Instead, we use the dumber "has shown home view controller n times", and have a
high n. This also has the benefit of requiring no persistent storage.
2019-08-21 08:44:49 -06:00
Michael Kirk
926e76270f Merge tag '2.42.0.8' 2019-08-20 09:52:18 -06:00
Michael Kirk
c0c81b5e53 fix errant deletion of non-orphaned profile avatars 2019-08-19 12:52:42 -06:00
Michael Kirk
dff1f40af6 Don't show "message request" for de-registered system contacts
Fixes:
Alice installs Signal
Bob sees "Alice is on Signal" notification
(everything is as expected until this point)

Alice uninstalls Signal
Bob sees message request in Alice's conversation
2019-08-19 12:46:14 -06:00
Matthew Chen
85756b0fe9 Merge remote-tracking branch 'private/release/2.42.0' 2019-08-16 13:21:38 -03:00
Matthew Chen
60d07dd4d7 Clean up ahead of PR. 2019-08-15 16:10:14 -03:00
Matthew Chen
d308c566af Address deadlocks in profile manager. 2019-08-15 16:10:14 -03:00
Matthew Chen
c4c054b4ca Fix spurious assert in orphan data cleaner. 2019-08-15 14:26:57 -03:00
Michael Kirk
34ba50bd02 broadcast media operation
Only upload once when sending to multiple via the camera first flow
2019-08-15 09:36:57 -06:00
Michael Kirk
b322d1a119 Merge tag '2.42.0.5' 2019-08-13 19:56:57 -06:00
Michael Kirk
bee54d1aea fixup compiler warnings 2019-08-13 16:58:06 -03:00
Matthew Chen
2a5683b843 Introduce storage coordinator. 2019-08-13 16:52:38 -03:00
Michael Kirk
82c99c4003 CR: rename for clarity 2019-08-12 15:11:40 -06:00
Michael Kirk
f3793f0f2a Consolidate OutgoingMessage preparation 2019-08-12 15:11:40 -06:00
Nora Trapp
6c64e94006 Only auto-share profile with empty threads. 2019-08-09 12:59:15 -07:00
Nora Trapp
36ce5d2940 PR feedback 2019-08-09 12:53:19 -07:00
Nora Trapp
28a4dfe3e6 Some small design tweaks. 2019-08-09 12:53:19 -07:00
Michael Kirk
4dc75aed3d fix warnings 2019-08-09 09:41:59 -06:00
Matthew Chen
a48ccccdd1 Remove more usage of primary storage. 2019-08-07 17:41:11 -03:00
Matthew Chen
eccfad0f46 Merge remote-tracking branch 'private/release/2.41.0' 2019-08-06 12:12:39 -03:00
Matthew Chen
e4b082746d Add GRDB support for full text search. 2019-08-02 15:42:34 -03:00
Michael Kirk
afd9d7781a Camera First flow 2019-08-02 09:26:23 -06:00
Matthew Chen
4f03f969fc Rework "view once" messages. 2019-08-01 16:13:37 -03:00
Nora Trapp
cfb5468b2c Don't force profiles for existing conversations until phone number privacy rolls out 2019-07-31 13:17:37 -07:00
Matthew Chen
bce0870d21 Fix rebase breakage. 2019-07-31 11:09:23 -03:00
Matthew Chen
1e363d2c65 Make uniqueId non-nil. 2019-07-31 10:50:59 -03:00
Matthew Chen
de56fec16b Remove usage of primary storage. 2019-07-29 17:25:58 -03:00
Nora Trapp
96bf655727 Profile name renders at same level as system contact name 2019-07-29 12:50:54 -07:00
Nora Trapp
2cfa9f68ca Add the thread to the profile whitelist anytime we send a message. 2019-07-29 12:40:09 -07:00
Nora Trapp
aedde9fde8 Remove profile banners 2019-07-29 12:40:09 -07:00
Nora Trapp
81783c253a Remove Contacts Offer 2019-07-29 12:40:09 -07:00
Matthew Chen
e77e03afb2 Remove usage of primary storage. 2019-07-29 15:30:10 -03:00
Matthew Chen
a3f3b164d4 Remove YDB connections. 2019-07-24 16:12:13 -03:00
Matthew Chen
8cf927ce6f Clean up ahead of PR. 2019-07-23 10:46:11 -03:00
Matthew Chen
0ee64cb1c0 Remove YDB connections. 2019-07-23 10:46:11 -03:00
Matthew Chen
bdf5ca2645 Remove YDB connections. 2019-07-23 10:46:10 -03:00
Michael Kirk
9e704be729 Merge tag '2.41.0.12' 2019-07-22 14:33:01 -06:00
Michael Kirk
5fd43b4880 fix album layout in landscape 2019-07-22 11:18:01 -06:00
Michael Kirk
0c6e6787ed update flag name for clarity 2019-07-22 09:12:09 -06:00
Nora Trapp
b1d6db7cd9 Cache naturalTextAlignment 2019-07-19 12:43:58 -07:00
Nora Trapp
3d1dd3dfe4 Remove rtlSafeAppend 2019-07-19 12:33:17 -07:00
Matthew Chen
3c3e84168a Respond to CR. 2019-07-19 15:37:53 -03:00
Matthew Chen
77b9500154 Convert interactions to BaseModel. 2019-07-19 15:25:28 -03:00
Matthew Chen
2fa913d021 Protect enqueue message sends from orphan data cleaner. 2019-07-19 14:36:46 -03:00
Matthew Chen
ebd45743c6 Convert interactions to BaseModel. Add typed 'any update with...' methods. 2019-07-18 15:44:36 -03:00
Matthew Chen
e9e013aec7 Conver user profiles to use BaseModel. 2019-07-16 10:40:09 -03:00
Nora Trapp
a323ff4ddf No more transitional_phoneNumber 2019-07-11 10:52:13 -07:00
Nora Trapp
9105b81e9a Replace a bunch of usages of localNumber with localAddress 2019-07-11 10:52:13 -07:00
Michael Kirk
67c6499aff Fix wrong type, add compiler error flag 2019-07-10 22:52:34 -06:00
Nora Trapp
ae17d61a05 Update quoted messages, per message expiration, and sync transcripts 2019-07-10 13:31:18 -07:00
Nora Trapp
90d4268878 PR Feedback 2019-07-10 13:27:37 -07:00
Nora Trapp
3c33f276f7 Maintain a SignalServiceAddress cache to allow for isEqual implementation 2019-07-10 13:27:36 -07:00
Nora Trapp
b9bb444276 Add UUID support to groups 2019-07-10 13:27:36 -07:00
Nora Trapp
a1f85fca30 Migrate profiles to support UUIDs 2019-07-02 11:19:50 -07:00
Michael Kirk
efafd6fb38 Create UUID message in DebugUI, rendering in homeview
ContactAvatarBuilder works with SignalServiceAddress

Currently this only functions with the GRDB adapter. There are other asserts
triggered in yap extensions.
2019-07-01 10:16:23 -06:00
Michael Kirk
0c944fe9f4 Incoming message has authorAddress 2019-06-27 14:22:13 -06:00
Nora Trapp
7d94af3287 Migrate TSContactThread to support UUIDs 2019-06-27 13:12:52 -07:00
Matthew Chen
c8359fc932 Convert message sending to use any transactions. 2019-06-25 16:00:58 -04:00
Matthew Chen
b86ab9f611 Migrate OWSDisappearingMessagesConfiguration to any. 2019-06-25 15:48:37 -04:00
Nora Trapp
34e8a7e4a0 PR Feedback 2019-06-25 10:31:23 -07:00
Nora Trapp
92f817d7fd Update callsites to use new contacts manager address interface 2019-06-25 10:30:52 -07:00
Matthew Chen
e26a8e1bd4 Convert attachments to be any-only. 2019-06-24 15:34:02 -04:00
Mateo Hernandez
45d1e2db96 Only escape % signs in notifications on iOS 9
iOS 10+ uses UNUserNotifications, which doesn't require escaping

Fixes: #4195
2019-06-24 12:00:47 -06:00
Michael Kirk
440f9458e2 Fix loss of precision compiler warnings 2019-06-19 10:13:22 -06:00
Matthew Chen
d418c5ac76 Migrate more key-value stores. 2019-06-19 11:02:32 -04:00
Matthew Chen
1d00c31fd0 Add feature flag around per-message expiration. 2019-06-18 15:25:33 -04:00
Matthew Chen
32ae3f4598 Fix rebase breakage. 2019-06-17 11:20:15 -04:00
Matthew Chen
3d59ac0992 Rework camera flow for one-off disappearing messages. 2019-06-17 11:17:52 -04:00
Matthew Chen
a62376b3f9 Remove sendingMediaWithOversizeText feature flag. 2019-06-17 11:17:52 -04:00
Matthew Chen
97cfb32d29 Rework camera flow for one-off disappearing messages. 2019-06-17 11:17:52 -04:00
Matthew Chen
04ac47089d Migrate preferences to use key-value store. 2019-06-17 11:13:15 -04:00
Nora Trapp
747ea3c7b2 Theme cursor colors 2019-06-14 09:30:17 -07:00
Michael Kirk
13cdb2abb8 Surface when you discover a friend has registered 2019-06-13 09:20:50 -05:00
PurplePlatypus
eb7f60ea1f Fix 3844 by telling AVAudioPlayer that we REALLY, seriously intend to play this file 2019-06-11 17:14:04 -07:00
Nora Trapp
dc77113a01 PR Feedback 2019-06-05 15:50:58 -07:00
Nora Trapp
7b9d3fe772 Allow scrubbing audio messages 2019-06-05 15:50:58 -07:00
Nora Trapp
b0be53cff2 Update group create/edit flow to better indicate you can add a photo 2019-06-05 08:59:22 -07:00
Matthew Chen
b8327ad7c8 Respond to CR. 2019-05-31 12:39:50 -04:00
Matthew Chen
af3e6187fc Add per-message expiration to models (code generated changes).
Add per-message expiration to models.

DRY up incoming message creation.
2019-05-31 12:39:50 -04:00
Matthew Chen
6e32c9a79f Remove "ephemeral media" model changes. 2019-05-29 11:53:42 -04:00
Matthew Chen
fc25251dd8 Merge remote-tracking branch 'private/release/2.40.0' 2019-05-29 10:56:24 -04:00
Michael Kirk
a837c75764 Simple send sans Yap 2019-05-28 17:31:53 -04:00
Michael Kirk
a344a0a2ca Fix crash with old empty threads creationDate is nullable
creationDate didn't always exist - we added it and did not backfill it. We
could backfill with a made up date, e.g. [NSDate
dateWithTimeIntervalSince1970:0], but I'm wary of putting surprising bogus data
in the db. Instead I've using an old date during sorting where it's not
surprising.
2019-05-24 15:21:13 -04:00
Matthew Chen
a55668755a Migrate more key value stores. 2019-05-23 09:57:05 -04:00
Michael Kirk
a245d6f446 fix compiler warning 2019-05-22 16:04:08 -04:00
Matthew Chen
745a384d7c Respond to CR. 2019-05-20 17:18:54 -04:00
Matthew Chen
a6629bfe63 Add EphemeralMedia model classes. 2019-05-20 17:05:49 -04:00
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
Matthew Chen
9402e088b2 Apply design feedback from Myles. 2019-02-21 14:16:31 -05:00
Matthew Chen
8ecad88674 Move the accessibility identifier macros into UIUtil.h. 2019-02-19 16:11:36 -05:00
Matthew Chen
73b36c5400 Respond to CR. 2019-02-12 10:03:32 -05:00
Michael Kirk
cc2e062b85 CR: clean up graphics context code 2019-02-07 08:43:12 -07:00
Michael Kirk
2323cc21f0 note-to-self avatar 2019-02-07 08:34:48 -07:00
Matthew Chen
12e57ecd25 Improve background screenshots v. orientation. 2019-01-31 10:14:06 -05:00
Matthew Chen
9149282e94 Resize link preview images if necessary. 2019-01-24 13:28:54 -05:00
Matthew Chen
4e7dbc486d Segment proxied content downloads. 2019-01-24 08:51:25 -05:00
Matthew Chen
3d757b492a Add link previews to conversation message bubbles. 2019-01-23 09:32:30 -05:00
Matthew Chen
977ee9ffe9 Merge remote-tracking branch 'private/release/2.34.0' 2019-01-22 11:10:04 -05:00
Matthew Chen
2dcc79fbca Fix issues around link previews. 2019-01-22 10:15:50 -05:00
Matthew Chen
8e44bf554c Respond to CR. 2019-01-22 09:42:25 -05:00
Matthew Chen
d775a70a89 Build link previews. 2019-01-22 09:42:25 -05:00
Matthew Chen
31ea64bdaf Build link previews. 2019-01-22 09:42:25 -05:00
Matthew Chen
7878c0fac8 Add feature flag for 'note to self'. 2019-01-18 17:22:12 -05:00
Michael Kirk
0c1b2e9f48 CR: remove unnecessary param, clearer code, comment typo 2019-01-17 09:47:01 -07:00
Michael Kirk
6e50a5353b rename for clarity 2019-01-16 17:06:37 -07:00
Michael Kirk
b4908e71e9 Use FTS for compose picker search 2019-01-16 14:39:35 -07:00
Matthew Chen
a477e01a4a Apply LinkPreview model. 2019-01-14 16:20:54 -05:00
Matthew Chen
bf0d92acfb Landscape layout in gif picker. 2019-01-10 12:04:12 -05:00
Matthew Chen
2ddde368ec Landscape orientation. 2019-01-09 15:22:55 -05:00
Matthew Chen
5adcbac5ef Landscape orientation. 2019-01-09 15:14:36 -05:00
Matthew Chen
9ab8bec2b1 Fix searching for 'note to self'. 2019-01-07 08:45:42 -05:00
Michael Kirk
af7ee5e1d1 address compiler breakage after rebase 2018-12-19 15:16:36 -07:00
Michael Kirk
5671fd2520 Revert "Revert 'new sort id'."
This reverts commit ebae75af00.
2018-12-19 15:16:36 -07:00
Matthew Chen
35b6f6cf12 Respond to CR. 2018-12-19 15:08:28 -05:00
Matthew Chen
db8bc58b6d Implement crop. 2018-12-19 14:48:37 -05:00
Matthew Chen
bd40aacd53 Purge dynamic interactions from database. 2018-12-18 10:55:54 -05:00
Matthew Chen
639dac4e26 Add stroke drawing to the image editor. 2018-12-18 10:53:41 -05:00
Michael Kirk
fd6a56b3af format bench in ms 2018-12-17 14:44:49 -07:00
Michael Kirk
6232b1ef67 CR: add debug asserts 2018-12-17 14:43:50 -07:00
Michael Kirk
81bc357bbb more robust handling of unsaved outgoing messages 2018-12-17 14:43:50 -07:00
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
2018-12-17 14:43:50 -07:00
Michael Kirk
67cc1027cc Fix compiler warnings 2018-12-17 14:43:21 -07:00
Michael Kirk
ac2c9cc521 Benchmark Events by ID 2018-12-13 14:32:27 -07:00
Matthew Chen
19a2bfeaad More conversation viewmodel perf improvements. 2018-12-13 11:50:55 -05:00
Matthew Chen
fea40d571c Move contact offers to Conversation view model. 2018-12-13 09:12:41 -05:00
Michael Kirk
c0cb7df10a rename hasEverHadMessage -> shouldThreadBeVisible 2018-12-12 08:46:15 -07:00
Michael Kirk
1a5c47df2f Fix SAE, limit max attachments 2018-12-05 13:56:34 -05:00
Matthew Chen
aeadea67e2 Send multiple attachments from the share extension. 2018-11-13 13:15:54 -05:00
Matthew Chen
7f89c90f16 Fix bug when sending non-body attachments (e.g. group avatars). 2018-11-13 13:15:11 -05:00
Matthew Chen
0e749d5521 Fix build break. 2018-11-13 10:24:49 -05:00
Matthew Chen
49c8e6db7d Merge remote-tracking branch 'origin/release/2.31.0' 2018-11-13 09:50:44 -05:00
Matthew Chen
4b213df950 Fix race in ProximityMonitoringManager. 2018-11-13 09:26:46 -05:00
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.
2018-11-12 20:12:08 -06:00
Michael Kirk
27cb91e9c8 Plumb through messageAlbumId so an Attachment knows what album (if any) it
belongs to.
2018-11-08 12:52:08 -06:00
Matthew Chen
60c5a84dd2 Fix issues in media gallery cells; Improve debug galleries. 2018-11-07 09:56:49 -05:00
Matthew Chen
c7d427029b Respond to CR. 2018-11-02 13:17:36 -04:00
Matthew Chen
f6591fac25 Add debug UI for multi-image sends. 2018-11-02 13:04:05 -04:00
Matthew Chen
d04f1e6e36 Add debug UI for multi-image sends. 2018-11-02 13:04:05 -04:00
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.
2018-11-01 08:43:59 -06:00
Michael Kirk
19f2d0db48 WIP: Media Landscape Mode 2018-11-01 08:43:59 -06:00
Matthew Chen
40aa78e001 Merge remote-tracking branch 'origin/release/2.31.0' 2018-10-31 11:42:41 -04:00
Michael Kirk
cb9aa6304c find -E . -type f -regex ".*\.(m|h)" -exec sed -i "" -e "s/try_/throws_/" {} \; 2018-10-30 11:35:34 -06:00
Michael Kirk
3a6aafc454 Swift Exception wrap NSData+keyVersionByte 2018-10-30 11:35:34 -06:00
Michael Kirk
6968dbab17 Update UIDevice on main thread 2018-10-26 15:32:12 -06:00
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.
2018-10-26 15:32:12 -06:00
Matthew Chen
408008d3e7 Use different contact avatar assets depending on size of output. 2018-10-26 15:18:45 -04:00
Matthew Chen
4ea6d72008 Improve default avatar quality. 2018-10-26 15:18:45 -04:00
Matthew Chen
5b339a642b Respond to CR. 2018-10-25 15:39:16 -04:00
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
2018-10-25 11:54:59 -06:00
Matthew Chen
28f37a7a34 Update contacts cells' dependencies. 2018-10-25 09:48:57 -04:00
Michael Kirk
ce9ca1bdaa audio player type 2018-10-24 07:46:27 -06:00
Michael Kirk
3b4188f34b hoist audio session singleton to Environment 2018-10-24 07:46:25 -06:00
Michael Kirk
3d022adf4e WIP: audio activities 2018-10-24 07:44:50 -06:00
Matthew Chen
275414cbda Respond to CR. 2018-10-16 17:42:54 -04:00
Matthew Chen
7c1f1882d8 Sync "show UD indicators" setting. 2018-10-16 17:42:54 -04:00
Matthew Chen
603e3bf0b6 Move SM singletons to Environment. 2018-10-15 11:34:42 -04:00
Matthew Chen
f1d93d4472 Merge remote-tracking branch 'origin/release/2.30.2' 2018-10-12 16:00:42 -04:00
Michael Kirk
d5f69e4bba feature flag for group avatar color 2018-10-12 15:32:03 -04:00
Michael Kirk
1544f8db46 Optionally show UD status in message details 2018-10-11 09:04:35 -06:00
Matthew Chen
17541a8888 Change conversation bubble colors. 2018-10-09 16:06:23 -04:00
Michael Kirk
2b805e4eae Constantize ConversationColorName, map previous incorrect values 2018-10-04 18:21:35 -06:00
Michael Kirk
d59e21e7f0 Nothing outside of TSThread should know about legacy colors 2018-10-04 17:07:50 -06:00
Michael Kirk
405cc31a38 Apply new colors to new conversation 2018-10-04 10:34:57 -06:00
Matthew Chen
95387dd220 Fix rebase breakage. 2018-10-03 08:59:55 -04:00
Matthew Chen
24d7a97616 Fix rebase breakage. 2018-10-01 09:08:41 -04:00
Matthew Chen
0125535d4d Pull out SignalCoreKit. 2018-10-01 09:06:40 -04: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
5a99cd347f Pull out OWSConversationColor to its own file. 2018-09-27 12:24:14 -04:00
Matthew Chen
43dc362fc7 Fix secondary color within message bubbles. 2018-09-27 12:22:52 -04:00
Matthew Chen
0e5f42defe Use new asset for default contact avatars. 2018-09-27 12:22:14 -04:00
Matthew Chen
ec0206ff01 Adapt text size of default avatars to avatar size. 2018-09-27 11:25:18 -04:00
Matthew Chen
6d14a1b472 Local profile default avatars should use steel background. 2018-09-27 11:24:20 -04:00
Matthew Chen
27488f078a Replace old "default profile avatar" icon with default avatar for local user. 2018-09-27 11:24:20 -04:00
Matthew Chen
e4ab360716 Respond to CR. 2018-09-27 10:43:50 -04:00
Matthew Chen
ff6feafe8c Update text colors. 2018-09-27 09:30:59 -04: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
3adc03fa2c Rework conversation message bubble colors; add "conversation colors" class. 2018-09-27 09:07:47 -04:00
Matthew Chen
b3ad6e27dc Rework conversation message bubble colors; add "conversation colors" class. 2018-09-27 09:07:47 -04:00
Matthew Chen
26a2d568de Add "conversation color mode" enum. 2018-09-27 09:07:47 -04:00
Matthew Chen
e5150267c2 Rework the conversation color constants. 2018-09-27 09:07:47 -04:00
Matthew Chen
da63731447 Respond to CR. 2018-09-27 09:07:03 -04:00
Matthew Chen
8db4595bdc Rework group avatars to reflect conversation colors. 2018-09-27 08:55:20 -04:00
Matthew Chen
1c920c6be6 Rework group avatars to reflect conversation colors. 2018-09-27 08:55:20 -04:00
Matthew Chen
25d56b30c1 Rework group avatars to reflect conversation colors. 2018-09-27 08:55:20 -04:00
Matthew Chen
2f9eae5caf Respond to CR. 2018-09-27 08:50:52 -04:00
Michael Kirk
fe7d69e9c6 Update thread's sorting order based on whatever the currently last message is 2018-09-26 09:52:34 -06:00
Michael Kirk
c2f87c738a trivial replace of timestampForSorting -> sortId in some logging 2018-09-26 09:52:34 -06:00
Michael Kirk
6f8eddc955 unread indicator uses sortId
- removed timestamp parameter. This wasn't totally obvious, previously we were tracking two pieces of state

1. `unreadIndicator.firstUnseenTimestamp`:
    the first unseen timestamp for a conversation that exists in the database
2. `unreadIndicator.timestamp`:
    the timestamp of the first interaction *after* the unread indicator that fits in the loading window

We don't actually need to track `2` because it was only used in a comparison like:

   viewItem.interaction.timestampForSorting >= unreadIndicator.timestamp

But by definition, unreadIndicator.firstUnseenTimestamp is always less than or
equal to unreadIndicator.timestamp. Put into terms of the `sortId` corallary,
the sortId of the first unseen interaction in the database is always less than
or equal to the sortId of the first unseen interaction that fits in the loading
window.

In other words, there's no situation where

   viewItem.interaction.sortId >= unreadIndicator.firstUnseenSortId
2018-09-26 09:52:34 -06:00
Michael Kirk
2eb3ec6d0c benchmark migration 2018-09-26 09:52:34 -06:00
Michael Kirk
c27d35f8f2 sort search results by sortId 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
6c5fbc6de5 Update existing contact offers in place
WIP: migration / autoincrement logic

TODO:

-[x] contact offer
-[ ] verify all paths that utilized timestampForSorting, e.g. make sure SN appear before the message they affect, etc.
-[x] Monotonic ID
-[x] New extension which sorts by id
-[x] Migration
  -[ ] batch migration?

fixup contact offers
2018-09-26 09:52:33 -06:00
Michael Kirk
a60d8eb161 WIP: migration / autoincrement logic
TODO:

-[ ] contact offer
-[ ] verify all paths that utilized timestampForSorting, e.g. make sure SN appear before the message they affect, etc.
-[x] Monotonic ID
-[x] New extension which sorts by id
-[x] Migration
  -[ ] batch migration?
2018-09-26 09:52:33 -06:00
Matthew Chen
7b2dd19fb8 Respond to CR. 2018-09-25 16:11:37 -04:00
Matthew Chen
ae84528dc3 Update avatar colors; add shaded conversation color constants, modify color picker to be color-name-based, not color-based, use shaded conversation colors, remove JSQ. 2018-09-25 16:11:37 -04:00
Matthew Chen
8cf5f3e58f New grayscale palette. 2018-09-20 10:14:20 -04:00
Michael Kirk
21e67e9a1d New resolutions for call banner, rename to accommodate multiple X devices.
Only apply work-around to legacy versions where required.
2018-09-19 11:17:40 -06:00
Michael Kirk
920a82564f Merge tag '2.29.3.3' 2018-09-15 09:17:08 -05:00
Michael Kirk
df67e883f3 BlockList vs. "zero length" group names 2018-09-14 11:32:39 -05:00
Michael Kirk
b447e68597 clarify post-unblock-group copy 2018-09-14 11:09:14 -05:00
Michael Kirk
c1b88b5f48 copy cleanup: remove redundant body 2018-09-14 10:52:01 -05:00
Michael Kirk
0f9b0936df Use cached group details when rendering blocklist 2018-09-14 10:31:17 -05:00
Michael Kirk
1f15ba6dc5 Cache group details on blocking manager
In case the group thread is later deleted.
2018-09-14 10:31:17 -05:00
Michael Kirk
7b7da4bc13 add docs to BlockListCache 2018-09-12 19:16:14 -05:00
Michael Kirk
448936d156 BlockListCache
block manager synchronizes on self for coherent read/writes to blocking state
across threads, but we want to be able to have performant reads on the main
thread.
2018-09-12 19:16:14 -05:00
Michael Kirk
b6eb1476cb Leave group when blocking it 2018-09-12 19:16:14 -05:00
Michael Kirk
c6de8c579c WIP: Localizations 2018-09-12 19:16:14 -05:00
Michael Kirk
eadb04efcc WIP: ContactViewHelper incorporates group blocking
-[ ] UI
  -[ ] Conversation Settings
    -[x] Show switch for group
    -[ ] localize
    -[ ] migrate existing localizations? (nice to have)
    -[ ] can view conversation settings (but not edit them) in left group
    -[ ] special block copy for groups
    -[ ] special unblock copy for groups
  -[ ] ConversationViewHelper
   -[x] Track blocked groups
   -[ ] HomeView
   -[ ] ConversationView
   -[ ] Any others?
   -[ ] Rename? Extract BlockList cache?
  -[ ] Block List
    -[ ] Group Section
    -[ ] Unblock group
  -[ ] Interstitial interacting with blocked threads (e.g. thread picker)
    -[ ] BlockListUIUtils w/ thread
        -[x] Block
        -[x] Unblock
        -[ ] Replace usages where possible
        -[x] block manager
-[ ] Sync
  -[x] tentative protos
  -[ ] confirm protos w/ team
  -[x] send new protos
-[ ] Message Processing
  -[ ] Drop messages from blocked groups
2018-09-12 19:16:14 -05:00
Michael Kirk
236c17f65e WIP: group blocking
-[ ] UI
  -[ ] Conversation Settings
    -[x] Show switch for group
    -[ ] localize
    -[ ] migrate existing localizations? (nice to have)
    -[ ] can view conversation settings (but not edit them) in left group
    -[ ] special block copy for groups
    -[ ] special unblock copy for groups
  -[ ] Block List
    -[ ] Group Section
    -[ ] Unblock group
  -[ ] Interstitial interacting with blocked threads (e.g. thread picker)
    -[ ] BlockListUIUtils w/ thread
        -[x] Block
        -[x] Unblock
        -[ ] Replace usages where possible
        -[x] block manager
-[ ] Sync
  -[x] tentative protos
  -[ ] confirm protos w/ team
  -[ ] send new protos
-[ ] Message Processing
  -[ ] Drop messages from 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
Matthew Chen
f9eab5cd24 Merge remote-tracking branch 'origin/release/2.29.2' 2018-09-07 15:27:50 -04: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
ac4365e1c9 Add OWSThumbnailService. 2018-09-06 15:30:00 -04:00
Matthew Chen
9ab4da5c81 cherry-pick Merge branch 'charlesmchen/logSdp' 2018-09-04 13:51:31 -06:00
Matthew Chen
fac7f6932f Rename TSGroupMetaMessage enum values. 2018-09-04 09:30:01 -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
c0d486b1f1 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
0b5b74a901 Respond to CR. 2018-08-27 10:49:26 -04:00
Matthew Chen
b4539328e1 Log call session description. 2018-08-27 10:49:25 -04:00
Matthew Chen
2d06c05a4f Log call session description. 2018-08-27 10:49:25 -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
cf6f3841a8 Apply new Swift logging. 2018-08-27 10:02:28 -04:00
Michael Kirk
bc2ba63c21 DRY refactor 2018-08-23 10:39:55 -06:00
Michael Kirk
37738c24c5 Allow menuActions + callBanner
// FREEBIE
2018-08-23 10:39:55 -06:00
Michael Kirk
82e559d11b Use swift macros for main thread assert 2018-08-23 10:29:49 -06:00
Michael Kirk
1743407cc2 Code cleanup per code review 2018-08-22 12:54:22 -06:00
Michael Kirk
3022f92925 Tweak tint for search bar icons in dark theme 2018-08-22 12:00:44 -06:00
Michael Kirk
e435358bfd Revert "Add custom themed search bar."
This reverts commit 8daaef22da.
2018-08-22 12:00:44 -06:00
Matthew Chen
4971d40c75 Respond to CR. 2018-08-21 16:36:58 -04:00
Matthew Chen
9e21612298 Respond to CR. 2018-08-21 16:35:25 -04:00
Matthew Chen
6dd474d794 Theme quoted replies. 2018-08-21 16:34:37 -04:00
Matthew Chen
a92fca5c13 Theme quoted replies. 2018-08-21 16:34:37 -04:00
Matthew Chen
8daaef22da Add custom themed search bar. 2018-08-17 12:43:35 -04:00
Matthew Chen
4ea5d9b849 Theme review. 2018-08-16 17:30:07 -04:00
Matthew Chen
a76d488e8b Fix QA issues in theme. 2018-08-15 17:09:59 -04: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
8ecf6884c5 Remove "sending" color for outgoing messages. 2018-08-09 15:35:21 -04:00
Matthew Chen
5ef0b6d056 Refine theme. 2018-08-08 15:04:23 -04:00
Michael Kirk
2ea7e2b036 CR: clean up preferences 2018-08-08 10:04:59 -06:00
Michael Kirk
0bc03b0fd4 Move seed 2018-08-03 14:26:43 -06:00
Matthew Chen
25a98554b7 Intern JSQMessagesViewController. 2018-07-23 13:48:24 -04:00