Commit graph

283 commits

Author SHA1 Message Date
Michael Kirk 861e074c15 clarify call integration copy
// FREEBIE
2017-03-15 15:27:28 -04:00
Michael Kirk 8c81b4c82e update translations
// FREEBIE
2017-03-14 19:03:39 -04:00
Matthew Chen 27b515ea45 Add AttachmentApprovalViewController.
// FREEBIE
2017-03-14 10:23:17 -03:00
Michael Kirk 3b1c5214c7 pull latest translations
// FREEBIE
2017-03-09 17:57:08 -05:00
Michael Kirk 3e651fb8df filter undisplayable text
// FREEBIE
2017-03-09 17:52:19 -05:00
Michael Kirk 337c408810 pull latest translations
// FREEBIE
2017-03-06 11:20:07 -05:00
Michael Kirk 505aaa3795 tweak copy
// FREEBIE
2017-03-03 14:59:01 -05:00
Michael Kirk bb9d96efc3 pull latest translations
// FREEBIE
2017-03-03 14:56:01 -05:00
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
2017-03-02 22:09:33 -05:00
Michael Kirk 6aa6f4895b Combine callkit sections
// FREEBIE
2017-03-02 15:01:55 -05:00
Michael Kirk b371e627c4 one-time carousel of changes
// FREEBIE
2017-03-02 14:37:50 -05:00
Matthew Chen 012dd3d192 Add “nag” to call settings view that prods the user to change their privacy settings after calls.
// FREEBIE
2017-02-27 17:19:36 -05:00
Matthew Chen a20a21867e Respond to CR.
// FREEBIE
2017-02-24 23:02:17 -05:00
Matthew Chen 065d383c15 Add and honor the “CallKit Privacy” setting.
// FREEBIE
2017-02-24 23:01:09 -05:00
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
2017-02-24 11:21:52 -08:00
Darren W bf3a673443 Add accessibility labels for the Create New Group and Settings navigation bar buttons. FREEBIE. 2017-02-21 09:25:56 -05:00
Matthew Chen 353fa57544 Rework messages view's navigation bar.
// FREEBIE
2017-02-17 12:58:47 -05:00
Matthew Chen 2fb89ae8b4 Merge remote-tracking branch 'origin/release/2.7.1'
// FREEBIE
2017-02-17 12:40:08 -05:00
Matthew Chen ed0c16855d Respond to CR.
// FREEBIE
2017-02-17 09:42:52 -05:00
Matthew Chen 5bd44673ea Add sharing of attachments.
// FREEBIE
2017-02-17 09:39:58 -05:00
Matthew Chen 927eed7a15 Remove “beta” copy from WebRTC calling setting UI.
// FREEBIE
2017-02-15 20:17:38 -05:00
Michael Kirk cfecb03968 Update translations
// FREEBIE
2017-02-14 14:50:53 -05:00
Matthew Chen 6a3b462541 Add save/copy menu to the image attachment view.
// FREEBIE
2017-02-13 16:09:27 -05:00
Matthew Chen 6cf454b3b4 Improve rate-limiting error message in registration and code verification views.
// FREEBIE
2017-02-13 15:59:07 -05:00
Matthew Chen ef8735e238 Respond to CR.
// FREEBIE
2017-02-13 12:11:41 -05:00
Matthew Chen cf828dc1cf Rework “verify code” view.
* Ensure all controls visible at all times, on all form factors, even with keyboard active.
* Improve focus (i.e. auto-focus textfield on arrival and after errors).
* Move to programmatic view creation and layout.
* Improve spacing and sizing.
* Replace “change number” button with “back” button.
* Submit code with return key.
* Improve copy for clarity.

// FREEBIE
2017-02-13 11:42:45 -05:00
Michael Kirk 4a8cfde6b3 Sync translations
// FREEBIE
2017-02-10 17:41:08 -05:00
Michael Kirk b3ce705541 sync translations
// FREEBIE
2017-02-08 17:23:12 -05:00
Matthew Chen 06a775b41a Improve the call status messages in conversation view.
// FREEBIE
2017-02-08 16:47:09 -05:00
Michael Kirk 31378d4d9a sync translations
// FREEBIE
2017-02-08 10:49:14 -05:00
Michael Kirk 108720c2e7 End outgoing call with "No Answer" after 2 minutes
// FREEBIE
2017-02-08 10:33:43 -05:00
Michael Kirk 633e4a157e sync latest translations
// FREEBIE
2017-02-07 17:41:39 -05:00
Matthew Chen 734dec12e9 Respond to CR.
// FREEBIE
2017-02-07 17:33:13 -05:00
Matthew Chen c43063e1d6 Add “interstitial call view” that is shown during lengthy “webrtc supported” check.
// FREEBIE
2017-02-07 17:17:06 -05:00
Michael Kirk dc9ffe40e5 Better translation comments
in response to some confusion received from translators

// FREEBIE
2017-02-07 16:59:20 -05:00
Michael Kirk 6e7c18bbdd sync translations
// FREEBIE
2017-02-06 17:33:03 -05:00
Matthew Chen 80963d88f0 Respond to CR. Remove colon from call view status prefix.
// FREEBIE
2017-02-06 15:43:14 -05:00
Matthew Chen 9a08449d83 Add “signal” copy to call view.
// FREEBIE
2017-02-06 12:36:55 -05:00
Michael Kirk 007d9aca7e Latest translations
// FREEBIE
2017-02-03 14:41:51 -05:00
Matthew Chen 4f9ce0c0e2 Respond to CR.
// FREEBIE
2017-02-02 22:46:10 -05:00
Matthew Chen 26b3be4ec5 Improve "new conversation" view.
* Add "search by phone number" to "no contacts" mode.
* Coordinate "invite flow", "invite by SMS" and "new conversation with non-contact" to ensure only one (at most) is shown.
* Show "new conversation with non-contact" IFF phone number is known to correspond to a signal account.

// FREEBIE
2017-02-02 22:32:16 -05:00
Matthew Chen 3ae85ce2d8 Add button to start a new conversation with non-contact based on phone number in search field.
// FREEBIE
2017-02-02 22:32:16 -05:00
Michael Kirk 0a95dac616 pull latest translations
Most of these haven't actually been translated yet.

// FREEBIE
2017-02-02 20:32:17 -05:00
Michael Kirk 2a9aa4c852 users can opt out of CallKit
// FREEBIE
2017-02-02 19:09:37 -05:00
Michael Kirk 08425853cf re-use shared call strings
// FREEBIE
2017-02-02 17:42:23 -05:00
Michael Kirk 7e825648ef Show alert when trying to call a non-signal contact from Contacts.
// FREEBIE
2017-02-01 19:22:25 -05:00
Matthew Chen c8e5884087 Respond to CR.
// FREEBIE
2017-01-30 15:54:31 -05:00
Matthew Chen da53368bc2 Show alert when user tries to activate local video without camera permissions.
// FREEBIE
2017-01-30 14:08:53 -05:00
Michael Kirk fff061ff3f Make sure WebRTC preferences are synced *every* call
This slows the UI, but only for people who have locally opted into
WebRTC calls, and the alternative is that users are likely to have stale
settings the first time a pair of people opt-in.

// FREEBIE
2017-01-27 14:33:12 -05:00
Michael Kirk d3e6747499 Merge remote-tracking branch 'origin/master' into feature/webrtc 2017-01-25 12:13:37 -05:00
Michael Kirk 1de5a51fea Pull latest translations
// FREEBIE
2017-01-25 11:25:09 -05:00
Michael Kirk a6029f2545 Merge remote-tracking branch 'origin/master' into feature/webrtc 2017-01-25 09:54:33 -05:00
Matthew Chen 1898b9fa19 Merge branch 'charlesmchen/fixWebsocket' into feature/webrtc 2017-01-17 18:47:34 -05:00
Michael Kirk 1645663f88 pull latest translations
FIXES #1609

// FREEBIE
2017-01-17 18:05:12 -05:00
Matthew Chen 654bdb1a85 Add WebRTC setting.
// FREEBIE
2017-01-17 10:20:04 -05:00
Michael Kirk 7e715052d0 latest translations
// FREEBIE
2017-01-13 11:48:20 -05:00
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
2017-01-12 09:56:05 -05:00
Thomas Guillet d7b27a4021 Refactor ContactsPicker to show a clean search bar
* Replace UITableviewController to UIViewController
* Create a custom xib file
2017-01-09 11:45:43 +01:00
Michael Kirk 9f6b26a781 pull latest translations
// FREEBIE
2017-01-01 04:42:48 +01:00
Michael Kirk ce18be2288 pull latest translations
// FREEBIE
2016-12-22 17:43:37 -06:00
Michael Kirk 94d37d9c55 Warn user about re-registering existing signal number
* show better errors if it *does* happen.
  If someone tries to send from their old device, they'll see a
  depressing, but sensible warning message.
* new translations

// FREEBIE
2016-12-16 11:48:33 -06:00
Michael Kirk 84e35bd084 Update translations
// FREEBIE
2016-12-09 16:00:17 -05:00
Josh Schneier 89730f2b85 Improve accessibility a bit 2016-12-09 15:10:25 -05:00
Michael Kirk 273b3a3ac7 Update translations
// FREEBIE
2016-12-01 16:14:31 -05:00
RiseT f29a0fe49b Change safety number strings to be singular
// FREEBIE
2016-11-30 20:11:41 -05:00
Michael Kirk 5a0141003d "No Contacts" screen uses new invite flow
fixes #1501

// FREEBIE
2016-11-30 15:03:18 -05:00
Michael Kirk f0461891e0 Convert Localizable.strings tools to UTF-8 (#1420)
- Update translations
- Updated transifex scripts to convert appropriately
- Run script from any dir
- Check that target directories exist
- We're currently not pulling any strings from JSQMVC

UTF-8 is preferred since we can see diffs in GH and have sane merges.

// FREEBIE
2016-11-29 16:54:01 -05:00
Josh Schneier 896dd026d2 Remove DJWActionSheet 2016-11-29 10:20:56 -05:00
Michael Kirk ed29b154b8 update translations
// FREEBIE
2016-11-26 15:19:03 -05:00
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
2016-11-26 14:43:42 -05:00
Michael Kirk f9a60b622d Use cleaner signal link in invite email
// FREEBIE
2016-11-22 18:47:03 -05:00
Michael Kirk 06ca3c9290 Mail and Message invite flow
* Spruce up compose contact-picker
- Fix random sorting for contacts missing first or last name
- Add Avatar to contact picker
- de-dupe contacts

Better copy for INVALID_MESSAGE error.

// FREEBIE
2016-11-22 12:11:35 -05:00
Michael Kirk 584118a9fc compare safety numbers with clipboard (#1475)
* Compare safety numbers with clipboard

// FREEBIE
2016-11-21 11:06:37 -05:00
Michael Kirk 88d9ef987f Share dialog for Safety Numbers
// FREEBIE
2016-11-15 18:44:52 -05:00
Michael Kirk 7cae804217 Update translations, bump build.
// FREEBIE
2016-11-14 11:36:32 -05:00
Michael Kirk c5be8f2d88 Don't include phone number in scannable safety number QR code
also fixes #1455

// FREEBIE
2016-11-14 09:12:24 -05:00
Michael Kirk ddeadafc3b Don't show own addressbook info in settings
Some folks get the wrong idea and think Signal Service knows their name,
when really, we were just showing them the entry for the registered
phone number in their address book.

In any case, presumably the user already knows their name, so we don't
need to remind them.

// FREEBIE
2016-11-13 11:49:39 -05:00
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
2016-11-11 09:13:38 -05:00
Michael Kirk 368db7e553 [SSK] Only need to fetch prekey once
Plus related rate limit translations

// FREEBIE
2016-11-10 10:47:49 -05:00
Michael Kirk 49e5b19487 Update translations
// FREEBIE
2016-11-09 14:05:02 -05:00
Michael Kirk b8fc4001ec Camera permission fixup
- remove unknown segue, otherwise couldn't compile project
- translated english strings
- added translation comments
- reused existing "dismiss" string
- deselected row after dismissing permissions alert in linked devices
  screen

// FREEBIE
2016-11-08 17:16:19 -05:00
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
2016-11-04 14:57:37 -04:00
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
2016-11-03 16:13:49 -04:00
Michael Kirk f2ee006d5f Update translations
Bump version.

// FREEBIE
2016-10-28 10:52:43 -04:00
Matthew Douglass bbfffdf79f Scanning an invalid QR code shows an error dialog
* From the error dialog you are able to back out of scanning or try again. Adds English localization for this message.

  Adds an extra flag in OWSQRCodeScanningViewController to make sure that we don’t handle captureResults when capture is disabled (this was racing before because the call to [capture stop] is async and that was causing the cancel case to present the error dialog multiple times.

  Fixes Signal-iOS#1347

* Fixes appearance of race with starting capture
  Also marks the capture variable as atomic since it is accessed on
  multiple threads.

// FREEBIE
2016-10-26 15:49:19 -04:00
Michael Kirk 40d6550fca Update translations
// FREEBIE
2016-10-26 15:22:35 -04:00
Michael Kirk 66f0f8cc95 [SSK] Better error messages when failing to send
// FREEBIE
2016-10-26 15:22:35 -04:00
Michael Kirk 689df1be37 Handle key change in group send
// FREEBIE
2016-10-26 15:22:35 -04:00
Michael Kirk 0e345dbbad Update translations
// FREEBIE
2016-10-26 15:22:35 -04:00
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
2016-10-26 15:22:35 -04:00
Matthew Douglass 722c3a5e78 Create TSOutgoingMessage with info on group change
TSOutgoingMessage is created with details about the group changes so that we see more than just “Group Updated.”

* Customizes message for new group creation

  Replaces GROUP_UPDATED with GROUP_CREATED for a brand new group. Localized for English only.

* Updates to use fixed SignalServiceKit branch

// FREEBIE
2016-10-20 20:32:30 -04:00
Michael Kirk 802d2bfdff Revert "Create TSOutgoingMessage with info on group change"
Inadvertently stole credit for work done when squashing the commits.
Reverting and re-merging giving appropriate credit.

This reverts commit 8242c9e381.
2016-10-20 20:31:54 -04:00
Michael Kirk 8242c9e381 Create TSOutgoingMessage with info on group change
TSOutgoingMessage is created with details about the group changes so that we see more than just “Group Updated.”

* Customizes message for new group creation
  Replaces GROUP_UPDATED with GROUP_CREATED for a brand new group. Localized for English only.

* Updates to use fixed SignalServiceKit branch

// FREEBIE
2016-10-20 20:20:41 -04:00
Michael Kirk 15dcbbb06c re-pull translations after updating source
// FREEBIE
2016-10-20 13:27:38 -04:00
Michael Kirk b9945b7e32 pull latest translations before updating source
// FREEBIE
2016-10-20 13:27:38 -04:00
Michael Kirk 16a30f2892 translate untranslated strings
// FREEBIE
2016-10-20 13:27:38 -04:00
Michael Kirk 8c062f93aa Refresh Localizable.strings with auto-genstrings
This shouldn't have any affect on behavior, we're just removing unused
strings, extracting comments, and re ordering.

Going forward we can use auto-genstrings to get a sensible diff without
having to manually add/remove/update strings and comments.

Thanks @nixnuex!

// FREEBIE
2016-10-20 13:27:38 -04:00
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
2016-10-20 13:27:38 -04:00
nixnuex 722356db58 script to generate and merge global .strings file
* make auto-genstrings executable
2016-10-20 13:27:38 -04:00
Michael Kirk bc9154f18f Bump version / update translations
// FREEBIE
2016-10-14 13:20:10 -04:00
Michael Kirk 7661b7f402 Consistent copy with other platforms
// FREEBIE
2016-10-12 09:30:25 -04:00
Michael Kirk 185cb24938 Update translations
// FREEBIE
2016-10-12 09:30:25 -04:00
Michael Kirk 2b2ebbe099 Tweak settings design
* lighter tint for icons, their bold stroke width makes them darker than
  the text
* Replace double hourglass icons with a single one. It aligns better,
  and the "small time" vs "big time" is confusing
* Add description of what disappearing messages do

// FREEBIE
2016-10-12 09:30:25 -04:00
Michael Kirk dc0807297b Update translations
// FREEBIE
2016-10-12 09:30:25 -04:00
Michael Kirk ee0cce75e8 Disappearing Messages
* Per thread settings menu accessed by tapping on thread title

  This removed the toggle-phone behavior. You'll be able to see the phone
  number in the settings table view.

  This removed the "add contact" functionality, although it was already
  broken for ios>=9 (which is basically everybody).

  The group actions menu was absorbed into this screen

* Added a confirm alert to leave group (fixes #938)

* New Translation Strings
* Extend "Add People" label to fit translations.
* resolved issues with translations not fitting in group menu

* Fix the long standing type warning where TSCalls were assigned to a TSMessageAdapter.

* Can delete info messages

  Follow the JSQMVC pattern and put UIResponder-able content in the
  messageBubbleContainer. This gives us more functionality *and* allows us
  to delete some code. yay!

  It's still not yet possible to delete phone messages. =(

* Fixed some compiler warnings.

* xcode8 touching storyboard. So long xcode7!

* Fixup multiline info messages.

  We were seeing info messages like "You set disappearing message timer to
  10" instead of "You set disappearing message timer to 10 seconds."

  Admittedly this isn't a very good fix, as now one liners feel like they
  have too much padding.

   If the message is well over one line, we were wrapping properly, but
  there's a problem when the message is *just barely* two lines, the cell
  height grows, but the label still thinks it's just one line (as evinced
  by the one line appearing in the center of the label frame. The result
  being that the last word of the label is cropped.

* Disable group actions after leaving group.

// FREEBIE
2016-10-12 09:30:25 -04:00
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
2016-10-12 09:30:25 -04:00
Michael Kirk cc2a25b184 update translations
// FREEBIE
2016-09-30 10:22:12 -04:00
Michael Kirk 0c4f1d41b6 Fix contact sync in SSK (#1345)
* bump version
* update translations

// FREEBIE
2016-09-23 17:32:03 -04:00
Michael Kirk d8be0b5d22 New translations
// FREEBIE
2016-09-14 13:26:55 -04:00
Michael Kirk 5200cccbe3 Update translations
* New bg (Bulgarian) localization!
* New sq (Albanian) localization!
* replace unfinished bg_BG localization with complete bg localization
* caps keys to make it easier to see missing localizations
* pull with newly pushed source keys

// FREEBIE
2016-09-09 15:17:15 -04:00
Michael Kirk 7e67fb1939 Some style for the QR code scanner.
Also made identity key scanner appear faster. Previously we were
waiting for camera to initialize. Now we do this after the view has
loaded - with a black background, the affect is preferable than
lagging on the transition.

// FREEBIE
2016-09-07 22:43:19 -04:00
Michael Kirk ef6784ed95 Device Manager
* List linked devices
* Adding a new device
* Removing a device

TODO: design on the QRScanner

// FREEBIE
2016-09-06 15:57:44 -04:00
Michael Kirk 84156698c4 Provision device from QRCode.
NEEDS DESIGN - will likely have an intermediate "device manager" screen.

* extracted QRCode Scanner into re-usable ViewController

// FREEBIE
2016-09-02 12:40:21 -04:00
Michael Kirk f09af989b7 2.4 update translations (#1291)
// FREEBIE
2016-07-22 00:39:01 -07:00
Michael Kirk c4209e793a Don't use "we" in error message copy.
per @RiseT on transifex

// FREEBIE
2016-07-21 10:36:23 -07:00
Panos Sakkos c5f6b7b7bd Improved error message when network doesn’t allow to access Signal port.
Fixes #130

FREEBIE
2016-07-21 10:36:07 -07:00
Michael Kirk f205ff19fa new translations (#1265)
// FREEBIE
2016-07-19 11:26:07 -07:00
Michael Kirk 9db3b0db27 Consistent and efficient media Delete/Copy/Save UX
copy/save/delete is accessed via longpress for all media messages, just
like for simple text messages.

Notes
-----
We don't support saving audio attachments as it's not clear where they should go.
(I don't think users expect them to end up in their iTunes library.)

There is still no UX for "pasting" media into Signal.

Removed the now redundant (and confusing) "share" button interface.

//FREEBIE
2016-07-18 09:20:48 -07:00
Michael Kirk 992dbe586a Fix crash on unknown attachment (#1249)
// FREEBIE
2016-07-07 17:13:51 -07:00
Michael Kirk b83bcdab8a updated french and japanese translations 2016-06-28 15:36:34 -07:00
Michael Kirk 2565801c39 Fix new localizations (#1206)
* bump version
* pulled latest translations
* Register localizations with app.

- Persian (fa)
- Indonesian (id)
- Macedonian (Macedonia) (mk)
- Shona (sn)
- Galacian (gl)

(Project > Signal > Localizations > Add Localizations)

Generalized Macedonian locale since it seems like iOS doesn't support
the "Macedonia(Macedonia)" sub-locale

* disable farsi until proper RTL interface work is done

// FREEBIE
2016-06-09 11:04:51 -07:00
Michael Kirk 83de0d75b8 New translations (#1193)
* modify script to fetch all uploaded translations.

Otherwise we don't always get the latest translations.
This might be because we're only fetching "reviewed" translations, but
so-far-so-good with unreviewed translations, and we don't have a real
"reviewing" hierachy in place anyway. This policy might change in the
future, but at least now it's not ambiguous.

// FREEBIE

* latest translations
2016-05-24 08:14:00 -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 91d7ca2f53 Remove reference to + button, which was removed in #950.
Fixes #1080
Closes #1092
//FREEBIE
2016-03-27 20:10:50 +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
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 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 d33c80ddd9 Pulling in latest translations. 2015-10-31 23:44:16 +01:00
Frederic Jacobs 047262b95a Fixing typo in restrictions string. 2015-10-31 23:43:16 +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 f2e58de164 Bump up version number & fetch latest translations.
//FREEBIE
2015-08-24 22:24:03 +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 2d5d8db721 Fixes #871
//FREEBIE
2015-08-23 00:13:04 +02:00
Frederic Jacobs 02560f8b2f Flagging release.
- Bump up version number.
- Fetching latest localizations.
- Upgrading libPhoneNumber and Mantle dependencies.
//FREEBIE
2015-06-24 11:06:45 +02:00
Frederic Jacobs fd3e75b51d Bumping up version number & pulling localizations
//FREEBIE
2015-06-08 00:00:36 +02:00
Frederic Jacobs cd0fb8bc51 Fixing graphical glitch in tread with images. 2015-06-07 22:41:59 +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 93de0a4326 UX improvements in how failed messages can be resent. 2015-06-07 19:33:27 +02:00
Frederic Jacobs b1b936e436 Bumping up version number
- Upgrading dependencies.
- Fetching latest localizations.
2015-05-18 22:41:01 +02:00
Frederic Jacobs 0f04132b81 Bumping up version number
- Upgraded dependencies.
- Fetching latest localizations.
2015-05-12 22:43:40 +02:00
Frederic Jacobs 0f45294221 Reliability enhancements for notifications. 2015-05-12 22:43:32 +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 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 dceb1c9976 Bump up version number, pull localizations and dependencies 2015-04-07 17:28:50 +02:00
Frederic Jacobs 8e8ad7668c Bump up version number and new localizations
Note: Removing left to right languages until they are properly supported.
2015-03-23 01:38:18 +01:00
Frederic Jacobs 82a9029c37 Fixes #713 2015-03-21 17:53:39 +01:00
Frederic Jacobs ff82f60e05 Fixes #674 2015-03-16 11:35:25 +01:00
Frederic Jacobs 5aa560c0e3 Updating translations for 2.0.1-2 release. 2015-03-12 00:56:58 +01:00