Commit Graph

77 Commits

Author SHA1 Message Date
Jordan Rose
0cb46951fa Build (but don't run) the perf tests along with the regular tests 2021-03-22 16:18:30 -07:00
Jordan Rose
68a27a76e2 Move AxolotlKit model classes into SSK and remove the dependency
We still need the AxolotlKit model classes to migrate old sessions,
but we don't need any of the actual protocol support. This also
means we can drop HKDFKit.

Additionally, we do still use some utilities from AxolotlKit:

- AxolotlExceptions.h: NSException names, should eventually be
  replaced by NSErrors everywhere

- NSData+keyVersionByte.h: prepend/remove public key type byte,
  should eventually be replaced by strong types (ECPublicKey)

- SPKProtocolContext.h: defines the SPKProtocol{Read,Write}Context
  marker protocols, should be replaced by direct use of
  SDSAny{Read,Write}Transaction
2021-03-22 16:17:47 -07:00
Nora Trapp
3669066e42 Begone OWSBatchMessageProcessor 2021-02-23 10:45:50 -08:00
Nora Trapp
7ba48d8484 PR Feedback 2021-02-17 12:00:50 -08:00
Matthew Chen
410b62f508 Add perf test around group membership serialization. 2020-09-01 17:11:08 -03:00
Nora Trapp
36dcaad781 Add 'Profiling' scheme 2020-08-17 08:22:05 -07:00
Matthew Chen
c0547f33d2 Merge remote-tracking branch 'private/release/3.5.0' 2020-02-24 20:29:33 -03: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
Michael Kirk
032feb3b9c speed up FTS deletes/updates 2020-01-14 09:40:45 -07:00
Michael Kirk
9b3ec3b1ca baselines 2020-01-14 09:40:45 -07:00
Orta Therox
f1993e7c79 Convert to using cocoapods-binary for ZXing 2020-01-02 12:03:57 -08:00
Matthew Chen
fc023704c8 Revert accidental schema change. 2019-11-13 14:06:00 -03:00
Matthew Chen
010a8f70e9 Respond to CR. 2019-11-12 15:20:51 -03:00
Matthew Chen
54783c5e40 Fix typo in the "streamline interaction writes" changes. 2019-10-16 14:17:06 -03:00
Matthew Chen
508b371294 Streamline interaction writes. 2019-10-15 11:01:08 -03:00
Matthew Chen
3aa15df598 Elaborate thread mapping perf test. 2019-10-11 09:31:35 -03:00
Matthew Chen
06e310d391 Rework thread mapping updates. 2019-10-11 09:31:35 -03:00
Michael Kirk
ddeb5abae9 update baselines after applying FTS write cache 2019-10-04 14:57:46 -03:00
Michael Kirk
393c66a08d baselines 2019-10-04 14:57:46 -03:00
Michael Kirk
2483f75e4d more efficient uidb updates, fix checkpointing 2019-09-23 16:04:41 -07:00
Michael Kirk
c8d838e90d fix baselines 2019-09-23 16:04:41 -07:00
Michael Kirk
b28dc167f3 GRDB re-index FTS upon touching 2019-09-19 09:16:31 -07:00
Michael Kirk
e0b73416df new baselines to measure pre-existing regression.
Some bisecting shows most of this regression is from: 09e0fc1db
2019-09-19 09:16:31 -07:00
Nora Trapp
6dd8d8b795 PR Feedback 2019-09-16 10:26:01 -07:00
Nora Trapp
a7b8060c53 Add appearance menu with system theme option 2019-09-16 10:26:00 -07:00
Nora Trapp
d72cd3b237 Initial support for building with Xcode 11 + iOS 13 SDK 2019-09-16 10:26:00 -07:00
Michael Kirk
da0b1ba1a8 new baselines 2019-09-04 18:24:44 -06:00
Michael Kirk
6a1188dec8 update baselines 2019-09-04 18:23:01 -06:00
Michael Kirk
1835c0d664 finish baselines for iphone 2019-09-04 18:21:40 -06:00
Michael Kirk
377632f7eb Sending perf test - baseline 2019-09-04 18:21:40 -06:00
Michael Kirk
843339a150 perf test for message processing 2019-09-04 18:21:40 -06:00
Michael Kirk
a0667306f5 adapt to new StatementArgument API 2019-08-29 17:03:46 -06:00
Michael Kirk
967780b5e7 Run perf tests with real-world optimizations 2019-08-29 09:47:52 -06:00
Matthew Chen
e26a8e1bd4 Convert attachments to be any-only. 2019-06-24 15:34:02 -04:00
Michael Kirk
81b31f9640 update xcodeproj for xcode10.2 2019-04-04 13:44:42 -06:00
Michael Kirk
a0770c14c5 baseline perf test for migration 2018-12-19 15:19:02 -07:00
Matthew Chen
bf1f9e706a Exclude date/time and Xcode version info in debug builds to avoid churn. 2018-10-26 15:17:37 -04:00
Matthew Chen
7d727b7ac9 Modify proto wrapper builders to require required fields. 2018-10-01 09:08:23 -04:00
Matthew Chen
8ae200ac21 Fix build breakage around SignalCoreKit. 2018-10-01 09:07:40 -04:00
Matthew Chen
0125535d4d Pull out SignalCoreKit. 2018-10-01 09:06:40 -04:00
Matthew Chen
2ba642c9e9 Ensure fakes/mocks are debug-only. 2018-09-14 14:18:39 -04:00
Michael Kirk
6d92413931 WIP: Run SSK tests
This just configures them to run. They're very broken at the moment.
2018-08-31 12:35:32 -04:00
Michael Kirk
1658812102 TSan config 2018-07-30 12:31:21 -06:00
Michael Kirk
9e348f2a27 update ubsan 2018-07-19 13:41:15 -06: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
Matthew Chen
6bc145ce3a Fix more build warnings. 2018-06-01 17:37:06 -04:00
Michael Kirk
00e5e1b0d6 Fixup some tests
// FREEBIE
2018-04-03 11:29:05 -04:00
Michael Kirk
d22fc664f2 more granular key access
// FREEBIE
2018-01-31 16:08:03 -08:00
Michael Kirk
468dedf581 Use debug configuration when building Signal for tests
allows proper step-through debugging of CocoaPods

// FREEBIE
2018-01-25 11:00:38 -05:00