Commit graph

146 commits

Author SHA1 Message Date
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
2016-07-31 15:25:07 -07:00
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
2016-07-19 09:12:18 -07:00
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
2016-06-28 08:58:29 -07:00
Michael Kirk
1e0f0157c1 namespace ContactsManager -> OWSContactsManager
rename test class ContactManager->OWSContact_s_Manager
update docs

// FREEBIE
2016-06-28 08:58:29 -07:00
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
2016-06-17 15:41:41 -07:00
Michael Kirk
752b0fecab Bloom filter migration: check for file before deleting (#1147)
- Extracted migration method
- added some logging

// FREEBIE
2016-04-18 11:17:08 -07:00
Frederic Jacobs
4034baedb9 Adapting to renaming. 2016-04-08 09:47:41 +02:00
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
2015-12-26 18:12:13 +01:00
Frederic Jacobs
1b02e186f8 Fixes #146 #147. 2015-12-24 18:52:18 +01:00
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.
2015-12-24 15:40:50 +01:00
Frederic Jacobs
3acc47d6ad Fixes #832 2015-12-23 00:11:03 +01:00
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.
2015-12-22 23:41:10 +01:00
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.
2015-11-29 01:14:49 +01:00
Frederic Jacobs
0ad55853f2 Adding staging environment. 2015-10-31 05:00:05 +01:00
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).
2015-10-31 04:45:55 +01:00
Frederic Jacobs
ada07351e1 Support for supportsVOIP attribute.
- Deprecates RedPhone upgrade flow.
- Adds a generic upgrade dialog.
- Upgrades dependencies.
- Reorganizes `TSStorageManager` & TSNetworkManager imports.
2015-08-23 00:00:39 +02:00
Frederic Jacobs
f6c0625c2c Removing unused imported classes.
//FREEBIE
2015-07-27 16:19:08 +02:00
Frederic Jacobs
07abcaf7da Register extra keying material at registration. 2015-07-14 21:55:25 +02:00
Frederic Jacobs
4c96ea1c91 Fixes crash on launch for unregistered users who updated. 2015-06-19 13:11:08 +02:00
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.
2015-06-07 22:38:28 +02:00
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.
2015-05-06 12:36:40 +02:00
Frederic Jacobs
9652584ada Upgrading dependencies. 2015-04-28 02:15:41 +02:00
Frederic Jacobs
e47e9759e9 Fixing leaky caches. 2015-04-28 02:15:41 +02:00
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.
2015-04-28 02:15:37 +02:00
Frederic Jacobs
788aa8cb4f Dropping some required permissions. Smarter microphone permission. 2015-03-23 01:34:33 +01:00
Frederic Jacobs
9c611fad79 Fixes #725 2015-03-21 17:53:38 +01:00
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.
2015-03-12 00:46:31 +01:00
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
2015-02-28 23:28:50 +01:00
Frederic Jacobs
212f0d4350 Fixes #611 2015-02-26 01:20:44 +01:00
Frederic Jacobs
d4e7096e83 Fixes #609
- Also addresses a typo where the cipher key was checked to exist twice.
2015-02-21 14:50:14 +01:00
Frederic Jacobs
24616735e5 Fixing issue when migration closed and re-opened. 2015-02-21 12:11:49 +01:00
Frederic Jacobs
311a758d27 Preparing release
- Incrementing build number
- Fetching latest translations
- Pod lock
2015-02-21 12:11:49 +01:00
Frederic Jacobs
3ade708040 Fixes based on corbett and abolishme's feedback 2015-02-21 12:10:28 +01:00
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
2015-02-20 22:59:38 +01:00
Christine Corbett
1ede61f272 Localizing the TextSecure component of Signal. 2015-02-20 19:31:44 +01:00
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.
2015-02-16 23:53:25 +01:00
Christine Corbett
a6976bac18 Migrations from 1.0.x and 2.0 beta. 2015-01-31 01:22:18 -10:00
Christine Corbett
b7d65ce921 Designing the empty state during contact refresh. 2015-01-30 22:30:01 -10:00
Frederic Jacobs
fb0281fd61 Exclude Signal files from backup & encrypt when possible. 2015-01-27 17:18:49 -10:00
Christine Corbett
ccdc4b5d17 Redesign implementation.
Result of stashed commits by @corbett and @abolishme
2015-01-24 16:28:34 -10:00
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.
2015-01-16 15:28:41 +01:00
Christine Corbett
b954ff2445 Closes #261 - Signal 1.0 to 2.0 utility.
Reviewed-by: @FredericJacobs
2015-01-16 14:24:05 +01:00
Frederic Jacobs
bf8f2bb263 Closes #270 #271 #273 2015-01-05 16:31:00 +01:00
Frederic Jacobs
0266621ceb Phone calls in MessageView. 2015-01-04 11:30:27 +01:00
Frederic Jacobs
a93b111458 Groups: Name of leaving user + outgoing message layout. 2015-01-04 11:30:27 +01:00
Christine Corbett
e58f9bf966 Groups: Update messages, avatars and bug fixes 2015-01-04 11:30:27 +01:00
Frederic Jacobs
402df72306 Attachments handling
- Sends image rotated
- If message is delete, delete the attachment db object and file
- Delete attachment from detail view
2015-01-04 11:30:26 +01:00
dtsbourg
f2217cacd7 Setting for Image Compression. 2015-01-04 11:30:26 +01:00
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
2015-01-04 11:30:26 +01:00
Frederic Jacobs
db74e17564 Fixing crash on notification style setting 2015-01-04 11:30:26 +01:00
dtsbourg
29b8fb6eab Settings: Let user pick notification style
Also lets user search for contacts by phone number.
2015-01-04 11:30:25 +01:00
Frederic Jacobs
80a8c39213 Debug: Logging new password creation. 2015-01-04 11:30:25 +01:00
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
2015-01-04 11:30:24 +01:00
Frederic Jacobs
8435a800d4 WebSocket Public Key Pinning. 2015-01-04 11:30:24 +01:00
Frederic Jacobs
1eff2b3ad5 Rewriting outgoing pipeline with GCD. 2015-01-04 11:30:23 +01:00
Frederic Jacobs
8514836032 Integrating call and messaging buttons. 2015-01-04 11:30:23 +01:00
Frederic Jacobs
f1c92b229a Registering by tapping SMS link. 2015-01-04 11:30:22 +01:00
Frederic Jacobs
8b6ac13594 Fixes InCallViewController & contacts not displayed 2015-01-04 11:29:59 +01:00
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
2015-01-04 11:29:59 +01:00
Frederic Jacobs
43af8c18e3 Merging UI code with some basic TextSecureKit code. 2015-01-04 11:28:38 +01:00
Frederic Jacobs
953d4d80fd Syntax fixes from #172
//FREEBIE
2014-10-06 10:05:55 +02:00
Frederic Jacobs
d05791e699 Moving away from custom HTTP stack 2014-10-06 01:28:45 +02:00
Frederic Jacobs
510831d701 Auto-layout enhancements + Submit Debug Logs 2014-10-05 19:18:18 +02:00
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
2014-09-15 01:32:19 +02:00
Craig Gidney
f1de95ab06 Recursively added dot syntax, translating more terms when they were encountered in the dif
FREEBIE
2014-09-12 07:21:17 +02:00
Craig Gidney
baaef78323 Using dot syntax for local*, all*, full*, first*, last*, to*, encodedAs*, copy*
FREEBIE
2014-09-07 11:43:53 -07:00
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
2014-09-01 09:30:09 +02:00
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
2014-08-20 08:08:32 -04:00
Craig Gidney
4cd30f32ed Using getter syntax for shared*, is*, and has* 2014-08-19 00:14:19 -04:00
Craig Gidney
9e36872644 Using dot syntax for count and length 2014-08-13 21:13:24 -04:00
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
2014-08-13 12:36:36 +02:00
Frederic Jacobs
619b53cb0b Screen security feature. Closes #31 2014-08-09 18:27:26 +02:00
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
2014-08-09 01:01:05 +02:00
Frederic Jacobs
9240a095ae Travis CI-support and iOS8 push notifications
//FREEBIE
2014-08-05 05:44:43 +02:00
Frederic Jacobs
5ac7acfbc5 Enhancements in the verification flow
- Certificate Pinning with AFNetworking
- Block syntax for number validation
- Fixes null debug logs
2014-08-02 13:57:50 +02:00
Frederic Jacobs
9c31b9ab67 Logging migration errors 2014-08-01 20:02:50 -04:00
Frederic Jacobs
db33d636e8 Migration scheme 2014-08-01 19:27:56 -04:00
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
2014-08-01 19:27:55 -04:00
Frederic Jacobs
19eb620fbf Closes #67 2014-07-30 21:03:20 -04:00
Frederic Jacobs
c73e6b65eb Transitioning off custom preference files 2014-07-30 21:03:20 -04:00
Frederic Jacobs
9260116fac New wording for support features 2014-07-19 13:00:52 -10:00
Frederic Jacobs
556769cff9 Changes for arm64 and Clang redefined-types 2014-07-17 02:02:09 +02:00
Frederic Jacobs
4b2acd62f3 Cleaning environment prefs 2014-07-17 00:50:56 +02:00
Frederic Jacobs
24b09ccc2e Fixing NSNumber to BOOL conversion 2014-07-12 01:08:17 +02:00
Frederic Jacobs
5e9285ef60 Fixing #18 2014-07-11 23:40:12 +02:00
Frederic Jacobs
196d63fee7 Re-registering, generating new server passwords 2014-07-11 19:41:16 +02:00
Frederic Jacobs
2cdb05754c Bug fixes + Keychain store 2014-07-11 00:33:51 +02:00
Frederic Jacobs
09fcf2ff0e Fixing localization bug 2014-07-07 23:22:42 +02:00
Frederic Jacobs
fe41d3379c Adding more logging to address the initialization issues 2014-07-06 19:18:56 +02:00
Frederic Jacobs
6d76b8b27b Localized challenge alertview 2014-07-03 15:00:59 +02:00
Frederic Jacobs
2a58c03b9f Localized sign up messages and gist log upload 2014-07-03 03:12:34 +02:00
Frederic Jacobs
dca3c74bc3 Removing non-used debug environment 2014-07-02 23:40:35 +02:00
Frederic Jacobs
9d6ca82e84 Production logging & sign up error handling 2014-06-30 17:14:33 +02:00
Frederic Jacobs
109ecb36b2 Cleaning up unnecessary headers 2014-05-07 02:53:31 +02:00
Frederic Jacobs
a6bf143855 Cleaner Keychain storage 2014-05-07 00:33:20 +02:00
Frederic Jacobs
6373507108 initial commit 2014-05-06 19:41:08 +02:00