Commit Graph

756 Commits

Author SHA1 Message Date
Jordan Rose
cc0ad75524 Fix handling of customized emoji reactions with skin tone modifiers
iOS keeps track of the last-used skin tone modifiers for every
reaction emoji you use. Before reactions were customizable, this
applied to the default set of reactions as well: if you went into the
full picker to select a light-skinned thumbs-up, the short picker
would also have a light-skinned thumbs-up from then on, and if you
changed to dark skin or back to "default" (yellow in our font), the
short picker would be updated again.

However, this is *not* how the customized reactions sync'd through
storage service work; those have skin tone modifiers "baked in", so to
speak. These reactions weren't being treated as valid because they
weren't "base" emoji that could have a skin tone applied to them.

This PR changes things so that there are now two possible states:

- You have never customized your reactions on any platform. In this
  case, skin tones continue to follow your most recent choice for that
  emoji from the full picker.

- You *have* customized your reactions, in which case it's assumed
  they already have the skin tones you want. This even allows you to
  have multiple reactions in your default set with the same base emoji
  but different skin tones.

Further commits will remove the special nature of the first state.
2022-01-25 17:33:58 -08:00
Michelle Linington
7567dc146f Lint 2022-01-12 23:19:36 -08:00
Michelle Linington
76f13a4373 Fixes a bunch of unresolved symbol errors
Things succeed when building, but before and after Xcode is littered
with errors.
2022-01-12 23:19:36 -08:00
Michelle Linington
8a19b8ed34 Merge branch 'release/5.26.4' 2021-12-06 13:06:06 -08:00
Michelle Linington
3d695404ab VisibleBadgeIds is now nonnull on PendingProfileUpdate
A nil array would clear badges anyway. This makes things a bit more
explicit. Also improves some logging.
2021-12-06 12:06:19 -08:00
Matthew Chen
cfb5db5812 Discard profile key credentials and temporal credentials when we re-register. 2021-11-19 14:28:27 -03:00
Matthew Chen
e5c4bd3f1b Fix insertion of "change phone number" notifications in groups. 2021-11-19 14:28:27 -03:00
Matthew Chen
fc749b4d72 Change phone number. 2021-11-19 14:28:18 -03:00
Matthew Chen
34be144a78 Improve profile handling. 2021-11-17 14:49:47 -03:00
Michelle Linington
94c05bad09 Actually persist badge settings
- Augment profile settings to actually record the user's badge
  preferences
- Save these changes to the profile endpoint
2021-11-16 09:55:58 -08:00
Matthew Chen
48677fb78f Improved logging around dropped profile avatars. 2021-11-12 09:41:27 -03:00
Matthew Chen
4aec5adac1 Move MobileCoin SDK to SignalUI. 2021-11-02 14:26:04 -03:00
Matthew Chen
bba0517478 Clean up logging. 2021-10-28 13:10:46 -03:00
Matthew Chen
eec119025f Don't cache signal accounts on contacts manager. 2021-10-22 19:09:28 -03:00
Michelle Linington
77b7ea5c40 Fix a whole bunch of warnings 2021-10-21 21:11:26 -07:00
Matthew Chen
91ad7d1df7 Respond to CR. 2021-10-21 09:21:31 -03:00
Matthew Chen
3d7e8a0ba4 Add script to normalize includes and imports. 2021-10-21 09:21:12 -03:00
Matthew Chen
5d780d1589 Apply script to normalize includes and imports. 2021-10-21 09:21:10 -03:00
Matthew Chen
3204a2f805 Add SignalUI framework target. 2021-10-19 09:39:53 -03:00
Matthew Chen
69d21a2121 Add SignalUI framework target. 2021-10-19 09:39:53 -03:00
Matthew Chen
76ffa1b51b Ensure NSE can safely respond to all sync request messages. 2021-10-15 20:14:13 -03:00
Matthew Chen
9e318421b0 Simplify AFNetworking usage. 2021-10-15 10:50:37 -03:00
Matthew Chen
aca85a6d34 Simplify AFNetworking usage. 2021-10-15 10:50:36 -03:00
Matthew Chen
d402636225 Simplify AFNetworking usage. 2021-10-15 10:50:35 -03:00
Matthew Chen
997f354f74 Only warn in logs when duplicate decryptions occur. 2021-09-28 17:22:17 -03:00
Matthew Chen
fc45ec8f63 Refine de-duplication logic. 2021-09-24 18:30:42 -03:00
Michelle Linington
52b127ddb0 Let WebSocket know about the nature of the processing failure 2021-09-23 09:56:02 -03:00
Matthew Chen
c32c8c0897 De-duplicate pending envelopes in the message processor. 2021-09-20 17:51:15 -03:00
Nora Trapp
2814ab7629 Convert to new Promise library 2021-09-03 11:41:34 -07:00
Matthew Chen
2b502ad609 Elaborate logging around missing notifications. 2021-09-02 22:51:26 -03:00
Matthew Chen
2005be536b Update date header and message footer date formatting. 2021-09-01 09:34:30 -03:00
Matthew Chen
4b77df38fa Refine names. 2021-08-18 15:01:04 -03:00
Matthew Chen
d51213a8f5 Refine error localizedDescription. 2021-08-18 15:01:04 -03:00
Matthew Chen
fcdca12cf5 Deprecate REST, Part 1
* Port socket manager to Swift.
* Clean up HTTP request success/failure state & errors.
* Rework network manager.
* Rework HTTP errors.
* Rework errors "properties": isRetryable, etc.
* Fix test breakage.
2021-08-18 14:25:36 -03:00
Matthew Chen
4324287ccf Add UD websocket. 2021-08-18 14:20:55 -03:00
Nora Trapp
65ff51acb4 Send all messages via MessageSenderJobQueue 2021-08-16 13:27:43 -07:00
Nora Trapp
42b2575775 Add isHighPriority field and promise support to message sender job queue 2021-08-16 13:27:43 -07:00
Matthew Chen
820737c1f7 Respond to CR. 2021-08-12 20:26:07 -03:00
Matthew Chen
fc69485272 Fix build warnings. 2021-08-12 20:08:32 -03:00
Michelle Linington
8636769dfb Trim the MessageSendLog
- Recipients that return a delivery receipt will be removed from the MSL
- The MSL will clear out stale payloads ~24 hours
2021-07-29 15:08:59 -07:00
Nora Trapp
fdccbd71a6 Allow image quality selection 2021-07-22 13:57:25 -07:00
Michelle Linington
2dc6a1acb2 Re-lint in preparation of merge 2021-07-21 23:01:12 -07:00
Michelle Linington
51f3a58a61 Message send log recording and resend responses 2021-07-21 22:58:51 -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
9c8b225330 PR Feedback and lint 2021-07-21 22:58:50 -07:00
Michelle Linington
6a0bfa7836 Make SignalServiceAddress optional for message building
SenderKey requires that building a message is agnostic from a single
recipient. This makes the recipient argument when building an outgoing
message optional.

Currently this is used to determine if a profile key should be appended
to the message. A different solution will be required for SenderKey
messages.
2021-07-21 22:58:50 -07:00
Matthew Chen
0023e9a432 Rework blocking manager. 2021-07-21 16:38:36 -07:00
Matthew Chen
390718420e Rework blocking manager. 2021-07-21 16:37:59 -07:00
Matthew Chen
fad5d66bbb Rework blocking manager. 2021-07-21 16:37:59 -07:00
Matthew Chen
aeb9c978d8 Minor fixes. 2021-07-16 09:16:37 -03:00