Commit graph

457 commits

Author SHA1 Message Date
Matthew Chen
460f7344ad Remote attestation. 2018-07-20 09:55:18 -04:00
Matthew Chen
6686ecb125 Remote attestation. 2018-07-20 09:55:17 -04:00
Michael Kirk
eb4c62593b Cancel quickly if dependent operation fails 2018-07-19 13:40:30 -06:00
Michael Kirk
b7288b2565 Move contact intersection into batched operation
// FREEBIE
2018-07-19 13:40:30 -06:00
Michael Kirk
f277ae877c Clarify OWSOperation behavior (no behavioral changes) 2018-07-19 13:40:30 -06:00
Matthew Chen
03e5d2973b Delta contact intersections. 2018-07-18 14:27:40 -04:00
Michael Kirk
ef9a0880ae Fix analyzer warnings 2018-07-18 10:24:08 -06:00
Michael Kirk
77997639f5 Use CurrentAppContext instead of compiler flag to affect test behavior 2018-07-18 10:24:08 -06:00
Michael Kirk
d591fb7f2c Fix some compiler warnings 2018-07-17 19:22:58 -06:00
Michael Kirk
4d3d5d98e1 Sync colors with contacts 2018-07-10 13:25:38 -06:00
Michael Kirk
28abf426f1 White status bar for call screen
Transition to VC controlled status bar style.
2018-07-10 11:36:40 -06:00
Michael Kirk
9cb25024c3 bump limit to allow more legit strings through 2018-07-03 10:29:55 -06:00
Matthew Chen
1412998b4a Rework isRTL. 2018-07-02 15:27:24 -04:00
Matthew Chen
ac6f78a5fc Tweak message cells. 2018-06-25 09:26:41 -04:00
Matthew Chen
20b1a2606e Outage detection. 2018-06-20 17:50:50 -04:00
Matthew Chen
463a323585 Image content types. 2018-06-20 17:13:31 -04:00
Matthew Chen
1607aa7f57 Image content types. 2018-06-20 17:13:31 -04:00
Matthew Chen
b88254244a Respond to CR. 2018-06-20 16:39:53 -04:00
Matthew Chen
f1708c0b30 Improve logging around deserialization failures. 2018-06-20 16:36:43 -04:00
Matthew Chen
c8fee4efa7 Add swift logging to SSK. 2018-06-13 13:56:55 -04:00
Óscar Morales Vivó
51a9841144 https://github.com/signalapp/Signal-iOS/issues/3455: Treat AMR files as generic attachments (AVFoundation doesn't support playback) 2018-06-11 17:45:11 -04:00
Matthew Chen
6bc145ce3a Fix more build warnings. 2018-06-01 17:37:06 -04:00
Matthew Chen
fefc9843b1 Modify views to observe changes when active, not just foreground. 2018-05-31 16:31:51 -04:00
Matthew Chen
d62725d3b7 Add reported application state. 2018-05-31 16:31:51 -04:00
Michael Kirk
4c9808d1a1 Fix iPhoneX layout show status bar above call banner
// FREEBIE
2018-05-24 12:28:20 -04:00
Matthew Chen
1a441cc40c Respond to CR. 2018-05-22 14:24:04 -04:00
Matthew Chen
8a76e778b5 Use websocket for sends. 2018-05-22 14:24:04 -04:00
Matthew Chen
5f1682deab Use websocket for sends. 2018-05-22 14:24:04 -04:00
Matthew Chen
3967a5ab05 Call lifecycle edge cases. 2018-05-22 09:22:40 -04:00
Matthew Chen
d3b484482c Detect and handle corrupt database views. 2018-04-25 09:30:23 -04:00
Michael Kirk
b3cd6a112b Add OWSJanksUI assertion
// FREEBIE
2018-04-21 20:00:56 -04:00
Matthew Chen
08d36aa862 Add screen lock UI to SAE. 2018-04-20 16:39:35 -04:00
Matthew Chen
eb51ea42e3 Merge remote-tracking branch 'origin/hotfix/2.23.4' 2018-04-16 17:46:24 -04:00
Matthew Chen
85cb78ddfe Add mainWindow property to app context. 2018-04-16 17:31:00 -04:00
Matthew Chen
6caa5b87b6 Add more asserts around thread in SAE. 2018-04-13 14:59:38 -04:00
Matthew Chen
abba24988c Rework how dates are formatted in home view. 2018-04-11 09:34:37 -04:00
Michael Kirk
81b2b57703 CR: add comments, make atomic
// FREEBIE
2018-04-09 12:47:57 -04:00
Michael Kirk
4399967e99 Comment cleanup, remove unnecessary includes
// FREEBIE
2018-04-09 12:47:56 -04:00
Michael Kirk
0b8b3b4f16 WIP: towards avatar attachment streams
// FREEBIE
2018-04-09 12:47:56 -04:00
Michael Kirk
53af41fcc6 Reusable UploadOperation based on extracted OWSOperation
// FREEBIE
2018-04-09 12:47:56 -04:00
Matthew Chen
8e4f2ca0ed Rework proto schema changes for quoted replies.
Sketch out model changes for quoted replies.

Sketch out quoted reply input preview.

Send quoted messages protos.

Update models to reflect quoted messages.

Rework interaction initializers.

Rework interaction initializers.

Add debug UI methods for generating quoted reply variations.

Add debug UI methods for generating quoted reply variations.
2018-04-02 16:17:46 -04:00
Matthew Chen
c2e31540d7 Elaborate debug UI for messages. 2018-04-02 10:06:45 -04:00
Matthew Chen
3406d1562e Add local cache of backup fragment metadata. 2018-04-02 09:27:34 -04:00
Matthew Chen
61dc2c0249 Add local cache of backup fragment metadata. 2018-04-02 09:27:34 -04:00
Matthew Chen
e88f5643f7 Add local cache of backup fragment metadata. 2018-04-02 09:27:34 -04:00
Matthew Chen
d0c691bb7f Lazy attachment restores. 2018-04-02 09:27:34 -04:00
Matthew Chen
ef34cd5d58 Fix 'invalid auth can hang on launch' issue. 2018-03-26 17:07:20 -04:00
Michael Kirk
394cc6637c Backport comments from translations
// FREEBIE
2018-03-26 10:12:04 -04:00
Matthew Chen
bb596dba98 Add screen lock feature. 2018-03-22 15:49:57 -04:00
Matthew Chen
2d6d375e82 Add screen lock feature. 2018-03-22 15:49:31 -04:00
Matthew Chen
1612642c26 Add screen lock feature. 2018-03-22 15:49:31 -04:00
Matthew Chen
08ba7c85ed Clean up ahead of PR. 2018-03-20 11:23:56 -04:00
Michael Kirk
267e85915a Avoid overflow
// FREEBIE
2018-03-20 11:19:07 -04:00
Michael Kirk
d9a2effff6 CR: remove "k" from non constant
// FREEBIE
2018-03-20 11:15:09 -04:00
Matthew Chen
cf13a780e9 Retry backup failures. 2018-03-17 09:18:01 -03:00
Matthew Chen
4746948dfe Respond to CR. 2018-03-14 10:02:44 -03:00
Matthew Chen
68ba8976c5 Clean up ahead of PR. 2018-03-14 09:27:39 -03:00
Matthew Chen
76b4deffe4 Respond to CR. 2018-03-14 09:27:39 -03:00
Matthew Chen
5035cb040e Implement backup import logic. 2018-03-14 09:27:39 -03:00
Matthew Chen
aa546a02df Merge remote-tracking branch 'origin/release/2.22.0' 2018-03-14 09:19:15 -03:00
Matthew Chen
c1169ce240 Fix typo in background task. 2018-03-13 15:09:06 -04:00
Matthew Chen
0971bad4b2 Upload database and manifest files to CloudKit. 2018-03-12 16:40:07 -03:00
Matthew Chen
c84bf81cf3 Export database for backup. 2018-03-12 16:40:07 -03:00
Michael Kirk
a885fb5dee Fix first reminder too early, offset bugs.
Schedule first reminder date relative to now, handle overflow

// FREEBIE
2018-03-07 10:58:33 -05:00
Michael Kirk
a1de99f1f1 Merge tag '2.21.0.9' 2018-03-06 16:43:33 -05:00
Michael Kirk
39b87b702b Fix debuglogs.org integration
// FREEBIE
2018-03-06 16:07:08 -05:00
Matthew Chen
d6f4db1523 Rename TSStorageManager to OWSPrimaryStorage. 2018-03-06 17:12:13 -03:00
Matthew Chen
3435be5aba Preserve registration lock when updating account attributes. 2018-03-05 18:25:23 -03:00
Matthew Chen
0f7b852953 Persist registration lock PIN. 2018-03-05 18:25:23 -03:00
Matthew Chen
2d6b9a7c81 Respond to CR. 2018-03-05 17:08:58 -03:00
Matthew Chen
9db9409561 Share background tasks. 2018-03-05 17:08:58 -03:00
Michael Kirk
1d3831eccd Registration Lock reminder view
Also fixed: Don't lose PIN across registrations

// FREEBIE
2018-03-05 09:53:09 -05:00
Michael Kirk
1ff2f3f42e Merge tag '2.21.0.1' 2018-03-02 18:35:01 -05:00
Matthew Chen
4bbf0d9e3d Integrate with logs service. 2018-03-02 17:44:14 -05:00
Matthew Chen
59c745756a Clean up codebase. 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
055061ff5e 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
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
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
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
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
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
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
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
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
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
bd0f601792 Respond to CR. 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
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
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
8e427111ef 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
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
6f7f1b3b08 Improve pre-migration testing tools. 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
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
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
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
Matthew Chen
2b528ad894 Don't use mainApplicationState in business logic. 2018-01-12 14:24:35 -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
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
sdkjfhsdkjhfsdlkjhfsdf
6e2d9c8141 identity change vs. share extension
// FREEBIE
2018-01-02 11:24:36 -06:00
Matthew Chen
085f8a6f64 Clean up ahead of PR. 2017-12-19 12:02:58 -05:00
Matthew Chen
d52eba739d Clean up TSStorageManager usage. 2017-12-19 11:41:31 -05:00
Matthew Chen
9a990b58e8 Respond to CR. 2017-12-19 11:38:25 -05:00
Matthew Chen
9815bca825 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
609536fcb1 Include build version in logging. 2017-12-15 11:11:04 -05:00
Michael Kirk
56f1bf0305 cleanup 2017-12-11 19:37:49 -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
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
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
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
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
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
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
2072359a72 add todo 2017-11-29 14:07:03 -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
2d8a7b03d0 Respond to CR.
// FREEBIE
2017-11-16 10:12:47 -05:00
Matthew Chen
fce52841f9 Don't resurrect zombies. 2017-11-15 07:16:12 -05:00
Matthew Chen
5c90bc72df Never request contacts permission if app is in the background. 2017-11-10 13:21:34 -05:00
Matthew Chen
6e840ff956 Fix build warnings from XCode 9. 2017-11-09 02:52:44 -05:00
Matthew Chen
a6bfc0a60e Fix build warnings from XCode 9. 2017-11-09 02:52:44 -05:00
Matthew Chen
2d21e2ae2c Fix build warnings from XCode 9. 2017-11-09 02:52:44 -05:00
Matthew Chen
db8a381960 Merge remote-tracking branch 'origin/release/2.18.0' 2017-11-01 12:02:37 -04:00
Michael Kirk
cf9874302b Remove unecessary subdata for unpadded attachment
// FREEBIE
2017-10-27 08:51:23 -07:00
Michael Kirk
ce51d2da3e Example (disabled) padding strategy for attachment sender
The padding strategy the sender uses can change without needing to
update the receiver, so long as we continue to record the unpadded
length of the attachment in the attachment pointer.

// FREEBIE
2017-10-27 08:47:53 -07:00
Michael Kirk
cbbb376860 Handle receiving padded attachments
Don't send padded attachments yet.

// FREEBIE
2017-10-27 08:47:53 -07:00
Michael Kirk
259695a9fd Attachments require digest or show explanatory error.
// FREEBIE
2017-10-27 08:42:54 -07:00
Matthew Chen
3927815a35 Fix tests broken by the JSQ rewrite.
// FREEBIE
2017-10-25 16:08:15 -04:00
Matthew Chen
d04f9111db Rework attachment approval UI.
// FREEBIE
2017-10-24 09:42:29 -04:00
Matthew Chen
4dabb71815 Fix "can't send same GIF twice" issue.
// FREEBIE
2017-10-19 22:33:51 -04:00
Matthew Chen
fb4d43d542 Fix "can't send same GIF twice" issue.
// FREEBIE
2017-10-19 10:04:49 -07:00
Michael Kirk
df15c904bc Rework push registration
== Account Registration ==

Not complete until push tokens are uploaded

== Remote Notifications Registration ==

Extracted from PushManager

- wait for notification-settings registration to complete before
  requesting push tokens, otherwise it's possible token requests will
  be ignored.

- Less state required for push notification callbacks, specifically, we
  no longer need to ensure we've created a promise before the
  registration delegate methods get called.

- no more TOCFuture in Signal-iOS (still in SSK for now). It's not in
  cases of inexplicable behavior - one a recently, push notification
  premature free, in redphone, and more popular use, and I've seen two
  futures inexplicably being nil.  Instead, let's consolidate around
  PromiseKit for popularly used, maintained, strongly-typed futures.

- separate logic for registering for vanilla push/voip notifications
  (few dependencies) from responding to UILocalNotifications (lots of
  dependencies). Ultimately I'd like to consolidate the remaining
  UILocalNotifications logic with the existing NotificationsManager

== Misc ==

more debug logging
more uniform logging
remove stale logic around newly registered user

// FREEBIE
2017-10-12 12:02:22 -04:00
Matthew Chen
d557817bb4 Format message statuses with date if possible.
// FREEBIE
2017-09-27 16:38:48 -04:00
Matthew Chen
19e010645e Respond to CR.
// FREEBIE
2017-09-26 09:32:48 -04:00
Matthew Chen
9f9ac746d1 Sketch out message metadata view.
* Show message metadata view from conversation view.
* Pull out MediaMessageView class.
* Track recipient read timestamps.
* Add per-recipient status to message metadata view.
* Add share button to message metadata view.

// FREEBIE
2017-09-25 17:25:49 -04:00
Matthew Chen
7268bde506 Add stress group to debug UI.
// FREEBIE
2017-09-22 10:30:35 -04:00
Matthew Chen
35a2470cb7 Post notifications asynchronously.
// FREEBIE
2017-09-21 17:03:57 -04:00
Matthew Chen
b28c4b74b2 Pull out TSMessageDecrypter class.
// FREEBIE
2017-09-21 14:38:30 -04:00
Matthew Chen
993df25f3f Respond to CR.
// FREEBIE
2017-09-20 11:48:37 -04:00
Matthew Chen
8a4d67a6e4 Respond to CR.
// FREEBIE
2017-09-20 09:19:15 -04:00
Matthew Chen
183f0f1ccd Respond to CR.
// FREEBIE
2017-09-19 17:45:18 -04:00
Matthew Chen
a5ece18e6c Fix build break.
// FREEBIE
2017-09-19 09:35:33 -04:00
Matthew Chen
400f536e37 Respond to CR.
// FREEBIE
2017-09-19 09:30:01 -04:00
Matthew Chen
872ce17dd6 Clean up data source temp files when complete.
// FREEBIE
2017-09-19 09:30:01 -04:00
Matthew Chen
d3ad0950ba Clean up the data source class.
// FREEBIE
2017-09-11 10:20:48 -04:00
Matthew Chen
9dfebb2d4b Apply OWSFail() in more places.
// FREEBIE
2017-09-11 10:20:48 -04:00
Matthew Chen
c21a7673c8 Rework preservation of attachment filenames.
// FREEBIE
2017-09-11 10:20:48 -04:00
Matthew Chen
0746b1300d Apply DataSource to message sender.
// FREEBIE
2017-09-11 10:20:48 -04:00
Matthew Chen
b95b5f69de Apply DataSource to message sender.
// FREEBIE
2017-09-11 10:20:48 -04:00
Matthew Chen
20e5013aae Convert DataSource to Objective-C.
// FREEBIE
2017-09-11 10:20:48 -04:00
Matthew Chen
69816cdf0e Convert DataSource to Objective-C.
// FREEBIE
2017-09-11 10:20:48 -04:00
Matthew Chen
bb1681f965 Respond to CR.
// FREEBIE
2017-08-30 12:53:02 -04:00
Matthew Chen
cc048b3971 Respond to CR.
// FREEBIE
2017-08-30 12:46:21 -04:00
Michael Kirk
1e51bf4899 extract event names
// FREEBIE
2017-08-25 17:19:31 -04:00
Matthew Chen
a825fad47b Start reworking the contact offers.
// FREEBIE
2017-08-21 17:05:42 -04:00
Michael Kirk
0ab958f03a cleanup per codereview
- reference OWS OpenSSL
- clarify comments
- fix typo

// FREEBIE
2017-08-21 16:37:16 -04:00
Michael Kirk
0f9f26a577 handle remote user's profile key has changed
// FREEBIE
2017-08-21 16:37:16 -04:00
Michael Kirk
72fbb02028 aes-gcm via openssl
// FREEBIE
2017-08-21 16:37:16 -04:00
Michael Kirk
97afa4d48a verification on decrypt
// FREEBIE
2017-08-15 15:19:40 -04:00
Michael Kirk
7499b3aaf0 Avatar API integration / WIP crypto scheme
Crypto Scheme:

- Name (un)padding
- WIP AES-GCM (funtioning, but need to verify against android
  implementation, and tag functionality)

Changes to avatar API:

- hard code avatar domain (cdn.signal.org)
- avatar form hands out new avatar key, invalidating old avatar
- preliminary aes-gcm integration

Also:

- New type to represent AES128 keys, rather than passing around opaque
  data blobs everywhere, we can use the compiler to help us make sure
  we're passing compliant keying material.

- Started using factory pattern for API requests. This is intended to be
  a lighter weight way to implement new API requests, rather than the
  current 1-method class ceremony.

// FREEBIE
2017-08-14 12:45:37 -04:00
Michael Kirk
f99d4e9df9 Merge branch 'hotfix/2.15.2' 2017-08-04 13:11:53 -04:00
Michael Kirk
3856f3dfb1 Improve asserts/logging
// FREEBIE
2017-08-04 12:14:43 -04:00
Matthew Chen
43b3abe321 Merge branch 'hotfix/2.15.2' 2017-08-03 13:10:01 -04:00
Matthew Chen
9c5934359e Don’t dismiss call view controller to present other view.
// FREEBIE
2017-08-03 10:41:16 -04:00
Matthew Chen
791e270578 Terminate call if call view presentation is delayed.
// FREEBIE
2017-08-03 10:29:40 -04:00
Matthew Chen
0bd23345a1 Sketch out the profile view.
// FREEBIE
2017-08-01 16:17:59 -04:00
Matthew Chen
bdb50552d3 Fix asserts in analytics macros.
// FREEBIE
2017-07-28 11:33:20 -04:00
Matthew Chen
dd13119f12 Add more instrumentation to CallService.
// FREEBIE
2017-07-27 13:57:29 -04:00
Matthew Chen
e5c0fa89d6 Respond to CR.
// FREEBIE
2017-07-27 12:48:46 -04:00
Matthew Chen
465711c2cb Add script to extract and gather analytics event names.
// FREEBIE
2017-07-27 12:45:29 -04:00
Matthew Chen
f1807cd709 Add script to extract and gather analytics event names.
// FREEBIE
2017-07-27 12:29:05 -04:00
Matthew Chen
0cf9c01af2 Add script to extract and gather analytics event names.
// FREEBIE
2017-07-27 12:27:48 -04:00
Matthew Chen
8aff95c44e Add script to extract and gather analytics event names.
// FREEBIE
2017-07-27 12:26:02 -04:00
Matthew Chen
b4f348ad14 Add script to extract and gather analytics event names.
// FREEBIE
2017-07-27 12:26:02 -04:00
Matthew Chen
31ab9a00da Add script to extract and gather analytics event names.
// FREEBIE
2017-07-27 12:26:02 -04:00
Matthew Chen
531489a828 Streamline analytics properties.
// FREEBIE
2017-07-27 10:16:16 -04:00
Matthew Chen
f973af5a83 Streamline analytics properties.
// FREEBIE
2017-07-27 10:16:16 -04:00
Matthew Chen
013bf62f7c Streamline analytics properties.
// FREEBIE
2017-07-27 10:16:16 -04:00
Matthew Chen
d72c4a21c3 Fix missing variable type.
// FREEBIE
2017-07-26 11:58:41 -04:00
Matthew Chen
863fd27abe Respond to CR.
// FREEBIE
2017-07-26 10:52:15 -04:00
Matthew Chen
7cbdde7b1d Rework handling of critical errors, e.g. errors while initializing TSStorageManager.
// FREEBIE
2017-07-26 10:01:43 -04:00
Matthew Chen
958a8b4c80 Instrument CallService.
// FREEBIE
2017-07-26 10:01:43 -04:00
Matthew Chen
ef4b1cf477 Respond to CR.
// FREEBIE
2017-07-24 17:18:15 -04:00
Matthew Chen
fa7a2407bf Respond to CR.
// FREEBIE
2017-07-24 16:20:00 -04:00
Matthew Chen
b17a7c5751 Review NSError usage.
// FREEBIE
2017-07-24 16:13:59 -04:00
Matthew Chen
11f52757b2 Use background task when sending analytics events.
// FREEBIE
2017-07-24 16:13:59 -04:00
Matthew Chen
543c05b2c5 Add a “critical” severity level for analytics events.
// FREEBIE
2017-07-24 16:13:59 -04:00