Commit Graph

541 Commits

Author SHA1 Message Date
Matthew Chen
0ca497846b Elaborate request factory. 2018-03-02 15:05:14 -05:00
Matthew Chen
baf6fcc535 Add 2FA registration view. 2018-03-02 10:55:00 -05:00
Matthew Chen
b9458fffef Respond to CR. 2018-03-02 10:53:22 -05:00
Matthew Chen
dcf7f550ae Fix redundant sync sends. 2018-03-01 23:37:03 -05:00
Matthew Chen
b07f466e08 Fix redundant sync sends. 2018-03-01 23:34:31 -05:00
Michael Kirk
60259a8a13 Merge branch 'release/2.21.0' 2018-03-01 16:30:37 -05:00
Matthew Chen
caeb97b466 Respond to CR. 2018-03-01 15:38:59 -05:00
Matthew Chen
055061ff5e Clean up ahead of PR. 2018-03-01 15:38:59 -05:00
Matthew Chen
8c54297918 Sketch out 2FA settings views. 2018-03-01 15:38:59 -05:00
Matthew Chen
4afedac68c Clean up ahead of PR. 2018-03-01 15:38:59 -05:00
Matthew Chen
e12a1e984a Work on two-factor auth settings UI. 2018-03-01 15:38:59 -05:00
Matthew Chen
1f6cbd399e Sketch out 2FA feature. 2018-03-01 15:38:59 -05:00
Matthew Chen
71972ebe2f Be more explicit about expire timer. 2018-03-01 13:41:15 -05:00
Michael Kirk
d0bcd8d6c7 Merge tag '2.20.2.2' 2018-03-01 08:52:12 -05:00
Michael Kirk
28c30bbe5c Be explicit when disappearing messages are disabled
// FREEBIE
2018-02-28 20:04:25 -05:00
Michael Kirk
13b5336210 Merge tag '2.20.2.1' 2018-02-28 18:04:51 -05:00
Michael Kirk
b48452a747 Fix group-sync disabling disappearing timer
Must add properties *before* build

// FREEBIE
2018-02-28 16:27:25 -05:00
Matthew Chen
bf48ccd4ad Merge remote-tracking branch 'origin/hotfix/2.20.1' 2018-02-27 15:45:17 -05:00
Matthew Chen
47a6d844c9 Refine handling of unsafe filename characters. 2018-02-27 09:43:26 -05:00
Matthew Chen
d32e90c3d1 Fix build break. 2018-02-27 09:16:38 -05:00
Matthew Chen
59f480d5c4 Use background tasks during storage registration and disappearing message jobs. 2018-02-27 08:42:30 -05:00
Michael Kirk
e020b0ff99 Persist default sound so we can use it for fallback notifications
// FREEBIE
2018-02-26 15:41:35 -05:00
Matthew Chen
ad78b1ea53 Convert duplicate timestamp fail to log. 2018-02-26 14:45:32 -05:00
Michael Kirk
b79244affa Don't enqueue sender read receipts from self-sent messages
These messages are always already read.

Reminder, there are two types of read receipts:

1. One informs our linked devices that we've read a message on another
device.
2. The other informs the sender that we've read their message.

This change is about the latter, we'll continue to send the former to
ourself.

The proximate cause for this change was a failing assert in
OWSMessageSender#handleSendToMyself:(TSOutgoingMessage *)outgoingMessage

The assert was failing because we were sending a message to ourself
which had no body or attachment (the sender-read receipt). Rather than
filtering them out from the message sender, we should never ask the
message sender to do nonsense work (send a senderReadReceipt to ourself)

// FREEBIE
2018-02-23 13:50:40 -05:00
Matthew Chen
10ca369da8 Respond to CR. 2018-02-22 16:12:39 -05:00
Matthew Chen
6006d22870 Improve handling of attachments with captions. 2018-02-22 16:03:00 -05:00
Matthew Chen
8576da791c Improve handling of attachments with captions. 2018-02-22 16:03:00 -05:00
Matthew Chen
96b5f22799 Improve handling of attachments with captions. 2018-02-22 16:03:00 -05:00
Matthew Chen
4e1e232825 Flush writes from other processes. 2018-02-22 11:46:08 -05:00
Matthew Chen
1109158b5b Add comment. 2018-02-21 16:18:10 -05:00
Matthew Chen
70ba1720d9 Filter unicode ordering letters. 2018-02-21 16:18:10 -05:00
Matthew Chen
3bb802189c Use background tasks during db transactions. 2018-02-21 16:10:55 -05:00
Matthew Chen
706006539f Improve the robustness of the migration logic. 2018-02-20 20:16:12 -05:00
Matthew Chen
d91507d897 Improve the robustness of the migration logic. 2018-02-20 17:37:14 -05:00
Matthew Chen
9295a56309 Elaborate logging around storage migration. 2018-02-20 16:25:15 -05:00
Matthew Chen
1a0f4bf928 Improve logging around network activity. 2018-02-20 10:07:09 -05:00
Michael Kirk
033505afd7 Remove slow file protection updates from launch path
To avoid blocking launch, file protection is now updated async for most
moved files. Out of paranoia, the database files are also update
redundantly on a sync code path.

It's still critical that we update permissions recursively for two
reasons:

1. Updating a containing directories FileProtection does not affect
   existing files in that directory.

2. Because we've changed the containers default file protection level
   (from unspecified to NSFileProtectionComplete), some existing files
   will have there file protection updated upon launching Signal 2.20.
   It's not clear to me which files this affects, and I haven't found
   any relevant documentation, but from observation, it seems to affect
   any top-level files in the container. Regardless, we're now doing the
   right thing: after launching 2.20, ensure all file permissions are
   what we expect.

Also removed no-op file protection on legacy db files. They've already
been moved by the time this method runs in AppSetup.

// FREEBIE
2018-02-18 16:24:29 -05:00
Matthew Chen
283fe17649 Apply Indic script fixes to SAE and master. 2018-02-16 16:50:14 -05:00
Matthew Chen
90b8ee4849 Merge remote-tracking branch 'origin/hotfix/2.19.7' 2018-02-16 11:37:29 -05:00
Matthew Chen
77bf0b66f5 Fix attachment MIME types. 2018-02-16 11:34:08 -05:00
Matthew Chen
d648a258d1 Merge branch 'hotfix/2.19.7' 2018-02-16 10:49:52 -05:00
Matthew Chen
abfd333a17 Address Indic script crash. 2018-02-16 10:19:47 -05:00
matthew chen
47aa29db25 Fix build breakage. 2018-02-15 09:38:00 -05:00
Michael Kirk
da15f245cf CR: fix early return, assert on error
inline functions which were only used once

// FREEBIE
2018-02-15 06:23:47 -08:00
Michael Kirk
b4359b33dd Fix "lose messages received while in background"
A moved legacy DB has the NSFileProtectionClassComplete, meaning it's
never accessible while the device is locked.

// FREEBIE
2018-02-15 06:23:47 -08:00
Matthew Chen
d13511ca7d Exit SAE when complete. 2018-02-14 18:46:22 -05:00
Michael Kirk
5c432a2bc1 Fix crash on launch in debug.
OWSReadReceiptManager is not `init` on the main thread; however, because
it "schedules" it's own processing during init.

I considered dispatching to main, but since AppReadiness already *can*
resolve async if the app isn't yet ready, it should be no less safe to
also dispatch async when it's off the main thread.

// FREEBIE
2018-02-14 13:47:45 -08:00
Matthew Chen
b7958262ba Respond to CR. 2018-02-14 16:06:47 -05:00
Matthew Chen
8930110efd Fix glitch in batch processing of incoming messages. 2018-02-14 14:56:47 -05:00
Matthew Chen
6f28c75257 Fix glitch in batch processing of incoming messages. 2018-02-14 14:56:47 -05:00