Commit Graph

527 Commits

Author SHA1 Message Date
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
Matthew Chen
4b62faf2f8 Aggressively nag iOS 8 users to upgrade iOS. 2018-02-14 14:15:23 -05:00
Michael Kirk
3d5f7e6bf3 Clean up logging
- tag all log lines for easier filtering
- use up-to-date database path

// FREEBIE
2018-02-14 09:16:42 -08:00
Michael Kirk
4d0362f9a6 Don't create redundant caption for sync'd transcripts.
Note: For test devices running HEAD, there may have already been some
redundant captions created for sync'd transcripts.

However the existing `TSMessage#initWithCoder:` migration will address
this for our production users, so I'm not going to bother with a second
migration just for our test devices.

// FREEBIE
2018-02-14 09:03:55 -08:00
Matthew Chen
81522e4a23 Respond to CR. 2018-02-14 10:38:08 -05:00
Matthew Chen
888bf9256f Avoid deadlocks in message sender. 2018-02-14 10:38:08 -05:00
Matthew Chen
01496b2db8 Avoid deadlocks in message sender. 2018-02-14 10:38:08 -05:00
Matthew Chen
a19882baaa Avoid deadlocks in message sender. 2018-02-14 10:38:08 -05:00
Collin B. Stuart
cc94573e9b Constant time compare
- fix case when second part of the && conditional is skipped when data is not equal

- isEqual variable marked volatile to prevent case when it doesn't equal 0, the loop can break early since it can never be 0 again

- tested with Fastest O3 and Whole Module optimization (App Store Release)

// FREEBIE
2018-02-13 16:18:06 -08:00
Michael Kirk
ea12ed4c23 Fix dynamic type check which was too restrictive
// FREEBIE
2018-02-13 15:54:23 -08:00
Michael Kirk
ae2ddb25cc CR: add assert
// FREEBIE
2018-02-13 09:50:01 -08:00
Michael Kirk
d6b3e191d1 Fix crash while searching when group somehow has nil members
This shouldn't normally happen, but seeing it on my device.

// FREEBIE
2018-02-13 09:50:01 -08:00
Michael Kirk
a23f1b86ef nullability annotations for TSGroupModel
- add readonly where possible
- group members needn't be a mutable array

// FREEBIE
2018-02-13 09:50:01 -08:00
Joshua Lund
2c18a75d12 Update to the new GitHub organization name 2018-02-13 10:52:07 -05:00
Matthew Chen
ba42ac73d8 Revisit TODOs in the SAE work. 2018-02-12 22:33:26 -05:00
Matthew Chen
9c8178653d Revisit TODOs in the SAE work. 2018-02-12 22:33:26 -05:00
Matthew Chen
b64528e817 Respond to CR. 2018-02-09 10:42:25 -05:00
Matthew Chen
78c4c00eac Respond to CR. 2018-02-09 10:31:29 -05:00
Matthew Chen
862172072c Respond to CR. 2018-02-09 10:31:29 -05:00
Matthew Chen
bd0f601792 Respond to CR. 2018-02-09 10:31:29 -05:00
Matthew Chen
38950ae2ed Respond to CR. 2018-02-09 10:31:29 -05:00
Matthew Chen
6b357f9445 Respond to CR. 2018-02-09 10:31:29 -05:00
Matthew Chen
43765ef3b5 Respond to CR. 2018-02-09 10:31:29 -05:00
Matthew Chen
51cec20c50 Clean up ahead of PR. 2018-02-09 10:31:29 -05:00
Matthew Chen
7d3f79440f Clean up ahead of PR. 2018-02-09 10:31:29 -05:00