Commit Graph

201 Commits

Author SHA1 Message Date
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
Matthew Chen
62723c9b64 Update service protos. 2020-11-24 13:49:08 -03:00
Michelle Linington
2054d49f91 Add GroupCallUpdate proto definition 2020-11-19 16:02:22 -08:00
Nora Trapp
723ea9c95f Allow RingRTC to send/receive opaque call messages 2020-11-05 12:25:49 -08:00
Nora Trapp
bf8508c30b Add logic for fetching real group credentials 2020-10-15 14:49:48 -07:00
Nora Trapp
898155b794 Merge branch 'release/3.16.0' 2020-09-03 18:56:52 -07:00
Michelle Linington
be9b96bf4b PR Feedback: align proto definition 2020-09-03 18:19:20 -07:00
Michelle Linington
1405e46e62 IOS-823: Add description/date to link preview model
Updates the proto definition to add a preview description and date
field. Date and description metadata from fetched content will be sent
over the wire. We can't render it locally yet, but at least this will
allow supporting recipients to display the content.

Also, made some minor changes to HTMLMetadata to better handle article
publish/modified date tags.
2020-09-03 18:19:20 -07:00
Nora Trapp
5187738c3d Conversation Pinning 2020-09-02 14:13:05 -07:00
Matthew Chen
7a25466287 Update proto schema for animated stickers. 2020-09-02 13:44:12 -03:00
Matthew Chen
38312c0e7b Fix 'join group via invite link that requires approval' issue. 2020-09-01 18:06:48 -03:00
Matthew Chen
5e6c7fe60e Fix whitespace in proto schema. 2020-09-01 17:11:09 -03:00
Matthew Chen
ed6ec5362d Add group link view. 2020-09-01 17:11:09 -03:00
Matthew Chen
318d843da4 Add GroupInviteLink and GroupJoinInfo to proto schema. 2020-09-01 17:11:08 -03:00
Matthew Chen
d87b07103d Update protos for group links. 2020-09-01 17:11:07 -03:00
Nora Trapp
3544a0020f Invert storage service discoverability flag 2020-08-28 09:24:55 -07:00
Nora Trapp
976dcfe7c8 Invert storage service discoverability flag 2020-08-28 09:23:32 -07:00
Michelle Linington
ca8997d237 Fix rebase failure with StorageService proto
Also, re-run protobuf generation with swift-protobuf-1.8.0 to reduce a
bunch of diff noise. If we decide to migrate, we should do that in a
separate commit.
2020-08-26 17:25:32 -07:00