Commit Graph

387 Commits

Author SHA1 Message Date
Matthew Chen
87ace3779d Respond to CR and proto schema/reconciliation review. 2021-04-06 13:57:06 -03:00
Matthew Chen
02fbe33779 Payments: SSK Business Logic 2021-04-06 13:57:06 -03:00
Matthew Chen
86b8eb08b8 Remove YapDatabase.
Apply asset from design.

Fix rebase breakage.
2021-03-25 11:41:16 -03:00
Matthew Chen
d0cbf8cfd0 Rework dependency access. 2021-03-25 09:24:27 -03: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
Matthew Chen
d325b57bff Respond to CR. 2021-02-24 21:13:25 -03:00
Nora Trapp
651cdef9a8 Remove legacy 'silent' flag 2021-02-12 11:59:35 -08:00
Michelle Linington
ebdf67395e Additional PR Feedback
Our stored avatars are still PNG. Fallback to the png content type and
file extension if the underlying data is png.
2021-02-05 11:11:20 -08:00
Michelle Linington
0b8a8bf864 PR Feedback 2021-02-05 11:07:08 -08:00
Michelle Linington
34e0f99cfd Add additional validation group avatars we receive
Strengthens validation requirements for group avatars a user sets. Also,
checks these requirements on avatars we receive.

Introduces a data migration to drop any large group avatars.

This fixes an issue some users were reporting of jetsaming in the share
extension. All group avatars are stored in-memory on TSGroupModel.
Until we have a better strategy for memory management here, we'll want
to keep group avatars small.
2021-02-05 11:07:08 -08:00
Jordan Rose
05725078f1 SSK: Migrate SSKSessionStore to Swift
This is a no-change migration /except/ that I've dropped entry points
that are unused in the app or tests.
2021-01-28 12:03:50 -08:00
Jordan Rose
45e888826a SSK: Clean up uses of SignalClient now that EC*Key uses SignalClient 2021-01-28 12:03:50 -08:00
Jordan Rose
1ea62f2f50 SSK: Update for 'throws' removal in SignalClient 2021-01-28 12:03:50 -08:00
Jordan Rose
faccd52d93 SSK: Remove workaround from before Curve25519Kit adopted SignalClient 2021-01-28 12:03:50 -08:00
Jordan Rose
1c77cc381c SSK: Use a named constant for provisioning cipher info data 2021-01-28 12:03:49 -08:00
Jordan Rose
afcfff317f SSK: Convert OWSProvisioningCipher to Swift for SignalClient HKDF 2021-01-28 12:03:49 -08:00
Jordan Rose
c620707091 SSK: Switch from HKDFKit to SignalClient.hkdf(...) in Swift sources 2021-01-28 12:03:49 -08:00
Jordan Rose
65cbcca821 Ignore message transcripts for null messages
This can happen when your primary device has used a null message to
reset a session and your secondary device gets it via sync.
2021-01-25 17:05:49 -08:00
Matthew Chen
fe85746aaf Small fixes. 2021-01-21 22:31:08 -03:00
Matthew Chen
a25d29aa6f Overhaul attachment downloads pipeline. 2021-01-21 20:41:08 -03:00
Matthew Chen
3e71eb4cd5 Overhaul attachment downloads pipeline. 2021-01-21 20:41:08 -03:00
Matthew Chen
025fc61cd7 Port attachment downloads logic to Swift. 2021-01-21 20:40:24 -03:00
Matthew Chen
3bb5f0777b Add profile bio fields to database schema. 2021-01-14 22:25:45 -03:00
Matthew Chen
75f6d8b60c Add auto-download settings for media. 2021-01-12 19:28:15 -03:00
Matthew Chen
6f3c92dedd Add auto-download settings for media. 2021-01-12 19:28:15 -03:00
Matthew Chen
252e8425ab Add auto-download settings for media. 2021-01-12 19:28:14 -03:00
Nora Trapp
a0992b9857 Eliminate usage of unsaved SignalRecipients 2020-12-18 19:15:07 -08:00
Nora Trapp
ed69da32aa After a session reset, archive previous sessions instead of deleting them 2020-11-12 17:31:10 -08:00
Matthew Chen
c017e76aab Rename singleton accessors. 2020-09-17 21:11:09 -03:00
Matthew Chen
ad6bda8a44 Rename singleton accessors. 2020-09-17 21:11:07 -03:00
Matthew Chen
7c5043e163 Touch less; touch more carefully. 2020-09-17 17:31:23 -03:00
Matthew Chen
37bc3a7b97 Avoid races when processing incoming messages or sync transcripts around attachment download. 2020-09-01 17:08:59 -03:00
Michelle Linington
02578d7dc0 Fix bracing error 2020-08-31 17:32:17 -07:00
Michelle Linington
4203a50e78 Explicitly touch the interaction on download success 2020-08-31 17:26:45 -07:00
Michelle Linington
5f5549a167 Pull request feedback:
- This changes the `allAttachments` fetch flow to include non-body
attachments.
- Quoted thumbnail fetching for sync messages now happens with the rest
of attachment fetching
2020-08-31 16:36:50 -07:00
Michelle Linington
0b3847f530 IOS-820: Link preview attachments not received on linked device
Fixes an issue where sync transcript messages with "other attachments"
(e.g. link preview attachments and others) would not be downloaded when
handling a received sync transcript message.

This change adopts similar attachment handling to what is performed when
handling a data message. See, -[OWSMessageManager
handleReceivedEnvelope:withDataMessage...].
2020-08-31 15:16:49 -07:00
Matthew Chen
dd279beb5c Clean up censorship circumvention. 2020-08-20 15:40:34 -03:00
Nora Trapp
cb3fe88e1b Fix mentions in sent transcripts 2020-08-06 09:58:12 -07:00
Nora Trapp
9696671f8a Add trustLevel to SignalServiceAddress 2020-08-05 14:36:43 -07:00
Nora Trapp
a4673cc86a Fix group v1 membership for desktop 2020-07-27 11:38:12 -07:00
Nora Trapp
f3b5d882c2 Group v1 state operates only in e164 2020-07-24 13:15:32 -07:00
Nora Trapp
c5214e38b6 Add Codable adherance to proto wrappers 2020-07-22 14:34:24 -07:00
Matthew Chen
fc82a11ccf Clean up naming around profile fetches. 2020-07-08 11:04:01 -03:00
Matthew Chen
2a72d563ae Respond to CR. 2020-06-18 12:22:14 -03:00
Matthew Chen
b37c2bc713 Rework SDS extensions to support deep copies and cache lifecycle. 2020-06-18 12:05:07 -03:00
Matthew Chen
577b0acf20 Merge remote-tracking branch 'private/release/3.10.6' into release/3.11.0 2020-06-11 15:33:09 -03:00
Matthew Chen
0891ce52e1 Copy model read cache values. Add deepCopy method to all models. 2020-06-11 13:22:16 -03:00
Matthew Chen
c49a977d3e Merge branch 'release/3.10.3' into release/3.11.0 2020-06-07 15:01:54 -03:00
Nora Trapp
ad64727ecc Evacuate early message cache after memory warning 2020-06-07 10:05:07 -07:00
Matthew Chen
ba801f05ce Label the "slow write transactions" logging with the source of the transaction. 2020-06-07 10:37:55 -03:00