Commit Graph

615 Commits

Author SHA1 Message Date
Evan Hahn
8170bacc0f Harden upload_metadata script
This change:

- Fixes some warnings reported by [Shellcheck][0]. Notably, if your repo
  is in a folder with a space (e.g., `/Users/foo/My Code/Signal-iOS`),
  this script wouldn't work.
- Adds `set -u` to error when using unbound variables, in case we make a
  mistake
- Adds `set -o pipefail` to error if piping fails. Not used by this
  script, but I put this line in all my shell script just in case

Tested this when taking 5.37.0 to production and it worked fine.

[0]: https://www.shellcheck.net/
2022-05-05 10:13:47 -05:00
Evan Hahn
df8592fa23 Fix SwiftLint switch_case_alignment violations
_I recommend reviewing this with whitespace changes disabled._

Bad:

```swift
switch foo {
    case .one: return 1
    case .two: return 2
}
```

Good:

```swift
switch foo {
case .one: return 1
case .two: return 2
}
```

See [the rule's documentation][0] for more.

[0]: https://realm.github.io/SwiftLint/switch_case_alignment.html
2022-05-03 12:15:05 -05:00
Evan Hahn
5be42da750 Change references from master to main
_I recommend reviewing this with whitespace changes disabled._

Signal has renamed its primary branch to `main`. This updates references
to the old name, `master`, to either reference `main` or a specific
commit hash.

I also fixed a couple of small whitespace issues in a file I was
editing.
2022-05-02 10:30:40 -05:00
Evan Hahn
421b69ce21 Ignore some 5.36 tags in reverse integration check script
We cherry-picked stuff into that branch, rather than the other way
around.
2022-04-28 17:01:23 -05:00
Martin Böttcher
54b743de2d
moved older stringsdict changes into new branch; minor changes (#4205)
moved older stringsdict changes into new branch
2022-04-28 17:41:43 +02:00
Evan Hahn
72a05b2be1 Revert "Speed up compilation by tweaking emoji code"
This reverts commit 3c26cb56f7, because it
caused compilation to slow down (the opposite of the original goal!).
2022-04-25 12:41:59 -07:00
Evan Hahn
3c26cb56f7 Speed up compilation by tweaking emoji code
I profiled our Swift code with the following flags:

    -Xfrontend -warn-long-function-bodies=100 -Xfrontend -warn-long-expression-type-checking=100

Lots of stuff took longer than 100ms, but only one function took longer
than 10 seconds: `EmojiWithSkinTones#init(rawValue: String)` took 12
seconds. Presumably, this was because it had a call to `self.init` once
per emoji. Now we do it once, which cuts the compile time from ~12.3
seconds to ~1.9.

There was another long-running one, `emojiPerSkinTonePermutation`, which
also took a fairly long time, and this cut it down a bit.

There's more we can do to speed up our builds (see links below) and this
shouldn't change incremental ones much (unless you're changing these
files) but it was low-hanging fruit.

Resources to speed up builds, some of which are old:

- ["Build performance analysis for speeding up Xcode builds"][0]
- ["Improving the Speed of Incremental Builds"][1]
- ["How to make Swift compile faster"][2]
- ["Speed up Swift compile time"][3]
- ["Optimizing Swift build times"][4]
- ["Improving Swift compile times"][5]
- ["Regarding Swift build time optimizations"][6]

[0]: https://www.avanderlee.com/optimization/analysing-build-performance-xcode/
[1]: https://developer.apple.com/documentation/xcode/improving-the-speed-of-incremental-builds
[2]: https://www.hackingwithswift.com/articles/11/how-to-make-swift-compile-faster
[3]: https://medium.com/hackernoon/speed-up-swift-compile-time-6f62d86f85e6
[4]: https://github.com/fastred/Optimizing-Swift-Build-Times
[5]: https://www.swiftbysundell.com/articles/improving-swift-compile-times/
[6]: https://medium.com/@RobertGummesson/regarding-swift-build-time-optimizations-fc92cdd91e31
2022-04-23 11:27:39 -05:00
Evan Hahn
32476f0fa7 Improve script to find unused strings
This script broke in the migration to Python 3 (see
1101db6a29). This change fixes those bugs,
and also:

1. Allows you to supply multiple source directories. Previously, you
   could only provide one, which meant that you'd see lots of unused
   strings, even though they were used in a different folder.
2. Adds usage instructions with `--help`, thanks to Python's `argparse`
   module.
3. Quits with a `1` status code if any unused strings are found.
4. Prints unused strings instead of used ones.
5. Speeds up the script by only searching for keys. Previously, it'd
   also look for comments and blank lines in the `Localizable.strings`
   file.
6. Speeds up the script by only reading files once, instead of once per
   key.
2022-04-15 15:28:15 -05:00
Jordan Rose
49608044b7 SSK: Remove obsolete OWSMessageDecryptJob
This hasn't been used since before GRDB.
2022-04-11 14:46:43 -07:00
Evan Hahn
8b072620a6 Add "Donation Receipts" view 2022-04-11 16:21:12 -05:00
Evan Hahn
b739f739e7 Fix Python deprecation warning in reverse integration check script
This quiets the following deprecation warning:

    ./Scripts/reverse_integration_check.py:56: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
      tag for tag in unmerged_tags if LooseVersion(tag) > LooseVersion(epoch_tag)

[`distutils.LooseVersion` will be removed in Python 3.12][0], and there
doesn't seem to be an equivalent in the standard library. I implemented
a simple `Version` class to replicate this functionality.

(I also looked into other solutions, such as rewriting the script in
Swift, but this seems like the right solution for now.)

[0]: https://peps.python.org/pep-0632/
2022-04-09 16:36:44 -05:00
Evan Hahn
7b09dc609e Ignore 5.23.0.22-beta tag in reverse integration check script
This adds `5.23.0.22-beta` to our list of ignored tags, to avoid this error when running the script:

    RuntimeError: 💥 Found unmerged tags: ['5.23.0.22-beta']

We saw this error when deploying 5.25.
2022-04-09 16:31:48 -05:00
Jordan Rose
8c1a31e094 auto-genstrings: Fix OWSLocalizedString breakage
genstrings warns on non-constant strings being passed to
NSLocalizedString, but that happens precisely when we define
OWSLocalizedString. Skip the two files where we define it (one for
each language).

While here:
- Use find's -exec feature rather than a separate xargs invocation.
- Make the script shellcheck-clean.
2022-04-05 10:48:05 -07:00
Michelle Linington
0f3a2b4c2e Perform emoji mapping in EmojiGenerator 2022-04-01 14:55:30 -07:00
Nora Trapp
378cc730d1 codegen 2022-03-31 00:37:56 -07:00
Nora Trapp
014fe25b16 sds codegen 2022-03-31 00:34:33 -07:00
Nora Trapp
536c7170df sds codegen 2022-03-31 00:34:32 -07:00
Nora Trapp
e95e392494 Add story context to TSInteraction 2022-03-31 00:34:32 -07:00
Evan Hahn
e8b4b8f15c Scripts: subprocess.check_output should use text=True for compatibility
In Python 2, `subprocess.check_output` returns a string. In Python 3, it
returns a byte string unless you provide `text=True`.

This makes sure all calls have that option for compatibility.

Also, my editor was auto-formatting these with [Black][0], which I
didn't prevent, so now these files are formatted a little better.

[0]: https://github.com/psf/black
2022-03-24 17:28:12 -05:00
Evan Hahn
16aa421d3e More Python 3 script fixes 2022-03-24 10:28:27 -05:00
Evan Hahn
d7c33eb211 Speed up pre-commit script
On my machine, the `./precommit.py --all` took 344.15 seconds (more than
5 minutes). This change speeds it up so that it takes less than 10
seconds.

It primarily achieves this by running `swiftlint` twice instead of twice
per file. There are some other smaller changes, too:

- Use a `set` for common operations
- Avoid a needless call to `text.split`
- Use built-in `pathlib.Path().parts` instead of a home-rolled solution

Tested this by running `./precommit.py` with all flags.
2022-03-23 09:43:21 -05:00
Evan Hahn
a7d5f778e2 Fix pre-commit block format script
Python 3 removed the [`cmp` function][0] which this script relied on.
Calling it was unnecessary, so I removed it (and cleaned up some of the
surrounding code).

Tested this with the `--all`, `--path`, and `--ref` flags.

[0]: https://docs.python.org/2.7/library/functions.html#cmp
2022-03-22 13:33:32 -05:00
Evan Hahn
c254811765 Remove unnecessary coding: utf-8 heading from Python scripts
Python 3 uses UTF-8 for source files by default. This removes the
unnecessary `coding: utf-8` declaration comment from all files.
2022-03-21 14:43:45 -05:00
Evan Hahn
1101db6a29 Upgrade scripts to Python 3
Python 2 was [removed from macOS in 12.3][0]. This change:

- Automatically converts many files with [2to3][1]
- Manually updates all [shebangs][2] to use `python3` instead of
  versionless `python` or `python2.7`
- Manually applies a few fixes, many of which were noted by 2to3
- Manually undoes a few fixes that were automatically done by 2to3

[0]: https://www.macrumors.com/2022/01/28/apple-removing-python-2-in-macos-12-3/
[1]: https://docs.python.org/3/library/2to3.html
[2]: https://en.wikipedia.org/wiki/Shebang_(Unix)
2022-03-21 12:58:33 -05:00
Dimitris Apostolou
62724cf0be Fix typos 2022-03-18 11:31:06 -07:00
Martin Böttcher
eedfd70f3e merged master and pod files 2022-03-15 12:49:11 +01:00
Martin Böttcher
c2d93547ae minor changes due to changed name of NSLocalizedStringFromAppBundle (now OWSLocalizedString) and new location of swift function and preprocessor definition 2022-03-11 14:08:26 +01:00
Jordan Rose
15d13517fa Add SDSCursor protocol, for common functionality across cursors 2022-03-07 15:01:39 -08:00
Martin Böttcher
c0adfbfb32 NSLocalizedString is replaced by NSLocalizedStringFromAppBundle (reading strings from the bundle of the main app) for all source files called by an app extension and the localizable files are removed for the app extension targets. 2022-03-07 13:29:06 +01:00
Michelle Linington
a348495786 Swap hands 2022-03-03 17:11:23 -08:00
Michelle Linington
614807de65 Update to Emoji 14 2022-03-03 17:11:23 -08:00
Michelle Linington
886a9f8e6f Generate CDS protos 2022-02-22 12:41:04 -08:00
Jordan Rose
61232780ee Don't reindex conversations on every model change
Every single message updates a TSThread model, but only a change in a
member's profile name or phone number, or a change to a group's model,
can update the indexing information. Turn 'shouldBeIndexedForFTS' into
a tri-state 'FTSIndexMode' with options 'never', 'manualUpdates', and
'always', and use 'manualUpdates' for TSThreads. Then explicitly
reindex on any of the changes listed above.
2022-02-01 15:05:34 -08:00
Michelle Linington
220a49134e Fix lint script 2022-01-31 11:00:13 -08:00
Michelle Linington
e19b800b17 Merge branch 'release/5.27.0' 2022-01-28 13:37:59 -08:00
Michelle Linington
e3d18733da Bump copyright 2022-01-28 13:23:47 -08:00
Jordan Rose
01fc3945ae Fix setup_private_pods script for newly-cloned repos
- The Pods/ directory always exists even before submodules have been
  initialized; check for Pods/.git instead, which may be a file or
  a folder depending on how the submodule was set up.

- When cloning for the first time, make sure the remote is called
  'private' so that later updates will reference it correctly. Also
  run `git submodule absorbgitdirs` so that git stores the submodule
  state inside the top-level .git directory.

- For an existing directory, simplify the check for the presence of
  a proper 'private' remote.

- Check that we're running from the repository root so we don't get
  weird errors or do random clones.

- Make the script Shellcheck-clean.
2022-01-28 10:04:00 -08:00
Michelle Linington
e3f1efb459 Update comment 2022-01-25 16:59:59 -08:00
Michelle Linington
30f51a10d0 Allow specifying of build variants from build tag script
ASC will assign its own build numbers to our builds independent of what
our plist requests. Right now, we're in a situation where a failed build
has forced our local and ASC variants out-of-sync. This change allows
the version flag to specify a fix to re-sync.
2022-01-25 16:56:37 -08:00
Ehren Kret
528257e705 Remove unused files 2022-01-10 10:50:09 -06:00
Matthew Chen
726fa6577f Fix bug around handling forward declarations of obj-c protocols in precommit script. 2021-11-23 14:16:35 -03:00
Nora Trapp
edc89c3db1 Store badge receipt credential presentation on the durable job 2021-11-17 15:14:03 -08:00
Eugene Bistolas
78cb9352c3 [Badging] Durable receiptCredential fetch and redemption 2021-11-15 12:47:35 -10:00
Michelle Linington
0b698fbd69 Run codegen 2021-11-09 14:25:42 -08:00
Michelle Linington
fa0d10f047 Firm up database schema 2021-11-09 14:25:42 -08:00
Michelle Linington
7a3f063276 Fix clang format 2021-11-03 13:46:03 -07:00
Michelle Linington
b4acfbcfe7 Enhancements to emoji codegen script
- Any errors that are hit are propogated out to stdout
- Notifies via stdout if a new emoji needs a component definition
- Uses Character instead of UnicodeScalar when appropriate
- Explicitly declares the RemoteModel that's in use
- Enhancements to file writing to simplify indentation
2021-11-02 14:47:26 -07:00
Michelle Linington
582426a203 Update emoji script to account for new component emojis 2021-11-02 14:47:26 -07:00
Matthew Chen
9211ac8fa3 Move MobileCoin SDK to SignalUI. 2021-11-02 14:26:03 -03:00
Matthew Chen
153095a500 Reduce statics. 2021-11-02 10:36:25 -03:00
Matthew Chen
9963df1f23 Reduce statics. 2021-11-02 10:36:25 -03:00
Matthew Chen
8472571d0a Rename NSE. 2021-10-28 11:40:26 -03:00
Michelle Linington
98f9fcc9ad Fix emoji generator script to not re-add warnings 2021-10-21 21:30:56 -07:00
Michelle Linington
77b7ea5c40 Fix a whole bunch of warnings 2021-10-21 21:11:26 -07:00
Matthew Chen
a0efdc2e95 Respond to CR. 2021-10-21 09:21:33 -03:00
Matthew Chen
eca3fdf26f Respond to CR. 2021-10-21 09:21:33 -03:00
Matthew Chen
03abd1c398 Respond to CR. 2021-10-21 09:21:33 -03:00
Matthew Chen
91ad7d1df7 Respond to CR. 2021-10-21 09:21:31 -03:00
Matthew Chen
29cdf51db5 Add script to normalize includes and imports. 2021-10-21 09:21:12 -03:00
Matthew Chen
3d7e8a0ba4 Add script to normalize includes and imports. 2021-10-21 09:21:12 -03:00
Matthew Chen
cb90e10b52 Add script to normalize includes and imports. 2021-10-21 09:19:43 -03:00
Michelle Linington
29de85f0f7 Restore localizations removed after merging SUI 2021-10-19 18:38:53 -07:00
Matthew Chen
600f866c96 Update RI check. 2021-10-13 12:52:41 -03:00
Michelle Linington
6028212361 Re-add swiftlint --fix invocation 2021-10-12 11:46:44 -07:00
Michelle Linington
fa190b88cd Skip files where sourcekitd crashes 2021-10-12 11:46:44 -07:00
Michelle Linington
d2de17afb9 Fix lint script 2021-10-12 11:46:44 -07:00
Michelle Linington
ce8f0a8b0b Update emoji 2021-10-12 11:46:44 -07:00
Michelle Linington
13a2e75fb6 A couple small changes to improve visibility of build configuration 2021-10-05 20:43:42 -07:00
Ehren Kret
3d768ffe3d Update copyright dates in SDS codegen 2021-09-24 10:30:09 -03:00
Michelle Linington
44b38c27e8 Alert user if specified tag variant doesn't match the current build flag 2021-09-20 12:36:31 -07:00
Michelle Linington
88309e7cc1 Fix various issues with TESTABLE_RELEASE
While running some perf tests on database queries, I was building
against TESTABLE_RELEASE to have things built with optimizations.

I saw some weird behavior:
- Share extension would crash
- No logs would be recorded

I went through and cleaned up some things that appeared incorrect with
how we handled TESTABLE_RELEASE
2021-09-03 16:11:19 -07:00
Matthew Chen
c2171db12d Assert when we emit invalid e164 in a proto. 2021-09-01 16:33:16 -03:00
Matthew Chen
953fe32300 Never emit invalid e164 in storage service contact records; be robust to invalid e164 incoming protos. 2021-09-01 16:33:16 -03:00
Michelle Linington
c7444cb01d Remove isHidden column, use recordType instead 2021-08-26 20:57:06 -07:00
Michelle Linington
5b1b0d3bd0 Make hiddenUntilTimestamp a boolean column 2021-08-26 20:57:06 -07:00
Michelle Linington
4eeb4e34be Tests should be runnable in Profiling scheme 2021-08-26 20:57:06 -07:00
Michelle Linington
ba89d93ee4 Add new database column 2021-08-26 20:29:21 -07:00
Matthew Chen
647f723610 Add OWSStaticOutgoingMessage. 2021-08-25 22:43:42 -03:00
Matthew Chen
65a591c898 Revise app versioning scheme. 2021-08-23 18:24:40 -03:00
Matthew Chen
a41aec9305 Revise app versioning scheme. 2021-08-23 18:23:50 -03:00
Matthew Chen
dfb73669a5 Revise app versioning scheme. 2021-08-23 18:23:49 -03:00
Matthew Chen
3b18df6934 Revise app versioning scheme. 2021-08-23 18:23:49 -03:00
Matthew Chen
532da04e75 Revise app versioning scheme. 2021-08-23 18:23:49 -03:00
Matthew Chen
93d9c15073 Revise app versioning scheme. 2021-08-23 18:23:49 -03:00
Matthew Chen
2e495b4bc1 Revise app versioning scheme. 2021-08-23 18:23:49 -03:00
Nora Trapp
0dba0878a2 Adhere proto wrappers to NSSecureCoding 2021-08-17 13:42:07 -07:00
Nora Trapp
1cbe9c3ee7 PR Feedback 2021-08-16 13:28:08 -07:00
Nora Trapp
42b2575775 Add isHighPriority field and promise support to message sender job queue 2021-08-16 13:27:43 -07:00
Nora Trapp
fee1bbddad Add exclusiveProcessIdentifier to SSKJobRecord 2021-08-16 13:27:00 -07:00
Michelle Linington
c8c8575c5b PR Feedback
- Avoid accessing `build` in FeatureFlags.swift
- Make it private so others aren't tempted
- Now that build is private, drop the named build variants. It's cute,
  but ultimately not necessary
2021-08-06 10:08:26 -07:00
Michelle Linington
aa25a1e274 Extend error messaging to beta users 2021-08-06 10:08:26 -07:00
Michelle Linington
023b080dc3 PR Feedback: Remove leftover SDS definitions 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
59f2015fba Add OWSOutgoingSenderKeyDistributionMessage
When preparing to send a SenderKey message, we'll need to send out an
SKDM to participants. Although these can be tacked on to any message,
we'll need an outgoing message builder for these dedicated messages.
2021-07-21 22:58:50 -07:00
Nora Trapp
59ba9100c9 Sync translations 2021-07-07 15:10:07 -07:00
Nora Trapp
4ae8185b4a Add push fallback text 2021-07-07 13:46:23 -07:00
Nora Trapp
876808dc3d Add support for beta tags 2021-07-06 14:43:52 -07:00
Matthew Chen
e911639154 Remove contact avatar data from SignalAccount. 2021-06-30 15:23:49 -03:00
Matthew Chen
58e27fe782 Ignore avatar in incoming contact syncs. Use batching when processing incoming/outgoing contact syncs. 2021-06-30 15:23:49 -03:00
Nora Trapp
ba4ba30177 Codegen 2021-06-30 09:54:26 -07:00
Nora Trapp
e736f66490 RI script update 2021-06-18 12:24:55 -07:00
Nora Trapp
af22d36f43 Add nightly build tag variant 2021-06-14 16:03:19 -07:00
Nora Trapp
959b8ca1ae Don't error when FF is already set 2021-06-14 14:13:48 -07:00
Eugene Bistolas
1d451481a4 Review feedback, swift-lint 2021-06-02 14:17:21 -10:00
Eugene Bistolas
4c347e0488 Fix build performance for 12.5/Swift 5.4 2021-06-02 14:17:21 -10:00
Matthew Chen
f004267e7f Fix thread record property mapping. 2021-05-25 16:22:33 -03:00
Matthew Chen
2c7c7b3d1c Replace ConversationColors with "avatar colors". 2021-05-25 16:22:31 -03:00
Matthew Chen
7a4ad637f0 Replace ConversationColors with "avatar colors". 2021-05-25 16:22:31 -03:00
Matthew Chen
e06f7fb133 Tweak reverse_integration_check.py. 2021-05-17 23:39:39 -03:00
Nora Trapp
e439bb619e Move isArchived, isMarkedUnread, and mutedUntilDate off of TSThread 2021-05-13 12:54:33 -07:00
Michelle Linington
3df24ecd98 Allow translations script look for linter in path
My code directory looks a bit different so it doesn't always exist at
this path.
2021-05-07 19:10:46 -07:00
Matthew Chen
5a58216519 Update tags_to_ignore. 2021-05-05 15:24:18 -03:00
Matthew Chen
34d3aeb1c8 Merge branch 'release/5.11.1' 2021-05-03 15:36:47 -03:00
Matthew Chen
10778e915c Improve handling of db corruption. 2021-05-03 15:00:33 -03:00
Nora Trapp
2152a8b0b0 Fix release notes 2021-05-02 11:51:36 -07:00
Nora Trapp
028b682b2f Merge branch 'release/5.11.0' 2021-05-02 10:53:20 -07:00
Nora Trapp
a1b3f557b7 Fix release notes 2021-05-02 10:51:29 -07:00
Nora Trapp
a5fd2ad4bf Sync translations 2021-05-02 10:26:07 -07:00
Nora Trapp
db3e441727 Send viewed receipts for audio messages 2021-04-29 18:01:19 -07:00
Nora Trapp
f808813466 Manage app store metadata with transifex 2021-04-22 12:53:43 -07:00
Nora Trapp
aeba62018a Ignore more tags in RI 2021-04-15 10:59:27 -07:00
Nora Trapp
894841edde Fix private pods setup 2021-04-14 21:46:38 -07:00
Nora Trapp
99e2a739d1 add release lane to fastfile 2021-04-13 20:40:17 -07:00
Nora Trapp
bf660c85ce Add TSGroupMember table to allow performant querying of group membership 2021-04-08 13:44:00 -07:00
Matthew Chen
46c3408726 Update SDS to reflect payment columns. 2021-04-08 09:27:05 -03:00
Nora Trapp
73f4044ebf Fix db schema 2021-04-07 18:56:01 -07:00
Matthew Chen
cbfc7be372 Revisions to payments in SSK. 2021-04-06 13:57:07 -03:00
Matthew Chen
87ace3779d Respond to CR and proto schema/reconciliation review. 2021-04-06 13:57:06 -03:00
Matthew Chen
a00d14ddc4 Payments: Models 2021-04-06 13:57:06 -03:00
Matthew Chen
51e05cb6b7 Port feature flag scripts to Python. 2021-04-06 13:57:06 -03:00
Matthew Chen
3a8e4bcbc5 Payments: feature flags 2021-04-06 13:57:06 -03:00
Matthew Chen
2d0fdff372 Payments: Update proto schema. 2021-04-06 13:57:06 -03:00
Nora Trapp
63da30f617 Store mute as millisecond timestamp 2021-03-27 12:13:20 -07:00
Matthew Chen
86b8eb08b8 Remove YapDatabase.
Apply asset from design.

Fix rebase breakage.
2021-03-25 11:41:16 -03:00
Nora Trapp
da59806acf Update precommit.py for swiftlint 0.43.1 2021-03-17 13:15:51 -07:00
Nora Trapp
26253a0a27 Set the proto address during initialization 2021-02-16 13:05:13 -08:00
Matthew Chen
b890fdeed8 Fix build warnings. 2021-01-23 22:45:33 -03:00
Matthew Chen
d3eb77d6d3 Refine handling of unverified safety number changes. 2021-01-21 22:31:08 -03:00
Matthew Chen
3bb5f0777b Add profile bio fields to database schema. 2021-01-14 22:25:45 -03:00
Matthew Chen
111338b59d Rewrite conversation view. 2020-12-10 12:44:13 -03:00
Michelle Linington
f6a252d274 Send a group call update message when joining and leaving a group call 2020-11-19 16:02:22 -08:00
Nora Trapp
d8ca084b65 Tweak database fields and update RingRTC 2020-11-19 16:02:22 -08:00
Nora Trapp
b32c5bda4a Add scaffolding for Group Call messages 2020-11-19 16:02:22 -08:00
Jordan Rose
98884f9cba Proto wrappers: use structs when ObjC compatibility isn't needed
Shaves off about 20% of a deep serialization benchmark (that's
unfortunately using code that isn't checked in yet).

Also removes Equatable from oneof enums, which wasn't really doing the
right thing anyway when there were non-primitive payloads because the
proto classes didn't override isEqual.
2020-11-17 12:46:26 -08:00
Jordan Rose
a25f4b9e26 Proto builders: dramatically speed up add*() using in-place mutation
The Swift compiler ought to be smart enough to prove that
copy-out/mutate/copy-in is the same as mutate-in-place for structs,
but it currently isn't clever enough to do that.
(See https://bugs.swift.org/browse/SR-11895.)
2020-11-17 12:46:26 -08:00
Nora Trapp
21fcb5e763 Fix script to handle emoji with overlapping names 2020-11-05 13:18:39 -08:00
Matthew Chen
b13ff0c879 Respond to CR. 2020-10-08 17:31:29 -03:00
Matthew Chen
ce1dcbade5 Animated sticker support. 2020-09-02 13:44:15 -03:00
Nora Trapp
896b9f9902 Some small tweaks to emoji generation (determinate skin tone order, better 'couple' naming) 2020-08-24 15:12:24 -07:00
Nora Trapp
cfc6900440 Persist and render preferred skin tone permutations in reaction picker 2020-08-24 15:12:24 -07:00