Commit Graph

325 Commits (954f32b77542f2c6e8a46e8b49e785c6b650786b)

Author SHA1 Message Date
Michael Kirk c8d547a08f Only allow callback for identities that were not previously verified
// FREEBIE
9 years ago
Michael Kirk 1127553041 restore "confirm and callback" functionality
// FREEBIE
9 years ago
Matthew Chen b6ddea9eae Sketch out OWSIdentityManager.
// FREEBIE
9 years ago
Matthew Chen ceb210748e Sketch out OWSIdentityManager.
// FREEBIE
9 years ago
Matthew Chen a013a7206e Rework and unify the system messages.
// FREEBIE
9 years ago
Matthew Chen 9cdf907e20 Rework and unify the system messages.
// FREEBIE
9 years ago
Matthew Chen 2cbf1e1d05 Rework and unify the system messages.
// FREEBIE
9 years ago
Michael Kirk 177800c641 only run migration once
// FREEBIE
9 years ago
Michael Kirk 130aa132a0 Reject incoming calls from an unseen changed identity
// FREEBIE
9 years ago
Matthew Chen 616041c0fb Respond to CR.
// FREEBIE
9 years ago
Matthew Chen dd3394be1b Cache display names for accounts.
// FREEBIE
9 years ago
Michael Kirk 6d00aac046 style cleanup, no functional changes
// FREEBIE
9 years ago
Michael Kirk bb25d2beb6 IdentityKeyStore changes
1) Always accept keys from incoming messages

2) Block sending only if it's a recent change, or if always
   block is enabled

// FREEBIE

// FREEBIE
9 years ago
Matthew Chen 0ec095f216 Nag users on iOS 8 to upgrade.
// FREEBIE
9 years ago
Matthew Chen 5fd93eace0 Fix missing notifications.
// FREEBIE
9 years ago
Matthew Chen fc7dec04aa Fix missing notifications.
// FREEBIE
9 years ago
Matthew Chen e36b5a4602 Improve group members view.
// FREEBIE
9 years ago
Matthew Chen c8466912f0 Add muting of threads.
// FREEBIE
9 years ago
Matthew Chen 3e53605009 Improve thread safety in PushManager and NotificationsManager.
// FREEBIE
9 years ago
Matthew Chen b7b5dbb563 Do not present local notifications if a read receipt arrives immediately after.
// FREEBIE
9 years ago
Michael Kirk a951d11d97 [SSK] move iOSVersion to SSK
// FREEBIE
9 years ago
Matthew Chen 5ff454fd90 Fix double creation of NotificationsManager singleton.
// FREEBIE
9 years ago
Matthew Chen 8374ca149e Apply assert to ensure singletons are only created once.
// FREEBIE
9 years ago
Michael Kirk 7f239c8040 [SSK] + Enforce singleton access for MessagesManager and MessageSender
// FREEBIE
9 years ago
Michael Kirk 0b49037179 Remove some more RP related code
// FREEBIE
9 years ago
Matthew Chen 47ae6ccf76 Don't show the "no contacts" mode of new conversation view again after it has been dismissed.
// FREEBIE
9 years ago
Matthew Chen 9db33a9651 Remove RedPhone code.
// FREEBIE
9 years ago
Matthew Chen 3fcdffb919 Only enforce CallKit privacy for missed calls if CallKit is present.
// FREEBIE
9 years ago
Matthew Chen c6a280e005 Only initiate WebRTC calls, not RedPhone calls.
// FREEBIE
9 years ago
Matthew Chen b9b81ca8ef Honor call privacy settings in call notifications.
// FREEBIE
9 years ago
Matthew Chen 1820fdbde8 Merge remote-tracking branch 'origin/hotfix/2.8.3' 9 years ago
Matthew Chen a226a4a1b3 Respond to CR.
// FREEBIE
9 years ago
Matthew Chen 47df77f38c Only run "enable video calling" migration if user is registered.
// FREEBIE
9 years ago
Michael Kirk 3ee1d5568c Migrate existing users to RTC calling
// FREEBIE
9 years ago
Matthew Chen dc422f7b00 Convert "is logging enabled" methods to class methods so that they can safely be used before Environment has been initialized.
// FREEBIE
9 years ago
Matthew Chen 164db41c29 Move TSImageQuality enum.
// FREEBIE
9 years ago
Matthew Chen 15e14a9b5c Convert "is logging enabled" methods to class methods so that they can safely be used before Environment has been initialized.
// FREEBIE
9 years ago
Michael Kirk 9b2eb80392 Code review on new-features
* use page view controller
* UIPageControl instead of arrows for idiomatic swiping
* Nudge title lower
* better hit area for dismiss
* use darker blue for text
* Open privacy settings from callkit update screen
* tweak copy
* latest translations

// FREEBIE
9 years ago
Michael Kirk b371e627c4 one-time carousel of changes
// FREEBIE
9 years ago
Matthew Chen 012dd3d192 Add “nag” to call settings view that prods the user to change their privacy settings after calls.
// FREEBIE
9 years ago
Matthew Chen a20a21867e Respond to CR.
// FREEBIE
9 years ago
Matthew Chen 065d383c15 Add and honor the “CallKit Privacy” setting.
// FREEBIE
9 years ago
Michael Kirk 4b8a5f8ccb TURN-only option, and for unknown caller
Now, by default, we only use TURN for incoming calls from unknown
contacts. We will potentially directly connect for outgoing calls and
for incoming calls from known contacts.

Optionally, the user can disable direct connection altogether, at the
cost of some call quality.

// FREEBIE
9 years ago
Matthew Chen f4453eb995 Enable WebRTC-based audio and video calls by default.
// FREEBIE
9 years ago
Michael Kirk e5c6d0db9a fix potential deadlock
// FREEBIE
9 years ago
Matthew Chen 49ba0ff942 Flush logs before exiting the app.
// FREEBIE
9 years ago
Matthew Chen 3c3f782e7d Clean up prekey usage.
// FREEBIE
9 years ago
Michael Kirk 2a9aa4c852 users can opt out of CallKit
// FREEBIE
9 years ago
Michael Kirk 08425853cf re-use shared call strings
// FREEBIE
9 years ago
Michael Kirk a339f52564 Only touch mutable dict only main thread
* and make nonatomic since we're only assigning it in init

// FREEBIE
9 years ago
Michael Kirk 17b89f44aa share global callUIAdapter, outboundCallInitiator
// FREEBIE
9 years ago
Michael Kirk bbfd9ba74d Place Signal/Redphone calls from system contacts
// FREEBIE
9 years ago
Michael Kirk a6029f2545 Merge remote-tracking branch 'origin/master' into feature/webrtc 9 years ago
Michael Kirk a89bde933d Respect silent-switch pre-CallKit
8 Cases considered:

(Silent Switch toggled vs. Silent Switch not-toggled)
x (App in Foreground vs. App in Background)
x (CallKit vs. NonCallKit)

CallKit already does the "right thing"

// FREEBIE
9 years ago
Michael Kirk 907e122d62 Migrate legacy db stored logging preferences to NSUserDefaults
This is part of making sure we can log *before* the DB is initialized.

// FREEBIE
9 years ago
Michael Kirk 870fb960a2 Start logging earlier in app setup.
Because logging-preference was previously stored on the storageManager
this meant we couldn't possible log anything related to the init'ing the
storage manager.

TODO: migrate old logging preference to use the new NSUserDefaults
setting

// FREEBIE
9 years ago
Matthew Chen 654bdb1a85 Add WebRTC setting.
// FREEBIE
9 years ago
Matthew Chen 98e087a47f Fix font lookup on iOS before 8.2.
// FREEBIE
9 years ago
Michael Kirk 647b2b37e9 WIP: WebRTC calling
* 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
9 years ago
Matthew Chen 6106326b34 Update to reflect changes in SSK https://github.com/WhisperSystems/SignalServiceKit/pull/85.
// FREEBIE
9 years ago
Russ Shanahan e7126f8c60 Less confusing "#" avatar for unknown Contact instead of "+"
For consistency with the Android and Desktop client behavior.

* Show a placeholder avatar when no image, initials (#1512)

  If all we know about the user is their phone number, their avatar image
  is rendered as a placeholder. Previously, it would render the first few
  characters of their phone number as if they were initials (eg. "+")

* Rename, extend OWSContactsManager methods (#1512)

  Rename from: nameStringForPhoneIdentifier
           to: displayNameForPhoneIdentifier

  Also, add:
  - (BOOL)nameExistsForPhoneIdentifier:(NSString *)identifier;

  Which reports whether there's any "name" for a contact.

* Remove unused typedefs

  These aren't used in the project anymore, and they were causing
  compiling warnings due to a lack of nullability indication.

* Resolve some OWSContactsManager nullability warnings

  Did a pass through all of the existing nullability warnings in
  OWSContactsManager. Tried to pick descriptors that best reflected the
  behavior of the methods.

// FREEBIE
9 years ago
Michael Kirk f30c733ef3 Custom contact picker for invite flow
Preferred to the system contact picker because:
1. removes "group" clutter from header, unlikely to be used much.
2. can select while searching
3. fixes unified contact problem where e.g.
   If only one of your contact has a phone number, they appear disabled
   when choosing to invite via messaging, even though the other linked
   contact *does* have a phone number.
4. label users w/o email so it's clearer why they can't be selected

Also:

* Twitter share-image was too tall

// FREEBIE
9 years ago
Michael Kirk eb995cb389 revert to tracking longform build
We use this to determine which legacy migrations to run.

Also, soften the "your device is too old" behavior to just exit, rather
than blow away the users installation. Ouch!

* bump version

// FREEBIE
9 years ago
Michael Kirk fbcf5fbf07 Properly assign global contacts updater to environment
broken in 33f6a95520

// FREEBIE
9 years ago
Michael Kirk c2aa17e362 Changed Safety numbers no longer block communication
When your partner changes their identity key (e.g. by reinstalling),
you'll see a notice alongside their message, but it will no longer
prevent the message from showing. aka "non blocking".

Existing users will be opted into the previous blocking behavior.

This is configurable for all users in Settings > Privacy.

// FREEBIE
9 years ago
Michael Kirk c6a2fbff23 Tapping corrupted message opens "session reset" activity
This action was previously hidden under a secret longpress gesture in
the fingerprint view controller.

Ideally we'd never receive corrupted messages, but at the point we do,
our sessions are out of whack, and the only recovery option is to reset.
Let's help our users do that.

* Resetting session sends END_SESSION message

  Otherwise the remote side wouldn't know we reset the session and will
  send us a message on the old ratchet.

* Don't reset their identity key when resetting sender ratchet.

* Updated translations

// FREEBIE
9 years ago
Michael Kirk 1dd06a5e6c Fix registration flow / Keep push tokens in sync
* Separate registering an account from registering for push notifications
  * Allows us to complete registration without prompting user for
    notification settings.

UX Changes
----------
* Automatically keep push tokens in sync on startup.
  Push tokens *can* change, though they rarely do. It happens more often
  for people switching between appstore/beta builds.

  fixes #1174

* Show alert with registration failure
  * add secret 8-tap debug log gesture to registration flow

* Move registration to separate flow
  * don't see flash of inbox when first launching

* show useful error messages when given wrong code / no code

* remove background fetch
  We werent using it, but only relying on a side effect of it which is
  no longer necessary.

Code Changes
------------

* More registration logging.

* Install PromiseKit with carthage

  Our dependencies are not yet framework compatible, so we can't use
  cocoapods.

* Merge preferences util "category" into superclass.

  The immediate reason for this is Swift interop was assuming optional
  types were not optional, and exploding when a value was nil.

  This is clearer anyway, since we were treating it like a subclass, and
  it was the only thing using the class anyway.

* auto-genstrings now searches *.swift (and *.h, which was previously
  broken) for translateable strings.

// FREEBIE
9 years ago
Michael Kirk 33f6a95520 Explain send failures for text and media messages
fixes #1231

Motivation
----------
Previously when messages failed to send, there was no reason given.
Furthermore, when media messages failed to send there was no indication
that any attempt to send the message even occurred, nor a retry
dialog.

UX Changes
----------
- Show "uploading" status for media
- Show specific error message in retry-send dialog
- Only scroll to bottom when new message is inserted
- Show specific errors when group creation fails

Code Changes
-----------
- Updated incorrect references to TSMessageAdapters which were actually
  references to OWSMessageData
- MessageSender was extracted from SSK MessagesManager
- access MessagesManager as property
- idiomatic init/properties for Env
- log contact intersections
- Move scroll-to-bottom animation to main thread.

// FREEBIE
9 years ago
Michael Kirk 64f4eb73c5 Allow autogenstrings to find all strings
* Inline #define strings, so genstrings can find them
* Make all strings single line so they don't get truncated by auto-genstrings
* Properly quote LHS in strings file

// FREEBIE
9 years ago
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 3e7e67e276 Async migrations framework
* nonblocking by default
* track success of each migration independently

// FREEBIE
9 years ago
Michael Kirk 2ab6955967 More logging, scrub phone numbers from file logs (#1357)
Phone number are still logged in TTY for development.

// FREEBIE
9 years ago
Michael Kirk 1433ee2655 Fix crash on boot =/ (#1349)
I botched a migration 6 months ago, which left some lingering TSRecipients serialized in our data store, laying in wait to explode the next time we enumerate every object in the database (e.g. when we add an index).

The bloom filter migration failed to remove TSRecipients in the somewhat rare event that the local user had no downloaded bloom filters. This could happen e.g. if they were low on disk space at the time of running the migration, I believe the app would remove the bloom filter cache.

// FREEBIE
9 years ago
Michael Kirk e56d41edc7 Otherwise we'll never run future migrations. (#1314)
// FREEBIE
9 years ago
Michael Kirk 9a86ca76ce screen security is enabled by default
// FREEBIE
9 years ago
Michael Kirk 58548c68cc code cleanup
- refactor screen protection code for clarity
- remove unused settings cell class
- remove unused preferences

// FREEBIE
9 years ago
Michael Kirk 6120bd9e8e Orphan-data cleanup no longer causes timeout (#1303)
On older devices with lots of data, the orphan data cleaner can time
out. Here we're trading certainty that the migration completed for
confidence that the boot process doesn't time out.

// FREEBIE
9 years ago
Michael Kirk 92b3ea5d25 Re-enable attachment cleanup migration after fixing it in SSK (#1298)
// FREEBIE
9 years ago
Michael Kirk 000a5941f4 Delete attachment cleanup migration.
After running locally, I noticed many old threads missing old
attachments. I'll do some further investigation.

// FREEBIE
9 years ago
Michael Kirk 9f2bb5d2cc Fixes lingering interactions after removing thread (#1297)
Most of the work was done in SignalServiceKit 0.0.7, this adapts to
those changes.

Migration to clean any orphaned interactions/attachments.

- don't set new migration version until migration was successful.
- remove dead code from migrations

- rename message.attachments->message.attachmentIds
- Remove unused parameter from GroupModel
- formatting touched method/'s signatures

//FREEBIE
9 years ago
Michael Kirk f899cff128 Fix in-app audio
- sound is set by passing in reference
- don't access properties in constructor
- distinguish multiple variables with same name

// 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 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 752b0fecab Bloom filter migration: check for file before deleting (#1147)
- Extracted migration method
- added some logging

// FREEBIE
10 years ago
Frederic Jacobs 4034baedb9 Adapting to renaming. 10 years ago
Frederic Jacobs 2c83046ff6 Closes #990.
- Use single MessagesViewController. Goal: Being able to reuse that UI
for SplitViewController on iPad. Prevents unnecessary deallocations and
re-allocations.
- Remove custom archiving UI for default swipe right to left archive
action, like in iOS Mail.app.
- DynamicType for main view.
- Simplify API of MessagesViewController to prevent undefined behavior.
//FREEBIE
10 years ago
Frederic Jacobs 1b02e186f8 Fixes #146 #147. 10 years ago
Frederic Jacobs a7ec383a7b Fixes #984 Fixes #948.
A future improvement could be to store the usage data in the encrypted
database than in the NSUserDefaults that are more vulnerable to
forensics.
10 years ago
Frederic Jacobs 3acc47d6ad Fixes #832 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 0ad55853f2 Adding staging environment. 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 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 07abcaf7da Register extra keying material at registration. 10 years ago
Frederic Jacobs 4c96ea1c91 Fixes crash on launch for unregistered users who updated. 11 years ago
Frederic Jacobs 57f86008d1 UX and Notifications fixes
- 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.
11 years ago
Frederic Jacobs 1550c61216 Addressing issues with background decryption.
- Simplifying background timeout strategy for reliabilty.
- Adding Notifications settings.
- Dropping support for VOIP Push < 8.2 because buggy.
11 years ago
Frederic Jacobs 9652584ada Upgrading dependencies. 11 years ago
Frederic Jacobs e47e9759e9 Fixing leaky caches. 11 years ago
Frederic Jacobs 13448bdb2d Notifications enhancements.
- 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.
11 years ago
Frederic Jacobs 788aa8cb4f Dropping some required permissions. Smarter microphone permission. 11 years ago
Frederic Jacobs 9c611fad79 Fixes #725 11 years ago
Frederic Jacobs b6ef5f0b7f Bloomfilter moves to Cache folder
The bloom filter is not user generated content so Apple is not going to
let us store it into the Documents folder. Moving it to the Cache
folder.
11 years ago
Frederic Jacobs daac2c0db3 Fixes #566
This fixes the issue with duplicate numbers in group chats. This is just a "fix" for 2.0.1 but the group code is still pretty messy and should be refactored for 2.1
11 years ago
Frederic Jacobs 212f0d4350 Fixes #611 11 years ago
Frederic Jacobs d4e7096e83 Fixes #609
- Also addresses a typo where the cipher key was checked to exist twice.
11 years ago
Frederic Jacobs 24616735e5 Fixing issue when migration closed and re-opened. 11 years ago
Frederic Jacobs 311a758d27 Preparing release
- Incrementing build number
- Fetching latest translations
- Pod lock
11 years ago
Frederic Jacobs 3ade708040 Fixes based on corbett and abolishme's feedback 11 years ago
Frederic Jacobs 9872bed428 Addressing some storage related fixes.
- Tested on jailbroken phone that correct files are getting encrypted
- Fixes #557
- Stores image file extension
- Addresses issue with deletion of debug logs
- Preventing user to browse in app if not registered with TS server
11 years ago
Christine Corbett 1ede61f272 Localizing the TextSecure component of Signal. 11 years ago
Christine Corbett d70a9403b6 Empty states.
- With the exception of the first launch states, none of the empty states should include any artwork
- First Launch Inbox State should read: Start your first Signal conversation! Tap on the + button.
- Empty Inbox State should read Done. Done. Done. Tip: add a conversation as a reminder!
- First Launch Archive State [should read][first-launch-archive] Save conversations for reference. You can swipe conversations into your Archive from the Inbox
- Empty Archive State should read Squeaky Freaking Clean. None. Zero. Zilch. Nada.
11 years ago
Christine Corbett a6976bac18 Migrations from 1.0.x and 2.0 beta. 11 years ago
Christine Corbett b7d65ce921 Designing the empty state during contact refresh. 11 years ago
Frederic Jacobs fb0281fd61 Exclude Signal files from backup & encrypt when possible. 11 years ago
Christine Corbett ccdc4b5d17 Redesign implementation.
Result of stashed commits by @corbett and @abolishme
11 years ago
Frederic Jacobs 9e8ba91304 Settings refactoring.
- Renames GroupModel to TSGroupModel for TextSecureKit consistency.
- Refactors the settings into categories (joint work with @dtsbourg)
- Removes settings and logic for background push.
11 years ago
Christine Corbett b954ff2445 Closes #261 - Signal 1.0 to 2.0 utility.
Reviewed-by: @FredericJacobs
11 years ago
Frederic Jacobs bf8f2bb263 Closes #270 #271 #273 11 years ago
Frederic Jacobs 0266621ceb Phone calls in MessageView. 11 years ago
Frederic Jacobs a93b111458 Groups: Name of leaving user + outgoing message layout. 11 years ago
Christine Corbett e58f9bf966 Groups: Update messages, avatars and bug fixes 11 years ago
Frederic Jacobs 402df72306 Attachments handling
- Sends image rotated
- If message is delete, delete the attachment db object and file
- Delete attachment from detail view
11 years ago
dtsbourg f2217cacd7 Setting for Image Compression. 11 years ago
Christine Corbett 333c920e0b Group functionality
• create
• send/receive full functionality
• basic UI for group updating.

TODOS:
    -group avatars not supported
    -group update occurrence initiated by Android displayed in thread UI but not yet fully

Reviewed-by: @FredericJacobs
11 years ago
Frederic Jacobs db74e17564 Fixing crash on notification style setting 11 years ago
dtsbourg 29b8fb6eab Settings: Let user pick notification style
Also lets user search for contacts by phone number.
11 years ago
Frederic Jacobs 80a8c39213 Debug: Logging new password creation. 11 years ago
dtsbourg 5ddb85b6cc Modal presentation of the setup view.
- Memory efficiency.
- Fixes issue where segues were never unwinded.
- Fixes issues on first launch where initiating a call would show the login screen again.
- Addresses issue where the signup code would not have been added properly after clicking link in SMS.

Reviewed by: @FredericJacobs
11 years ago
Frederic Jacobs 8435a800d4 WebSocket Public Key Pinning. 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 f1c92b229a Registering by tapping SMS link. 11 years ago
Frederic Jacobs 8b6ac13594 Fixes InCallViewController & contacts not displayed 11 years ago
Frederic Jacobs 6dd04a49fe Refactoring signup flow, storage, contacts.
- 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
11 years ago
Frederic Jacobs 43af8c18e3 Merging UI code with some basic TextSecureKit code. 11 years ago
Frederic Jacobs 953d4d80fd Syntax fixes from #172
//FREEBIE
11 years ago
Frederic Jacobs d05791e699 Moving away from custom HTTP stack 11 years ago
Frederic Jacobs 510831d701 Auto-layout enhancements + Submit Debug Logs 11 years ago
Frederic Jacobs cd0bda7105 iOS 8 Support
- Supporting iOS 8
- Updating translations
- Rewriting PushManager to extensively use futures
- Pick up calls directly from the lock-screen
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 e9f8881bd4 Checking error codes and cleaning up when errors occur in EvpKeyAgreement
- Added a test to actually exercise the DH agreement path
//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 619b53cb0b Screen security feature. Closes #31 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
Frederic Jacobs 9240a095ae Travis CI-support and iOS8 push notifications
//FREEBIE
11 years ago
Frederic Jacobs 5ac7acfbc5 Enhancements in the verification flow
- Certificate Pinning with AFNetworking
- Block syntax for number validation
- Fixes null debug logs
11 years ago
Frederic Jacobs 9c31b9ab67 Logging migration errors 11 years ago
Frederic Jacobs db33d636e8 Migration scheme 11 years ago
Frederic Jacobs 46b869628e Closes #80 #37
- Use of new Keychain Access attribute
- Error management (notifying the user) when opening app without
required push and microphone permission
- Enforcing APNID are sent to server, retry later if not able to reach
server
11 years ago
Frederic Jacobs 19eb620fbf Closes #67 11 years ago
Frederic Jacobs c73e6b65eb Transitioning off custom preference files 11 years ago
Frederic Jacobs 9260116fac New wording for support features 11 years ago
Frederic Jacobs 556769cff9 Changes for arm64 and Clang redefined-types 11 years ago
Frederic Jacobs 4b2acd62f3 Cleaning environment prefs 11 years ago
Frederic Jacobs 24b09ccc2e Fixing NSNumber to BOOL conversion 11 years ago
Frederic Jacobs 5e9285ef60 Fixing #18 11 years ago
Frederic Jacobs 196d63fee7 Re-registering, generating new server passwords 11 years ago
Frederic Jacobs 2cdb05754c Bug fixes + Keychain store 11 years ago
Frederic Jacobs 09fcf2ff0e Fixing localization bug 11 years ago
Frederic Jacobs fe41d3379c Adding more logging to address the initialization issues 12 years ago
Frederic Jacobs 6d76b8b27b Localized challenge alertview 12 years ago
Frederic Jacobs 2a58c03b9f Localized sign up messages and gist log upload 12 years ago
Frederic Jacobs dca3c74bc3 Removing non-used debug environment 12 years ago
Frederic Jacobs 9d6ca82e84 Production logging & sign up error handling 12 years ago
Frederic Jacobs 109ecb36b2 Cleaning up unnecessary headers 12 years ago
Frederic Jacobs a6bf143855 Cleaner Keychain storage 12 years ago
Frederic Jacobs 6373507108 initial commit 12 years ago