Commit Graph

59 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
caeb97b466 Respond to CR. 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
1a0f4bf928 Improve logging around network activity. 2018-02-20 10:07:09 -05:00
Matthew Chen
6f28c75257 Fix glitch in batch processing of incoming messages. 2018-02-14 14:56:47 -05: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
a19882baaa Avoid deadlocks in message sender. 2018-02-14 10:38:08 -05:00
Matthew Chen
b21f793756 Register all database views asynchronously. 2018-01-30 10:30:28 -05:00
Matthew Chen
0cc7f3e00e Clean up ahead of PR. 2018-01-25 11:00:38 -05:00
Matthew Chen
89c7ebf74b Respond to CR. 2018-01-10 17:55:56 -05:00
Matthew Chen
9ac2383a2c Retain changes from session database branch. 2018-01-10 12:18:29 -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
a29c4ce5d6 Pull out OWSStorage base class for TSStorageManager. 2017-12-19 11:16:01 -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
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
9da165b846 Continue conversion of app setup. 2017-12-05 11:19:11 -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
e712e8bfc4 Use AppContext to resolve share extension FIXMEs. 2017-11-30 10:12:24 -05:00
Michael Kirk
a11d83187b WIP: Framework-friendly - compiles but crashes on launch
// 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
6e840ff956 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
da7338580c Merge tag '2.18.1.0' 2017-11-06 14:28:43 -05:00
Michael Kirk
8ef9e96b91 Avoid group-sync deadlock by making post-upload save async
// FREEBIE
2017-11-06 13:39:23 -05:00
Matthew Chen
e07a240ee5 Merge tag '2.18.0.9' 2017-11-03 14:23:47 -04:00
Michael Kirk
81cff837ae Include root certs from pki.goog
// FREEBIE
2017-11-03 13:55:12 -04:00
Michael Kirk
6c13d46be2 use manually specified censorship host
// FREEBIE
2017-11-03 11:24:57 -04:00
Michael Kirk
11e07370a9 more logging
// FREEBIE
2017-11-03 11:24:57 -04:00
Michael Kirk
a30533e7b5 Add GTSGIAG3 to censorship circumvention trust store
openssl x509 -outform der -in GIAG3.pem -out GIAG3.crt

// FREEBIE
2017-11-03 11:24:57 -04:00
Michael Kirk
295646e5fa Rebase cleanup
// FREEBIE
2017-11-02 16:05:41 -04:00
Michael Kirk
0706edf42a Generate new registrationId on re-register
In order for others to know they should start a new session with us, we
need to change our registration id.

To achieve this, I consolidated all the Account related attributes on
TSAccountManager - luckily they were already in the proper collection, I
just moved the API to hang on the AccountManager instead of a TSStorage
category extension.

Also:

@synchronize access to `registrationId`

// FREEBIE
2017-11-02 16:05:41 -04:00
Matthew Chen
e3868df69a Move write of incoming messages off main thread.
// FREEBIE
2017-10-18 08:36:49 -07:00
Michael Kirk
9a7e3cb9d8 Register for manual message fetching when unable to obtain push tokens
// FREEBIE
2017-10-12 12:02:22 -04: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
Joshua Lund
8ff14a3f6a Enable censorship circumvention in Qatar.
// FREEBIE
2017-10-04 17:56:22 -04:00
Matthew Chen
ee13084d5c Respond to CR.
// FREEBIE
2017-09-27 14:05:21 -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
183f0f1ccd Respond to CR.
// FREEBIE
2017-09-19 17:45:18 -04:00
Michael Kirk
251e206b6d profiles vs. censorship circumvention
// FREEBIE
2017-08-25 17:17:43 -04:00
Michael Kirk
135243e383 CR: variable rename, better comments, fix up tests
// FREEBIE
2017-08-14 15:18:12 -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
fc3f9ae396 Replace server sent avatar URL with hardcoded
// FREEBIE
2017-08-11 11:19:05 -04:00
Michael Kirk
a3ae22c84f Upload profile avatar to service
WIP, this currently lacks crypto pending further discussion.

// FREEBIE
2017-08-09 11:44:34 -04:00