Commit graph

737 commits

Author SHA1 Message Date
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
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
Matthew Chen
c8e7eb903c Add protocol context to protocol kit. 2018-02-09 10:31:29 -05:00
Matthew Chen
bbd689bfd0 Add protocol context to protocol kit. 2018-02-09 10:31:29 -05:00
Matthew Chen
d3e16583eb Add protocol context to protocol kit. 2018-02-09 10:31:29 -05:00
Matthew Chen
074046b98e Add protocol context to protocol kit. 2018-02-09 10:31:29 -05:00
Matthew Chen
7358f3053f Add protocol context to protocol kit. 2018-02-09 10:31:29 -05:00
Matthew Chen
218bb15ea7 Add protocol context to protocol kit. 2018-02-09 10:31:29 -05:00
Matthew Chen
39e353503f Add protocol context to protocol kit. 2018-02-09 10:31:29 -05:00
Matthew Chen
71782e0369 Add protocol context to protocol kit. 2018-02-09 10:31:29 -05:00
Matthew Chen
122ef91e57 Add protocol context to protocol kit. 2018-02-09 10:31:29 -05:00
Michael Kirk
a1d3073705 Cannot open settings from share extension
// FREEBIE
2018-02-06 18:50:36 -08:00
Matthew Chen
799949e546 Refine sync messages. 2018-02-02 10:56:16 -05:00
Matthew Chen
59ff1561f5 Set the timestamp property on data messages. 2018-02-02 10:42:56 -05:00
Matthew Chen
4218af13d5 Send image width/height for image and video attachments. 2018-02-02 10:42:56 -05:00
Matthew Chen
3a4180214f Send image width/height for image and video attachments. 2018-02-02 10:42:56 -05:00
Matthew Chen
43ed8d9a5d Send "disappearing messages" state for groups. 2018-02-02 10:42:56 -05:00
Matthew Chen
b16a65a4cd Sync block state for contacts. 2018-02-02 10:42:56 -05:00
Matthew Chen
742d4cabc2 Send "disappearing messages" state for contacts. 2018-02-02 10:42:56 -05:00
Matthew Chen
2dc37d598c Updates service proto schema to latest. 2018-02-02 10:42:56 -05:00
Michael Kirk
4f8db63fb3 Ensure keyspec is generated before DB is created
// FREEBIE
2018-01-31 18:05:44 -08:00
Michael Kirk
6f959ff292 CR: be more conservative about deriving key spec, clear old passphrase
after deriving key spec.

// FREEBIE
2018-01-31 17:22:42 -08:00
Michael Kirk
d22fc664f2 more granular key access
// FREEBIE
2018-01-31 16:08:03 -08:00
Michael Kirk
426c9baa16 Key material changes
- For new installs, generate raw key-spec rather than derive it
- Adapt to separated concerns of the key derivation migration from the unencrypted header migration
- Reduce number of places where we delete/generate keying information
- Only store relevant keying material

// FREEBIE
2018-01-31 16:08:03 -08:00
Michael Kirk
938b9c85b8 Don't crash on clean install
Otherwise we'll error when retrieving non-existent password.

// FREEBIE
2018-01-31 13:28:14 -08:00
Matthew Chen
4bfdef520a Respond to CR. 2018-01-30 12:39:27 -05:00
Matthew Chen
a30170b3b2 Prefer "app is ready" flag to "storage is ready" flag. 2018-01-30 11:34:00 -05:00
Matthew Chen
be1fde905c Don't mark app as ready until all version migrations are done. 2018-01-30 11:27:44 -05:00
Matthew Chen
963d0547ad Clean up ahead of PR. 2018-01-30 10:31:13 -05:00
Matthew Chen
8e427111ef Clean up ahead of PR. 2018-01-30 10:31:13 -05:00
Matthew Chen
ebbe96a5d5 Clean up ahead of PR. 2018-01-30 10:31:13 -05:00
Matthew Chen
6eddfae214 Improve post-migration testing tools. 2018-01-30 10:31:13 -05:00
matthew chen
8325c37191 Fix build breakage. 2018-01-30 10:30:28 -05:00
matthew chen
873c789132 Fix build breakage. 2018-01-30 10:30:28 -05:00
Matthew Chen
b9ec7d96e9 Register all database views asynchronously. 2018-01-30 10:30:28 -05:00
Matthew Chen
aeeef43416 Register all database views asynchronously. 2018-01-30 10:30:28 -05:00
Matthew Chen
b21f793756 Register all database views asynchronously. 2018-01-30 10:30:28 -05:00
Matthew Chen
eb180ba5c4 Register all database views asynchronously. 2018-01-30 10:30:28 -05:00
Matthew Chen
100adae245 Register all database views asynchronously. 2018-01-30 10:30:28 -05:00
Matthew Chen
5cf89a0f3d Register all database views asynchronously. 2018-01-30 10:30:28 -05:00
Matthew Chen
7ebeeda5f9 Clean up ahead of PR. 2018-01-30 10:06:46 -05:00
Matthew Chen
6f7f1b3b08 Improve pre-migration testing tools. 2018-01-30 10:06:46 -05:00
Matthew Chen
9d101c3f53 Elaborate Debug & Internal UI. 2018-01-30 10:06:46 -05:00
Matthew Chen
b3e6278a45 Clean up ahead of PR. 2018-01-25 15:24:21 -05:00
Matthew Chen
9d909025c9 Handle UIImage shares. 2018-01-25 15:17:51 -05:00
Matthew Chen
5770a18b08 Handle text shares like URLs. 2018-01-25 13:26:10 -05:00
Matthew Chen
992e926142 Unpack oversize text messages if possible. 2018-01-25 13:26:10 -05:00
Matthew Chen
482ad08640 Handle unregistration in SAE. 2018-01-25 13:18:38 -05:00
Matthew Chen
6a81d8e5c2 Respond to CR. 2018-01-25 13:16:35 -05:00
Matthew Chen
7e769de5d2 Remove spurious warning. 2018-01-25 13:07:56 -05:00
Matthew Chen
0cc7f3e00e Clean up ahead of PR. 2018-01-25 11:00:38 -05:00
Matthew Chen
5d422e03d1 Add support for key specs. 2018-01-25 11:00:38 -05:00
Matthew Chen
c5079ed3d7 Add support for key specs. 2018-01-25 11:00:38 -05:00
Matthew Chen
a3e77019e2 Update storage to use database salts. 2018-01-25 11:00:38 -05:00
Matthew Chen
149199138c Clean up ahead of PR. 2018-01-25 11:00:38 -05:00
Matthew Chen
173da64bc4 Modify YapDatabase to read converted database, part 1. 2018-01-25 11:00:38 -05:00
Michael Kirk
71dc7f55d3 Copy DB setup / keying from Yap into conversion
// FREEBIE
2018-01-25 11:00:38 -05:00
Matthew Chen
1bff0f2b0e Incomplete commit starting work on loading databases for conversion. 2018-01-25 11:00:38 -05:00
Matthew Chen
dc73342573 Convert databases if necessary. 2018-01-25 11:00:38 -05:00
Michael Kirk
baa312f449 Timer button with duration label
// FREEBIE
2018-01-22 10:28:51 -05:00
Michael Kirk
5dde17d939 Show approval/caption view in app.
ApprovalView/Captioning is shown for:
- Images/Videos from Library
- Images/Video from Camera
- Document Picker
- GIFs

Voice notes are intentionally not captionable.

Also, in main app, hide status bar when ApprovalView is presented

// FREEBIE
2018-01-17 18:19:48 -05:00
Michael Kirk
a423fe8a0e WIP Merge tag '2.19.4.4'
- restore video playback in fullscreen

This was a large merge, so I'm opting to make some changes in separate
commits.
2018-01-16 15:25:58 -05:00
Matthew Chen
0d5b5bc44c Respond to CR. 2018-01-12 16:49:51 -05:00
Matthew Chen
3de9a4ea55 Add debug UI actions around clearing and snapshotting session state. 2018-01-12 16:42:18 -05:00
Matthew Chen
2b528ad894 Don't use mainApplicationState in business logic. 2018-01-12 14:24:35 -05:00
Matthew Chen
fec2410ac2 Respond to CR. 2018-01-12 10:36:09 -05:00
Matthew Chen
3f2bee8383 Respond to CR. 2018-01-12 10:36:09 -05:00
Matthew Chen
d81d85c386 Respond to CR. 2018-01-12 10:36:09 -05:00
Matthew Chen
c308e25115 Skip redundant sync messages. 2018-01-12 10:36:09 -05:00
Matthew Chen
a2b67a17fd Skip redundant sync messages. 2018-01-12 10:36:09 -05:00
Matthew Chen
41e6eaeafc Skip redundant sync messages. 2018-01-12 10:36:09 -05:00
Matthew Chen
76676659f8 Respond to CR. 2018-01-12 10:25:04 -05:00
Matthew Chen
17907dca10 Clean up ahead of PR. 2018-01-12 10:23:54 -05:00
Matthew Chen
15b8e58324 Retain changes from session database branch. 2018-01-12 10:23:54 -05:00
Matthew Chen
59933ce1d6 Fix rebase breakage. 2018-01-11 11:15:50 -05:00
Matthew Chen
16f7317579 Complete backup restore/import. 2018-01-11 10:44:03 -05:00
Matthew Chen
272a90d269 Add import back up UI. Begin work on import backup logic. 2018-01-11 10:42:57 -05:00
Matthew Chen
980b3d25a7 Rework "export backup" UI. 2018-01-11 10:42:27 -05:00
Matthew Chen
89c7ebf74b Respond to CR. 2018-01-10 17:55:56 -05:00
Matthew Chen
77572bdaec Retain changes from session database branch. 2018-01-10 12:36:23 -05:00
Matthew Chen
1839b10550 Retain changes from session database branch. 2018-01-10 12:18:34 -05:00
Matthew Chen
9ac2383a2c Retain changes from session database branch. 2018-01-10 12:18:29 -05:00
Matthew Chen
e77c3e6717 Retain changes from session database branch. 2018-01-10 12:18:23 -05:00
Michael Kirk
8d2934d86e CR: remove unnecessary code, comments
// FREEBIE
2018-01-08 15:11:35 -05:00
Matthew Chen
d01ec57f0e Fix storage reset. 2018-01-08 10:51:56 -05:00
Michael Kirk
81268012e5 Better keyboard management.
- fixes problems on iOS11.2 where emoji keyboard sometimes obscures text
  input.
- better animation for interactive pan gesture when viewing message
  details
- more intuitive swipe-to-dismiss keyboard in conversation view
- converge on one mnethod for dismissing keyboard in conversation view

- [ ] Pop keyboard, then hit attachment, dismisses keyboard, which is
      fine, but the content should immediately scroll down with the
      keyboard, instead it stays up, and scrolls down only once the
      attachment action sheet has been dismissed.

// FREEBIE
2018-01-08 01:10:31 -05:00
sdkjfhsdkjhfsdlkjhfsdf
6e2d9c8141 identity change vs. share extension
// FREEBIE
2018-01-02 11:24:36 -06:00
sdkjfhsdkjhfsdlkjhfsdf
8141843f27 comment typo 2017-12-20 14:26:53 -06:00
sdkjfhsdkjhfsdlkjhfsdf
92477c78b7 cleanup before PR 2017-12-20 14:26:53 -06:00
Michael Kirk
bce18637f0 render attachments with captions
// FREEBIE
2017-12-20 14:26:53 -06:00
Michael Kirk
e20f44024c WIP: Support sending attachment captions
Looks fine on other clients, but locally we don't display the caption.

// FREEBIE
2017-12-20 14:26:53 -06:00
Matthew Chen
05100b1143 Respond to CR. 2017-12-20 11:32:48 -05:00
Matthew Chen
6b0e3508a5 Respond to CR. 2017-12-20 11:28:07 -05:00
Matthew Chen
245304116f Respond to CR. 2017-12-20 11:19:09 -05:00
Matthew Chen
085f8a6f64 Clean up ahead of PR. 2017-12-19 12:02:58 -05:00
Matthew Chen
70926d7f10 Clean up ahead of PR. 2017-12-19 11:50:01 -05:00
Matthew Chen
6b58b4cbde Rework database view registration. 2017-12-19 11:42:06 -05:00
Matthew Chen
fe67cd924c Rework database view registration. 2017-12-19 11:42:06 -05:00
Matthew Chen
f88b954ab5 Clean up TSStorageManager usage. 2017-12-19 11:41:31 -05:00
Matthew Chen
d3efb2e1c9 Clean up TSStorageManager usage. 2017-12-19 11:41:31 -05:00
Matthew Chen
d52eba739d Clean up TSStorageManager usage. 2017-12-19 11:41:31 -05:00
Matthew Chen
85686d3144 Continue TSStorageManager refactor. 2017-12-19 11:41:30 -05:00
Matthew Chen
9a990b58e8 Respond to CR. 2017-12-19 11:38:25 -05:00
Matthew Chen
1163e76dee Clean up ahead of PR. 2017-12-19 11:16:01 -05:00
Matthew Chen
9815bca825 Clean up ahead of PR. 2017-12-19 11:16:01 -05:00
Matthew Chen
5dcf4b3bbc Clean up ahead of PR. 2017-12-19 11:16:01 -05:00
Matthew Chen
137fe6fb8b Pull out OWSStorage base class for TSStorageManager. 2017-12-19 11:16:01 -05:00
Matthew Chen
a29c4ce5d6 Pull out OWSStorage base class for TSStorageManager. 2017-12-19 11:16:01 -05:00
Matthew Chen
a572285ad2 Respond to CR. 2017-12-19 11:10:12 -05:00
Matthew Chen
2cc3752901 Improve background task logic. 2017-12-19 11:05:17 -05:00
Matthew Chen
c3b6de4f83 Improve background task logic. 2017-12-19 11:05:17 -05:00
Matthew Chen
f9ce34f553 Improve background task logic. 2017-12-19 11:05:17 -05:00
Matthew Chen
5adf98788d Use background task during message processing. 2017-12-19 11:05:17 -05:00
Matthew Chen
df8ded90b8 Use background task during attachment downloads. 2017-12-19 11:05:17 -05:00
Michael Kirk
157bf00410 Merge branch 'hotfix/2.19.3' 2017-12-17 14:02:03 -05:00
Michael Kirk
e78edcde87 Only clear cache when user pulls-to-refresh
// FREEBIE
2017-12-16 12:01:19 -05:00
Michael Kirk
f4e471e0db SignalAccount cache perf improvments
- only persist models that have changed
- remove duplicate contact SignalAccounts
- ensure serial execution of buildAccounts
- only buildSignalAccounts when intersection succeeds

// FREEBIE
2017-12-15 16:18:36 -05:00
Matthew Chen
3643414da1 Respond to CR. 2017-12-15 11:16:07 -05:00
Matthew Chen
f57c12f34d Update YapDatabase. 2017-12-15 11:11:04 -05:00
Matthew Chen
571840b1dc Update YapDatabase. 2017-12-15 11:11:04 -05:00
Matthew Chen
609536fcb1 Include build version in logging. 2017-12-15 11:11:04 -05:00
Michael Kirk
16448e2a0b Merge tag '2.19.3.0' 2017-12-14 11:42:57 -05:00
Michael Kirk
64e90d29fd CR: extract method, more asserts and annotations
// FREEBIE
2017-12-14 10:52:04 -05:00
Michael Kirk
336c92ddab remove cached display name machinery, cleanup
// FREEBIE
2017-12-13 17:31:36 -05:00
Michael Kirk
7ea4b85a2a Persist signal accounts (and their embedded Contact)
// FREEBIE
2017-12-13 17:31:36 -05:00
Michael Kirk
56f1bf0305 cleanup 2017-12-11 19:37:49 -05:00
Matthew Chen
b9b3eb0541 Clean up ahead of PR. 2017-12-11 12:28:28 -05:00
Matthew Chen
429312523f Simplify OWSUserProfile's "apply changes" logic using model diffing. 2017-12-11 12:28:28 -05:00
Matthew Chen
f684482c54 Don't emit "user profile changed" notifications if nothing changed. 2017-12-11 12:28:28 -05:00
Matthew Chen
97ce1a6675 Rework user profile saves; block SAE if no local user profile key. 2017-12-11 12:28:28 -05:00
Matthew Chen
791743a5f0 Fix order of operations in SAE setup. 2017-12-07 16:04:52 -05:00
Matthew Chen
f148003fb3 Convert logTag to property. 2017-12-07 14:32:22 -05:00
Matthew Chen
99f0b9d3e8 Fix issues around statics. 2017-12-07 12:34:02 -05:00
Michael Kirk
0429836ff9 CR: rename keyWindow -> keyReferenceView, split long line
// FREEBIE
2017-12-07 10:39:44 -05:00
Michael Kirk
eca19e5874 Reconcile MediaMessageView zoom behavior with AppExtension
Previously it was predicated on UIApplication.shared

// FREEBIE
2017-12-07 10:14:30 -05:00
Michael Kirk
3eceb86371 Show alert if we fail to build the attachment
// FREEBIE
2017-12-07 10:14:30 -05:00
Michael Kirk
89b9887f1d Make DeviceSleepManager extension compatible
// FREEBIE
2017-12-07 10:13:47 -05:00
Michael Kirk
a58f1f385c Share a photo from photos app
Shows the conversation picker, and sends the attachment to that
conversation.

There's still a lot TODO

-[ ] resolve JSQ dependency
-[ ] properly wait for app to load
-[ ] dismiss share extension after send is complete
-[ ] support non jpeg file types
-[ ] Fix device sleep manager

// FREEBIE
2017-12-07 10:13:06 -05:00
Matthew Chen
69e0bcd308 Fix tests. 2017-12-06 10:36:12 -05:00
Matthew Chen
f5353fc7d5 Clean up ahead of PR. 2017-12-05 11:35:43 -05:00
Matthew Chen
150f417a5e Clean up ahead of PR. 2017-12-05 11:32:19 -05:00
Matthew Chen
022b2f93dd Respond to CR. 2017-12-05 11:22:52 -05:00
Matthew Chen
e94ef01d72 Respond to CR. 2017-12-05 11:22:01 -05:00
Matthew Chen
9da165b846 Continue conversion of app setup. 2017-12-05 11:19:11 -05:00
Matthew Chen
ce899edf10 Respond to CR. 2017-12-05 10:44:11 -05:00
Matthew Chen
b4e8df79da Migrate environment to SignalMessaging. 2017-12-05 10:29:29 -05:00
Matthew Chen
a16058e477 Migrate environment to SignalMessaging. 2017-12-05 10:29:29 -05:00
Matthew Chen
6d87df88aa Migrate environment to SignalMessaging. 2017-12-05 10:29:28 -05:00
Matthew Chen
c817aa51b3 Migrate environment to SignalMessaging. 2017-12-05 10:28:46 -05:00
Michael Kirk
06f52deaf9 address some additional compiler warnings 2017-12-04 12:52:59 -05:00
Michael Kirk
23d3006fd8 remove unused code
// FREEBIE
2017-12-04 12:50:28 -05:00
Michael Kirk
08c324f948 Fix compiler warnings around ambiguous macro redefinition.
LMK if there's a better way to do this, which doesn't involve requiring
modules.

// FREEBIE
2017-12-04 12:50:28 -05:00
Michael Kirk
2af818b3ba Make SignalMessaging AppExtension safe
// FREEBIE
2017-12-04 12:50:28 -05:00
Michael Kirk
0138777343 New @available syntax avoids compiler warnings
// FREEBIE
2017-12-04 12:50:28 -05:00
Michael Kirk
f96b7bc27c CNContact doesn't exist before iOS9
// FREEBIE
2017-12-04 12:50:28 -05:00
Michael Kirk
0dec643b94 update header to match implementation atomicity
// FREEBIE
2017-12-04 12:50:28 -05:00
Michael Kirk
5e7ca89930 Proper function prototypes
// FREEBIE
2017-12-04 12:50:28 -05:00
Matthew Chen
bf21d0c0ed Enable logging in SAE; rework log file management to include multiple log directories. 2017-12-01 12:55:47 -05:00
Michael Kirk
336d59a6ce restore chrono timestamp
make SSK compatible with c++ by using non-modular imports, which
requires disambiguating our ddLog variable.

// FREEBIE
2017-11-30 09:38:39 -08:00
Matthew Chen
e7df2511a4 Register CrossProcessNotifier. 2017-11-30 10:28:05 -05:00
Matthew Chen
64762eb427 Observe YapDatabaseModifiedExternallyNotification. 2017-11-30 10:28:05 -05:00
Matthew Chen
62cf9b1dd5 Respond to CR. 2017-11-30 10:19:34 -05:00
Matthew Chen
d17ccadea2 Use AppContext to resolve share extension FIXMEs. 2017-11-30 10:12:32 -05:00
Matthew Chen
e712e8bfc4 Use AppContext to resolve share extension FIXMEs. 2017-11-30 10:12:24 -05:00
Matthew Chen
4c31d99498 Respond to CR. 2017-11-30 10:10:30 -05:00
Matthew Chen
ffa69b3502 Add application context class. 2017-11-30 10:07:20 -05:00
Matthew Chen
8d4e9b4565 Respond to CR. 2017-11-30 10:02:04 -05:00
Matthew Chen
779e89fe74 Clean up ahead of PR. 2017-11-30 09:49:01 -05:00
Matthew Chen
7429e1968c Clean up ahead of PR. 2017-11-30 09:49:01 -05:00
Matthew Chen
edaf65223a Migrate to shared data NSUserDefaults. 2017-11-30 09:49:01 -05:00
Matthew Chen
cd11ec5698 Add app group, share keychain. Take a first pass at file migration to shared data directory. 2017-11-30 09:49:01 -05:00
Michael Kirk
336aa13520 Avoid overzealous assert
// FREEBIE
2017-11-29 14:57:04 -08:00
Michael Kirk
2072359a72 add todo 2017-11-29 14:07:03 -08:00
Michael Kirk
e9796600c6 disable some asserts for now
// FREEBIE
2017-11-29 13:58:27 -08:00
Michael Kirk
961727814b Move pinning certificates into App
// FREEBIE
2017-11-29 13:58:27 -08:00
Michael Kirk
a11d83187b WIP: Framework-friendly - compiles but crashes on launch
// FREEBIE
2017-11-29 13:58:27 -08:00
Michael Kirk
c5b0f7cd01 framework compatible CocoaLumberjack import
With previous import style, the `LOG_ASYNC_ENABLED, LOG_LEVEL_DEF`
macros were not being defined.

@import style module includes are handled differently in ObjC++, causing
problems with out millisecondTimeStamp implementation. Rather than
address that problem head on, I simple reimplemented our millisecond
timestamp method in objective-c, removing our single ObjC++ file.

// FREEBIE
2017-11-29 13:58:27 -08:00
Michael Kirk
7894a58769 FIXME: Changes to get share extension compiling
This was a slash and burn approach, and breaks existing functionality.
We need to address all of these before merging.

// FREEBIE
2017-11-29 13:58:27 -08:00
Matthew Chen
829464baaf Remove concurrency limitations from signal service. 2017-11-28 14:45:52 -05:00
Matthew Chen
ba88da60ca Use dedicated db connection for recipient identities. 2017-11-22 09:40:39 -05:00
Matthew Chen
9b4ac4073f Improve robustness around unknown country codes. 2017-11-21 17:48:00 -05:00
Matthew Chen
d9fcfdeeb7 Fix deadlock when responding to contacts sync messages. 2017-11-21 11:21:08 -05:00
Matthew Chen
9b197fad03 Fix deadlock when responding to contacts sync messages. 2017-11-21 11:21:08 -05:00
Matthew Chen
d8ae5841d6 Respond to CR.
// FREEBIE
2017-11-20 14:50:43 -05:00
Matthew Chen
b3d17ea192 Improving handling of edge cases in conversation view. 2017-11-20 14:44:10 -05:00
Matthew Chen
45c7d80d97 Improving handling of edge cases in conversation view. 2017-11-20 14:44:10 -05:00
Matthew Chen
6d4a05bbea Improving handling of edge cases in conversation view. 2017-11-20 14:44:10 -05:00
Matthew Chen
2642f6fcea Fix group creation. 2017-11-17 16:06:30 -05:00
Matthew Chen
21e9f57cbe Imitate Android's behavior of delaying local notifications based on incoming sync messages. 2017-11-16 10:18:02 -05:00
Matthew Chen
2d8a7b03d0 Respond to CR.
// FREEBIE
2017-11-16 10:12:47 -05:00
Matthew Chen
d7b0424c75 Don't back up profile pics, attachments or gifs.
// FREEBIE
2017-11-16 09:59:02 -05:00
Matthew Chen
2f84e0c426 Fix calling; be explicit about which messages should be saved. 2017-11-15 20:52:07 -05:00