Commit Graph

228 Commits

Author SHA1 Message Date
Matthew Chen
a097d96164 Fix cocoapods issue around preprocessor definitions. 2020-06-03 11:03:39 -03:00
Nora Trapp
57a810658a Goodbye iOS 10 2020-05-27 17:34:32 -07:00
Matthew Chen
f7be178b41 Leverage session sender key indices when merging recipients. 2020-05-07 11:21:23 -03:00
Matthew Chen
73418e4087 Clean up ahead of PR. 2020-03-17 10:29:28 -03:00
Matthew Chen
f88bf3fb9d Update ZKGroup library to v0.4.0. 2020-03-17 10:29:28 -03:00
Michael Kirk
8a2ae1a8fe force compiler error with missing property synthesis 2020-03-09 16:52:40 -06:00
Michael Kirk
880781c439 update zxing 2020-02-28 14:44:57 -06:00
Michael Kirk
6d71f3a5dc update PromiseKit 2020-02-28 14:44:56 -06:00
Michael Kirk
ed43a667ab remove unnused subset of AFNetworking
some of it's not yet compatible with catalyst, and we don't use it anyway.
2020-02-28 14:44:56 -06:00
Michael Kirk
f198d9037d Merge tag '3.5.0.5' 2020-02-19 19:26:05 -07:00
Michael Kirk
d73210b17f update pods 2020-02-18 11:47:48 -07:00
Nora Trapp
0b583a7df7 Add check to see if blurhash is dark 2020-02-17 18:38:50 -08:00
Nora Trapp
88ac10de05 Notification Service Extension
The NSE should only run on iOS 13.3 or later where the "filtering" entitlement
is available since our notifications don't contain any content and will often
not trigger any user visible content. We control this by setting the deployment
target to iOS 13.3.

This does not handle calls as it's currently impossible to wake the main app or
launch CallKit from within the NSE. Should we reach a point where we need to use
this extension in production the service will need to be able to differentiate
between call and non-call messages and deliver them as VOIP or Vanilla pushes as
appropriate. Alternatively, Apple may introduce some way for us to signal the
main app that a call message has been received.

This does not currently address the potential for the NSE and the main app to be
running and trying to process messages at the same time. As long as the
websocket is connected and the main app is processing messages in a timely
fashion the NSE will never be called since the service will not send pushes for
these messages, but censorship circumvention users and users where the websocket
is disconnected for some reason will legitimately receive pushes and we will
want to process those messages. How we will handle these cases requires further
thought since just terminating the NSE when the app launches is not sufficient.
We could potentially do something like terminate the NSE everytime the main app
runs the message fetcher job which should only happen if either the user
pulls-to-refresh on the conversation list or the websocket is actively connected
and receiving messsages. I plan to address this in a follow-up pull request.

Currently this code will not ever be run since the service never sends vanilla
push notifications. Eventually we will need to add logic into the main app to:
a) detect we're on iOS 13.3 or later and b) update a flag on the service telling
it to stop using VOIP pushes for non-call messages. The API for requesting this
from the service does not yet exist.
2020-01-30 11:44:41 -08:00
Nora Trapp
b7411bcb40 Implement final KBS master key encryption 2020-01-20 16:16:57 -08:00
Michael Kirk
942d912a6f update libPhoneNumber 2020-01-16 11:41:46 -07:00
Michael Kirk
0971fc73d9 update to using https for public repos 2020-01-16 11:05:55 -07:00
Matthew Chen
72f912dce3 Versioned profile changes, etc. 2020-01-08 13:54:54 -03:00
Nora Trapp
1a183e97ad PR Feedback 2020-01-02 12:06:44 -08:00
Orta Therox
f1993e7c79 Convert to using cocoapods-binary for ZXing 2020-01-02 12:03:57 -08:00
Orta Therox
469e169962 Convert to just using CocoaPods for dependencies 2020-01-02 12:03:57 -08:00
Nora Trapp
6299b7506d Using RingRTC podspec to make swift version independent (currently using dev
version of v0.2.0)
2020-01-02 12:01:53 -08:00
Matthew Chen
29150102cb Revert group and profile changes. 2019-12-11 20:41:54 -08:00
Matthew Chen
1817b6b395 Update and fetch versioned profiles. 2019-11-21 13:27:59 -03:00
Matthew Chen
f8c170a785 Respond to CR. 2019-11-20 14:34:24 -03:00
Matthew Chen
add3d0956b Disable bitcode. 2019-11-20 14:11:58 -03:00
Matthew Chen
4813491a26 Versioned profiles, part 1. 2019-11-19 13:41:29 -03:00
Matthew Chen
3db3fa9734 Respond to CR. 2019-10-08 09:17:28 -03:00
Matthew Chen
e9952ddeec Add blur hashes to outgoing attachments. 2019-10-08 09:17:28 -03:00
Matthew Chen
e4d942ef68 Add blurhash pod. 2019-10-08 09:17:27 -03:00
Nora Trapp
2ecb94a5ee Fix stale hash reference for YDB pod 2019-10-05 18:58:01 -07:00
Matthew Chen
23a93181f2 Suppress YDB queue handling during YDB-to-GRDB migration. 2019-09-25 10:10:04 -03:00
Matthew Chen
b2e440d319 Suppress YDB queue handling during YDB-to-GRDB migration. 2019-09-25 10:07:47 -03:00
Nora Trapp
ab2ff4db32 Rewrite audio progress view in swift, add play/pause animation 2019-09-23 17:03:03 -07:00
Nora Trapp
5997c520a5 Update deployment target to iOS 10 2019-09-23 16:59:33 -07:00
Michael Kirk
c3d5aeb64d performance tests only build active arch 2019-09-21 10:11:12 -07:00
Michael Kirk
3eca69ab58 update pod 2019-09-19 16:15:33 -07:00
Michael Kirk
f0bb99b73f get back on mainline GRDB 2019-09-04 18:23:01 -06:00
Michael Kirk
6eb1595e87 update GRDB 2019-09-04 18:23:01 -06:00
Michael Kirk
843339a150 perf test for message processing 2019-09-04 18:21:40 -06:00
Michael Kirk
e6be86bcb1 Fix SignalTest target
So we can respect the value in headers too
2019-08-29 12:07:51 -06:00
Michael Kirk
967780b5e7 Run perf tests with real-world optimizations 2019-08-29 09:47:52 -06:00
Matthew Chen
80b2167cce Update SignalMetadataKit pod. 2019-08-27 16:40:57 -03:00
Michael Kirk
644e3059c9 SMK vs. UUID 2019-07-17 09:23:29 -06:00
Michael Kirk
67c6499aff Fix wrong type, add compiler error flag 2019-07-10 22:52:34 -06:00
Michael Kirk
7a298ed98d Add missing implementations, add error flag 2019-07-10 21:47:04 -06:00
Michael Kirk
cfb8bda66b fixup Pods 2019-06-24 11:58:31 -06:00
Michael Kirk
e370848f08 Integration test for message processing.
Tests from `receivedEnvelopeData`, which is called by e.g. the websocket or the
messageFetcherJob through the message processing pipeline until the UIDatabase
is notified with the new message and thread.

Includes some test helpers to initialize sessions and encrypt/decrypt messages.
2019-06-24 10:19:46 -06:00
Michael Kirk
5493b228b6 update pods 2019-05-30 09:53:37 -06:00
Michael Kirk
976915e538 proper type annotations for mantle model 2019-05-30 09:49:18 -06:00
Michael Kirk
2e6b385e70 Add compiler error on incompatible pointer type warning
Apply -Werror config to Pods as well as Signal.xcodeproj
2019-05-03 17:47:10 -06:00