Commit Graph

53 Commits

Author SHA1 Message Date
Michael Kirk 199ce49265 Fix smooshed launch image on iphone 6 by using storyboard instead of static launch image
This is recommended practice for iphone6/+ for iOS>=8

> Although it’s best to use a launch file for iPhone 6 and iPhone 6
> Plus, you can instead supply static launch images if necessary. If you
> need to create static launch images for these devices, use the
> following sizes:

https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/LaunchImages.html

Fixes #1136
Closes #1137
2016-04-08 11:35:29 +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 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
Mahyar McDonald 0c1a97a743 Some nits & add corner rounding to the message text box.
Closes #884
2015-12-24 11:43:24 +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
Michael Okner 37b582beda Adding support for animated gifs
Implemented using corbett's suggestion in issue #525. Uses
Flipboard/FLAnimatedImage in an AttachmentAdapter. Detects gifs using
new Animated category in MIMETypeUtil.

Backwards compatible with previous versions of Signal on iOS for both
sending and receiving Gifs, though they are sent/received in older
versions as UIImage and won't animate. Gifs also animate on both ends of
conversations with TextSecure users on Android.

//FREEBIE
2015-11-29 12:59:34 +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 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 0090030f3d Adding rating code
We’ve noticed that most people went to the App Store to leave really
bad reviews of the app and it is severely affecting our discoverability.
We will ask for a rating if we see you’ve been using the app for some
time. If you rate the app or decline to rate, that’s fine. We will
never bug you again!
2015-08-24 00:28:50 +02:00
Frederic Jacobs c4bf4a8f50 Preliminary iOS9 support and upgrading to CocoaLumberjack 2.0 2015-08-14 00:19:29 +02:00
Frederic Jacobs f6c0625c2c Removing unused imported classes.
//FREEBIE
2015-07-27 16:19:08 +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
Rainer Killinger d12c5b308e Fixes #680
Hour format was set to static “h:mm a” leading to localization issues.
Current locale will now be respected in every formatting.
Adjusted the decision when to label the message with a date from
“more then 24 hours ago” to “not today”.
2015-04-01 09:35:04 +02:00
Frederic Jacobs 7a5f9f1413 Remove initialization on MIMETypeUtil 2015-03-21 19:33:58 +01:00
Dirk-Willem van Gulik a1d0b6b1ad Lets user select country by country code.
Allow the entry of the country dial code to also pre-select/filter
the list of options. Useful for countries way down the list, or
countries that tend to be spelled in widely different ways.

Closes #662
2015-03-21 16:33:23 +01:00
Frederic Jacobs ee62cbdf23 Fixes #404
Support for drafts. Unsent messages are saved in case you want to send them later on and were interrupted while redacting them.
2015-03-01 08:49:20 +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 667cc983e9 Closes #589 - Enhancements conversation view.
- Call button should be removed from compose bar (when no text is in the input, or ever).
- Attachment options should be Choose from Library..., or Take Photo or Video
- Call button should move to right side of nav bar, and be solid white.
- Send button in compose bar should be the word Send.
- Attachment icon should be paperclip
2015-02-16 23:53:25 +01:00
Christine Corbett 70248837e7 New avatar placeholders.
- avatar colors implemented
- removed grey border on default group avatars and avatars with images
2015-02-16 23:53:25 +01:00
Frederic Jacobs dfdd0a1974 Support for `remoteRegistrationId`.
1) Supporting `remoteRegistrationId` on sending messages. Now showing
warning before sending the message if key conflict exists. Fixes #574
2) Upgrading dependencies: adapting to new libPhoneNumber API.
3) Fixes race condition in database code.
4) Fixing ordering bug. Hopefully once and for good.
2015-02-16 23:49:35 +01:00
Frederic Jacobs b80f99b8ac Cleanup iconography & fixes #582 2015-02-13 12:12:06 +01:00
Christine Corbett 3f81385c21 Resetting status bar to white. 2015-01-31 01:35:49 -10:00
Christine Corbett 797492fc13 Various enhancements to the groups.
- new avatar and updated avatar functional
- rounded corners in place, both in new/update group view and in inbox
- removed the appearance of the ability to delete members from a group.
- centering group menu in UIToolbar
2015-01-29 23:48:56 -10:00
Christine Corbett f0ac231b7f Setting status bars to white as completion of all modal presentations. 2015-01-29 23:48:19 -10:00
Christine Corbett f5848365f7 Deliberate handling of MIME types for video, audio, and images.
• rejects unhandled media with unsupported attachment message
• for supported media, handling of MIME type/file extension conversion in a single place
• groundwork for future handling of additional types via e.g. conversion
2015-01-29 08:30:50 -10:00
Christine Corbett ccdc4b5d17 Redesign implementation.
Result of stashed commits by @corbett and @abolishme
2015-01-24 16:28:34 -10:00
dtsbourg ee07490d3e MessagesVC: Paging and fix scrolling bug.
Reviewed-by: @FredericJacobs
2015-01-05 00:29:28 +01:00
Christine Corbett 4c0dbeb981 Group avatar fixes
- Resizes group avatars
- Fixing bug causing group avatar to be sent as attachment

Reviewed-by: @FredericJacobs
2015-01-04 11:30:28 +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 f8db90014d Attachements: Fixing UI issues 2015-01-04 11:30:26 +01:00
dtsbourg 32f1cb3755 Archive/Inbox: Unread layout and other enhancements
- Add lastAction indicator for errors and info in TSThreadViews
- Enable unarchiving and deletion from archive.
- Unread message layout
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 6446c6fbe0 Socket Management 2015-01-04 11:30:23 +01:00
Frederic Jacobs 1eff2b3ad5 Rewriting outgoing pipeline with GCD. 2015-01-04 11:30:23 +01:00
dtsbourg 84e12a39c9 ContactDetail: Link notes 2015-01-04 11:30:22 +01:00
dtsbourg a60bc8be92 Initial Message UI 2015-01-04 11:28:38 +01:00
Ben Sandofsky f65d552f6d Prefix NSArray categories.
Begin process of prefixing categories on Foundation and UIKit. This
follows Cocoa best practices. This makes sense given the number of third
party libraries the project incorporates, which may include their own
colliding category method names.

Use OWS prefix on classes that may be used across apps.
2014-11-20 00:34:47 -08:00
Craig Gidney a060bea69d Found a method to parse NSUInteger exactly and precisely //FREEBIE 2014-10-07 11:25:27 -04: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 03ce3635cb Improved the phone number editing during registration
- Fixed a crash where an offset wrapped around when deleting the opening bracket
- Backspacing now skips over formatting characters
- Cursor position is maintained more accurately when reformatting
- Added a few utility methods
- Also fixed a test not having "test" as a prefix, causing it not to run
//FREEBIE
2014-09-02 18:11:11 +02:00
Craig Gidney 5401056d31 Checked indentation, future source results, directory layout, thenTry vs then, dependencies 2014-08-20 19:43:33 -04: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 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 17571b6c54 Closes #52 2014-08-01 02:13:32 -04:00
Frederic Jacobs 9465423c72 Transitioning off custom preference files 2014-07-30 21:03:20 -04:00