Commit Graph

5854 Commits

Author SHA1 Message Date
Matthew Chen
e552062be8 Refine error handling in group profile fetching. 2021-04-05 16:22:26 -03:00
Matthew Chen
4c082f1aed Bump GRDB schema version. 2021-04-04 12:13:16 -03:00
Nora Trapp
d4ca67bd82 Feature flags for .qa. 2021-04-01 15:13:40 -07:00
Nora Trapp
3b49a03a5f Feature flags for .beta. 2021-04-01 15:13:30 -07:00
Nora Trapp
0ef7fc24e6 Revert database recovery attempts, just flag when we detect corruption and prevent app launch. 2021-04-01 12:50:41 -07:00
Nora Trapp
722675525d Change device transfer hotswap to avoid database corruption. 2021-04-01 12:50:41 -07:00
Nora Trapp
db5532b590 protect database recovery from orphan data cleaner 2021-04-01 12:50:41 -07:00
Nora Trapp
4e535fa7ef Make database recovery async 2021-04-01 12:50:41 -07:00
Nora Trapp
0fee67ae60 Attempt to recover database if corruption was detected 2021-04-01 12:50:41 -07:00
Matthew Chen
71c2f5280b Feature flags for .qa. 2021-04-01 10:36:52 -03:00
Matthew Chen
12275aefda Feature flags for .beta. 2021-04-01 10:36:30 -03:00
Matthew Chen
63ec24c37d Feature flags for .qa. 2021-03-31 00:41:43 -03:00
Matthew Chen
03e9fa460d Feature flags for .beta. 2021-03-31 00:40:35 -03:00
Matthew Chen
8effc2be5f Feature flags for .qa. 2021-03-29 06:56:54 -03:00
Matthew Chen
e9ba4fc40b Feature flags for .beta. 2021-03-29 06:56:47 -03:00
Nora Trapp
fa86b71ec7 Don't start message fetch job in share extension 2021-03-27 12:22:58 -07:00
Nora Trapp
c40a786050 Fix extensions in post YDB world 2021-03-27 12:13:20 -07:00
Nora Trapp
6c17505b68 Sync mute with storage service 2021-03-27 12:13:20 -07:00
Nora Trapp
63da30f617 Store mute as millisecond timestamp 2021-03-27 12:13:20 -07:00
Nora Trapp
6a9e10a62d Add eight hour and always mute options. 2021-03-27 12:13:20 -07:00
Nora Trapp
2e9c651355 Add an internal setting to keep muted chats archived when receiving new messages 2021-03-26 16:17:17 -07:00
Nora Trapp
3d526f6c41 Add more logging to EarlyMessageManager 2021-03-26 16:15:49 -07:00
Matthew Chen
98d0149095 Fix broken tests. 2021-03-25 14:28:27 -03:00
Matthew Chen
b116d40a8c Respond to CR. 2021-03-25 13:31:45 -03:00
Matthew Chen
86b8eb08b8 Remove YapDatabase.
Apply asset from design.

Fix rebase breakage.
2021-03-25 11:41:16 -03:00
Matthew Chen
0ff23b8f21 Clean up app readiness. 2021-03-25 10:52:31 -03:00
Matthew Chen
b4aa2aa1c3 Clean up app readiness. 2021-03-25 09:36:16 -03:00
Matthew Chen
5a38487b40 Make dependency accessors final where possible. 2021-03-25 09:24:27 -03:00
Matthew Chen
211b93581b Rework dependency access. 2021-03-25 09:24:27 -03:00
Matthew Chen
d0cbf8cfd0 Rework dependency access. 2021-03-25 09:24:27 -03:00
Matthew Chen
af1e1d0eb3 Rework dependency access. 2021-03-25 09:24:27 -03:00
Jordan Rose
e4dc5ee9b3 Remove 'SignalClient.' prefixes where no longer needed 2021-03-22 16:19:46 -07:00
Jordan Rose
1a55d29922 Prefix AxolotlKit session model classes with "Legacy"
PreKeyRecord, PreKeyBundle, and SignedPreKeyBundle are still used
outside of serialized sessions, so it doesn't make sense to mark them
"Legacy" just yet. Additionally, the keyed archiver overrides have to
be set up before any instances are unarchived, which is trickier for
these remaining model types.
2021-03-22 16:19:31 -07:00
Jordan Rose
57eb94cf60 Strip out unneeded parts of the AxolotlKit model classes
- Remove Chain protocol
- Delete most SessionState mutators
- Expose SessionState.receivingChains directly
- Remove ChainAndIndex class
2021-03-22 16:19:05 -07:00
Jordan Rose
6ddd3ce184 SSK: Remove SPKProtocolContext
Brought over for convenience in the previous commit, but no longer
needed now that everything's in one framework.
2021-03-22 16:18:29 -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
Jordan Rose
69d94a7719 SSK: Migrate TestProtocolRunner to SignalClient
Previously this manually initialized two sessions through an
AxolotlKit-provided helper. Rather than expose a similar helper for
SignalClient, TestProtocolRunner now sends an empty message in both
directions to initialize the sessions.
2021-03-22 16:10:42 -07:00
Matthew Chen
78c2bc9090 Feature flags for .qa. 2021-03-17 21:47:04 -03:00
Matthew Chen
20b75269b7 Feature flags for .beta. 2021-03-17 21:47:00 -03:00
Matthew Chen
ce291aa84a Feature flags for .production. 2021-03-17 21:46:50 -03:00
Matthew Chen
f3f7eb3386 Fix issue around profile key updates for groups with stale group state. 2021-03-17 19:18:38 -03:00
Matthew Chen
a322c1f25e Feature flags for .qa. 2021-03-16 20:01:39 -03:00
Matthew Chen
f589ad3461 Feature flags for .beta. 2021-03-16 20:00:03 -03:00
Matthew Chen
07582ad16d Feature flags for .qa. 2021-03-15 17:04:45 -03:00
Matthew Chen
14095f84b4 Feature flags for .beta. 2021-03-15 17:04:37 -03:00
Matthew Chen
9be2b05243 Feature flags for .qa. 2021-03-15 08:05:50 -03:00
Matthew Chen
c14cee7e74 Feature flags for .beta. 2021-03-15 08:05:44 -03:00
Nora Trapp
02ed5b3ac6 PR Feedback 2021-03-12 17:07:19 -08:00
Matthew Chen
6f737748e9 Avoid profile key conflicts. 2021-03-12 17:05:02 -08:00
Nora Trapp
4743cf9af3 PR Feedback 2021-03-12 16:59:56 -08:00