This change makes the debug the sqlcipher database with command line
much easier. Leverages simctl to make simulator discovery and
introspection super straightforward
Add nickname support. 1:1 threads are now named using the nickname of the contact if available. I expect there'll be design input about how to present this. For now I've gone with putting quotes around the nickname. Also, there's a lot of contact stuff so I'd appreciate checking that I did the correct thing here.
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.