Commit graph

33 commits

Author SHA1 Message Date
Matthew Chen
1612642c26 Add screen lock feature. 2018-03-22 15:49:31 -04:00
Matthew Chen
d6f4db1523 Rename TSStorageManager to OWSPrimaryStorage. 2018-03-06 17:12:13 -03:00
Matthew Chen
c17a819366 Elaborate request factory. 2018-03-02 15:05:14 -05:00
Matthew Chen
0ca497846b Elaborate request factory. 2018-03-02 15:05:14 -05:00
Matthew Chen
6b357f9445 Respond to CR. 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
7a1e47cd26 Add asserts around Swift singletons. 2017-12-07 13:57:45 -05:00
Michael Kirk
c52192295b fixup rebase. move jobs to proper dir 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
a11d83187b WIP: Framework-friendly - compiles but crashes on launch
// FREEBIE
2017-11-29 13:58:27 -08:00
Michael Kirk
43092ee6ac CR: be extra paranoid about archiving the reset session
// FREEBIE
2017-11-22 11:44:35 -08:00
Michael Kirk
47926418b5 Prevent subsequent "No valid session" errors from the recipient of an
EndSession message.

// FREEBIE
2017-11-22 11:15:26 -08:00
Matthew Chen
c6160a5a1e Rework the "update with..." methods to avoid re-saving deleted models. 2017-11-15 07:16:12 -05:00
Michael Kirk
6a65ee6def Pull to refresh on homeview fetches messages.
This is useful when you're using censorship circumvention and unable to
receive push notifications.

// FREEBIE
2017-10-16 12:25:07 -07:00
Michael Kirk
4d8429186d Store undecrypted envelopes before doing any processing.
This lets us clear the server side queue immediately, and paves the way
for retry, give up logic.

// FREEBIE
2017-07-26 14:29:56 -04:00
Matthew Chen
c817346ee3 Fix “timer circular reference” leaks.
// FREEBIE
2017-07-07 15:17:18 -04:00
Matthew Chen
b6ddea9eae Sketch out OWSIdentityManager.
// FREEBIE
2017-06-07 10:18:16 -04:00
Michael Kirk
5b12f4afae Prevent outgoing calls started from various places unless have been seen
e.g. from contacts app

// FREEBIE
2017-06-01 12:59:34 -07:00
Michael Kirk
1a03be8ae7 Fetch safety number upon entering thread
* uniform method to get recipients in group/contact thread
  * use it to clean up markAsSeenJob

// FREEBIE
2017-05-26 09:50:09 -07:00
Michael Kirk
4b8544d5f7 ensure atomic write to wasSeen property
// FREEBIE
2017-05-24 18:01:24 -07:00
Michael Kirk
bb25d2beb6 IdentityKeyStore changes
1) Always accept keys from incoming messages

2) Block sending only if it's a recent change, or if always
   block is enabled

// FREEBIE

// FREEBIE
2017-05-24 18:01:24 -07:00
Matthew Chen
2e36f41838 Add support for manually activating censorship circumvention.
// FREEBIE
2017-05-22 20:34:25 -04:00
Michael Kirk
d7c7fff679 Fix some compiler warnings
* explicit optional usage in strings
* remove some unused StringUtil code
* swiftlint affected files
* more concise optional casting (and avoid a `!`)

Compiler warnings: 343 -> 318

(Actually most of these are in external libs, but 115 remain in Signal/SSK)

// FREEBIE
2017-05-05 14:26:29 -04:00
Matthew Chen
1558d8c6c5 Avoid lost messages by acknowledges message receipt after the message is processed.
// FREEBIE
2017-04-17 16:07:03 -04:00
Matthew Chen
effa885614 Rework socket manager.
// FREEBIE
2017-04-12 11:59:45 -04:00
Michael Kirk
6ba5e5cc6b Clean up session-reset logging
// FREEBIE
2017-04-07 10:19:40 -04:00
Michael Kirk
d8ae941736 Delete session *before* sending EndSession message
Typically we're sending an EndSession message because our session has
diverged from the remote party's session. So if we send an EndSession
message, but decrypt it with our old out-of-sync session, how can we
expect them to be able to decrypt it?

Instead, by deleting the existing sessions, we'll fetch a new PreKey,
and start fresh with the remote side.

// FREEBIE
2017-04-06 21:09:56 -04:00
Michael Kirk
033591aeca Remove unused code
// FREEBIE
2017-04-06 21:09:56 -04:00
Michael Kirk
7f239c8040 [SSK] + Enforce singleton access for MessagesManager and MessageSender
// FREEBIE
2017-03-31 10:41:46 -04:00
Michael Kirk
ba4569f5bd delete unused code
//FREEBIE
2016-12-21 14:11:09 -06:00
Michael Kirk
ddba843d44 Censorship circumvention in Egypt and UAE
* domain fronting
* non-websocket message fetching

// FREEBIE
2016-12-21 10:04:23 -06:00
Michael Kirk
28a2a4610c Fix compiler warnings.
// FREEBIE
2016-11-11 08:54:13 -05:00
Michael Kirk
c6a2fbff23 Tapping corrupted message opens "session reset" activity
This action was previously hidden under a secret longpress gesture in
the fingerprint view controller.

Ideally we'd never receive corrupted messages, but at the point we do,
our sessions are out of whack, and the only recovery option is to reset.
Let's help our users do that.

* Resetting session sends END_SESSION message

  Otherwise the remote side wouldn't know we reset the session and will
  send us a message on the old ratchet.

* Don't reset their identity key when resetting sender ratchet.

* Updated translations

// FREEBIE
2016-11-04 14:57:37 -04:00