4% of our crashes are from accessing latestContactsById with an invalid
address. This was partially addressed by assigning a value on init, but
it's still happening.
By converting the ivar to an atomic property we can avoid any funny
business that would happen when accessing this var while it's being
updated in a different thread.
Also, make sure we're copying to defensively strip mutability.
Also:
* bumped release target
* removed unused code
* dealloc at the top per style.
* Rebased OWS fork of SocketRocket against upstream
* Pulling in SocketRocket directly from OWS Github rather than going
through the motions of publishing a pod that only we use.
* Bump version
// FREEBIE
* bump version
* pulled latest translations
* Register localizations with app.
- Persian (fa)
- Indonesian (id)
- Macedonian (Macedonia) (mk)
- Shona (sn)
- Galacian (gl)
(Project > Signal > Localizations > Add Localizations)
Generalized Macedonian locale since it seems like iOS doesn't support
the "Macedonia(Macedonia)" sub-locale
* disable farsi until proper RTL interface work is done
// FREEBIE
* Fixes "New Message" --> "Invite contact" exception for iPhone devices that do not support SMS messaging
* fix SMS invite on empty inbox
This code appears in two contexts - (1) in an empty inbox , where no other view
controller is presented, and (2) in compose interface where a
search controller is presented, and must first be dismissed.
* only check SMS sending ability directly, (not device model)
This is better because:
1. sometimes iPhones can't send SMS
2. Sometimes iPads/iPods can send SMS
* correct localization key
* bump build
// FREEBIE
* bump release
//FREEBIE
* fix invite over sms alert
Could not present the sms invite alert controller because we were
already presenting the UISearchController
FIXES: #1182
// FREEBIE
- Using same clang format file for old and new files.
- Moving out all TextSecure code to allow other clients (OS X, iOS) to
integrate easily TextSecure functionality.
- Use TextSecure API to signup.
- Fixing size classes rendering bugs.
- Supporting native iOS San Francisco font.
- Quick Reply
- Settings now slide to the left as suggested in original designed
opposed to modal.
- Simplification of restraints on many screens.
- Full-API compatiblity with iOS 9 and iOS 8 legacy support.
- Customized AddressBook Permission prompt when restrictions are
enabled. If user installed Signal previously and already approved
access to Contacts, don't bugg him again.
- Fixes crash in migration for users who installed Signal <2.1.3 but hadn't signed up
yet.
- Xcode 7 / iOS 9 Travis Support
- Bitcode Support is disabled until it is better understood how exactly
optimizations are performed. In a first time, we will split out the
crypto code into a separate binary to make it easier to optimize the
non-sensitive code. Blog post with more details coming.
- Partial ATS support. We are running our own Certificate Authority at
Open Whisper Systems. Signal is doing certificate pinning to verify
that certificates were signed by our own CA. Unfortunately Apple's App
Transport Security requires to hand over chain verification to their
framework with no control over the trust store. We have filed a radar
to get ATS features with pinned certificates. In the meanwhile, ATS is
disabled on our domain. We also followed Amazon's recommendations for
our S3 domain we use to upload/download attachments. (#891)
- Implement a unified `AFSecurityOWSPolicy` pinning strategy accross
libraries (AFNetworking RedPhone/TextSecure & SocketRocket).
Signal requires the AddressBook permission to use the app at the
moment. This avoids the edgecases where a user doesn’t allow access to
his address book and then tries to use the app. We’re also doing a
significantly better job at explaining why we need this permission to
the user.
- Removes large confusing UX bar and related assets. Replaced with UISwitch.
- Enhanced user experience for missed calls.
- Fixes issue where missed call would appear as incoming call in call log.
- Fixing issues where PushKit handler not called on launch.
- Tap to reply to a message.
- Badges application with the number of unread messages.
- Pick up a phone call from lock screen, or decline it.
- Settings for notification sounds while app in foreground and text displayed on local notifications.
- Revising iconography to stick to v2.0 design.
- Multiple bug fixes based on testers feedback
- Integration with system addressbook
- Removing unused assets.
- Signal preferences and keying material moved to the unified storage
- Set up for staging environment to try out the new APIs
- Changes in the push registration flow to send token to RP & TS