Commit Graph

4259 Commits

Author SHA1 Message Date
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
Matthew Chen
553fca16f6 Merge branch 'release/3.8.4' 2020-05-08 16:13:17 -03:00
Matthew Chen
ca9e1fa75b Set feature flags for internal testing of groups v2 on production. 2020-05-08 16:07:24 -03:00
Matthew Chen
d07e1cb588 Revert "Cautious message processing."
This reverts commit f106748898.
2020-05-08 16:06:03 -03:00
Matthew Chen
f106748898 Cautious message processing. 2020-05-08 16:03:08 -03:00
Matthew Chen
7d219b410b Set feature flags for production. 2020-05-08 16:00:49 -03:00
Matthew Chen
cdc194e6ad Set flags for staging build with groups v2 enabled. 2020-05-08 15:36:12 -03:00
Nora Trapp
a590bda73d Always use UUID capable sender certificate 2020-05-07 14:15:16 -07:00
Matthew Chen
9f8e32e070 Merge remote-tracking branch 'private/release/3.8.3' 2020-05-07 16:55:09 -03:00
Matthew Chen
326bace5fd Respond to CR. 2020-05-07 11:22:29 -03:00
Matthew Chen
f7be178b41 Leverage session sender key indices when merging recipients. 2020-05-07 11:21:23 -03:00
Matthew Chen
e84168fa68 Merge remote-tracking branch 'private/release/3.8.2' 2020-05-05 13:38:30 -03:00
Matthew Chen
58269ecd4b Set feature flags for internal testing of groups v2 on production. 2020-05-04 22:29:42 -03:00
Matthew Chen
3d4dfa431c Set feature flags for production. 2020-05-04 22:29:23 -03:00
Nora Trapp
1fa5c8bc45 Disallow sequential and repeating pins 2020-05-04 18:23:37 -07:00
Matthew Chen
8755b371c1 Try to reduce 0x8badf00d crashes by performing "app did become ready" block one-by-one.; Reduce overall frequency of checkpoints. 2020-05-04 22:02:23 -03:00
Matthew Chen
1e14d5280e Revert "Try to reduce 0x8badf00d crashes."
This reverts commit 7bf766917d.
2020-05-04 22:02:23 -03:00
Matthew Chen
98ed07e91e Improve signal recipient retention heuristics. 2020-05-04 22:01:35 -03:00
Matthew Chen
25a7be2fb5 Refine remote notifications. 2020-05-04 22:00:55 -03:00
Matthew Chen
3ab6fc4823 Tweak feature flags for internal testing. 2020-05-01 17:27:00 -03:00
Matthew Chen
e541466913 Add requireUUIDs feature flag. 2020-05-01 17:15:02 -03:00
Matthew Chen
2b987f994a Merge remote-tracking branch 'private/release/3.8.1' 2020-05-01 12:40:28 -03:00
Matthew Chen
06d350faa5 Improve account attribute updates. 2020-05-01 12:18:47 -03:00
Matthew Chen
e223c697b5 Improve account attribute updates. 2020-05-01 12:13:03 -03:00
Matthew Chen
a11aead181 Improve account attribute updates. 2020-04-30 17:55:16 -03:00
Matthew Chen
414414d9dc Set feature flags for internal testing of groups v2 on production. 2020-04-30 16:45:20 -03:00
Matthew Chen
c06095741c Improve visibility around device capabilities. 2020-04-30 16:45:08 -03:00
Matthew Chen
56ae20db81 Tweak visibility of the gv2 capability indicator. 2020-04-30 15:04:23 -03:00
Matthew Chen
454a0a15e4 Set feature flags for development. 2020-04-30 13:26:16 -03:00
Matthew Chen
33b2aa76e2 Set feature flags for internal testing of groups v2 on production. 2020-04-30 13:25:06 -03:00
Matthew Chen
1b77060bc0 Set flags for staging build with groups v2 enabled. 2020-04-30 13:18:49 -03:00
Matthew Chen
48d4501f96 Add gv2 member status indicators. 2020-04-30 13:06:20 -03:00
Matthew Chen
955d8d561f Improve logging around message processing. 2020-04-30 12:30:27 -03:00
Riya Abraham
e2d813cf8d Debug UI for screenshots without assets. 2020-04-29 17:43:16 -03:00
Matthew Chen
51292d4bdf Merge branch 'release/3.8.1' 2020-04-29 14:40:43 -03:00
Matthew Chen
98a822abdd Set feature flags for development. 2020-04-29 14:34:48 -03:00