It's not really built by Carthage. This is just a convenient
pre-existing submodule for cataloging our external dependencies.
Treating like the frameworks built by Carthage allows us to use the
existing Carthage paths as well as the same framework thinning to strip
out simulator code on archive.
// FREEBIE
* Ensure NotificationsManager has dependencies
Otherwise it's easy to mess up the order of the required dependencies.
* move AccountManager into Environment, it's heavy to construct
// FREEBIE
* Add generated Signal-Swift.h to test search header path. You must do
this when testing an ObjC clas with swift dependencies (PushManager. in this case)
* Word on the street is that XCode8.2 is less flaky for running simulator tests
// FREEBIE
* show better errors if it *does* happen.
If someone tries to send from their old device, they'll see a
depressing, but sensible warning message.
* new translations
// FREEBIE
The previous launch screen was initially built on iphone5, but we never
scaled the logo to have the same proportions on iphone6 and larger
screens. Now it's scaled proportional to the screen width.
// FREEBIE
The broken code addressed in 8211d4584f
was duplicated a couple of places. This commit ferrets out the rest of
them and centralizes the logic in the ContactsManager.
// FREEBIE
number
The invite contact picker was rendering the "#" avatar for contacts who
had a name, but no phone number.
In some ways this approach is dumber. But since we have "surprising"
logic to set the contacts firstName to a phone number or maybe a company
name when contacts are built from ABContacts, this approach is more on
the level with the existing assumptions of what could be in that field
(which is to say, pretty much anything).
// FREEBIE