Commit Graph

367 Commits

Author SHA1 Message Date
Michael Kirk
a736e8de66 Fixes avatar not showing for single contact thread (#1202)
* requires update to SignalServiceKit
* updated Pod Dependencies
* bumped version

Fixes #1201

// FREEBIE
2016-05-26 15:49:34 -05:00
Michael Kirk
d7c48578a9 Fix invite crashing without sms (#1192)
* 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
2016-05-23 11:39:30 -07:00
Michael Kirk
9bacc3de78 Reset compose view on thread switch (#1187)
* all Signal users can send text messages, never hide texting toolbar.

//FREEBIE

* Fix composition box size when switching threads.

Partial revert of 2c83046ff6 which
introduced a shared reusable message view controller across threads.

2c83046ff6 resulted in several discovered
bugs so far (#1179, #1150, #1152, and maybe: #1146). It's pretty clear
at this point we're going against the grain of how
JSQMesageViewController is intended to be used, and since the nominal
purpose of this feature (iPad Layout) doesn't exist, we should revert to
the known good way of interacting with the MessageViewController,
creating a fresh instance per thread.

// FREEBIE
2016-05-17 09:38:49 -07:00
Michael Kirk
da6597118a Fix unable to send invite via sms (#1188)
* 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
2016-05-16 15:52:11 -07:00
Michael Kirk
496f8117f9 Update translations (#1172)
* Update translations (4 new translations!)

*New Translations*

- Persian (fa) (100%)
- Indonesian (id) (82%)
- Macedonian (Macedonia) (mk_MK) 100%
- Shona (sn) 98%

Inluded a script to pull translations that are >=80% complete

80% is completely arbitrary, but nicely bisects the current translation
efforts which fall into buckets of "over 80%" and "under 50%."

// FREEBIE

* final tx pull before push source

//FREEBIE

* tx pull, after updating source (plus some eager beavers already pushed new translations)

iStringVerify passes

* Make "add person" label more i18n flexible

This accommodates (e.g.) Italian, which was being truncated.

// FREEBIE

* Galician localization

Moitas grazas xesusmosquera!

// FREEBIE

* i18n for Unarchive action

started leaving hints for our translators. These are currently manually
redundantly duplicated in the source/strings file, in hopes of a more
automated future with genstrings.

// FREEBIE

* include iStringsVerify check in update-translations script

and pull latest translations after including UNARCHIVE action
// FREEBIE

* i18n GROUP_MEMBERS_HEADER

//FREEBIE

* pull translations
2016-05-08 17:17:37 -07:00
Michael Kirk
7f022404d1 [UI] smaller group action menu icon, revert edit divider to neutral color (#1169)
* Group actions bar button image was too big

Added image inset to resize.

// FREEBIE

* return blue line to neutral gray. (partial revert of 0c1a97a743)

// FREEBIE

* Podfile.lock corollary to updating SSL in b7813bdc9a

// FREEBIE
2016-05-07 09:29:10 -07:00
Michael Kirk
5286c032ce reset "Load Earlier Messages" when switching threads (#1163)
Since we're now re-using the message controller across threads, we have
to reset some elements to their initial state when switching threads.
Missed this one.

Fixes: #1150

// FREEBIE
2016-04-26 18:57:55 -07:00
Ronny
f05429b594 Prevent skewed group image (fixes #756) (#1159)
* Prevent skewed group image (#756)

- fixes #756

//FREEBIE

* Prevent skewed group image in inbox view (#756)

- fix skewed inbox view image
- fixes #756

//FREEBIE
2016-04-22 12:34:09 -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
Michael Kirk
9f572881f8 * Cache cleaning uses YAP notificationsThis way we don't have to worry about cleaning the cache explicitlywhen we do destructive actions.// FREEBIE
* Cache cleaning uses YAP notifications

This way we don't have to worry about cleaning the cache explicitly
when we do destructive actions.

// FREEBIE
2016-04-18 10:07:35 -07:00
Michael Kirk
95ab3d677c must *always* be in main thread when dismissing view controller. (#1114)
Fixes intermittent crash when uploading new group photos.

// FREEBIE
2016-04-13 15:26:50 -07:00
Michael Kirk
5869fb8e06 Fix ability to attach photos from camera (#1112)
* Fix ability to attach photos from camera

Looks like this came about with the animated GIF handling. We'll only
go down the byte-comparison-mime-type-detecting code path for attaching
existing photos, since it only exists for animated GIFs.

This will also revert to properly compressing our image attachments, so
long as they are taken from the camera.

* Prevent crash when tapping broken image

It never makes sense to present a "full screen" nil image. Previously
this happened when camera-capture was broken, but could conceivably
happen for other as-of-yet unknown reasons.

// FREEBIE
2016-04-13 11:38:42 -07:00
Michael Kirk
c0bb704d2d Cache instantiated interactions (#1152)
*most* of our time when scrolling around a message view is in this
method. Doubly so when these are media items.

remove interaction from cache when it is deleted/updated

// FREEBIE
2016-04-13 10:05:09 -07:00
Michael Kirk
7d8292fd53 show alert must happen in main thread (#1119)
//freebie
2016-04-13 08:10:51 -07:00
Michael Kirk
fc494d735f Merge pull request #1140 from michaelkirk/fix-screen-protection-image
After removing launch image, we need to update screen security
2016-04-11 16:22:15 -04:00
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
Michael Kirk
721ed066f2 Fixes This class is not key value coding-compliant for the key "keyPath"
Since "Key Path" is the header for run time attributes, my guess is that
this was a click misfire so long ago. I'm not clear if this was ever
causing a crash or just a warning, but we don't want the noise.

Fix "Unbalanced calls to begin/end appearance transitions"

You should not segue while animations are in progress. I'm not sure if
this was causing intermittent crashes or just the warning.

//FREEBIE

Closes #1130
2016-04-08 11:35:29 +02:00
Arek Banas
72e1180e16 Removing unused didReceiveMemoryWarning methods from view controllers.
Closes #1078
2016-04-08 11:35:29 +02:00
Frederic Jacobs
4034baedb9 Adapting to renaming. 2016-04-08 09:47:41 +02:00
Michael Kirk
f44393bb74 Re-introduces the delete action.
The delete action became opt-in in JSQMessagesViewController.
Fixes #913
Closes #1104

//FREEBIE
2016-03-27 20:12:29 +02:00
Aayush Ranaut
bd377e65af Network Signal and deactivate account row don't highlight.
Related #1026
2016-01-03 20:35:30 +01: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
Mahyar McDonald
0c1a97a743 Some nits & add corner rounding to the message text box.
Closes #884
2015-12-24 11:43:24 +01:00
Adam Kunicki
da97349d41 Add subtitle to Screen Security setting to explain its function.
Closes #1014
Fixes  #993
2015-12-24 11:26:48 +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
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
Rui
25293fd40b Fixes #957.
Exit button not displaying when scanning fingerprint.
2015-11-29 12:28:04 +01:00
Frederic Jacobs
53793e3c0f Fixes #950 2015-11-29 02:03:52 +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
861e3d6266 Fixes #930 2015-11-03 00:26:48 +01:00
Frederic Jacobs
b70be4d559 Fixing bug with reused label appearing bold. 2015-11-02 19:47:55 +01:00
Frederic Jacobs
777e7e16f0 3D Touch: Quick Compose 2015-10-31 23:44:16 +01:00
Frederic Jacobs
0fd9acfb2c Phone emoji 2015-10-31 23:44:16 +01:00
Lilia
c4dcb5f807 Fixes #907
Upon receiving a 404 to a prekey request for a particular device D, the client handles that error by removing device D from the recipient's device list, and proceeds to encrypt and send to the remaining known devices.

Reviewed & Patched by @FredericJacobs
2015-10-31 23:44:16 +01:00
Frederic Jacobs
a29eb5470f Attachment type in notification and description. 2015-10-31 23:44:15 +01:00
Frederic Jacobs
ef6e658c38 Performance updates & smarter layout (2 lines)
- Adding support for ContactsUI when adding contacts on iOS 9.
- Multiple performance updates by liberating the main thread and
reusing tableview cells.
2015-10-31 23:44:15 +01:00
Frederic Jacobs
3d4d4123f7 Removing APNavigation as a dependency. 2015-10-31 23:43:16 +01:00
Frederic Jacobs
8189e593ef Fixes glitching of inbox label when coming back from background.
The method was not called on the main thread, resulting in rendering
issues.
2015-10-31 05:00:05 +01:00
Frederic Jacobs
e98a6217fe TLS 1.2 on signaling tcp. 2015-10-31 05:00:05 +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
eb94a1114a Fixing issue with message ordering. 2015-09-14 10:23:29 +02:00
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.
2015-08-24 01:47:25 +02: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
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
Orta Therox
0ab32b80d1 Stop the spinner when registration fails on a RegistrationVC 2015-08-19 14:59:05 -04:00
Frederic Jacobs
c4bf4a8f50 Preliminary iOS9 support and upgrading to CocoaLumberjack 2.0 2015-08-14 00:19:29 +02:00