A private messenger for iOS.
Go to file
Michael Kirk f98e57e164 WIP: Fix hanging registration when background modes disabled
fixes #1329

We must register notification settings earlier to be sure we'll be able
to get the users push tokens.

We were previously relying on a quirk of background fetch, a feature
which we don't *actually* use, wherein it's possible to get push tokens
for a user without first prompting them for their notification
settings. More on this from UIApplication.h:

    // Calling this will result in either application:didRegisterForRemoteNotificationsWithDeviceToken: or application:didFailToRegisterForRemoteNotificationsWithError: to be called on the application delegate.
    // ---> Note: these callbacks will be made only if the application has successfully registered for user notifications with registerUserNotificationSettings:, or if it is enabled for Background App Refresh.
    - (void)registerForRemoteNotifications NS_AVAILABLE_IOS(8_0);

In the previous implementation, if a user had disabled background
notifications (e.g.  in order to save battery), we were waiting for push
tokens that would never come.

However, this simple "fix" introduces a UX problem - now we prompt for
an alert in the middle of our registration flow.

// FREEBIE
2016-11-03 16:12:28 -04:00
.github crash reporting instructions in issue template (#1235) 2016-06-27 16:14:14 -07:00
Libraries Don't prompt for feedback if user hasn't completed registration 2016-11-03 16:12:27 -04:00
Scripts Fix unused_string.py uses python interpreter. 2016-03-27 20:10:22 +02:00
SettingsBundle Adding support for animated gifs 2015-11-29 12:59:34 +01:00
Signal WIP: Fix hanging registration when background modes disabled 2016-11-03 16:12:28 -04:00
Signal.xcodeproj We aren't using ErrorMessage/InfoMessage. (#1412) 2016-10-23 13:39:42 -04:00
Signal.xcworkspace Update protocol (#1315) 2016-08-22 16:54:31 -04:00
.clang-format format objc. 2016-07-14 23:15:06 -07:00
.gitattributes Supporting diffing of localizablestrings. 2015-09-14 12:26:47 +02:00
.gitignore TextSecureKit Refactoring 2015-12-22 23:41:10 +01:00
.travis.yml early boot the simulator to avoid false travis failures 2016-10-20 11:32:31 -04:00
BUILDING.md Consistent and efficient media Delete/Copy/Save UX 2016-07-18 09:20:48 -07:00
CONTRIBUTING.md Update CONTRIBUTING.md 2015-04-23 12:31:48 +02:00
Makefile early boot the simulator to avoid false travis failures 2016-10-20 11:32:31 -04:00
Podfile [JSQMVC] Fix crash on delete when under load. 2016-10-31 10:38:20 -04:00
Podfile.lock [SSK] Update to prevent session corruption 2016-11-03 14:52:14 -04:00
README.md Update README.md 2016-04-08 11:35:29 +02:00

README.md

Signal for iOS Build Status

Signal is a messaging app for simple private communication with friends.

Available on the AppStore

Translation

Help us translate Signal! The translation effort happens on Transifex

Contributing Code

Instructions on how to setup your development environment and build Signal-iOS can be found in BUILDING.md.

If you're new to the Signal-iOS codebase, we recommend going through our issues and picking out a simple bug to fix (check the "easy" label in our issues) in order to get yourself familiar.

For larger changes and feature ideas, we ask that you propose it on the unofficial Community Forum for a high-level discussion with the wider community before implementation.

This repository is set up with BitHub, so you can make money for committing to Signal-iOS. The current BitHub price for an accepted pull request is:

Current BitHub Price

Contributing Ideas

Have something you want to say about Open Whisper Systems projects or want to be part of the conversation? Get involved in the community forum.

Cryptography Notice

This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See http://www.wassenaar.org/ for more information.

The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this distribution makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations, Section 740.13) for both object code and source code.

License

Copyright 2014-2016 Open Whisper Systems

Licensed under the GPLv3: http://www.gnu.org/licenses/gpl-3.0.html