Commit Graph

173 Commits

Author SHA1 Message Date
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
Michelle Linington
17c166b918 Update proto to re-include legacy link previews flag
After some discussion, it was determined that we'd need to keep this
around to ensure that we'll eventually resolve any unknown fields.
Leaving around an unregistered flag will permanently leave us with an
unknown proto field.
2020-08-26 16:46:43 -07:00
Michelle Linington
d20011aeb8 IOS-791: Megaphone for updated link previews
This change:
- Disables link previews on upgrade
- Introduces a new megaphone to prompt users to re-enable link previews
- Updates sync message proto to add a v2 link previews flag
2020-08-26 16:44:51 -07:00
Nora Trapp
f968d6a12a Storage service support for phone number sharing and discoverability 2020-08-26 16:29:29 -07:00
Nora Trapp
9696671f8a Add trustLevel to SignalServiceAddress 2020-08-05 14:36:43 -07:00
Nora Trapp
ecdc9b63c1 Mention protos 2020-07-30 11:23:45 -07:00
Matthew Chen
a5697ec16f Update Cocoapods. 2020-07-30 09:22:21 -03:00
Jim Gustafson
e052054592 Update protobufs for opaque and adjust APIs 2020-07-29 14:09:34 -03:00
Nora Trapp
a4673cc86a Fix group v1 membership for desktop 2020-07-27 11:38:12 -07:00
Matthew Chen
4a147c83d4 Tweak the "apply group change" logic. 2020-07-24 17:49:46 -03:00
Nora Trapp
05d6b57616 Render memoji, bitmoji, etc. as stickers 2020-07-06 11:43:35 -07:00
Nora Trapp
1a8fb3b2e6 Update protos with need permission hangup type 2020-07-06 11:41:28 -07:00
Nora Trapp
3d084f958d Mark as unread 2020-05-27 18:29:59 -07:00
Matthew Chen
a5c8aa2b54 Refine group change processing. 2020-05-19 15:49:36 -03:00
Nora Trapp
59c0f9d091 Device Transfer Service 2020-05-18 20:48:08 -07:00
Jim Gustafson
e2fc8bc47f Add minor changes to protocol buffer definition 2020-05-08 15:50:50 -07:00
Jim Gustafson
6806bd4d9f Adjust protocol definitions
Added a new field destinationDeviceId to the protocol buffer for
CallMessage.

Added supporting logic of setting it when sending.

Added a catch when receiving: If the field is defined, then use it
and check the local deviceId and if not a match, drop the message
since it is not for this device.

Changed naming to be more explicit.

Removed the FeatureLevel definition from the protocol since proto enums
won't be backwards compatible if updated. Instead, adding boolean flags
instead. For this release, the feature supported is multi-ring, so a
multiRing flag is defined instead of a feature level.

The supportsMultiRing value is persisted through to RingRTC. There is
no more need to translate between the enumerations anymore.

Added prefix naming for proto enums since the namespace is shared.

Removed defaults since they are already the desired default values.

When sending messages, using a nullable unsigned integer type instead
of a flag and value pair. This simplifies the function calls, although
some NSNumber extensions were required on the Swift side.
2020-05-08 15:50:49 -07:00
Jim Gustafson
60e619562e Update protocol buffer and behavior for multi-ring
Add type for Hangup messages, to reflect either normal hangup or hangup
because the call was accepted elsewhere.

Add type to Offer messages, which is used to indicate the type of call
that is being originated, either an audio call (the same as all legacy
calls) or a video call.

Add level for all messages, which is used to filter feature support,
either legacy or multi-ring behavior.

If the feature level for the Call Message is detected as legacy, AND if
the device is NOT the primary, drop the incoming Call Message.

Always mark outgoing Call Messages as multi-ring capable.

Adjust RingRTC interfaces to support:
- Call Media Type (default is always audioCall for now)
- The Hangup Type, which can be either normal (i.e. regular hangup) or
  accepted, replacing the removed Accepted message.

Hangups can now be sent out as a legacy messages or new messages. The
format is the same so that legacy clients will ignore 'new' hangups
sent to squelch ringing if they were actually the 'winner'.

Passing information for receivedOffer and receivedAnswer APIs to
indicate if the sender is a legacy sender or not. Legacy here means
someone using the protocol before the FeatureLevel was added to the
prototol for Call Messages.

Passing information to receivedOffer to indicate if the local device
is primary or not. As a result, if the device is receiving the offer
from a legacy device and is non-primary, the offer shall be ignored.
In this case, a new event is fired:

endedIgnoreCallsFromNonMultiringCallers

Co-authored-by: Michael Kirk <michael@signal.org>
2020-05-08 15:50:49 -07:00
Matthew Chen
2ce2504058 Merge remote-tracking branch 'private/release/3.8.0' 2020-04-28 16:01:52 -03:00
Matthew Chen
d3639be383 Use blob protos for encrypted attributes. 2020-04-27 16:23:42 -03:00
Matthew Chen
752bcdd6f9 Use blob protos for encrypted attributes. 2020-04-27 14:48:29 -03:00
Ehren Kret
510a32b98a Enable receiving attachments on CDN 2 2020-04-14 08:54:06 -07:00
Nora Trapp
36bf106730 Proto changes 2020-04-13 12:48:28 -07:00
Ehren Kret
4738201be1 Add CDN key and number to AttachmentPointer proto message 2020-04-09 12:47:23 -07:00
Matthew Chen
74ae71002d Add expiration to attachment pointer protos. 2020-04-02 13:39:01 -03:00
Nora Trapp
89450058b4 More proto changes: flatten and limit account to relevant data 2020-03-24 17:11:02 -07:00
Nora Trapp
6a39e3d174 Sync archived status with storage service 2020-03-24 17:11:02 -07:00
Nora Trapp
0849c45f21 Add support for Account record to storage service 2020-03-24 17:11:01 -07:00
Nora Trapp
e6178d54a6 Use proto3 for storage service 2020-03-24 17:11:01 -07:00