As policy we don't include a language in Signal until it has at least
80% of strings translated. We don't currently remove languages that fall
below that threshold.
There are two things that must happen to add a localization in Signal.
1. Pull the Localizable.strings from transifex for each language, add
them to git.
2. Add the localization to the Xcode project file
These four languages were in the repository (step 1) but not properly
added to the project file (step 2):
- khmer (km)
- lithuanian (lt)
- hebrew (he)
- persian (fa)
Of these, only khmer and lithuanian were sufficiently translated, so I
added them properly to the Xcode project file, making them available to
our users.
To make this process slightly easier to track in the future, I've
removed the insufficiently complete `he` and `fa` files from the
repository. Once they fall above 80% translated they will be
automatically downloaded by our sync-translations script, appearing as
new files, being the cue to the developer to add those new translations
to the project (step 2).
Note: the fa/he translations were never available to users, so we're not
going removing anyones existing functionality.
// FREEBIE
There is a more true-to-life way to set verification state - mark
someone as verified or default via the SN UI.
If they are marked as verified, you can mark them as no-longer-verified
by toggling a keychange in the debug UI
// FREEBIE
Incorporate topLabelSize into cell size for system messages.
We are using the term "bubble size" to describe the interaction specific
views of a collection cell. It's a crappy name, but coincides with other
usage.
// FREEBIE
* Substitute unread view for unseen view until unseen view is ready.
* Register as many views as possible async.
* Perform blocking, safe migrations before async registration of views.
* Add debug settings view for internal app stats.
* Show blocking overlay until async registration of database views is complete.
* Convert version migrations to use AppVersions.
// FREEBIE
Most commonly this will be after hitting the "compose" button
But also we'll do it in the SignalViewController once you've received a
message.
- get rid blocking contacts nag
- use Contacts framework simplifies logic
- remove dead AB code
// FREEBIE
* Add support for contacts with more than one Signal account using ContactAccount class.
* Use OWSTableViewController in contact-related views.
* Let users add non-contacts to groups.
* Improve the "new group" and "edit group" views.
* Add utility methods for displaying alerts.
* Warn users before discarding unsaved changes in "edit group" view.
* Pull out "contact view helper" to de-duplicate common logic among contact-related views.
* Pull out "group view helper" to de-duplicate common logic among group-related views.
* Pull out new base class for view used to add accounts to groups or the block list.
// FREEBIE
* Fix two bugs around play/pause button appearance.
* Fix bugs around stopping playback when leaving view/entering background.
* Fix bugs around cleaning up playback state when leaving view/entering background.
* Fix audio playback vs. hardware mute button.
* Improve handling of invalid audio attachments.
// FREEBIE
Replace previous "scary" warning-style attachment notifications with
something less alarming.
Includes file name and file type emoji when discernable.
// FREEBIE