Commit Graph

7353 Commits

Author SHA1 Message Date
Nora Trapp
dc788cd347 Ignore messages with StoryContext 2022-01-26 10:28:52 -08:00
Martin Böttcher
db39ea30bb pinning an archived conversation automatically moves it into inbox again
(cherry picked from commit f25aa47805)
2022-01-26 09:59:20 +01:00
Jordan Rose
398331f512 Don't apply "preferred" skin tones to the default set of reactions
This is a change from past behavior in order to standardize on
explicit customization being the only way to change the default set of
reactions.
2022-01-25 17:33:58 -08:00
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
361c3ece79 "Feature flags for .qa." 2022-01-25 17:08:13 -08:00
Michelle Linington
f00de23cb0 "Feature flags for .beta." 2022-01-25 17:07:55 -08:00
Michelle Linington
af43912d47 "Feature flags for .qa." 2022-01-24 17:31:58 -08:00
Michelle Linington
9a38979c67 "Feature flags for .beta." 2022-01-24 17:31:52 -08:00
Jordan Rose
fc2d02ef99 Improve logging 2022-01-24 17:10:37 -08:00
Nora Trapp
c005afd79b Adjust megaphone priority and remove old megaphones 2022-01-24 10:42:34 -08:00
Michelle Linington
8ecb6afc66 "Feature flags for .qa." 2022-01-21 10:34:35 -08:00
Michelle Linington
5ba11da60b "Feature flags for .beta." 2022-01-21 10:34:23 -08:00
Nora Trapp
513a37892e Tweak change phone number feature flags 2022-01-21 10:16:35 -08:00
Michelle Linington
895ca97c47 "Feature flags for .qa." 2022-01-20 23:26:24 -08:00
Michelle Linington
8b17d4c8da "Feature flags for .beta." 2022-01-20 23:26:14 -08:00
Michelle Linington
ab8b1a8dbc "Feature flags for .qa." 2022-01-20 18:13:10 -08:00
Michelle Linington
bbf6e7298a "Feature flags for .beta." 2022-01-20 18:12:46 -08:00
Jordan Rose
904bb36d7f Turn group data caches back on in the NSE
Without the GroupV2Params caches, processing multiple large group
updates is extremely wasteful, decrypting the same profile keys and
UUIDs over and over again. The size of these caches has also been
*increased* to match the group size limit, or else there's no benefit
for large groups.

Other LRUCache instances are still off by default in the NSE by virtue
of the "NSE max" defaulting to 0.
2022-01-20 16:49:37 -08:00
Jordan Rose
58a688ad61 Lazily deserialize individual group changes
If there are several group changes being returned at once,
deserializing all of them up front can lead to excessive memory use,
especially for very large groups. This commit switches to
deserializing each change as it is used, which doubles the amount of
CPU work (because we loop through the changes twice) in exchange for
only ever having one Change object graph in memory at a time. It does
also mean we can get a protobuf deserialization error a bit later in
the process if the data is ever corrupted, but that shouldn't cause
additional issues at these particular call sites.
2022-01-20 12:00:50 -08:00
Nora Trapp
674d3b1be7 Merge branch 'release/5.26.10' 2022-01-19 18:29:13 -08:00
Nora Trapp
0402c12a26 "Feature flags for .beta." 2022-01-19 18:26:24 -08:00
Nora Trapp
fca3ab04a8 "Feature flags for .production." 2022-01-19 18:26:04 -08:00
Nora Trapp
2767e201a9 Ensure we read sourceUuid from incoming messages via REST 2022-01-19 18:25:56 -08:00
Jordan Rose
052319de65 SSK: Put spam challenge loading onto the spam challenge work queue
Previously fetching outstanding challenges from the database was done
synchronously when the app was done loading, but using them was always
done from the work queue. Nothing synchronized those two, though, so
TSan flagged it as a data race.
2022-01-13 11:12:35 -08:00
Martin Böttcher
9ce447de57
refactored async loading of avatar images in HomeView (#3886)
* refactored async loading of avatar images in HomeView

* async loading avatars does not use extra DispatchWorkItems anymore

* minor code changes, added comments
2022-01-13 09:13:12 +01:00
Michelle Linington
72c6f40191 Lint 2022-01-12 22:52:34 -08:00
Michelle Linington
3b25387af9 Remove duplicate symbol 2022-01-12 22:52:34 -08:00
Michelle Linington
3045b5d7d7 Lint 2022-01-12 22:52:34 -08:00
Michelle Linington
b8a0ec9128 Fail sends with invalid message proto
Josh reported an issue where a failed outgoing reaction message would
continue to retry. This message would fail to build its proto because
the reacted message no longer exists.

If we can't build message proto, there's not really any point in
retrying the message.
2022-01-12 22:52:34 -08:00
Nora Trapp
58c063b73a PR Feedback 2022-01-12 21:25:53 -08:00
Nora Trapp
3b322366d3 Fix KBS logic for change number 2022-01-12 21:25:52 -08:00
Jordan Rose
004ed14770 Fix handling of early delivery receipts 2022-01-12 11:30:53 -08:00
Jordan Rose
54de16338c SSK: Remove unused OWSSignalAddress 2022-01-11 10:03:48 -08:00
Jordan Rose
27df0e98f5 SSK: Remove unused AtomicUInt64 2022-01-11 10:03:48 -08:00
Michelle Linington
b88de4c882 PR Feedback: More robust handling of 0 free bytes 2022-01-06 11:32:24 -08:00
Michelle Linington
61d091cc9c Lint 2022-01-06 11:32:24 -08:00
Michelle Linington
2133f600e3 More detailed logging of memory consumption 2022-01-06 11:32:24 -08:00
Michelle Linington
e3bf2965af Lint 2022-01-06 11:26:06 -08:00
Michelle Linington
378e58431f Bug fix for lost avatars on profile update
Following a profile update, we need to reupload the avatar. Currently
we're uploading the avatar by writing it to a temporary file and kicking
off an NSURLSessionUploadTask.

If Class A keys aren't available, we'd fail to complete the upload. This
would remove the user's avatar from their profile.
2022-01-06 11:26:06 -08:00
Martin Böttcher
b498b6552c code cleanup 2022-01-05 10:18:34 +01:00
Martin Böttcher
ad394bc5e9 Merge branch 'master' into martin/IOS-2052 2022-01-05 10:09:43 +01:00
Michelle Linington
da55f1d8a3 PR Feedback 2022-01-04 14:44:30 -08:00
Michelle Linington
db463d3b63 Fix for duplicate names
Greyson reported an issue where his linked iPad was reporting a
contact's name twice.
2022-01-04 14:44:30 -08:00
Martin Böttcher
bf4fb95661 Merge branch 'master' into martin/IOS-2052 2022-01-04 09:41:08 +01:00
Jordan Rose
390119b54d Sync preferred reactions through storage service 2022-01-03 15:35:37 -08:00
Eugene Bistolas
41700623df Add support for configuring emoji reactions 2022-01-03 15:35:37 -08:00
Nora Trapp
ce8a1f0e29 Update serverPublicParams 2022-01-03 12:00:19 -08:00
Nora Trapp
29366b0074 Merge branch 'release/5.26.9' 2022-01-03 11:01:53 -08:00
Nora Trapp
8c129584a2 "Feature flags for .beta." 2022-01-03 10:56:06 -08:00
Nora Trapp
00a1ee9d0a "Feature flags for .production." 2022-01-03 10:55:56 -08:00