Commit Graph

85 Commits

Author SHA1 Message Date
Michael Kirk 1e417ea93f Longpress to copy safety numbers
Nothing else to see here. =)

 ༼ つ ◕◡◕ ༽つ [swift]

// FREEBIE
2016-10-13 10:04:58 -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 b95112356c iOS 8 Fixups
* ContactsUI framework is not available on ios<9.
  And it never was, so this framework should not be "required".

* Fix conversation settings title font on ios8

* Fix fingerprint not displaying on ios8

* ios8 safety number indented on third line.

* Fix glitchy table cell animation (not ios8 specific)

  The defaut slide-under animation only looks good if you're using a
  standard table cell height, but our duration slider is taller than the
  rest of the table's cells.

  Plus add a little bottom padding to the slider cell

// 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 197933817c Fix height of network status on iphone5.
Abandon dynamic type since other (standard) table cells don't use it.

// FREEBIE
2016-09-17 13:51:34 -04:00
Michael Kirk 33f63e76d1 Fix devices icon intermittently showing
Because it was not rendering correctly in all cases, we're foregoing the
templated image, and using a colored asset.

// FREEBIE
2016-09-09 11:40:32 -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 eef2002224 Clean up settings (#1316)
* Remove unused (hidden) button from settings
* dynamic type for settings cells
* prefer property vs ivar access
* property attributes

// FREEBIE
2016-08-22 17:41:11 -04:00
Ronny 0455f03615 Fixes Call Error message text should adapt size to fit localized texts (#1164) (#1178)
- adding constraints and changing properties for _callStatusLabel to
fit 3 lines of text

//FREEBIE
2016-07-21 07:53:26 -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 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 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
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 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 53793e3c0f Fixes #950 2015-11-29 02:03:52 +01:00
Frederic Jacobs 777e7e16f0 3D Touch: Quick Compose 2015-10-31 23:44:16 +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 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 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 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 763d56c5d5 Fixes #613 2015-02-22 22:24:16 +01:00
Frederic Jacobs 7968821055 Fixing Storyboard warnings. 2015-02-20 23:15:41 +01:00
Christine Corbett 1ede61f272 Localizing the TextSecure component of Signal. 2015-02-20 19:31:44 +01:00
Frederic Jacobs 9569a9b9c6 Multiple visual enhancements and repo cleanup.
- Revising iconography to stick to v2.0 design.
- Multiple bug fixes based on testers feedback
- Integration with system addressbook
- Removing unused assets.
2015-02-18 18:20:02 +01:00
Christine Corbett 1befa98617 Should use new Inbox and Archive icons 2015-02-16 23:54:05 +01:00
Christine Corbett 414c44df80 Closes #590 - New Conversation Iconography.
- Use new Cancel button icon
- Use new Add Group button icon
- Use new Call Contact (d/w) button icon
2015-02-16 23:53:26 +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
Frederic Jacobs 3112bd9a15 Design enhancements, part of #577
- Settings iconography.
- Close buttons.
- Add gesture recognizers on navigation bar label, not the entire bar.
- Group view and conversation view back buttons.
2015-02-16 23:53:25 +01:00
Christine Corbett b7d65ce921 Designing the empty state during contact refresh. 2015-01-30 22:30:01 -10:00
Frederic Jacobs af3cf25207 Support for various screen sizes. 2015-01-30 20:04:10 -10:00
abolishme 6a1a785701 Fixed spacing on inbox number in icon 2015-01-30 17:25:21 -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
Frederic Jacobs 826b73051d Multiple constraints updates & addressing warnings.
- Icon bundles upgraded to match required sizes.
- Moving to NSAttributes instead of deprecated UIAttributes.
- Casting serialized attachmentID to NSNumber.
- Removing unused archival view from InboxTableViewCell.
- Upgrading contraints on SignalsVC for 6+ "TabBar".
- Removing deprecated "plain" properties
- Removing redundant button in FingerprintViewController.
- Addresses issues with placement of change number in signup flow
- Fixes placement bug in new group view
- Exclude unused reference.
2015-01-28 19:25:19 -10:00
Christine Corbett aca02221be Various design and UI consistency improvements.
• updated iconography
• lines and sizing
• empty inbox and archive screen with wording
• bug fix on calling to self being enabled sometimes (doesn't crash either way, but makes little sense)
• call icons and group update icons incorporated (PR to JSQ must be merged to test; this will be two lines on the Signal-iOS side to remove if we decide not to go with icons)
• fingerprint screen working: accessible by long press from contact screen on contact title. long press on lower half of screen shreds key material after confirmation. new icons for scan and show.
• short press on contact title will show their phone number
• color updates to new palette for green, yellow and light blue
2015-01-28 12:51:34 -10:00
Cade 6278152ad2 New round of iconography. 2015-01-28 12:51:34 -10:00
Christine Corbett 638dfae668 messaging view and group creation fixes:
• Create button should be btnCompose--white
• Add people to be a tableview header (ask @helveticade for creatives)
• Send button = btnSend--blue
• Attachments button = btnAttachments--blue
• message footer changes from call to message as input
• Remove more button
• Empty State update with asset and new copy
• Default group name should be 'New Group' (UI only)
• loading view
• Update tab bar items with revised PDFs
• Blue outline around avatar-less contacts
• Replace swipe left actions with btnDelete--white asset
• Replace swipe right buttons with cellBtnMoveToArchive--blue and cellBtnMoveToInbox--blue respectively
• Done icon replaced with btnSignal in settings
• Settings: Swap blue and grey for Registered Number and Change (change doesn't look like a button)
• Settings: UI Switch on should be Signal Blue.
• Disable search ui + group button while downloading contacts
• new group: Create button should be btnCompose--white
• new group: Add people to be a tableview header
2015-01-27 09:18:18 -10:00
Christine Corbett 6d2acb70fc in message view compose, ability to call
• RedPhone contacts which aren't TextSecure contacts are disabled from starting conversation via compose.
2015-01-26 14:33:50 -10:00
Cade 2d6b15333a Replaced all iconography and added new icons
Fix #503
2015-01-26 10:38:37 -10:00
Christine Corbett 478110dc86 Allows unregistering of RedPhone. 2015-01-25 14:32:07 -10:00
Christine Corbett 0e1a51e889 Fixed empty group avatar issue. 2015-01-24 16:28:35 -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
dtsbourg 96dc676bf9 Addresses multiples UI issues.
Closes ##275, #283, #278, #288

Reviewed-by: @FredericJacobs
2015-01-16 15:10:52 +01:00
Christine Corbett 1784fcf900 Group avatar: Set default one locally if not selected.
Reviewed-by: @FredericJacobs
2015-01-05 00:41:55 +01:00
Christine Corbett c9c4a93715 Members of groups selection
Reviewed-by: @FredericJacobs
2015-01-05 00:41:55 +01:00