Commit graph

917 commits

Author SHA1 Message Date
Matthew Chen
284d55ef6c Rework the debug UI.
* Move debug stats to the about view.
* Convert about view to OWSTableView.
* Add DebugUIPage.
* Add non-thread Debug UI.

// FREEBIE
2017-07-04 11:57:13 -04:00
Matthew Chen
6a5fe94d59 Improve perf of attachment stream file path upgrade.
// FREEBIE
2017-06-21 10:38:41 -04:00
Michael Kirk
4f3278db1e Fix layout of timestamp for system messages
Incorporate topLabelSize into cell size for system messages.

We are using the term "bubble size" to describe the interaction specific
views of a collection cell. It's a crappy name, but coincides with other
usage.

// FREEBIE
2017-06-19 09:16:37 -04:00
Matthew Chen
c7426f9343 Avoid crashing on startup due to database view creation.
* Substitute unread view for unseen view until unseen view is ready.
* Register as many views as possible async.
* Perform blocking, safe migrations before async registration of views.
* Add debug settings view for internal app stats.
* Show blocking overlay until async registration of database views is complete.
* Convert version migrations to use AppVersions.

// FREEBIE
2017-06-15 13:44:30 -04:00
Matthew Chen
11ca51c95f Show verification state banner. Show verification state in conversation settings view.
// FREEBIE
2017-06-09 16:21:59 -04:00
Matthew Chen
58ebebc97f Move QR code scanning to a separate view.
// FREEBIE
2017-06-09 07:48:48 -04:00
Matthew Chen
3508feaec3 Convert FingerprintViewController to programmatic layout.
// FREEBIE
2017-06-08 14:55:26 -04:00
Michael Kirk
d77addc01e extract session state debug utils into section
// FREEBIE
2017-06-07 10:56:23 -04:00
Matthew Chen
b6ddea9eae Sketch out OWSIdentityManager.
// FREEBIE
2017-06-07 10:18:16 -04:00
Matthew Chen
a013a7206e Rework and unify the system messages.
// FREEBIE
2017-06-06 10:15:56 -04:00
Matthew Chen
2cbf1e1d05 Rework and unify the system messages.
// FREEBIE
2017-06-06 10:15:56 -04:00
Matthew Chen
a69c6cce4e Decompose MessagesViewController, add “scroll to bottom button”, improve scrolling behavior.
// FREEBIE
2017-06-05 16:21:26 -04:00
Michael Kirk
130aa132a0 Reject incoming calls from an unseen changed identity
// FREEBIE
2017-06-01 12:59:34 -07:00
Michael Kirk
9a2f218bf3 show SN confirmation before adding to group
* Extract SN confirmation dialog

// FREEBIE
2017-05-30 13:10:45 -07:00
Michael Kirk
1a03be8ae7 Fetch safety number upon entering thread
* uniform method to get recipients in group/contact thread
  * use it to clean up markAsSeenJob

// FREEBIE
2017-05-26 09:50:09 -07:00
Michael Kirk
bb25d2beb6 IdentityKeyStore changes
1) Always accept keys from incoming messages

2) Block sending only if it's a recent change, or if always
   block is enabled

// FREEBIE

// FREEBIE
2017-05-24 18:01:24 -07:00
Matthew Chen
4680a2465a Remove registration storyboard.
// FREEBIE
2017-05-24 17:46:32 -04:00
Matthew Chen
db097ab8de Fix caching of message bubble sizes.
// FREEBIE
2017-05-23 13:24:10 -04:00
Matthew Chen
bc501b16f2 Let users manually specify the domain fronting country.
// FREEBIE
2017-05-22 20:34:56 -04:00
Matthew Chen
867eb7d741 Convert CountryCodeViewController.
// FREEBIE
2017-05-22 20:23:53 -04:00
Matthew Chen
a37b194dc0 Add debug functions for sending media messages.
// FREEBIE
2017-05-22 20:17:56 -04:00
Matthew Chen
7b70fe674a “Add to contacts” offer.
// FREEBIE
2017-05-22 18:27:11 -04:00
Matthew Chen
ac458cc7ad Add unread indicator.
// FREEBIE
2017-05-19 14:30:27 -04:00
Matthew Chen
0ec095f216 Nag users on iOS 8 to upgrade.
// FREEBIE
2017-05-18 10:09:07 -04:00
Michael Kirk
557488bc7d return iOS8 support in project files
// FREEBIE
2017-05-18 10:05:39 -04:00
Matthew Chen
ea34cec0d9 Clean up ahead of PR.
// FREEBIE
2017-05-12 09:46:54 -04:00
Matthew Chen
96e155c75e Rework appearance of voice messages and audio attachments.
// FREEBIE
2017-05-12 09:46:54 -04:00
Matthew Chen
19b80d1f4b Rework the “disappearing messages” logic.
// FREEBIE
2017-05-10 15:02:16 -04:00
Matthew Chen
ad3a1a671a Merge remote-tracking branch 'origin/hotfix/2.11.3' 2017-05-08 16:47:20 -04:00
Matthew Chen
34a7f9cba5 Respond to CR.
// FREEBIE
2017-05-08 14:24:32 -04:00
Michael Kirk
fbcda40400 rename class, extract color
per code review

// FREEBIE
2017-05-08 11:15:45 -04:00
Michael Kirk
a58a71f8f4 no contacts banner -> system settings 2017-05-08 11:15:45 -04:00
Matthew Chen
0c4351a908 Use SignalAccount class to sync contacts.
// FREEBIE
2017-05-05 20:57:35 -04:00
Michael Kirk
ce2ee759f8 Update to latest recommended xcode.proj settings
// FREEBIE
2017-05-05 14:26:29 -04:00
Matthew Chen
363d84fd2d Update “new conversation” view to use OWSTableView, contacts view helper, etc.
// FREEBIE
2017-05-05 10:42:42 -04:00
Michael Kirk
2ec893d315 Ensure we're retaining all promises to completion
// FREEBIE
2017-05-04 15:15:14 -04:00
Michael Kirk
b24cf29189 don't request contacts until necessary
Most commonly this will be after hitting the "compose" button

But also we'll do it in the SignalViewController once you've received a
message.

- get rid blocking contacts nag
- use Contacts framework simplifies logic
- remove dead AB code

// FREEBIE
2017-05-04 09:47:04 -04:00
Matthew Chen
2bec1db541 Respond to CR.
// FREEBIE
2017-05-02 10:54:07 -04:00
Matthew Chen
6801963a1b Add SignalAccount class.
// FREEBIE
2017-05-02 09:28:50 -04:00
Matthew Chen
42768294ee Extract labels for phone numbers.
// FREEBIE
2017-05-02 09:28:50 -04:00
Matthew Chen
61f59067b6 Improve contact-related views.
* Add support for contacts with more than one Signal account using ContactAccount class.
* Use OWSTableViewController in contact-related views.
* Let users add non-contacts to groups.
* Improve the "new group" and "edit group" views.
* Add utility methods for displaying alerts.
* Warn users before discarding unsaved changes in "edit group" view.
* Pull out "contact view helper" to de-duplicate common logic among contact-related views.
* Pull out "group view helper" to de-duplicate common logic among group-related views.
* Pull out new base class for view used to add accounts to groups or the block list.

// FREEBIE
2017-05-02 09:28:02 -04:00
Matthew Chen
6e36ce97a5 Let users share imported files to a thread or contact of their choice.
// FREEBIE
2017-04-26 13:29:56 -04:00
Michael Kirk
70d235a670 Choose arbitrary attachments from iCloud/GDrive/Dropbox/etc
// FREEBIE
2017-04-20 18:49:30 -04:00
Matthew Chen
eb23252c6c Fix timer retain cycle.
// FREEBIE
2017-04-20 17:54:08 -04:00
Matthew Chen
980d726a48 Add audio attachment player.
* Fix two bugs around play/pause button appearance.
* Fix bugs around stopping playback when leaving view/entering background.
* Fix bugs around cleaning up playback state  when leaving view/entering background.
* Fix audio playback vs. hardware mute button.
* Improve handling of invalid audio attachments.

// FREEBIE
2017-04-20 09:44:25 -04:00
Michael Kirk
d9e3e87735 New downloading progress view (#2006)
Replace previous "scary" warning-style attachment notifications with
something less alarming.

Includes file name and file type emoji when discernable.

// FREEBIE
2017-04-19 18:50:27 -04:00
Matthew Chen
b2664158b1 Pause animated gifs when offscreen; clean up media views more aggressively.
// FREEBIE
2017-04-19 11:45:06 -04:00
Matthew Chen
bfd29cd994 Send contacts sync messages whenever the contacts change.
// FREEBIE
2017-04-19 10:25:33 -04:00
Matthew Chen
f38f3d8887 [SSK] Update SignalAttachment to allow arbitrary attachments.
// FREEBIE
2017-04-13 15:27:55 -04:00
Matthew Chen
54cd8cfa3c Add blacklist controls to 1:1 conversation view.
// FREEBIE
2017-04-05 09:09:13 -04:00
Matthew Chen
271cc6f07e Sketch out BlockListViewController and AddToBlockListViewController.
// FREEBIE
2017-04-03 17:49:06 -04:00
Matthew Chen
a155df161f Pull out OWSTableViewController.
// FREEBIE
2017-04-03 17:49:06 -04:00
Matthew Chen
d12a582ee3 Rename source directories with a space in their name.
// FREEBIE
2017-03-31 11:58:52 -04:00
Michael Kirk
0b49037179 Remove some more RP related code
// FREEBIE
2017-03-30 11:00:28 -04:00
Matthew Chen
4649fcfd20 Add "oversize test message" view.
// FREEBIE
2017-03-30 09:51:49 -04:00
Matthew Chen
80fbc093d9 Handle oversize text messages and arbitrary attachments.
// FREEBIE
2017-03-29 14:34:21 -04:00
Matthew Chen
6b8d4ea7ae Sketch out debug UI.
// FREEBIE
2017-03-29 12:44:32 -04:00
Matthew Chen
9db33a9651 Remove RedPhone code.
// FREEBIE
2017-03-29 12:25:33 -04:00
Michael Kirk
f29ca7851f Move PureLayout back to cocoapods for now
This introduced some unexpected crashes related to frameworks in Swift.

// FREEBIE
2017-03-23 21:48:59 -04:00
Michael Kirk
f2728d461b Remember to copy PureLayout.framework
// FREEBIE
2017-03-23 21:00:18 -04:00
Matthew Chen
814c6d2505 Only initiate WebRTC calls, not RedPhone calls.
// FREEBIE
2017-03-22 17:02:42 -04:00
Michael Kirk
da32570dc6 [SSK] remove convoluted dependency
Moved query method to PhoneNumberUtil since that's they only caller.
Moved corresponding tests to SSK

// FREEBIE
2017-03-20 15:35:09 -04:00
Michael Kirk
c39a26659e Merge pull request #1860 from WhisperSystems/mkirk/intern-pastelog
Intern pastelog
2017-03-20 14:38:29 -04:00
Matthew Chen
9ae047a1da Add progress & disable media views while uploading attachments.
// FREEBIE
2017-03-20 12:55:35 -04:00
Matthew Chen
442546fba8 Align the message state indicators with the behavior on Android and desktop.
// FREEBIE
2017-03-20 12:55:35 -04:00
Matthew Chen
1820fdbde8 Merge remote-tracking branch 'origin/hotfix/2.8.3' 2017-03-20 12:55:05 -04:00
Michael Kirk
8adba61b37 intern Pastelog back into Signal.
Not worth the cocaopods/framework/project mgmt machinery for making
changes to 1 class.

// FREEBIE
2017-03-17 17:37:32 -04:00
Michael Kirk
99c982fbb2 change ZXing to framework for faster incremental compiles in xcode
// FREEBIE
2017-03-16 12:04:45 -04:00
Michael Kirk
3ee1d5568c Migrate existing users to RTC calling
// FREEBIE
2017-03-14 18:59:48 -04:00
Matthew Chen
cd928cd9be Update MessagesViewController to use SignalAttachment.
// FREEBIE
2017-03-14 10:23:16 -03:00
Michael Kirk
3e651fb8df filter undisplayable text
// FREEBIE
2017-03-09 17:52:19 -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
b371e627c4 one-time carousel of changes
// FREEBIE
2017-03-02 14:37:50 -05:00
Matthew Chen
a4093a5f7f Respond to CR.
// FREEBIE
2017-02-17 17:30:49 -05:00
Matthew Chen
5bd44673ea Add sharing of attachments.
// FREEBIE
2017-02-17 09:39:58 -05:00
Michael Kirk
2791b9551e bump build
// FREEBIE
2017-02-10 17:42:21 -05:00
Matthew Chen
97001018ae Clean up prekey logic.
// FREEBIE
2017-02-10 16:35:16 -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
bbfd9ba74d Place Signal/Redphone calls from system contacts
// FREEBIE
2017-02-01 18:56:37 -05:00
Matthew Chen
699b364ec7 Show/hide call view controls in remote video mode if user taps screen.
// FREEBIE
2017-01-30 14:04:57 -05:00
Michael Kirk
e556a369bb Include missing files to fix tests
// FREEBIE
2017-01-26 15:00:02 -05:00
Michael Kirk
814aec6cdd Recover CallKit state when remote client fails to hangup
Distinguish between localHangup, remoteHangup, and call failure.

This allows us to put CallKit in the proper state, ready to receive new
calls without having a backlog of phantom calls which haven't been
properly removed.

Note the "call error" occurs at the point ICE fails, which takes a
while. Anecdotally, like 10 seconds, which feels like a long to be
talking into the ether.

I briefly considered failing at 'disconnected', which happens much
sooner, but that's actually a recoverable state. E.g. if you toggle
airplane mode you can see that you bounce into `disconnected` and then
back to `connected`, so I don't think we'd want to fail the call as long
as WebRTC considers it "recoverable".

// FREEBIE
2017-01-26 13:18:06 -05:00
Michael Kirk
a6029f2545 Merge remote-tracking branch 'origin/master' into feature/webrtc 2017-01-25 09:54:33 -05:00
Michael Kirk
b2091431dc Fix retain cycle
// FREEBIE
2017-01-24 14:13:29 -05:00
Michael Kirk
87ed662116 Persist AudioService if CallViewController is dismissed
...in response to CR, move the AudioService off of the CallViewController

Adopt multiple observer pattern vs. a singular delegate. Doing so
required implementing some machinery to address the ARC (see:
Weak.swift)

// FREEBIE
2017-01-24 14:13:29 -05:00
Michael Kirk
4374e431a2 Respect silent switch in and out of app.
// FREEBIE
2017-01-24 12:57:02 -05:00
Michael Kirk
907e122d62 Migrate legacy db stored logging preferences to NSUserDefaults
This is part of making sure we can log *before* the DB is initialized.

// FREEBIE
2017-01-23 20:10:58 -05:00
Michael Kirk
dbb29d7d7e Don't require recording permissions until call is ringing.
We do this by manually managing the RTCAudioSession.
Unfortunately to do this we have to include a couple of RTC headers not
exported by the default build of WebRTC.framework (see: Libraries/WebRTC)

// FREEBIE
2017-01-17 21:49:13 -05:00
Michael Kirk
8998853aff Move RTCPeerConnectionDelegate to PeerConnectionClient
This makes sense as PeerConnectionClient is our interface to WebRTC

- Makes it easier to test PeerConnectionClient and CallService
- Allows us to shrink CallService class a bit (it's huge)

// FREEBIE
2017-01-17 20:14:33 -05:00
Matthew Chen
c6de676018 Respond to CR.
// FREEBIE
2017-01-12 17:55:44 -05:00
Matthew Chen
4a65a88512 Rework new call view.
// FREEBIE
2017-01-12 15:55:14 -05:00
Michael Kirk
a17873291b Fix up tests
// FREEBIE
2017-01-12 09:56:09 -05:00
Michael Kirk
9e248168b9 merge CallKitProviderDelegate into CallKitCallUIAdaptee
There was not a clear distinction in responsibilities and mostly the
Adaptee was just delegating to the CKProviderDelegate
2017-01-12 09:56:09 -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
90daf60c56 Fix travis build
* Add generated Signal-Swift.h to test search header path. You must do
  this when testing an ObjC clas with swift dependencies (PushManager. in this case)
* Word on the street is that XCode8.2 is less flaky for running simulator tests

// FREEBIE
2016-12-22 10:48:06 -06:00
Michael Kirk
ddba843d44 Censorship circumvention in Egypt and UAE
* domain fronting
* non-websocket message fetching

// FREEBIE
2016-12-21 10:04:23 -06:00
Daniel Rosado
76d01863db [Invite Flow] Use email address to collate contacts when no given or family name is provided
* Add tests to ContactsPicker collate contacts functionality
2016-12-09 15:12:13 -05:00
Michael Kirk
5a0141003d "No Contacts" screen uses new invite flow
fixes #1501

// FREEBIE
2016-11-30 15:03:18 -05:00
Josh Schneier
896dd026d2 Remove DJWActionSheet 2016-11-29 10:20:56 -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
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
d3c2f44aeb Exclude extra data detectors.
Data detectors work by matching local text against a series of local
matchers. No network activity is required. Some of the data detectors
are really useful (e.g. a link, or being able to copy a phone number).

Some aren't very useful, e.g. pop culture references, and seeing things
underlined is giving people the false impression that their data is
being inspected remotely.

// FREEBIE
2016-11-14 08:58:22 -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
Jarosław Pawlak
c152c1c83a asking for camera permissions #1363 2016-11-08 16:28:24 -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
bd370f1de4 Fix cropped Chinese/Japanese messages
The earlier fix for the broken ios10 emoji font ended up breaking
messages for some users with a tall font.

Here we have a lighter touch - ensuring we don't touch messages that
don't use emoji.

Also, introduce a different approach to the fix, rather than trying to
compute the bounding rect of an appropriately attributed string, just
add an extra bit of height per line.

This approach isn't ideal for long messages with only one emoji line in
them, but the previous approach was incompatible with Chinese messages
that also contain emoji. See the new
`MesssagesBubblesSizeCalculatorTest.swift` for test cases considered.

// FREEBIE
2016-11-03 16:22:33 -04:00
Michael Kirk
62f9606bf5 Merge branch 'mkirk/fix-registration-without-background-modes#1329'
// FREEBIE
2016-11-03 16:19:21 -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
Matthew Douglass
c958c7909c Unifies bubble sizes for media bubbles
Media bubbles (for photo, video and animated) sizes are calculated using shared logic. The bubbles are fixed width and their height is calculated based on the aspect ratio of the underlying image (clamped to a reasonable min/max height).

Fixes #1270

// FREEBIE
2016-10-27 21:47:53 -07:00
Michael Kirk
7c32259a92 We aren't using ErrorMessage/InfoMessage. (#1412)
We incorrectly assumed some parameters were these types, but actually
they were TSMessageAdapters.

// FREEBIE
2016-10-23 13:39:42 -04:00
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
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
3e7e67e276 Async migrations framework
* nonblocking by default
* track success of each migration independently

// FREEBIE
2016-09-28 17:09:11 -04:00
Michael Kirk
2ab6955967 More logging, scrub phone numbers from file logs (#1357)
Phone number are still logged in TTY for development.

// FREEBIE
2016-09-27 21:20:58 -04:00
Michael Kirk
63513bed12 Apple now requires camera permission explanation
Even though it's pretty obvious why we need your camera when you push a
"take photo" button...

Unfortunately this warning will be confusing if someone's first exposure
to it is to scan an identity code, but that seems like an edge case not
worth pegging an extra sentence of copy to an already unnecessary
warning.

Also, we're enabling push notifications for dev, per apple build
submission feedback.

// FREEBIE
2016-09-17 13:51:34 -04:00
Michael Kirk
f753cfeed4 Fix XCode8 code signing
// FREEBIE
2016-09-17 13:51:34 -04:00
Michael Kirk
7c6e9e07b8 Read receipts remove lockscreen notifications
No need to have a notification for a message you've already read on
desktop.

// FREEBIE
2016-09-17 13:51:33 -04:00
Michael Kirk
0a64022748 Must specify team for XCode 8 build
// FREEBIE
2016-09-12 16:47:33 -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
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
cc2d47fbd3 Update protocol (#1315)
* Update to latest SignalServiceProtocol
* Show SignalServiceKit compiler warnings

// FREEBIE

* Update to latest signal protocol

// FREEBIE
2016-08-22 16:54:31 -04:00
Michael Kirk
58548c68cc code cleanup
- refactor screen protection code for clarity
- remove unused settings cell class
- remove unused preferences

// FREEBIE
2016-08-15 10:07:14 -04:00
Michael Kirk
86f06593d8 Fix "can't reattach saved GIF" (and others) (#1288)
The root of the problem is we were using the deprecated ALAssetsLibrary
framework, which couldn't find certain assets.

By using the photos framework not only are we able to find these
assets, but it also cleans up our code:
* no more copying byte buffers
* no more detecting file type

// FREEBIE
2016-07-21 17:15:34 -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
4ccb295dbb Send button disabled color and dynamically sized
Using upstream button and change notification allows us to delete some
code.

// FREEBIE
2016-07-14 23:15:06 -07: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
4d320d6015 Unfork JSQMessagesViewController
Geting back on upstream fixes a couple bugs (see ##Bugfixes), and also
will make future updates easier.

The unforking process was basically this:

* move custom message types (Calls and DisplayedMessages) classes from our
  custom JSQMVC fork into Signal-iOS.
* Move any method customization into our subclass. Including
  ColletionView stuff, bubble sizing, and gesture behavior

Bug Fixes
---------
* Fix mis-sized incoming media bubbles.

Bubble size was being cached by interaction id. Which broke when
receiving an attachment. The problem is that incoming media messages
were initially the height of a "Downloading Attachment" info message.
Instead we use the mediaHash for media messages to expire the bubble
size when the media changes.

* fix missized bubble when MVC did appear

The MessagesViewController isn't sized correctly until ViewWillAppear.
This caused the first round of bubbles to be rendered incorrectly (they
assumed a larger container than they had).  I think is reflected in the
current version of the app by a reflow occurring shortly after the view
appears.

Chores
------
* bump travis to build with xcode8
* specify RQV development team for device build. required by xcode 8 beta

Cleanup
------
* Refactor messageing XIB so that elements are hangning outside of
  the views frame
* Fix compiler warning with explicit cast
* delete deprecated lineBreakmode, it's the default value anyway.

// FREEBIE
2016-07-14 23:15:05 -07:00
Michael Kirk
a181d218cf extract and test contact searcher
// FREEBIE
2016-06-28 14:13:39 -07:00
Michael Kirk
1e0f0157c1 namespace ContactsManager -> OWSContactsManager
rename test class ContactManager->OWSContact_s_Manager
update docs

// FREEBIE
2016-06-28 08:58:29 -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
e7f3092f00 CocoaPods 1.0 update and Travis-CI compatibility (#1216)
* CocoaPods 1.0 compatibility. Thanks to @brianherman and @orta for the Podfile changes, taken from PR #1156
* Modified Travis-CI to use the newer CocoaPods 1.0 as well.
* Performance improvements to Travis-CI to reduce build time by 50%-75%

Cherry-picked and conflicts resolved by @michaelkirk
2016-06-14 11:58:56 -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
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
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
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
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
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
Frederic Jacobs
f6c0625c2c Removing unused imported classes.
//FREEBIE
2015-07-27 16:19:08 +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
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
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
8e48c596ba Fixes #244 2015-03-21 17:53:38 +01:00
Frederic Jacobs
5aa560c0e3 Updating translations for 2.0.1-2 release. 2015-03-12 00:56:58 +01:00
Frederic Jacobs
b6ef5f0b7f Bloomfilter moves to Cache folder
The bloom filter is not user generated content so Apple is not going to
let us store it into the Documents folder. Moving it to the Cache
folder.
2015-03-12 00:46:31 +01:00
Frederic Jacobs
4873b9538b Bumping up release number to 2.0.1
(also fetches latest translations)
2015-03-03 02:49:08 +01:00
Frederic Jacobs
456d1c479a Fixes #530 2015-02-28 11:40:00 +01:00
Frederic Jacobs
311a758d27 Preparing release
- Incrementing build number
- Fetching latest translations
- Pod lock
2015-02-21 12:11:49 +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
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
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
Frederic Jacobs
5118575d37 Fixing issue with provisioning profiles. 2015-02-07 21:59:00 +01:00
Frederic Jacobs
4833487e94 Removing call recorder + contacts refresh 2015-01-31 01:35:49 -10:00
abolishme
1bbfbd4281 Replacing Twitter icon with brand guidelines one. 2015-01-30 12:39:11 -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
Frederic Jacobs
0195507017 Removing unused ContactsTableViewController. 2015-01-28 23:27:52 -10:00
Frederic Jacobs
bcd98f90ee Closes #263 2015-01-27 15:31:54 -10:00
Frederic Jacobs
7f97d84ebe Delivery receipts working 2015-01-27 08:35:30 -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
Frederic Jacobs
5ccbc4131b Closes #315 2015-01-25 14:58:40 -10:00
Jack Rogers
1eef08628a Audio attachments UI 2015-01-24 16:28:35 -10:00
Joyce Yan
b494b71dbc Audio farts.
slight change

modified pbxproj to clean up resources

reset developmentteam in pbxproj back to what it was before

deleted one line
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
7c658b2879 Enhancements in build configuration.
- Helps onboarding of new contributors because signup generates a fake
push token to register devices.
- Deleted Ad-Hoc configuration since no more HockeyApp distribution.
TestFlight uses default `AppStore release` build configuration.
2015-01-18 10:28:11 +01: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
Christine Corbett
b954ff2445 Closes #261 - Signal 1.0 to 2.0 utility.
Reviewed-by: @FredericJacobs
2015-01-16 14:24:05 +01: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
Frederic Jacobs
eff589af93 Closes #236
- Sublassing errors in case of expected behaviour
- When receiving a new message that was using a previously unknown
identity key, we search for any other messages that are encrypted with
the new accepted key and decrypt those too.
- Addressing some of the warnings we had before.
2015-01-04 11:30:28 +01:00
dtsbourg
4cb3231bb1 Settings: Share fingerprint in tweet (close #210) 2015-01-04 11:30:27 +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
Christine Corbett
333c920e0b Group functionality
• create
• send/receive full functionality
• basic UI for group updating.

TODOS:
    -group avatars not supported
    -group update occurrence initiated by Android displayed in thread UI but not yet fully

Reviewed-by: @FredericJacobs
2015-01-04 11:30:26 +01:00
Frederic Jacobs
8334adb4d9 Attachments: Sending and receiving 2015-01-04 11:30:26 +01:00
Frederic Jacobs
9683451ed9 Rename to 'attachment' 2015-01-04 11:30:26 +01:00
dtsbourg
f8db90014d Attachements: Fixing UI issues 2015-01-04 11:30:26 +01:00
Frederic Jacobs
3dc21ba654 Receiving and displaying attachements 2015-01-04 11:30:26 +01:00
dtsbourg
71ad9beeb2 Fingerprint verification instructions 2015-01-04 11:30:25 +01:00
dtsbourg
29b8fb6eab Settings: Let user pick notification style
Also lets user search for contacts by phone number.
2015-01-04 11:30:25 +01:00
Christine Corbett
6b4f339d7e Identity Key QR verification
• this plumbs in the QR verification for iOS, both scanning contact and having your fingerprint scanned.

Reviewed-by: @FredericJacobs
2015-01-04 11:30:25 +01:00
Frederic Jacobs
f67e0d13f0 Support for MITM/key change interface. 2015-01-04 11:30:25 +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
5ddb85b6cc Modal presentation of the setup view.
- Memory efficiency.
- Fixes issue where segues were never unwinded.
- Fixes issues on first launch where initiating a call would show the login screen again.
- Addresses issue where the signup code would not have been added properly after clicking link in SMS.

Reviewed by: @FredericJacobs
2015-01-04 11:30:24 +01:00
Frederic Jacobs
52d84ae006 LaunchScreens and Screen Security. 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
901640507c Removing developer-specific junk. 2015-01-04 11:30:23 +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
d4f5675a58 Supporting alert on unregistered users + bug fixes. 2015-01-04 11:30:23 +01:00
Frederic Jacobs
35a2762c5f Starting background fetching of messages. 2015-01-04 11:30:23 +01:00
Frederic Jacobs
1eff2b3ad5 Rewriting outgoing pipeline with GCD. 2015-01-04 11:30:23 +01:00
Frederic Jacobs
b22579d8f8 Settings and thread fixes. 2015-01-04 11:30:22 +01:00
Frederic Jacobs
b58d2fb864 Integrating deletion of threads. 2015-01-04 11:30:22 +01:00
Frederic Jacobs
d73e42beff Integrating Message View. 2015-01-04 11:30:22 +01:00
dtsbourg
84e12a39c9 ContactDetail: Link notes 2015-01-04 11:30:22 +01:00
Frederic Jacobs
121ef0439c Integrating the TextSecure Contact Discovery. 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
faa4473109 SubProto support for WebSocket messages 2015-01-04 11:30:21 +01:00
Frederic Jacobs
ad5bb92004 Integrating socket status indicator and remove favorites. 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
Frederic Jacobs
d876d8a156 Registration refactoring - wip. 2015-01-04 11:29:27 +01:00
dtsbourg
95c14ddefb General: Unused views cleanup 2015-01-04 11:29:27 +01:00
dtsbourg
64ab73baeb General: Unused View controller clean up 2015-01-04 11:29:27 +01:00
Frederic Jacobs
c3dff810ad Registration refactoring - wip. 2015-01-04 11:29:27 +01:00
Frederic Jacobs
43af8c18e3 Merging UI code with some basic TextSecureKit code. 2015-01-04 11:28:38 +01:00
dtsbourg
a60bc8be92 Initial Message UI 2015-01-04 11:28:38 +01:00
Craig Gidney
abb0486ec1 Fixed a warning in PriorityQueueTest, and some dot syntax //FREEBIE
- Also simplified the comparators
2014-11-18 23:17:06 -05:00
Frederic Jacobs
9fac4209b2 Vibrations and minor fix in audio interrupts 2014-11-02 00:21:59 +01:00
Frederic Jacobs
7b388da350 Closes #174 2014-10-16 15:12:36 +02:00
Frederic Jacobs
cbdbcb2a1c Fixing build & signing settings for contributors
//FREEBIE
2014-10-07 01:05:18 +02:00
Frederic Jacobs
d05791e699 Moving away from custom HTTP stack 2014-10-06 01:28:45 +02:00
Frederic Jacobs
510831d701 Auto-layout enhancements + Submit Debug Logs 2014-10-05 19:18:18 +02:00
Frederic Jacobs
779e9d1b38 Multiple fixes
- Fixes inherited build settings
- New Podfile format
- Fetching updated strings
2014-10-02 00:32:39 +02:00
Frederic Jacobs
3c28bb9520 Enabling new screen sizes
//FREEBIE
2014-09-26 17:22:57 +02:00
Craig Gidney
06a4597859 Fixed RecentCall unconditionally setting userNotified, even for missed calls //FREEBIE 2014-09-21 12:54:45 +02:00
Craig Gidney
b9cf163b1f Same fixes applied to unit test code signing //FREEBIE 2014-09-21 12:54:36 +02:00
Craig Gidney
44a19a5d7b Attempting to fix code signing issues
- Changed run scheme back to "Debug" from ad-hoc distribution
- Reset provisioning profile build settings to automatic
- Reset code signing identity build settings to just iOS Distribution / iOS Developer
- Reset Development Team to "None" (it seemed to be forcing the automatically chosen debugging cert to be one from whisper systems)
FREEBIE
2014-09-20 18:26:40 -04:00
Frederic Jacobs
cd0bda7105 iOS 8 Support
- Supporting iOS 8
- Updating translations
- Rewriting PushManager to extensively use futures
- Pick up calls directly from the lock-screen
2014-09-15 01:32:19 +02:00
Craig Gidney
e9f8881bd4 Checking error codes and cleaning up when errors occur in EvpKeyAgreement
- Added a test to actually exercise the DH agreement path
//FREEBIE
2014-09-01 09:30:09 +02:00
Frederic Jacobs
4dd8df8049 Updating dependencies
//FREEBIE
2014-08-23 23:23:29 +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
Frederic Jacobs
c52c6c6248 Clearing notifications from notification center
Application acknowledges notifications and then clears them from
notification center.
//FREEBIE
2014-08-14 00:45:59 +02:00
Frederic Jacobs
76b94c80df Updating Pods
//FREEBIE
2014-08-12 10:22:10 +02:00
Frederic Jacobs
50e1b8012b Fixing localization and performance issues
- Cleaning up unused VC xib
- Optimization in Call Server Requests
- Fixing localization issues in Registration flow
- Changing order of labels for the Settings view
//FREEBIE
2014-08-10 01:27:16 +02:00
Frederic Jacobs
f5bbf9d480 Enhancements to certificate pinning
//FREEBIE
2014-08-09 02:39:09 +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
9240a095ae Travis CI-support and iOS8 push notifications
//FREEBIE
2014-08-05 05:44:43 +02:00
Frederic Jacobs
dd73eafe47 Preparing tests for Travis
- Removing test server tests
- Getting ZRTP values from Keychain
- Getting NSCFErrors in NetworkStreamTest
- Fixing PriorityQueueTest comparator
2014-08-04 17:17:05 +02:00
Frederic Jacobs
db1927373d Xcode project file fix
//FREEBIE
2014-08-04 02:06:52 +02:00
Frederic Jacobs
5ac7acfbc5 Enhancements in the verification flow
- Certificate Pinning with AFNetworking
- Block syntax for number validation
- Fixes null debug logs
2014-08-02 13:57:50 +02:00
Frederic Jacobs
7ab15a5808 Updating translations //FREEBIE 2014-08-01 20:36:05 -04:00
Frederic Jacobs
9c31b9ab67 Logging migration errors 2014-08-01 20:02:50 -04:00
Frederic Jacobs
46b869628e Closes #80 #37
- Use of new Keychain Access attribute
- Error management (notifying the user) when opening app without
required push and microphone permission
- Enforcing APNID are sent to server, retry later if not able to reach
server
2014-08-01 19:27:55 -04:00
Frederic Jacobs
6890ac3b46 Removing some test headers 2014-07-30 21:55:17 -04:00
Frederic Jacobs
3f8f7d6a93 Merge branch 'postLaunchFixes' of github.com:WhisperSystems/Signal-iOS into postLaunchFixes 2014-07-30 21:09:18 -04:00
Frederic Jacobs
a470b6eefa Merging various bug fixes 2014-07-30 21:09:13 -04:00
Frederic Jacobs
defa693082 Closes #75 2014-07-30 21:03:20 -04:00
Frederic Jacobs
c73e6b65eb Transitioning off custom preference files 2014-07-30 21:03:20 -04:00
Frederic Jacobs
db9c29f507 Closes #75 2014-07-30 20:36:07 -04:00
Frederic Jacobs
6ee267a5f3 Transitioning off custom preference files 2014-07-30 02:05:36 -04:00
mjewkes
bba5418061 Final removal of the CryptoUtils class name, replaced with CryptoTools. 2014-07-29 21:33:38 -03:00
Frederic Jacobs
29bd2f0787 Closes #25 2014-07-19 13:30:19 -10:00
Frederic Jacobs
b574fcda59 Using PastelogKit 2014-07-19 12:25:22 -10:00
Frederic Jacobs
adf81b4aec Goodbye OCTest, Hello XCTest
Some tests are still failing after the new key datastore transition.
2014-07-17 01:14:12 +02:00
Frederic Jacobs
2cdb05754c Bug fixes + Keychain store 2014-07-11 00:33:51 +02:00
Frederic Jacobs
2a58c03b9f Localized sign up messages and gist log upload 2014-07-03 03:12:34 +02:00
Frederic Jacobs
9d6ca82e84 Production logging & sign up error handling 2014-06-30 17:14:33 +02:00
Frederic Jacobs
febb719c6f Updating OpenSSL to 1.0.1h 2014-06-27 02:53:18 +02:00
Frederic Jacobs
a6bf143855 Cleaner Keychain storage 2014-05-07 00:33:20 +02:00
Frederic Jacobs
6373507108 initial commit 2014-05-06 19:41:08 +02:00