Commit graph

39 commits

Author SHA1 Message Date
Matthew Chen
d12a582ee3 Rename source directories with a space in their name.
// FREEBIE
2017-03-31 11:58:52 -04:00
Michael Kirk
6036e20079 Filter high diacritical text, regardless of length
// FREEBIE
2017-03-22 14:59:29 -04:00
Michael Kirk
3e651fb8df filter undisplayable text
// FREEBIE
2017-03-09 17:52:19 -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
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
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
e930574b1b rename our custom JSQ classes to OWS so it's clear what is/not our code.
This was done as part of unforking JSQMessagesViewController, but is
intentionally a separate commit so we can separate formatting changes
from code changes in git history.

* Import frameworks like:
    #import <FrameworkName/HeaderName.h>
* instead of:
    #import "HeaderName.h"

// FREEBIE
2016-07-14 23:15:06 -07:00
Michael Kirk
8f04f863b7 hide UI element must happen on main thread (#1220)
// FREEBIE
2016-06-15 13:39:13 -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
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
b70be4d559 Fixing bug with reused label appearing bold. 2015-11-02 19:47:55 +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
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
c4bf4a8f50 Preliminary iOS9 support and upgrading to CocoaLumberjack 2.0 2015-08-14 00:19:29 +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
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
Frederic Jacobs
d912471a94 Settings and Empty States of the 98 issues list.
- Fixes some thread ordering issues.
- Green color for settings.
- New archive placeholder.
- Warning before unregistering.
2015-02-16 23:54:05 +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
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
b80f99b8ac Cleanup iconography & fixes #582 2015-02-13 12:12:06 +01: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
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
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
0e1a51e889 Fixed empty group avatar issue. 2015-01-24 16:28:35 -10:00
Joyce Yan
d740f801c6 Swipe to delete implemented 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
60fbfd129a Fixes crashes & edge cases for initials string. 2015-01-18 09:38:26 +01:00
Christine Corbett
3a43145c23 Closes #282 - Avatar initials placeholder.
Reviewed-by: @FredericJacobs
2015-01-16 14:24:09 +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
e58f9bf966 Groups: Update messages, avatars and bug fixes 2015-01-04 11:30:27 +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
dtsbourg
91e0b66424 Addresses multiple UI issues.
- New Contact spacing to let user tap call/message icons
- Handeling error messages, delivery receipts, timestamps
2015-01-04 11:30:23 +01:00
Frederic Jacobs
1e3dd3d946 Integration work - thread view 2015-01-04 11:30:22 +01:00
Frederic Jacobs
b58d2fb864 Integrating deletion of threads. 2015-01-04 11:30:22 +01:00
dtsbourg
84e12a39c9 ContactDetail: Link notes 2015-01-04 11:30:22 +01:00
dtsbourg
e48ea52924 ContactDetail: Fix crash on parsedPhoneNumbers 2015-01-04 11:30:21 +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
Renamed from Signal/src/view controllers/TableViewCell.m (Browse further)