Commit Graph

2721 Commits

Author SHA1 Message Date
Matthew Chen
a883ea6ef1 Move writes off of main thread. 2020-06-07 14:51:30 -03:00
Nora Trapp
ad64727ecc Evacuate early message cache after memory warning 2020-06-07 10:05:07 -07:00
Nora Trapp
b6f27bc463 Better attachment querying 2020-06-07 09:35:08 -07:00
Nora Trapp
ebc2943f80 Don't show the blur tooltip for non-editable attachments 2020-06-04 08:36:09 -07:00
Nora Trapp
8faa8327ea Downscale images before blurring to ensure consistent blur strength 2020-06-04 08:32:11 -07:00
Nora Trapp
8944e8517e Finalize blur tool UI 2020-06-03 14:15:36 -07:00
Nora Trapp
93226a1346 Blur tool with auto face blur 2020-06-03 12:21:17 -07:00
Nora Trapp
422eeba96d Change default drawing color to red 2020-06-01 13:10:45 -07:00
Nora Trapp
e60039b06d Increase avatar max dimensions to 1024 2020-06-01 13:10:45 -07:00
Nora Trapp
12b54a90af Allow reacting with any emoji 2020-06-01 12:52:59 -07:00
Nora Trapp
1a15419594 Custom Emoji Picker View 2020-06-01 12:52:59 -07:00
Nora Trapp
3d084f958d Mark as unread 2020-05-27 18:29:59 -07:00
Nora Trapp
57a810658a Goodbye iOS 10 2020-05-27 17:34:32 -07:00
Nora Trapp
dc184f5a93 Merge branch 'release/3.9.0' 2020-05-26 22:08:17 -07:00
Matthew Chen
870d1047c4 Minor improvements to groups v2. 2020-05-26 19:23:50 -07:00
Nora Trapp
b104082f0d Merge branch 'release/3.9.0' 2020-05-22 14:12:54 -07:00
Nora Trapp
eac6f89dc5 Remove storage service feature flag 2020-05-22 13:11:14 -07:00
Matthew Chen
6b4f192b1b Remove usage of retainUntilComplete. 2020-05-22 09:51:12 -03:00
Nora Trapp
6ce4dfc83b Delete for Everyone UI 2020-05-21 13:59:47 -07:00
Nora Trapp
c320b5921f Add updated icons 2020-05-19 20:39:52 -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
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
Nora Trapp
59c0f9d091 Device Transfer Service 2020-05-18 20:48:08 -07:00
Matthew Chen
9c1cf967be Notifications for errors. 2020-05-18 15:26:22 -03: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
f9a38115ad Send invalid group updates from the debug UI. 2020-05-15 18:21:16 -03: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
Matthew Chen
81db9e37f9 Fix thread safety issues in 'restore groups' logic. 2020-05-15 10:06:19 -03:00
Matthew Chen
ab5c781723 Respond to CR. 2020-05-11 11:46:08 -03:00
Matthew Chen
8f468dce67 Respond to CR. 2020-05-11 10:29:13 -03:00
Matthew Chen
f8b9b209ff Respond to CR. 2020-05-11 10:19:52 -03:00
Matthew Chen
fad9510dbe Add TSIncomingMessageBuilder. 2020-05-11 09:28:13 -03: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
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
ca640748a9 Nag iOS 10 users to upgrade to iOS 11. 2020-05-08 15:43:21 -03:00
Matthew Chen
9f8e32e070 Merge remote-tracking branch 'private/release/3.8.3' 2020-05-07 16:55:09 -03:00
Matthew Chen
f64d2d75cc Don't let users quote-reply with a view-once message. 2020-05-07 11:20:40 -03:00
Matthew Chen
e84168fa68 Merge remote-tracking branch 'private/release/3.8.2' 2020-05-05 13:38:30 -03: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
2b987f994a Merge remote-tracking branch 'private/release/3.8.1' 2020-05-01 12:40:28 -03:00
Matthew Chen
88942d164e Use separate operation queues for "immediate" and "after message processing" group update operations. 2020-04-30 12:30:27 -03:00
Matthew Chen
51292d4bdf Merge branch 'release/3.8.1' 2020-04-29 14:40:43 -03:00
Matthew Chen
7baec015aa Update to ZKGroup v0.7.0. 2020-04-28 16:47:27 -03:00