Commit Graph

4294 Commits

Author SHA1 Message Date
Matthew Chen
fcdec10898 Mark messages as read in batches. 2020-05-22 10:54:42 -03:00
Matthew Chen
6dc6c0d10d Refine "pending invites" behavior. 2020-05-22 09:40:22 -03:00
Matthew Chen
b84bd3c2a6 Refine "who can revoke invites" behavior. 2020-05-22 09:40:22 -03:00
Matthew Chen
1bb7ad161d Add internal UI for manipulating groups v2 membership access. 2020-05-22 09:40:22 -03:00
Matthew Chen
6a2a7645ce Message send failures are not fatal to group updates. 2020-05-22 09:40:22 -03:00
Matthew Chen
50d0463948 Show UUID indicators in .qa builds. 2020-05-22 09:40:22 -03:00
Nora Trapp
58c004f97b Feature flags for internal
This reverts commit 1580ad7951.
2020-05-21 13:50:36 -07:00
Nora Trapp
1580ad7951 Feature flags for production
This reverts commit ec2f9a9309.
2020-05-21 12:36:14 -07:00
Nora Trapp
49be01a6c9 Add setting to disable PIN reminders 2020-05-21 11:55:36 -07:00
Nora Trapp
ec2f9a9309 Feature flags for internal
This reverts commit c6468940ae.
2020-05-19 21:08:41 -07:00
Nora Trapp
276f10460f Disable transfer "throwaway" mode 2020-05-19 20:45:01 -07:00
Matthew Chen
c6468940ae Set feature flags for production. 2020-05-19 20:41:52 -07:00
Matthew Chen
8dad46c595 Bench the ready flag groups. 2020-05-19 20:40:46 -07:00
Matthew Chen
8838256a0f Refine handling of group changes. 2020-05-19 15:49:36 -03:00
Matthew Chen
a6fca0a7c9 Refine handling of group changes. 2020-05-19 15:49:36 -03:00
Matthew Chen
366b5a7368 Refine handling of group changes. 2020-05-19 15:49:36 -03:00
Matthew Chen
47fadca6ab Compare embedded revision proto with group context revision. 2020-05-19 15:49:36 -03:00
Matthew Chen
e7bff3cc2e Refine group change processing. 2020-05-19 15:49:36 -03:00
Matthew Chen
a5c8aa2b54 Refine group change processing. 2020-05-19 15:49:36 -03:00
Matthew Chen
e4b44c2ad3 Set 'messages requests' feature flag in internal gv2 builds. 2020-05-19 10:04:44 -03:00
Nora Trapp
16c04e1610 Primary device transfer UI flows 2020-05-18 20:48:08 -07:00
Nora Trapp
b32db0f74d Enable transfer capability 2020-05-18 20:48:08 -07:00
Nora Trapp
59c0f9d091 Device Transfer Service 2020-05-18 20:48:08 -07:00
Ehren Kret
84852a2a2e Do not call setCdnKey on the builder if cdnKey is empty string
Doing this causes the protobuf library to emit a cdnKey in the wire
format which then shows up as non-null on other platforms where only
null state of the cdnKey is being checked instead of non-empty.
2020-05-15 16:32:22 -07:00
Matthew Chen
1eda594dad Set feature flags for internal testing of groups v2 on production. 2020-05-15 15:44:41 -07:00
Matthew Chen
e66da658e1 Avoid 'unknown' user labels in group update copy. 2020-05-15 15:42:46 -07:00
Matthew Chen
a682a6edc3 Merge user profiles when merging signal recipients. 2020-05-15 15:42:46 -07:00
Matthew Chen
0d95310eaf Send invalid group updates from the debug UI. 2020-05-15 18:14:46 -03:00
Matthew Chen
1ad4a5b9ae Retain all promises until complete. 2020-05-15 18:13:12 -03:00
Nora Trapp
205e32b1f5 Fix KBS registration bug 2020-05-14 11:31:59 -07:00
Matthew Chen
ab5c781723 Respond to CR. 2020-05-11 11:46:08 -03:00
Matthew Chen
9a19a5c18a Respond to CR. 2020-05-11 10:34:16 -03:00
Matthew Chen
8f468dce67 Respond to CR. 2020-05-11 10:29:13 -03:00
Matthew Chen
80be78e6c3 Respond to CR. 2020-05-11 10:26:30 -03:00
Matthew Chen
f8b9b209ff Respond to CR. 2020-05-11 10:19:52 -03:00
Matthew Chen
58bbe587d3 Add TSIncomingMessageBuilder. 2020-05-11 09:28:13 -03:00
Matthew Chen
852a80953e Add TSIncomingMessageBuilder. 2020-05-11 09:28:13 -03:00
Matthew Chen
9501f252a1 Add TSIncomingMessageBuilder. 2020-05-11 09:28:13 -03:00
Matthew Chen
255cfe1cfd Add TSIncomingMessageBuilder. 2020-05-11 09:28:13 -03:00
Matthew Chen
c2cb189e16 Add TSIncomingMessageBuilder. 2020-05-11 09:28:13 -03:00
Matthew Chen
fad9510dbe Add TSIncomingMessageBuilder. 2020-05-11 09:28:13 -03:00
Matthew Chen
5d8f3513a1 Add TSIncomingMessageBuilder. 2020-05-11 09:28:13 -03:00
Matthew Chen
ea9db2359e Introduce "Ready flag". 2020-05-11 09:25:06 -03:00
Matthew Chen
bb67c1e04e Introduce "Ready flag". 2020-05-11 09:25:06 -03:00
Nora Trapp
fc98aedbd3 Adjust multi-ring feature flags for initial release. 2020-05-08 15:57:48 -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
Nora Trapp
a41b5f9a7b Add UI support for declined and busy elsewhere
Ensure onboarding is marked as complete after linking
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
Peter Thatcher
91dd820b3f Pass remote device ID to RingRTC 2020-05-08 15:50:49 -07:00