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