Commit Graph

218 Commits

Author SHA1 Message Date
Evan Hahn
088c3e5d85 Remove unused relay field from envelope proto 2022-07-29 11:35:55 -05:00
Nora Trapp
2ab53b2b14 Sync story distribution lists 2022-07-15 15:05:03 -07:00
Sasha Weiss (Signal)
9334ed3077
Ban and unban users as part of add/remove/deny group actions 2022-07-15 09:41:19 -07:00
Max Radermacher
369118b045 Add support for replying to gift messages 2022-07-07 10:49:20 -07:00
Nora Trapp
477f312c1e Send and receive sync transcripts for story messages 2022-06-24 00:35:31 -04:00
george-signal
e528ea8824
Add source device to manifest record
* Populate the source device in manifests we create.
* Log the source device in manifests we fetch.
2022-06-23 17:50:44 -07:00
Jordan Rose
1c82df3bc9 Protos: Remove unused fields from DataMessage.Quote
These were never added to other clients, so we shouldn't be using
them.
2022-06-03 10:34:21 -07:00
Max Radermacher
fa99be971d
Add GiftBadge to SignalService.proto 2022-05-27 13:32:09 -07:00
Sasha Weiss (Signal)
0a089cb63c
Make "Keep Muted Chats Archived" option available publicly 2022-05-26 10:44:43 -04:00
Jordan Rose
4c8d7662a6 Add OWSIdentityManager.shouldSharePhoneNumber(with:transaction:)
When someone sends a message to your PNI, your responses (from your
ACI) must include a PNI signature, and the sealed sender certificate
you use during this period should include your phone number. This
confirms to the other user that your ACI is associated with your PNI.

This commit adds the state tracking that and ensures that both
TSOutgoingMessage and OWSUDManager check that state when building 1:1
messages and choosing certificates, respectively. Later commits will
set and clear this flag as needed.
2022-05-19 14:20:53 -07:00
Jordan Rose
a43f005d8d Add initial support for the PniIdentity sync message
This communicates the PNI identity key to existing linked devices,
which is important for linked devices to initially learn about a PNI,
or for the change of identity that comes with changing your number
(and therefore your PNI). The exact contents of this message will
probably change going forward, but here's a baseline to work off of.
2022-03-23 11:48:08 -07:00
Jordan Rose
30adb219d6 Recognize destinationUuid on envelopes, and filter out non-ACI
We're very close to being able to decrypt messages sent to our PNI,
but *until* that point it's best to just drop any such messages. This
should make testing easier.
2022-03-18 14:15:00 -07:00
Jordan Rose
1c252fd6f6 Add PNI-related fields to the ProvisioningMessage proto
This allows linked devices to receive the PNI identity key as part of
provisioning.
2022-03-18 13:03:55 -07:00
Dimitris Apostolou
62724cf0be Fix typos 2022-03-18 11:31:06 -07:00
Nora Trapp
626f1e2d23 Add StoryMessage protos 2022-03-16 17:50:01 -07:00
Michelle Linington
886a9f8e6f Generate CDS protos 2022-02-22 12:41:04 -08:00
Nora Trapp
dc788cd347 Ignore messages with StoryContext 2022-01-26 10:28:52 -08:00
Jordan Rose
58a688ad61 Lazily deserialize individual group changes
If there are several group changes being returned at once,
deserializing all of them up front can lead to excessive memory use,
especially for very large groups. This commit switches to
deserializing each change as it is used, which doubles the amount of
CPU work (because we loop through the changes twice) in exchange for
only ever having one Change object graph in memory at a time. It does
also mean we can get a protobuf deserialization error a bit later in
the process if the data is ever corrupted, but that shouldn't cause
additional issues at these particular call sites.
2022-01-20 12:00:50 -08:00
Jordan Rose
390119b54d Sync preferred reactions through storage service 2022-01-03 15:35:37 -08:00
Nora Trapp
9ed5e74b79 Sync additional badge info with storage service 2021-12-17 13:54:20 -08:00
Eugene Bistolas
61989e9363 [Badging] Signal devices when subscription status changes 2021-12-02 21:04:47 -10:00
Matthew Chen
d748616977 Change phone number. 2021-11-19 14:28:20 -03:00
Matthew Chen
fc749b4d72 Change phone number. 2021-11-19 14:28:18 -03:00
Eugene Bistolas
858e3ef1c6 [Badging] Set up new subscription on server / stripe 2021-11-09 14:25:55 -08:00
Michelle Linington
5093871fe7 Update opaque call message
RingRTC will now vend the urgency of an incoming opaque call message. We
can use this to determine whether or not we want the NSE to wake the
main app.
2021-09-01 12:51:39 -07:00
Michelle Linington
2eb60643b7 Sender key decryption failure handling
Most of the work for message resend requests. Includes some rudimentary
failure UI.
2021-07-21 22:58:51 -07:00
Michelle Linington
da87de61ef Add protos for sender key messages 2021-07-21 22:58:50 -07:00
Matthew Chen
f211c02248 Respond to CR. 2021-07-13 12:59:37 -03:00
Matthew Chen
8ecbc8f0fd Announcement-only groups. 2021-07-13 11:42:52 -03:00
Matthew Chen
121c5500f1 Announcement-only groups. 2021-07-13 11:42:51 -03:00
Michelle Linington
9d48892965 Update gif proto
The GIF flag in the attachment flag proto was incremented to work around
an android bug.
2021-06-21 15:18:00 -07:00
Matthew Chen
bfe0308485 Update GIF attachment flag. 2021-05-19 14:55:26 -03:00
Nora Trapp
1e40ec144d Add support for group descriptions 2021-05-17 09:58:35 -03:00
Nora Trapp
9dcf0772da Add description to Groups proto 2021-05-17 09:58:35 -03:00
Nora Trapp
a365b45522 Add support for viewed receipts 2021-04-29 18:01:18 -07:00
Nora Trapp
9475658233 Sync universal expire timer 2021-04-29 15:46:43 -07:00
Michelle Linington
054c7a0b0c MP4 looping media support
- Fetch mp4s from Giphy for showing previews
- Fetch mp4s from Giphy for sending (behind featuree flag)
- A new flag on attachments to tag a video as "looping media"
- Videos tagged with this flag will be shown on repeat
2021-04-22 14:53:47 -07:00
Matthew Chen
24802f75bd Sign public payment address. 2021-04-06 13:57:10 -03:00
Matthew Chen
3ddeb4fae0 Reduce size of payment sync messages, enforce more model invariants, fill in missing ledger block timestamps in reconciliation. 2021-04-06 13:57:08 -03:00
Matthew Chen
94bcff84e7 Defragmentation. 2021-04-06 13:57:07 -03:00
Matthew Chen
590067499a Payments entropy, storage service, backup + restore flows.
* Update how payments state is stored in storage service.
* Build 'view passphrase' UI flow.
* Build 'restore payments wallet' UI flow.
* Rework the 'view passphrase' UI flow.
2021-04-06 13:57:07 -03:00
Matthew Chen
87ace3779d Respond to CR and proto schema/reconciliation review. 2021-04-06 13:57:06 -03:00
Matthew Chen
2d0fdff372 Payments: Update proto schema. 2021-04-06 13:57:06 -03:00
Nora Trapp
6c17505b68 Sync mute with storage service 2021-03-27 12:13:20 -07:00
Nora Trapp
26253a0a27 Set the proto address during initialization 2021-02-16 13:05:13 -08:00
Jordan Rose
2a8206b7dd SSK: Fix session migration for absent pre-key IDs
Doing this correctly means going "back" to proto2 for SessionRecords,
because we need to distinguish between "0" and "absent" in the
serialized protobuf data. (Note that we can do this independently of
SignalClient properly making this distinction because the proto3
implementation we're using, prost, will omit scalar proto3 fields
whose values match their defaults.)
2021-01-28 12:03:50 -08:00
Jordan Rose
77257beacc Implement AxolotlKit<->SignalClient SessionRecord migration
This is accomplished by serializing into and out of the protobuf
format used by SignalClient.
2021-01-28 12:03:50 -08:00
Michelle Linington
7694423c4d Add a preference for contact/profile avatars 2021-01-12 16:29:29 -08:00
Matthew Chen
111338b59d Rewrite conversation view. 2020-12-10 12:44:13 -03:00
Michelle Linington
8998b1e767 Add eraId to GroupCallUpdate messages
By including eraId in GroupCallUpdate messages, we're able to identify
separate group calls after the fact. Each unique eraId will result in a
new entry in the database, even if the group call has since ended.
2020-11-24 20:59:37 -08:00