Commit Graph

57 Commits (f63cfdac7e663e5b7571780b7d01ca19f3128e05)

Author SHA1 Message Date
Michael Kirk 11a586a835 New Fingerprint Format
Rather than verifying eachothers keys separately, you now verify the
privacy with your recipient by sharing a single composite number or
QRCode.

This is a breaking change, in coordination with Desktop and Android.

UX
--

Fingeprint is no longer in line with identity key error. Instead you
have the option of going to the full-screen safety number verification
experience.

Overhauled fingerprint design
-----------------------------

* use same modal dismiss button as elsewhere
* remove fingerprint from settings.
* quick slide in animation vs slow fade
  * existing was painfully slow
  * blur effect is better metaphor for something slide over top
  * anyway there was a rendering glitch in the end of fade where
    underlying navbar would "snap" out

Also Fixed
----------
Always provide a name string for contact

* Centralize all the nil-checking
* Fall back to "unknown contact"

allow multi-line error messages

// FREEBIE
9 years ago
Michael Kirk a181d218cf extract and test contact searcher
// FREEBIE
9 years ago
Michael Kirk 26f5418500 Remove distinction between TS and RP users
* Ensure we're always showing call button for non-group threads.
* search phone strings directly rather than precomputing field

// FREEBIE
9 years ago
Michael Kirk 62633ff7f4 remove unused code
// FREEBIE

dot notation is only for property access

// FREEBIE

remove unused code
9 years ago
Michael Kirk 1e0f0157c1 namespace ContactsManager -> OWSContactsManager
rename test class ContactManager->OWSContact_s_Manager
update docs

// FREEBIE
9 years ago
Michael Kirk 76352bf471 Code Cleanup (#1229)
* remove unused Signal-Bridging-Header
* move Adapters out of ViewControllers directory
* remove unimplemented method from header
* Fix unused variable warning.
* Move SignalsViewControllers out of UITests directory.
* remove executable bit from source files

// FREEBIE
10 years ago
Michael Kirk 4a1c53f624 Access contacts atomically to avoid corruption (PR #1223)
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.
10 years ago
Michael Kirk 78a5355b04 Initialize latestContacts to empty dict (#1207)
Seeing intermittent segfaults on [latestContacts allKeys].
This could be because latestContacts is initialized async.

//FREEBIE
10 years ago
Michael Kirk a736e8de66 Fixes avatar not showing for single contact thread (#1202)
* requires update to SignalServiceKit
* updated Pod Dependencies
* bumped version

Fixes #1201

// FREEBIE
10 years ago
Frederic Jacobs 4034baedb9 Adapting to renaming. 10 years ago
Frederic Jacobs c6d44e59e2 TextSecureKit Refactoring
- 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.
10 years ago
Frederic Jacobs 26f9207cab Bye Bye Bloomfilters
For reasons outlined in
https://whispersystems.org/blog/contact-discovery/ , Signal will no
more use bloom filters for RedPhone contact intersection.
10 years ago
Frederic Jacobs 3d4d4123f7 Removing APNavigation as a dependency. 10 years ago
Frederic Jacobs bbde7cd2a8 iOS 9 Support
- 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).
10 years ago
Frederic Jacobs c95f190140 Require AddressBook permission.
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.
10 years ago
Frederic Jacobs ada07351e1 Support for `supportsVOIP` attribute.
- Deprecates RedPhone upgrade flow.
- Adds a generic upgrade dialog.
- Upgrades dependencies.
- Reorganizes `TSStorageManager` & TSNetworkManager imports.
10 years ago
Frederic Jacobs f6c0625c2c Removing unused imported classes.
//FREEBIE
10 years ago
Frederic Jacobs 02560f8b2f Flagging release.
- Bump up version number.
- Fetching latest localizations.
- Upgrading libPhoneNumber and Mantle dependencies.
//FREEBIE
11 years ago
Frederic Jacobs 2fc20702d9 Fixing crash on responding to phone call. 11 years ago
Frederic Jacobs 788aa8cb4f Dropping some required permissions. Smarter microphone permission. 11 years ago
Frederic Jacobs e8ea00d71a Perform contact intersection on AddressBook change. 11 years ago
Frederic Jacobs ea37894846 Fixes #708 11 years ago
Frederic Jacobs 9569a9b9c6 Multiple visual enhancements and repo cleanup.
- Revising iconography to stick to v2.0 design.
- Multiple bug fixes based on testers feedback
- Integration with system addressbook
- Removing unused assets.
11 years ago
Frederic Jacobs 7242680464 Contact ordering and graying out RedPhone-only users. 11 years ago
Frederic Jacobs 4833487e94 Removing call recorder + contacts refresh 11 years ago
Christine Corbett ccdc4b5d17 Redesign implementation.
Result of stashed commits by @corbett and @abolishme
11 years ago
Frederic Jacobs 9ae4a435a1 Show name for unregistered contact in threads.
//FREEBIE
11 years ago
Frederic Jacobs 5cf96b2b05 Incoming call when app closed: updates contact label when available. 11 years ago
Christine Corbett c11c4361eb Bugfix: Fixing ordering for compose view.
Reviewed-by: @FredericJacobs
11 years ago
Frederic Jacobs 1eff2b3ad5 Rewriting outgoing pipeline with GCD. 11 years ago
Frederic Jacobs 8514836032 Integrating call and messaging buttons. 11 years ago
Frederic Jacobs bf9084a7c8 WebSocket reconnect. Casting issues. 11 years ago
Frederic Jacobs 1e3dd3d946 Integration work - thread view 11 years ago
Frederic Jacobs b58d2fb864 Integrating deletion of threads. 11 years ago
Frederic Jacobs d73e42beff Integrating Message View. 11 years ago
Frederic Jacobs 0c88202f7b Adapting to changes to SubProtocol and InboxView 11 years ago
Frederic Jacobs 121ef0439c Integrating the TextSecure Contact Discovery. 11 years ago
dtsbourg e48ea52924 ContactDetail: Fix crash on parsedPhoneNumbers 11 years ago
Frederic Jacobs ad5bb92004 Integrating socket status indicator and remove favorites. 11 years ago
dtsbourg a60bc8be92 Initial Message UI 11 years ago
Craig Gidney abb0486ec1 Fixed a warning in PriorityQueueTest, and some dot syntax //FREEBIE
- Also simplified the comparators
11 years ago
Frederic Jacobs d7bd62ca76 Addressing issues with empty contact names
//FREEBIE
11 years ago
Frederic Jacobs eed0dad4ae Closes #181
//FREEBIE
11 years ago
Craig Gidney f1de95ab06 Recursively added dot syntax, translating more terms when they were encountered in the dif
FREEBIE
11 years ago
Craig Gidney baaef78323 Using dot syntax for local*, all*, full*, first*, last*, to*, encodedAs*, copy*
FREEBIE
11 years ago
Craig Gidney ced4fc8947 Initial work to depend on external futures library instead of internal implementation
Still need to:
- Fix indentation
- Check for any FutureSource being returned instead of FutureSource.future
- Check for then: vs thenTry: mixups
- Check for main thread related issues
- Check for other exception catching issues
- Adjust directory layout
- Manual end-to-end testing
11 years ago
Craig Gidney 4cd30f32ed Using getter syntax for shared*, is*, and has* 11 years ago
Craig Gidney 9e36872644 Using dot syntax for count and length 11 years ago
Craig Gidney 1e9a3e9a46 Ran "Edit -> Refactor -> Convert to Modern Objective-C Syntax"
- dictionaryWithObject -> @{key: val}
- objectAtIndex -> a[i]
- numberWithBool/Int/etc -> @1, @(val)
- Reverted friendly fire on ProtocolBuffers
- Did not do ANY other changes (including changes to make more refactorings succeed)
//FREEBIE
11 years ago
Frederic Jacobs aca4733ac0 Multiple fixes
- Make logging optional if desired
- HTTPS external URLs
- Clean app data when re-registering
- If registration future fails, bring back user interaction
11 years ago