From 0b0405d9a5c3942d5284b50b1944bf130fb2056b Mon Sep 17 00:00:00 2001 From: Eric Dvorsak Date: Tue, 30 Jan 2018 11:57:47 +0100 Subject: [PATCH] [fix #3163] remove phone command Signed-off-by: Eric Dvorsak --- .re-natal | 3 - android/app/build.gradle | 2 - android/app/src/main/AndroidManifest.xml | 2 - .../im/status/ethereum/MainApplication.java | 4 - android/settings.gradle | 4 - ios/StatusIm.xcodeproj/project.pbxproj | 34 - package-lock.json | 963 +----------------- package.json | 3 - .../react_native/js_dependencies.cljs | 3 - resources/js/bots/console/bot.js | 119 --- resources/js/bots/console/translations.js | 288 ------ resources/js/status.js | 1 - src/status_im/chat/console.cljs | 20 - src/status_im/chat/events.cljs | 1 - src/status_im/chat/events/console.cljs | 23 +- src/status_im/chat/events/input.cljs | 7 +- src/status_im/chat/events/sign_up.cljs | 156 --- src/status_im/chat/models/input.cljs | 19 - src/status_im/chat/specs.cljs | 5 +- .../realm/schemas/account/v21/core.cljs | 13 +- .../data_store/realm/schemas/base/core.cljs | 2 +- .../realm/schemas/base/v6/account.cljs | 1 - src/status_im/i18n.cljs | 18 +- src/status_im/js_dependencies.cljs | 1 - src/status_im/ui/components/permissions.cljs | 4 +- src/status_im/ui/screens/accounts/db.cljs | 4 +- .../ui/screens/accounts/login/events.cljs | 3 +- src/status_im/ui/screens/contacts/events.cljs | 101 +- src/status_im/ui/screens/db.cljs | 1 - src/status_im/ui/screens/events.cljs | 22 +- src/status_im/ui/screens/profile/events.cljs | 10 - src/status_im/ui/screens/profile/views.cljs | 17 +- src/status_im/utils/phone_number.cljs | 30 - src/status_im/utils/sms_listener.cljs | 19 - .../react_native/js_dependencies.cljs | 2 - test/cljs/status_im/test/accounts/events.cljs | 1 - .../status_im/test/chat/models/input.cljs | 6 +- 37 files changed, 124 insertions(+), 1788 deletions(-) delete mode 100644 src/status_im/chat/events/sign_up.cljs delete mode 100644 src/status_im/utils/phone_number.cljs delete mode 100644 src/status_im/utils/sms_listener.cljs diff --git a/.re-natal b/.re-natal index 64a2da627f..f32e654226 100644 --- a/.re-natal +++ b/.re-natal @@ -12,8 +12,6 @@ } }, "modules": [ - "react-native-contacts", - "awesome-phonenumber", "realm", "react-native-i18n", "realm/react-native", @@ -24,7 +22,6 @@ "dismissKeyboard", "react-native-linear-gradient", "react-native-splash-screen", - "react-native-android-sms-listener", "react-native-status", "react-native-camera", "react-native-qrcode", diff --git a/android/app/build.gradle b/android/app/build.gradle index 17025a076a..39ced4fd70 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -196,13 +196,11 @@ dependencies { implementation project(':react-native-image-resizer') implementation project(':react-native-dialogs') implementation project(':react-native-randombytes') - implementation project(':react-native-android-sms-listener') implementation project(':realm') implementation project(':react-native-vector-icons') implementation fileTree(dir: "libs", include: ["*.jar"]) implementation "com.android.support:appcompat-v7:23.0.1" implementation "com.facebook.react:react-native:+" // From node_modules - implementation project(':react-native-contacts') implementation project(':react-native-i18n') implementation project(':react-native-linear-gradient') implementation project(':react-native-camera') diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 2f8d19b62a..9a4369bbf8 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -16,8 +16,6 @@ - - diff --git a/android/app/src/main/java/im/status/ethereum/MainApplication.java b/android/app/src/main/java/im/status/ethereum/MainApplication.java index 0a25b56427..211dd4244c 100644 --- a/android/app/src/main/java/im/status/ethereum/MainApplication.java +++ b/android/app/src/main/java/im/status/ethereum/MainApplication.java @@ -5,7 +5,6 @@ import com.BV.LinearGradient.LinearGradientPackage; import com.aakashns.reactnativedialogs.ReactNativeDialogsPackage; import com.bitgo.randombytes.RandomBytesPackage; import org.devio.rn.splashscreen.SplashScreenReactPackage; -import com.centaurwarchief.smslistener.SmsListenerPackage; import com.facebook.react.ReactApplication; import com.ocetnik.timer.BackgroundTimerPackage; import com.horcrux.svg.SvgPackage; @@ -23,7 +22,6 @@ import com.lwansbrough.RCTCamera.RCTCameraPackage; import com.oblador.vectoricons.VectorIconsPackage; import com.reactnative.ivpusic.imagepicker.PickerPackage; import com.rnfs.RNFSPackage; -import com.rt2zz.reactnativecontacts.ReactNativeContacts; import es.tiarg.nfcreactnative.NfcReactNativePackage; import fr.bamlab.rnimageresizer.ImageResizerPackage; import im.status.ethereum.module.StatusPackage; @@ -68,12 +66,10 @@ public class MainApplication extends MultiDexApplication implements ReactApplica statusPackage, new RealmReactPackage(), new VectorIconsPackage(), - new ReactNativeContacts(), new RNI18nPackage(), new RandomBytesPackage(), new LinearGradientPackage(), new RCTCameraPackage(), - new SmsListenerPackage(), new OrientationPackage(), new RNFSPackage(), new ReactNativeDialogsPackage(), diff --git a/android/settings.gradle b/android/settings.gradle index 2aab9f61e2..fe601e7915 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -20,10 +20,6 @@ include ':react-native-dialogs' project(':react-native-dialogs').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-dialogs/android') include ':react-native-randombytes' project(':react-native-randombytes').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-randombytes/android') -include ':react-native-android-sms-listener' -project(':react-native-android-sms-listener').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-android-sms-listener/android') -include ':react-native-contacts' -project(':react-native-contacts').projectDir = new File(settingsDir, '../node_modules/react-native-contacts/android') include ':react-native-i18n' project(':react-native-i18n').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-i18n/android') include ':react-native-vector-icons' diff --git a/ios/StatusIm.xcodeproj/project.pbxproj b/ios/StatusIm.xcodeproj/project.pbxproj index 4f777e96eb..422b2adf2e 100644 --- a/ios/StatusIm.xcodeproj/project.pbxproj +++ b/ios/StatusIm.xcodeproj/project.pbxproj @@ -57,7 +57,6 @@ 9E54D6001F17A5DB009F0C16 /* libTestFairy.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 9E54D5FD1F17A5DB009F0C16 /* libTestFairy.a */; }; 9E54D6011F17A5DB009F0C16 /* upload-dsym.sh in Resources */ = {isa = PBXBuildFile; fileRef = 9E54D5FF1F17A5DB009F0C16 /* upload-dsym.sh */; }; 9E7C64731E03FDDE004C7042 /* libRCTCamera.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 20B7D1151D3F74CD00B70F14 /* libRCTCamera.a */; }; - 9E7C64991E03FDE5004C7042 /* libRCTContacts.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 20B7D10A1D3F74CD00B70F14 /* libRCTContacts.a */; }; 9ED2F45E1D9D535A00B36508 /* SF-UI-Text-Regular.otf in Resources */ = {isa = PBXBuildFile; fileRef = 9ED2F45D1D9D52DD00B36508 /* SF-UI-Text-Regular.otf */; }; 9ED2F45F1D9D535A00B36508 /* SF-UI-Text-Medium.otf in Resources */ = {isa = PBXBuildFile; fileRef = 9ED2F45C1D9D52C100B36508 /* SF-UI-Text-Medium.otf */; }; 9ED2F4611D9D579900B36508 /* SF-UI-Text-Bold.otf in Resources */ = {isa = PBXBuildFile; fileRef = 9ED2F4601D9D577B00B36508 /* SF-UI-Text-Bold.otf */; }; @@ -183,13 +182,6 @@ remoteGlobalIDString = 5DBEB1501B18CEA900B34395; remoteInfo = RNVectorIcons; }; - 20B7D1091D3F74CD00B70F14 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 09F98D1521C24548AC72563A /* RCTContacts.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 1441618E1BD0A79300FA4F59; - remoteInfo = RCTContacts; - }; 20B7D10D1D3F74CD00B70F14 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 46E2F6052EB44C698C680894 /* RNI18n.xcodeproj */; @@ -547,7 +539,6 @@ 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 00E356F21AD99517003FC87E /* StatusImTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = StatusImTests.m; sourceTree = ""; }; 064351D2FD901F8B6C9AE2A5 /* Pods-StatusImTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-StatusImTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-StatusImTests/Pods-StatusImTests.debug.xcconfig"; sourceTree = ""; }; - 09F98D1521C24548AC72563A /* RCTContacts.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RCTContacts.xcodeproj; path = "../node_modules/react-native-contacts/ios/RCTContacts.xcodeproj"; sourceTree = ""; }; 101A4045637A2ADF57D28EF5 /* libPods-StatusIm.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-StatusIm.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 11632AA0A5F84F029DD91797 /* libRNVectorIcons.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNVectorIcons.a; sourceTree = ""; }; 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTSettings.xcodeproj; path = "../node_modules/react-native/Libraries/Settings/RCTSettings.xcodeproj"; sourceTree = ""; }; @@ -681,7 +672,6 @@ 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */, 139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */, 9E7C64731E03FDDE004C7042 /* libRCTCamera.a in Frameworks */, - 9E7C64991E03FDE5004C7042 /* libRCTContacts.a in Frameworks */, FD4F213C3873473CB703B1D2 /* libRNFS.a in Frameworks */, 213311F38CA74CE280FD09AD /* libRNI18n.a in Frameworks */, 4D3D740D5EFA4F8592B048D7 /* libBVLinearGradient.a in Frameworks */, @@ -905,14 +895,6 @@ name = Products; sourceTree = ""; }; - 20B7D1061D3F74CD00B70F14 /* Products */ = { - isa = PBXGroup; - children = ( - 20B7D10A1D3F74CD00B70F14 /* libRCTContacts.a */, - ); - name = Products; - sourceTree = ""; - }; 20B7D1111D3F74CD00B70F14 /* Products */ = { isa = PBXGroup; children = ( @@ -997,7 +979,6 @@ 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */, 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */, 9F1854E6D9654226B1FC8308 /* RCTCamera.xcodeproj */, - 09F98D1521C24548AC72563A /* RCTContacts.xcodeproj */, 305F194186D848FDB07AF34C /* RNFS.xcodeproj */, 46E2F6052EB44C698C680894 /* RNI18n.xcodeproj */, 807594C429CA44128AB5666B /* BVLinearGradient.xcodeproj */, @@ -1298,10 +1279,6 @@ ProductGroup = 20B7D1111D3F74CD00B70F14 /* Products */; ProjectRef = 9F1854E6D9654226B1FC8308 /* RCTCamera.xcodeproj */; }, - { - ProductGroup = 20B7D1061D3F74CD00B70F14 /* Products */; - ProjectRef = 09F98D1521C24548AC72563A /* RCTContacts.xcodeproj */; - }, { ProductGroup = 00C302B61ABCB90400DB3ED1 /* Products */; ProjectRef = 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */; @@ -1507,13 +1484,6 @@ remoteRef = 20B7D1021D3F74CD00B70F14 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 20B7D10A1D3F74CD00B70F14 /* libRCTContacts.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTContacts.a; - remoteRef = 20B7D1091D3F74CD00B70F14 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; 20B7D10E1D3F74CD00B70F14 /* libRNI18n.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; @@ -2155,7 +2125,6 @@ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, "$(SRCROOT)/../node_modules/react-native/React/**", "$(SRCROOT)/../node_modules/react-native-camera/ios", - "$(SRCROOT)/../node_modules/react-native-contacts/ios/RCTContacts", "$(SRCROOT)/../node_modules/react-native-fs/**", "$(SRCROOT)/../node_modules/react-native-i18n/RNI18n", "$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient", @@ -2213,7 +2182,6 @@ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, "$(SRCROOT)/../node_modules/react-native/React/**", "$(SRCROOT)/../node_modules/react-native-camera/ios", - "$(SRCROOT)/../node_modules/react-native-contacts/ios/RCTContacts", "$(SRCROOT)/../node_modules/react-native-fs/**", "$(SRCROOT)/../node_modules/react-native-i18n/RNI18n", "$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient", @@ -2293,7 +2261,6 @@ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, "$(SRCROOT)/../node_modules/react-native/React/**", "$(SRCROOT)/../node_modules/react-native-camera/ios", - "$(SRCROOT)/../node_modules/react-native-contacts/ios/RCTContacts", "$(SRCROOT)/../node_modules/react-native-fs/**", "$(SRCROOT)/../node_modules/react-native-i18n/RNI18n", "$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient", @@ -2353,7 +2320,6 @@ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, "$(SRCROOT)/../node_modules/react-native/React/**", "$(SRCROOT)/../node_modules/react-native-camera/ios", - "$(SRCROOT)/../node_modules/react-native-contacts/ios/RCTContacts", "$(SRCROOT)/../node_modules/react-native-fs/**", "$(SRCROOT)/../node_modules/react-native-i18n/RNI18n", "$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient", diff --git a/package-lock.json b/package-lock.json index 136b64c270..5bf124e225 100644 --- a/package-lock.json +++ b/package-lock.json @@ -42,11 +42,6 @@ "negotiator": "0.5.3" } }, - "adm-zip": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.7.tgz", - "integrity": "sha1-hgbCy/HEJs6MjsABdER/1Jtur8E=" - }, "ajv": { "version": "5.5.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", @@ -261,11 +256,12 @@ "integrity": "sha1-bnIHtOzbObCviDA/pa4ivajfYcs=" }, "aria-query": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-0.7.0.tgz", - "integrity": "sha512-/r2lHl09V3o74+2MLKEdewoj37YZqiQZnfen1O4iNlrOjUgeKuu1U2yF3iKh6HJxqF+OXkLMfQv65Z/cvxD6vA==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-0.7.1.tgz", + "integrity": "sha1-Jsu1r/ZBRLCoJb4YRuCxbPoAsR4=", "requires": { - "ast-types-flow": "0.0.7" + "ast-types-flow": "0.0.7", + "commander": "2.13.0" } }, "arr-diff": { @@ -410,11 +406,6 @@ "resolved": "https://registry.npmjs.org/autolinker/-/autolinker-1.6.0.tgz", "integrity": "sha1-utN2t62OQV8i8QL8Dzf2QOZPHL8=" }, - "awesome-phonenumber": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/awesome-phonenumber/-/awesome-phonenumber-2.1.2.tgz", - "integrity": "sha512-BrtmBqIdAK70/+LXn1niAG8l1XCYzemVuLGramDUyPUDLsOHKuovateZUmol8hvBRC5O0rKHKof2FdKaVUz4mQ==" - }, "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", @@ -571,18 +562,6 @@ } } }, - "babel-eslint": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-6.1.2.tgz", - "integrity": "sha1-UpNBn+NnLWZZjTJ9qWlFZ7pqXy8=", - "requires": { - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash.assign": "4.2.0", - "lodash.pickby": "4.6.0" - } - }, "babel-generator": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.24.1.tgz", @@ -1843,20 +1822,12 @@ } }, "color": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", - "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color/-/color-2.0.1.tgz", + "integrity": "sha512-ubUCVVKfT7r2w2D3qtHakj8mbmKms+tThR8gI8zEYCbUBl8/voqFGt3kgBqGwXAopgXybnkuOq+qMYCRrp4cXw==", "requires": { - "clone": "1.0.3", "color-convert": "1.9.1", - "color-string": "0.3.0" - }, - "dependencies": { - "clone": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz", - "integrity": "sha1-KY1+IjFmD0DAA8LtMUDezz9TCF8=" - } + "color-string": "1.5.2" } }, "color-convert": { @@ -1873,11 +1844,12 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "color-string": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", - "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.2.tgz", + "integrity": "sha1-JuRYFLw8mny9Z1FkikFDRRSnc6k=", "requires": { - "color-name": "1.1.3" + "color-name": "1.1.3", + "simple-swizzle": "0.2.2" } }, "color-support": { @@ -2690,7 +2662,7 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-5.1.1.tgz", "integrity": "sha512-5I9SpoP7gT4wBFOtXT8/tXNPYohHBVfyVfO17vkbC7r9kEIxYJF12D3pKqhk8+xnk12rfxKClS3WCFpVckFTPQ==", "requires": { - "aria-query": "0.7.0", + "aria-query": "0.7.1", "array-includes": "3.0.3", "ast-types-flow": "0.0.7", "axobject-query": "0.1.0", @@ -3200,795 +3172,6 @@ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, - "fsevents": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz", - "integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==", - "optional": true, - "requires": { - "nan": "2.8.0", - "node-pre-gyp": "0.6.39" - }, - "dependencies": { - "abbrev": { - "version": "1.1.0", - "bundled": true, - "optional": true - }, - "ajv": { - "version": "4.11.8", - "bundled": true, - "optional": true, - "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" - } - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true - }, - "aproba": { - "version": "1.1.1", - "bundled": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.4", - "bundled": true, - "optional": true, - "requires": { - "delegates": "1.0.0", - "readable-stream": "2.2.9" - } - }, - "asn1": { - "version": "0.2.3", - "bundled": true, - "optional": true - }, - "assert-plus": { - "version": "0.2.0", - "bundled": true, - "optional": true - }, - "asynckit": { - "version": "0.4.0", - "bundled": true, - "optional": true - }, - "aws-sign2": { - "version": "0.6.0", - "bundled": true, - "optional": true - }, - "aws4": { - "version": "1.6.0", - "bundled": true, - "optional": true - }, - "balanced-match": { - "version": "0.4.2", - "bundled": true - }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "bundled": true, - "optional": true, - "requires": { - "tweetnacl": "0.14.5" - } - }, - "block-stream": { - "version": "0.0.9", - "bundled": true, - "requires": { - "inherits": "2.0.3" - } - }, - "boom": { - "version": "2.10.1", - "bundled": true, - "requires": { - "hoek": "2.16.3" - } - }, - "brace-expansion": { - "version": "1.1.7", - "bundled": true, - "requires": { - "balanced-match": "0.4.2", - "concat-map": "0.0.1" - } - }, - "buffer-shims": { - "version": "1.0.0", - "bundled": true - }, - "caseless": { - "version": "0.12.0", - "bundled": true, - "optional": true - }, - "co": { - "version": "4.6.0", - "bundled": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true - }, - "combined-stream": { - "version": "1.0.5", - "bundled": true, - "requires": { - "delayed-stream": "1.0.0" - } - }, - "concat-map": { - "version": "0.0.1", - "bundled": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true - }, - "cryptiles": { - "version": "2.0.5", - "bundled": true, - "requires": { - "boom": "2.10.1" - } - }, - "dashdash": { - "version": "1.14.1", - "bundled": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "optional": true - } - } - }, - "debug": { - "version": "2.6.8", - "bundled": true, - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "deep-extend": { - "version": "0.4.2", - "bundled": true, - "optional": true - }, - "delayed-stream": { - "version": "1.0.0", - "bundled": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "ecc-jsbn": { - "version": "0.1.1", - "bundled": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "extend": { - "version": "3.0.1", - "bundled": true, - "optional": true - }, - "extsprintf": { - "version": "1.0.2", - "bundled": true - }, - "forever-agent": { - "version": "0.6.1", - "bundled": true, - "optional": true - }, - "form-data": { - "version": "2.1.4", - "bundled": true, - "optional": true, - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.15" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true - }, - "fstream": { - "version": "1.0.11", - "bundled": true, - "requires": { - "graceful-fs": "4.1.11", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.6.1" - } - }, - "fstream-ignore": { - "version": "1.0.5", - "bundled": true, - "optional": true, - "requires": { - "fstream": "1.0.11", - "inherits": "2.0.3", - "minimatch": "3.0.4" - } - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "optional": true, - "requires": { - "aproba": "1.1.1", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" - } - }, - "getpass": { - "version": "0.1.7", - "bundled": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "optional": true - } - } - }, - "glob": { - "version": "7.1.2", - "bundled": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "graceful-fs": { - "version": "4.1.11", - "bundled": true - }, - "har-schema": { - "version": "1.0.5", - "bundled": true, - "optional": true - }, - "har-validator": { - "version": "4.2.1", - "bundled": true, - "optional": true, - "requires": { - "ajv": "4.11.8", - "har-schema": "1.0.5" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "optional": true - }, - "hawk": { - "version": "3.1.3", - "bundled": true, - "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" - } - }, - "hoek": { - "version": "2.16.3", - "bundled": true - }, - "http-signature": { - "version": "1.1.1", - "bundled": true, - "optional": true, - "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.0", - "sshpk": "1.13.0" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true - }, - "ini": { - "version": "1.3.4", - "bundled": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-typedarray": { - "version": "1.0.0", - "bundled": true, - "optional": true - }, - "isarray": { - "version": "1.0.0", - "bundled": true - }, - "isstream": { - "version": "0.1.2", - "bundled": true, - "optional": true - }, - "jodid25519": { - "version": "1.0.2", - "bundled": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "jsbn": { - "version": "0.1.1", - "bundled": true, - "optional": true - }, - "json-schema": { - "version": "0.2.3", - "bundled": true, - "optional": true - }, - "json-stable-stringify": { - "version": "1.0.1", - "bundled": true, - "optional": true, - "requires": { - "jsonify": "0.0.0" - } - }, - "json-stringify-safe": { - "version": "5.0.1", - "bundled": true, - "optional": true - }, - "jsonify": { - "version": "0.0.0", - "bundled": true, - "optional": true - }, - "jsprim": { - "version": "1.4.0", - "bundled": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.0.2", - "json-schema": "0.2.3", - "verror": "1.3.6" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "optional": true - } - } - }, - "mime-db": { - "version": "1.27.0", - "bundled": true - }, - "mime-types": { - "version": "2.1.15", - "bundled": true, - "requires": { - "mime-db": "1.27.0" - } - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "requires": { - "brace-expansion": "1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "bundled": true, - "optional": true - }, - "node-pre-gyp": { - "version": "0.6.39", - "bundled": true, - "optional": true, - "requires": { - "detect-libc": "1.0.2", - "hawk": "3.1.3", - "mkdirp": "0.5.1", - "nopt": "4.0.1", - "npmlog": "4.1.0", - "rc": "1.2.1", - "request": "2.81.0", - "rimraf": "2.6.1", - "semver": "5.3.0", - "tar": "2.2.1", - "tar-pack": "3.4.0" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "optional": true, - "requires": { - "abbrev": "1.1.0", - "osenv": "0.1.4" - } - }, - "npmlog": { - "version": "4.1.0", - "bundled": true, - "optional": true, - "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true - }, - "oauth-sign": { - "version": "0.8.2", - "bundled": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "requires": { - "wrappy": "1.0.2" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "osenv": { - "version": "0.1.4", - "bundled": true, - "optional": true, - "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true - }, - "performance-now": { - "version": "0.2.0", - "bundled": true, - "optional": true - }, - "process-nextick-args": { - "version": "1.0.7", - "bundled": true - }, - "punycode": { - "version": "1.4.1", - "bundled": true, - "optional": true - }, - "qs": { - "version": "6.4.0", - "bundled": true, - "optional": true - }, - "rc": { - "version": "1.2.1", - "bundled": true, - "optional": true, - "requires": { - "deep-extend": "0.4.2", - "ini": "1.3.4", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.2.9", - "bundled": true, - "requires": { - "buffer-shims": "1.0.0", - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "1.0.1", - "util-deprecate": "1.0.2" - } - }, - "request": { - "version": "2.81.0", - "bundled": true, - "optional": true, - "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "4.2.1", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.15", - "oauth-sign": "0.8.2", - "performance-now": "0.2.0", - "qs": "6.4.0", - "safe-buffer": "5.0.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.2", - "tunnel-agent": "0.6.0", - "uuid": "3.0.1" - } - }, - "rimraf": { - "version": "2.6.1", - "bundled": true, - "requires": { - "glob": "7.1.2" - } - }, - "safe-buffer": { - "version": "5.0.1", - "bundled": true - }, - "semver": { - "version": "5.3.0", - "bundled": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "optional": true - }, - "sntp": { - "version": "1.0.9", - "bundled": true, - "requires": { - "hoek": "2.16.3" - } - }, - "sshpk": { - "version": "1.13.0", - "bundled": true, - "optional": true, - "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jodid25519": "1.0.2", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "optional": true - } - } - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - }, - "string_decoder": { - "version": "1.0.1", - "bundled": true, - "requires": { - "safe-buffer": "5.0.1" - } - }, - "stringstream": { - "version": "0.0.5", - "bundled": true, - "optional": true - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "optional": true - }, - "tar": { - "version": "2.2.1", - "bundled": true, - "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" - } - }, - "tar-pack": { - "version": "3.4.0", - "bundled": true, - "optional": true, - "requires": { - "debug": "2.6.8", - "fstream": "1.0.11", - "fstream-ignore": "1.0.5", - "once": "1.4.0", - "readable-stream": "2.2.9", - "rimraf": "2.6.1", - "tar": "2.2.1", - "uid-number": "0.0.6" - } - }, - "tough-cookie": { - "version": "2.3.2", - "bundled": true, - "optional": true, - "requires": { - "punycode": "1.4.1" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "bundled": true, - "optional": true, - "requires": { - "safe-buffer": "5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "bundled": true, - "optional": true - }, - "uid-number": { - "version": "0.0.6", - "bundled": true, - "optional": true - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true - }, - "uuid": { - "version": "3.0.1", - "bundled": true, - "optional": true - }, - "verror": { - "version": "1.3.6", - "bundled": true, - "optional": true, - "requires": { - "extsprintf": "1.0.2" - } - }, - "wide-align": { - "version": "1.1.2", - "bundled": true, - "optional": true, - "requires": { - "string-width": "1.0.2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true - } - } - }, "fstream": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", @@ -4076,30 +3259,6 @@ "assert-plus": "1.0.0" } }, - "github-download": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/github-download/-/github-download-0.5.0.tgz", - "integrity": "sha1-92R6cKrEMm+wkeV4bI9mrhV9pRs=", - "requires": { - "adm-zip": "0.4.7", - "fs-extra": "0.24.0", - "request": "2.83.0", - "vcsurl": "0.1.1" - }, - "dependencies": { - "fs-extra": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.24.0.tgz", - "integrity": "sha1-1OQ0KpZnXLeEZjOmCZJJMytTmVI=", - "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "2.4.0", - "path-is-absolute": "1.0.1", - "rimraf": "2.6.2" - } - } - } - }, "glob": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", @@ -5267,11 +4426,6 @@ "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=" }, - "lodash.assign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=" - }, "lodash.camelcase": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", @@ -5320,11 +4474,6 @@ "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz", "integrity": "sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs=" }, - "lodash.pickby": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.pickby/-/lodash.pickby-4.6.0.tgz", - "integrity": "sha1-feoh2MGNdwOifHBMFdO4SmfjOv8=" - }, "lodash.restparam": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", @@ -6177,7 +5326,7 @@ "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "requires": { - "mimic-fn": "1.1.0" + "mimic-fn": "1.2.0" } }, "merge": { @@ -6282,7 +5431,7 @@ "source-map": "0.5.7", "temp": "0.8.3", "throat": "4.1.0", - "uglify-es": "3.3.8", + "uglify-es": "3.3.9", "wordwrap": "1.0.0", "write-file-atomic": "1.3.4", "xpipe": "1.0.5" @@ -6377,9 +5526,9 @@ } }, "uglify-es": { - "version": "3.3.8", - "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.8.tgz", - "integrity": "sha512-j8li0jWcAN6yBuAVYFZEFyYINZAm4WEdMwkA6qXFi4TLrze3Mp0Le7QjW6LR9HQjQJ2zRa9VgnFLs3PatijWOw==", + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", + "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", "requires": { "commander": "2.13.0", "source-map": "0.6.1" @@ -6447,9 +5596,9 @@ } }, "mimic-fn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz", - "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" }, "min-document": { "version": "2.19.0", @@ -6641,7 +5790,7 @@ "mkdirp": "0.5.1", "nopt": "4.0.1", "npmlog": "4.1.2", - "rc": "1.2.4", + "rc": "1.2.5", "request": "2.81.0", "rimraf": "2.6.2", "semver": "5.5.0", @@ -7015,7 +6164,7 @@ "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "requires": { - "mimic-fn": "1.1.0" + "mimic-fn": "1.2.0" } }, "opn": { @@ -7441,9 +6590,9 @@ } }, "rc": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.4.tgz", - "integrity": "sha1-oPYGyq4qO4YrvQ74VILAElsxX6M=", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.5.tgz", + "integrity": "sha1-J1zWh/bjs2zHVrqibf7oCnkDAf0=", "requires": { "deep-extend": "0.4.2", "ini": "1.3.5", @@ -7738,9 +6887,6 @@ "prop-types": "15.6.0" } }, - "react-native-android-sms-listener": { - "version": "github:adrian-tiberius/react-native-android-sms-listener#56c4a93d9a155cde52c296a1a76b24910ccfc6dc" - }, "react-native-autolink": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/react-native-autolink/-/react-native-autolink-1.1.1.tgz", @@ -7768,11 +6914,6 @@ "resolved": "https://registry.npmjs.org/react-native-config/-/react-native-config-0.9.0.tgz", "integrity": "sha512-ImdtUf1mgCm6nn4up3ig9j6tax2Tz0TK8j0SsZ/OUks0pokPRe7DH6pQRrerp47q63Ad+biPJs69ap2xczTFAg==" }, - "react-native-contacts": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/react-native-contacts/-/react-native-contacts-1.0.3.tgz", - "integrity": "sha1-Ho4mORayp9z4Vtk82rv4KtHT+rE=" - }, "react-native-crypto": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/react-native-crypto/-/react-native-crypto-2.1.1.tgz", @@ -7872,13 +7013,6 @@ "prop-types": "15.6.0" } }, - "react-native-mapbox-gl": { - "version": "github:status-im/react-native-mapbox-gl#070ae2c03797b7bbda0981c3def7d67b3d0aff7d", - "requires": { - "babel-eslint": "6.1.2", - "lodash": "4.17.4" - } - }, "react-native-orientation": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/react-native-orientation/-/react-native-orientation-3.1.0.tgz", @@ -7946,13 +7080,13 @@ "integrity": "sha512-yaTnGAHRyhduLSfD85gP3Vsf0BRePHW3aNNtDXbkbUhwIIeafu2cJH86U/qKFuKLMYLnFOXteOkP80gaYVGAYg==" }, "react-native-svg": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-6.0.0.tgz", - "integrity": "sha1-Ai0/PWnQx1p7El1+lddhijEhYGo=", + "version": "6.0.1-rc.3", + "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-6.0.1-rc.3.tgz", + "integrity": "sha512-JesFrzf4egetLS+37EO8h2CibnVCv9PNyCEcULXC/7WOtWEE0fSTPlbm7J+2q/szPcf9G6I8P2dec+LGhlH1cA==", "requires": { - "color": "0.11.4", - "github-download": "0.5.0", - "lodash": "4.17.4" + "color": "2.0.1", + "lodash": "4.17.4", + "pegjs": "0.10.0" } }, "react-native-tcp": { @@ -8486,7 +7620,7 @@ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.2.tgz", "integrity": "sha512-oRYoIKWBU3Ic37fLA5VJu31VqQO4bWubRntcHSJ+cwaDQBwdnZ9x4zmhJfm/nFQ2E82/I4loSioHnACamrKGgA==", "requires": { - "symbol-observable": "1.1.0" + "symbol-observable": "1.2.0" } }, "safe-buffer": { @@ -8502,7 +7636,6 @@ "anymatch": "1.3.2", "exec-sh": "0.2.1", "fb-watchman": "2.0.0", - "fsevents": "1.1.3", "minimatch": "3.0.4", "minimist": "1.2.0", "walker": "1.0.7", @@ -8754,6 +7887,21 @@ } } }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "requires": { + "is-arrayish": "0.3.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.1.tgz", + "integrity": "sha1-wt/DhquqDD4zxI2z/ocFnmkGXv0=" + } + } + }, "sjcl": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/sjcl/-/sjcl-1.0.7.tgz", @@ -9159,9 +8307,9 @@ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" }, "symbol-observable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.1.0.tgz", - "integrity": "sha512-dQoid9tqQ+uotGhuTKEY11X4xhyYePVnqGSoSm3OGKh2E8LZ6RPULp1uXTctk33IeERlrRJYoVSBglsL05F5Uw==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" }, "sync-request": { "version": "3.0.1", @@ -9843,11 +8991,6 @@ "resolved": "https://registry.npmjs.org/vary/-/vary-1.0.1.tgz", "integrity": "sha1-meSYFWaihhGN+yuBc1ffeZM3bRA=" }, - "vcsurl": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/vcsurl/-/vcsurl-0.1.1.tgz", - "integrity": "sha1-XgChCec4G1W11FuJJTPI7DXJMgw=" - }, "verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", diff --git a/package.json b/package.json index ed1155ba29..7a47e7a37b 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,6 @@ "dependencies": { "assert": "1.4.1", "asyncstorage-down": "4.0.1", - "awesome-phonenumber": "2.1.2", "babel-core": "6.24.1", "babel-generator": "6.24.1", "babel-helper-builder-react-jsx": "6.18.0", @@ -48,12 +47,10 @@ "react-dom": "16.2.0", "react-native": "0.51.0", "react-native-action-button": "2.8.1", - "react-native-android-sms-listener": "github:adrian-tiberius/react-native-android-sms-listener#listener-bugfix", "react-native-autolink": "1.1.1", "react-native-background-timer": "2.0.0", "react-native-camera": "0.10.0", "react-native-config": "0.9.0", - "react-native-contacts": "1.0.3", "react-native-crypto": "2.1.1", "react-native-dialogs": "0.0.20", "react-native-emoji-picker": "git+https://github.com/status-im/react-native-emoji-picker.git", diff --git a/react-native/src/status_im/react_native/js_dependencies.cljs b/react-native/src/status_im/react_native/js_dependencies.cljs index 1dfe076fb9..0391183da7 100644 --- a/react-native/src/status_im/react_native/js_dependencies.cljs +++ b/react-native/src/status_im/react_native/js_dependencies.cljs @@ -1,12 +1,9 @@ (ns status-im.react-native.js-dependencies) (def action-button (js/require "react-native-action-button")) -(def android-sms-listener (js/require "react-native-android-sms-listener")) (def autolink (js/require "react-native-autolink")) (def camera (js/require "react-native-camera")) (def config (js/require "react-native-config")) -;; TODO see https://github.com/rt2zz/react-native-contacts/issues/45 -(def contacts (js/require "react-native-contacts")) (def dialogs (js/require "react-native-dialogs")) (def dismiss-keyboard (js/require "dismissKeyboard")) (def emoji-picker (js/require "react-native-emoji-picker")) diff --git a/resources/js/bots/console/bot.js b/resources/js/bots/console/bot.js index 9c9d8bf24a..ee8998b0a8 100644 --- a/resources/js/bots/console/bot.js +++ b/resources/js/bots/console/bot.js @@ -413,87 +413,6 @@ function startsWith(str1, str2) { return str1.lastIndexOf(str2, 0) == 0 && str1 != str2; } -function phoneSuggestions(params, context) { - var ph, suggestions; - if (!params.phone || params.phone == "") { - ph = context.suggestions; - } else { - ph = context.suggestions.filter(function (phone) { - return startsWith(phone.number, params.phone); - }); - } - - if (ph.length == 0) { - return; - } - - suggestions = ph.map(function (phone) { - return status.components.view(suggestionContainerStyle, - [status.components.view(suggestionSubContainerStyle, - [ - status.components.text( - {style: valueStyle}, - phone.number - ), - status.components.text( - {style: descriptionStyle}, - phone.description - ) - ])]); - }); - - var view = status.components.scrollView( - suggestionsContainerStyle(ph.length), - suggestions - ); - - return {markup: view}; -} - -var phoneConfig = { - name: "phone", - icon: "phone_white", - color: "#5bb2a2", - title: I18n.t('phone_title'), - scope: ["personal-chats", "registered", "dapps"], - description: I18n.t('phone_description'), - sequentialParams: true, - validator: function (params) { - return { - validationHandler: "phone", - parameters: [params.phone] - }; - }, - params: [{ - name: "phone", - type: status.types.PHONE, - suggestions: phoneSuggestions, - placeholder: I18n.t('phone_placeholder') - }], - preview: function (params) { - if (params) { - return { - markup: status.components.text( - {}, - params.phone - ) - }; - } - }, - shortPreview: function (params) { - if (params) { - return { - markup: status.components.chatPreviewText( - {}, - params.phone - ) - }; - } - } -}; -status.command(phoneConfig); -status.response(phoneConfig); - var ropstenNetworkId = 3; var rinkebyNetworkId = 4; @@ -659,44 +578,6 @@ status.command({ } }); -status.response({ - name: "confirmation-code", - color: "#7099e6", - scope: ["personal-chats", "registered", "dapps"], - description: I18n.t('confirm_description'), - sequentialParams: true, - params: [{ - name: "code", - type: status.types.NUMBER - }], - validator: function (params) { - if (!/^[\d]{4}$/.test(params.code)) { - var error = status.components.validationMessage( - I18n.t('confirm_validation_title'), - I18n.t('confirm_validation_description') - ); - - return {markup: error}; - } - }, - preview: function (params) { - return { - markup: status.components.text( - {}, - params.code - ) - }; - }, - shortPreview: function (params) { - return { - markup: status.components.chatPreviewText( - {}, - params.code - ) - }; - } -}); - status.response({ name: "password", color: "#7099e6", diff --git a/resources/js/bots/console/translations.js b/resources/js/bots/console/translations.js index da6e88fe1d..398e7e32c2 100644 --- a/resources/js/bots/console/translations.js +++ b/resources/js/bots/console/translations.js @@ -1,13 +1,5 @@ I18n.translations = { en: { - phone_title: 'Send Phone Number', - phone_description: 'Find friends using your number', - phone_placeholder: 'Phone number', - - confirm_description: 'Confirmation code', - confirm_validation_title: 'Confirmation code', - confirm_validation_description: 'Wrong format', - password_description: 'Password', password_placeholder: 'Type your password', password_placeholder2: 'Confirm', @@ -26,14 +18,6 @@ I18n.translations = { faucet_placeholder: 'Faucet URL' }, ru: { - phone_title: 'Отправить номер телефона', - phone_description: 'Найти друзей, используя ваш номер', - phone_placeholder: 'Номер телефона', - - confirm_description: 'Код подтверждения', - confirm_validation_title: 'Код подтверждения', - confirm_validation_description: 'Неверный формат', - password_description: 'Пароль', password_placeholder: 'Введите свой пароль', password_placeholder2: 'Повторно введите пароль для подтверждения', @@ -43,14 +27,6 @@ I18n.translations = { }, af: { - phone_title: 'Stuur telefoonnommer', - phone_description: 'Vind vriende deur jou nommer te gebruik', - phone_placeholder: 'Telefoonnommer', - - confirm_description: 'Bevestigingskode', - confirm_validation_title: 'Bevestigingskode', - confirm_validation_description: 'Verkeerde formaat', - password_description: 'Wagwoord', password_placeholder: 'Tik jou wagwoord in', password_placeholder2: 'Tik asseblief weer jou wagwoord in om te bevestig', @@ -60,14 +36,6 @@ I18n.translations = { }, ar: { - phone_title: 'أرسل رقم الهاتف', - phone_description: 'ابحث عن الأصدقاء باستخدام رقمك', - phone_placeholder: 'رقم الهاتف', - - confirm_description: 'رمز التأكيد', - confirm_validation_title: 'رمز التأكيد', - confirm_validation_description: 'صيغة خاطئة', - password_description: 'كلمة المرور', password_placeholder: 'اكتب كلمة المرور الخاصة بك', password_placeholder2: 'الرجاء إعادة إدخال كلمة المرور للتأكيد', @@ -77,14 +45,6 @@ I18n.translations = { }, 'zh-hant': { - phone_title: '發送手機號碼', - phone_description: '使用你的號碼發現好友', - phone_placeholder: '手機號碼', - - confirm_description: '確認碼', - confirm_validation_title: '確認碼', - confirm_validation_description: '格式錯誤', - password_description: '密碼', password_placeholder: '鍵入你的密碼', password_placeholder2: '重新鍵入你的密碼', @@ -104,14 +64,6 @@ I18n.translations = { }, 'zh-hant-tw': { - phone_title: '傳送電話號碼', - phone_description: '用你的號碼來查詢朋友', - phone_placeholder: '電話號碼', - - confirm_description: '確認碼', - confirm_validation_title: '確認碼', - confirm_validation_description: '格式錯誤', - password_description: '密碼', password_placeholder: '輸入密碼', password_placeholder2: '請重新輸入密碼以確認', @@ -131,14 +83,6 @@ I18n.translations = { }, 'zh-hant-sg': { - phone_title: '傳送電話號碼', - phone_description: '用你的號碼來查詢朋友', - phone_placeholder: '電話號碼', - - confirm_description: '確認碼', - confirm_validation_title: '確認碼', - confirm_validation_description: '格式錯誤', - password_description: '密碼', password_placeholder: '輸入密碼', password_placeholder2: '請重新輸入密碼以確認', @@ -158,14 +102,6 @@ I18n.translations = { }, 'zh-hant-hk': { - phone_title: '發送電話號碼', - phone_description: '用你的號碼來查找朋友', - phone_placeholder: '電話號碼', - - confirm_description: '確認碼', - confirm_validation_title: '確認碼', - confirm_validation_description: '格式錯誤', - password_description: '密碼', password_placeholder: '輸入密碼', password_placeholder2: '請重新輸入密碼以確認', @@ -185,14 +121,6 @@ I18n.translations = { }, 'zh-hans': { - phone_title: '发送电话号码', - phone_description: '用你的号码来查找朋友', - phone_placeholder: '电话号码', - - confirm_description: '确认码', - confirm_validation_title: '确认码', - confirm_validation_description: '格式错误', - password_description: '密码', password_placeholder: '输入密码', password_placeholder2: '请重新输入密码以确认', @@ -212,14 +140,6 @@ I18n.translations = { }, 'zh-yue': { - phone_title: '發送電話號碼', - phone_description: '使用本電話號碼查找好友', - phone_placeholder: '電話號碼', - - confirm_description: '驗證碼', - confirm_validation_title: '驗證碼', - confirm_validation_description: '格式錯誤', - password_description: '密碼', password_placeholder: '輸入密碼', password_placeholder2: '請重新輸入密碼確認', @@ -239,14 +159,6 @@ I18n.translations = { }, 'zh-wuu': { - phone_title: '发送电话号码', - phone_description: '用你的号码查找朋友', - phone_placeholder: '电话号码', - - confirm_description: '确认码', - confirm_validation_title: '确认码', - confirm_validation_description: '错误格式', - password_description: '密码', password_placeholder: '输入密码', password_placeholder2: '请重新输入密码确认', @@ -266,14 +178,6 @@ I18n.translations = { }, nl: { - phone_title: 'Stuur telefoonnummer', - phone_description: 'Zoek vrienden met behulp van je nummer', - phone_placeholder: 'Telefoonnummer', - - confirm_description: 'Bevestigingscode', - confirm_validation_title: 'Bevestigingscode', - confirm_validation_description: 'Verkeerd format', - password_description: 'Wachtwoord', password_placeholder: 'Typ je wachtwoord', password_placeholder2: 'Voer je wachtwoord opnieuw in om te bevestigen', @@ -283,14 +187,6 @@ I18n.translations = { }, fr: { - phone_title: 'Envoyer le numéro de téléphone', - phone_description: 'Trouver des amis en utilisant votre numéro', - phone_placeholder: 'Numéro de téléphone', - - confirm_description: 'Code de confirmation', - confirm_validation_title: 'Code de confirmation', - confirm_validation_description: 'Format incorrect', - password_description: 'Mot de passe', password_placeholder: 'Tapez votre mot de passe', password_placeholder2: 'Veuillez retapez votre mot de passe pour le confirmer', @@ -300,14 +196,6 @@ I18n.translations = { }, de: { - phone_title: 'Telefonnummer absenden', - phone_description: 'Freunde mit Ihrer Nummer finden', - phone_placeholder: 'Telefonnummer', - - confirm_description: 'Bestätigungscode', - confirm_validation_title: 'Bestätigungscode', - confirm_validation_description: 'Falsches Format', - password_description: 'Passwort', password_placeholder: 'Geben Sie Ihr Passwort ein', password_placeholder2: 'Bitte geben Sie das Passwort zur Bestätigung erneut ein', @@ -317,14 +205,6 @@ I18n.translations = { }, hi: { - phone_title: 'फ़ोन नंबर भेजें', - phone_description: 'अपने नंबर का उपयोग करके दोस्त ढूंढें', - phone_placeholder: 'फ़ोन नंबर', - - confirm_description: 'पुष्टि कोड', - confirm_validation_title: 'पुष्टि कोड', - confirm_validation_description: 'गलत प्रारूप', - password_description: 'पासवर्ड', password_placeholder: 'अपना पासवर्ड टाइप करें', password_placeholder2: 'पुष्टि करने के लिए फिर से पासवर्ड दर्ज करें', @@ -334,14 +214,6 @@ I18n.translations = { }, hu: { - phone_title: 'Telefonszám küldése', - phone_description: 'Ismerősök megkeresése telefonszám alapján', - phone_placeholder: 'Telefonszám', - - confirm_description: 'Megerősítési kód', - confirm_validation_title: 'Megerősítési kód', - confirm_validation_description: 'Rossz formátum', - password_description: 'Jelszó', password_placeholder: 'Add meg a jelszavad', password_placeholder2: 'A megerősítéshez kérjük, add meg újra a jelszavad', @@ -351,14 +223,6 @@ I18n.translations = { }, it: { - phone_title: 'Invia numero di telefono', - phone_description: 'Trova gli amici che usano il tuo numero', - phone_placeholder: 'Numero di telefono', - - confirm_description: 'Codice di conferma', - confirm_validation_title: 'Codice di conferma', - confirm_validation_description: 'Formato errato', - password_description: 'Password', password_placeholder: 'Digita la tua password', password_placeholder2: 'Reinserisci la password per confermare', @@ -368,14 +232,6 @@ I18n.translations = { }, ja: { - phone_title: '電話番号を送信', - phone_description: '電話番号から友人を検索', - phone_placeholder: '携帯電話番号', - - confirm_description: '確認コード', - confirm_validation_title: '確認コード', - confirm_validation_description: '誤った形式です', - password_description: 'パスワード', password_placeholder: 'パスワードを入力してください', password_placeholder2: '確認のためにパスワードを再入力してください', @@ -394,14 +250,6 @@ I18n.translations = { faucet_placeholder: 'フォーセットURL' }, ko: { - phone_title: '전화번호 보내기', - phone_description: '내 번호를 사용하여 친구 찾기', - phone_placeholder: '전화번호', - - confirm_description: '확인 코드', - confirm_validation_title: '확인 코드', - confirm_validation_description: '잘못된 형식', - password_description: '비밀번호', password_placeholder: '비밀번호를 입력하세요', password_placeholder2: '확인을 위해 비밀번호를 다시 입력해 주세요', @@ -411,14 +259,6 @@ I18n.translations = { }, pl: { - phone_title: 'Wyślij numer telefonu', - phone_description: 'Znajdź znajomych, używając swojego numeru', - phone_placeholder: 'Numer telefonu', - - confirm_description: 'Kod potwierdzający', - confirm_validation_title: 'Kod potwierdzający', - confirm_validation_description: 'Nieprawidłowy format', - password_description: 'Hasło', password_placeholder: 'Wpisz swoje hasło', password_placeholder2: 'Wprowadź ponownie hasło, aby potwierdzić', @@ -428,14 +268,6 @@ I18n.translations = { }, 'pt-br': { - phone_title: 'Enviar número de telefone', - phone_description: 'Encontrar amigos por meio do seu número', - phone_placeholder: 'Número de telefone', - - confirm_description: 'Código de confirmação', - confirm_validation_title: 'Código de confirmação', - confirm_validation_description: 'Formato incorreto', - password_description: 'Senha', password_placeholder: 'Digite sua senha', password_placeholder2: 'Por favor, digite a senha novamente para confirmar', @@ -445,14 +277,6 @@ I18n.translations = { }, 'pt-pt': { - phone_title: 'Enviar o Número de Telefone', - phone_description: 'Encontrar amigos que utilizem o seu número', - phone_placeholder: 'Número de telefone', - - confirm_description: 'Código de confirmação', - confirm_validation_title: 'Código de confirmação', - confirm_validation_description: 'Formato errado', - password_description: 'Palavra-passe', password_placeholder: 'Digite a sua palavra-passe', password_placeholder2: 'Por favor, volte a digitar a palavra-passe para confirmar', @@ -462,14 +286,6 @@ I18n.translations = { }, ro: { - phone_title: 'Trimite numărul de telefon', - phone_description: 'Găsește prieteni folosindu-ți numărul de telefon', - phone_placeholder: 'Număr de telefon', - - confirm_description: 'Cod de confirmare', - confirm_validation_title: 'Cod de confirmare', - confirm_validation_description: 'Format greșit', - password_description: 'Parolă', password_placeholder: 'Tastează parola', password_placeholder2: 'Te rugăm să re-introduci parola pentru a confirma', @@ -479,14 +295,6 @@ I18n.translations = { }, sl: { - phone_title: 'Pošlji telefonsko številko', - phone_description: 'Iskanje prijateljev z uporabo tvoje telefonske številke', - phone_placeholder: 'Telefonska številka', - - confirm_description: 'Potrditvena koda', - confirm_validation_title: 'Potrditvena koda', - confirm_validation_description: 'Neveljaven format', - password_description: 'Geslo', password_placeholder: 'Vnesi svoje geslo', password_placeholder2: 'Prosimo, ponovno vnesi geslo za potrditev', @@ -496,14 +304,6 @@ I18n.translations = { }, es: { - phone_title: 'Enviar número de teléfono', - phone_description: 'Encontrar amigos que estén utilizando tu número', - phone_placeholder: 'Número de teléfono', - - confirm_description: 'Código de confirmación', - confirm_validation_title: 'Código de confirmación', - confirm_validation_description: 'Formato erróneo', - password_description: 'Contraseña', password_placeholder: 'Escribe tu contraseña', password_placeholder2: 'Por favor, vuelve a escribir la contraseña para confirmar', @@ -513,14 +313,6 @@ I18n.translations = { }, 'es-ar': { - phone_title: 'Envia un número telefónico', - phone_description: 'Encuentra amigos utilizando tu número', - phone_placeholder: 'Número telefónico', - - confirm_description: 'Código de confirmación', - confirm_validation_title: 'Código de confirmación', - confirm_validation_description: 'Formato incorrecto', - password_description: 'Contraseña', password_placeholder: 'Ingresa tu contraseña', password_placeholder2: 'Ingresa tu contraseña para confirmar', @@ -530,14 +322,6 @@ I18n.translations = { }, sw: { - phone_title: 'Tuma Namba ya Simu', - phone_description: 'Pata marafiki kwa kutumia namba yako', - phone_placeholder: 'Namba ya simu', - - confirm_description: 'Kificho cha uthibitisho', - confirm_validation_title: 'Kificho cha uthibitisho', - confirm_validation_description: 'Muundo hafifu', - password_description: 'Nenosiri', password_placeholder: 'Andika nenosiri lako', password_placeholder2: 'Tafadhali ingiza tena nenosiri kuthibitisha', @@ -547,14 +331,6 @@ I18n.translations = { }, sv: { - phone_title: 'Skicka telefonnummer', - phone_description: 'Hitta vänner som använder ditt nummer', - phone_placeholder: 'Telefonnummer', - - confirm_description: 'Bekräftelsekod', - confirm_validation_title: 'Bekräftelsekod', - confirm_validation_description: 'Fel format', - password_description: 'Lösenord', password_placeholder: 'Skriv ditt lösenord', password_placeholder2: 'Var god ange ditt lösenord igen för att bekräfta', @@ -564,14 +340,6 @@ I18n.translations = { }, 'fr-ch': { - phone_title: 'Envoyer numéro de téléphone', - phone_description: 'Trouvez des amis en utilisant votre numéro', - phone_placeholder: 'Numéro de téléphone', - - confirm_description: 'Code de confirmation', - confirm_validation_title: 'Code de confirmation', - confirm_validation_description: 'Mauvais format', - password_description: 'Mot de passe', password_placeholder: 'Tapez votre mot de passe', password_placeholder2: 'Veuillez saisir à nouveau le mot de passe pour confirmer', @@ -581,14 +349,6 @@ I18n.translations = { }, 'de-ch': { - phone_title: 'Sende Telefonnummer', - phone_description: 'Finde Freunde mittels deiner Telefonnummer', - phone_placeholder: 'Telefonnummer', - - confirm_description: 'Konfirmationscode', - confirm_validation_title: 'Konfirmationscode', - confirm_validation_description: 'Falsches Format', - password_description: 'Passwort', password_placeholder: 'Gib dein Passwort ein', password_placeholder2: 'Bitte gib das Passwort zur Bestätigung erneut ein', @@ -598,14 +358,6 @@ I18n.translations = { }, 'it-ch': { - phone_title: 'Invia numero di telefono', - phone_description: 'Trova amici che utilizzano il tuo numero', - phone_placeholder: 'Numero di telefono', - - confirm_description: 'Codice di conferma', - confirm_validation_title: 'Codice di conferma', - confirm_validation_description: 'Formato errato', - password_description: 'Password', password_placeholder: 'Digita la tua password', password_placeholder2: 'Inserisci nuovamente la password per confermare', @@ -615,14 +367,6 @@ I18n.translations = { }, th: { - phone_title: 'ส่งหมายเลขโทรศัพท์', - phone_description: 'ค้นหาเพื่อนโดยใช้หมายเลขของคุณ ', - phone_placeholder: 'หมายเลขโทรศัพท์', - - confirm_description: 'รหัสยืนยัน', - confirm_validation_title: 'รหัสยืนยัน', - confirm_validation_description: 'รูปแบบผิด', - password_description: 'รหัสผ่าน', password_placeholder: 'พิมพ์รหัสผ่านของคุณ', password_placeholder2: 'โปรดกรอกรหัสผ่านอีกครั้งเพื่อยืนยัน', @@ -632,14 +376,6 @@ I18n.translations = { }, tr: { - phone_title: 'Telefon Numarasını Gönder', - phone_description: 'Telefon numaranı kullanarak arkadaşlarınızı bulun', - phone_placeholder: 'Telefon numarası', - - confirm_description: 'Onay kodu', - confirm_validation_title: 'Onay kodu', - confirm_validation_description: 'Hatalı format', - password_description: 'Şifre', password_placeholder: 'Şifrenizi girin', password_placeholder2: 'Onaylamak için lütfen parolanızı yeniden girin', @@ -649,14 +385,6 @@ I18n.translations = { }, uk: { - phone_title: 'Надіслати номер телефону', - phone_description: 'Знайдіть друзів, використовуючи свій номер', - phone_placeholder: 'Номер телефону', - - confirm_description: 'Код підтвердження', - confirm_validation_title: 'Код підтвердження', - confirm_validation_description: 'Неправильний формат', - password_description: 'Пароль', password_placeholder: 'Введіть свій пароль', password_placeholder2: 'Будь ласка, введіть пароль ще раз для підтвердження', @@ -666,14 +394,6 @@ I18n.translations = { }, ur: { - phone_title: 'فون نمبر بھیجیں', - phone_description: 'فون نمبر استعمال کرتے ہوئے دوستوں کو تلاش کریں', - phone_placeholder: 'فون نمبر', - - confirm_description: 'تصدیقی کوڈ', - confirm_validation_title: 'تصدیقی کوڈ', - confirm_validation_description: 'غلط فارمیٹ', - password_description: 'پاسورڈ', password_placeholder: 'اپنا پاسورڈ لکھیں', password_placeholder2: 'برائے مہربانی تصدیق کے لیے اپنا پاسورڈ دوبارہ لکھیں', @@ -683,14 +403,6 @@ I18n.translations = { }, vi: { - phone_title: 'Gửi số điện thoại', - phone_description: 'Tìm bạn bè bằng các sử dụng số điện thoại của bạn', - phone_placeholder: 'Số điện thoại', - - confirm_description: 'Mã xác nhận', - confirm_validation_title: 'Mã xác nhận', - confirm_validation_description: 'Sai định dạng', - password_description: 'Mật khẩu', password_placeholder: 'Gõ mật khẩu của bạn', password_placeholder2: 'Vui lòng nhập lại mật khẩu để xác nhận', diff --git a/resources/js/status.js b/resources/js/status.js index 0909993c5d..127ec381c4 100644 --- a/resources/js/status.js +++ b/resources/js/status.js @@ -244,7 +244,6 @@ var status = { types: { TEXT: 'text', NUMBER: 'number', - PHONE: 'phone', PASSWORD: 'password' }, events: { diff --git a/src/status_im/chat/console.cljs b/src/status_im/chat/console.cljs index e71451cf56..d5e18512e8 100644 --- a/src/status_im/chat/console.cljs +++ b/src/status_im/chat/console.cljs @@ -16,26 +16,6 @@ :content content :content-type content-type}) - -(def enter-confirmation-code-message - (console-message {:content {:command "confirmation-code" - :content (i18n/label :t/confirmation-code)} - :content-type const/content-type-command-request})) - -(def incorrect-confirmation-code-message - (console-message {:content {:command "confirmation-code" - :content (i18n/label :t/incorrect-code)} - :content-type const/content-type-command-request})) - -(def contacts-synchronised-message - (console-message {:content (i18n/label :t/contacts-syncronized) - :content-type const/text-content-type})) - -(def phone-number-request-message - (console-message {:content {:command "phone" - :content (i18n/label :t/phone-number-required)} - :content-type const/content-type-command-request})) - (def shake-your-phone-message (console-message {:content (i18n/label :t/shake-your-phone) :content-type const/text-content-type})) diff --git a/src/status_im/chat/events.cljs b/src/status_im/chat/events.cljs index c7a1355adb..9fdae9d3a7 100644 --- a/src/status_im/chat/events.cljs +++ b/src/status_im/chat/events.cljs @@ -27,7 +27,6 @@ status-im.chat.events.send-message status-im.chat.events.queue-message status-im.chat.events.receive-message - status-im.chat.events.sign-up status-im.chat.events.console status-im.chat.events.webview-bridge)) diff --git a/src/status_im/chat/events/console.cljs b/src/status_im/chat/events/console.cljs index 3adad07f65..8daac3cc64 100644 --- a/src/status_im/chat/events/console.cljs +++ b/src/status_im/chat/events/console.cljs @@ -4,7 +4,6 @@ [status-im.constants :as const] [status-im.i18n :as i18n] [status-im.chat.console :as console-chat] - [status-im.chat.events.sign-up :as sign-up-events] [status-im.ui.screens.accounts.events :as accounts-events] [taoensso.timbre :as log] [status-im.i18n :as i18n] @@ -48,14 +47,6 @@ (fn [{:keys [db]} {:keys [params]}] (accounts-events/create-account db (:password params))) - "phone" - (fn [{:keys [db]} {:keys [params id]}] - (sign-up-events/sign-up db (:phone params) id)) - - "confirmation-code" - (fn [{:keys [db]} {:keys [params id]}] - (sign-up-events/sign-up-confirm db (:code params) id)) - "faucet" (fn [{:keys [db random-id]} {:keys [params id]}] (let [{:accounts/keys [accounts current-account-id]} db @@ -64,13 +55,13 @@ {:http-get {:url (gstring/format faucet-url current-address) :success-event-creator (fn [_] (faucet-response-event - random-id - (i18n/label :t/faucet-success))) + random-id + (i18n/label :t/faucet-success))) :failure-event-creator (fn [event] (log/error "Faucet error" event) (faucet-response-event - random-id - (i18n/label :t/faucet-error)))}})) + random-id + (i18n/label :t/faucet-error)))}})) "debug" (fn [{:keys [db random-id now] :as cofx} {:keys [params id]}] @@ -82,9 +73,9 @@ [[:initialize-debugging {:force-start? true}] [:chat-received-message/add (console-chat/console-message - {:message-id random-id - :content (i18n/label :t/debug-enabled) - :content-type const/text-content-type})]] + {:message-id random-id + :content (i18n/label :t/debug-enabled) + :content-type const/text-content-type})]] [[:stop-debugging]])))))}) (def commands-names (set (keys console-commands->fx))) diff --git a/src/status_im/chat/events/input.cljs b/src/status_im/chat/events/input.cljs index c6b600ef84..f33fc2e9f2 100644 --- a/src/status_im/chat/events/input.cljs +++ b/src/status_im/chat/events/input.cljs @@ -141,10 +141,9 @@ params {:parameters {:args args :bot-db bot-db :seq-arg seq-arg} - :context (merge {:data data - :from current-account-id - :to to} - (input-model/command-dependent-context-params current-chat-id command))}] + :context {:data data + :from current-account-id + :to to}}] {:call-jail {:jail-id owner-id :path path :params params diff --git a/src/status_im/chat/events/sign_up.cljs b/src/status_im/chat/events/sign_up.cljs deleted file mode 100644 index e4d822d3df..0000000000 --- a/src/status_im/chat/events/sign_up.cljs +++ /dev/null @@ -1,156 +0,0 @@ -(ns status-im.chat.events.sign-up - (:require [re-frame.core :as re-frame] - [status-im.constants :as const] - [status-im.chat.console :as console-chat] - [status-im.utils.handlers :as handlers] - [status-im.utils.phone-number :as phone-number-util] - [status-im.utils.sms-listener :as sms-listener] - [status-im.ui.screens.accounts.events :as accounts-events] - [taoensso.timbre :as log])) - -;;;; Helpers fns - -(defn sign-up - "Creates effects for signing up" - [db phone-number message-id] - (let [current-account-id (:accounts/current-account-id db) - {:keys [public-key address]} (get-in db [:accounts/accounts current-account-id])] - {:http-post {:action "sign-up" - :data {:phone-number (phone-number-util/format-phone-number phone-number) - :whisper-identity public-key - :address address} - :success-event-creator (fn [_] - [::sign-up-success message-id]) - :failure-event-creator (fn [_] - [::http-request-failure [::sign-up phone-number message-id]])}})) - -(defn sign-up-confirm - "Creates effects for sign-up confirmation" - [db confirmation-code message-id] - {:http-post {:action "sign-up-confirm" - :data {:code confirmation-code} - :success-event-creator (fn [body] - [::sign-up-confirm-response body message-id]) - :failure-event-creator (fn [_] - [::http-request-failure [::sign-up-confirm confirmation-code message-id]])}}) - -;;;; Handlers - -(handlers/register-handler-fx - ::sign-up - [re-frame/trim-v] - (fn [{:keys [db]} [phone-number message-id]] - (sign-up db phone-number message-id))) - -(defn- message-seen [{:keys [db] :as fx} message-id] - (let [statuses-path [:chats const/console-chat-id :messages message-id :user-statuses] - statuses (-> (get-in db statuses-path) - (assoc const/console-chat-id :seen))] - (-> fx - (assoc-in (into [:db] statuses-path) statuses) - (assoc :update-message {:message-id message-id - :user-statuses statuses})))) - -(handlers/register-handler-fx - :start-listening-confirmation-code-sms - [re-frame/trim-v] - (fn [{:keys [db]} [sms-listener]] - {:db (if-not (:confirmation-code-sms-listener db) - (assoc db :confirmation-code-sms-listener sms-listener) - db)})) - -(defn stop-listening-confirmation-code-sms [{:keys [db] :as fx}] - (-> fx - (update :db dissoc :confirmation-code-sms-listener) - (assoc ::remove-sms-listener (:confirmation-code-sms-listener db)))) - -(re-frame/reg-fx - ::remove-sms-listener - (fn [subscription] - (sms-listener/remove-sms-listener subscription))) - -(defn- sms-receive-handler [{confirmation-code :body}] - (when-let [matches (re-matches #"(\d{4})" confirmation-code)] - (re-frame/dispatch [::sign-up-confirm (second matches)]))) - -(def start-listening-confirmation-code-sms-event - [:request-permissions - [:receive-sms] - (fn [] - (let [listener (sms-listener/add-sms-listener sms-receive-handler)] - (re-frame/dispatch [:start-listening-confirmation-code-sms listener])))]) - -(handlers/register-handler-fx - ::sign-up-success - [re-frame/trim-v (re-frame/inject-cofx :random-id)] - (fn [{:keys [db random-id]} [message-id]] - (-> {:db db - :dispatch-n [;; create manual way for entering confirmation code - [:chat-received-message/add console-chat/enter-confirmation-code-message] - ;; create automatic way for receiving confirmation code - start-listening-confirmation-code-sms-event]} - (message-seen message-id)))) - -(defn- extract-last-phone-number [chats] - (let [phone-message (->> (get-in chats [const/console-chat-id :messages]) - (map second) - (some (fn [{:keys [type content] :as message}] - (when (and (= type :response) - (= (:command content) "phone")) - message))))] - (get-in phone-message [:content :params :phone]))) - -(handlers/register-handler-fx - ::sign-up-confirm - (fn [{:keys [db]} [confirmation-code message-id]] - (sign-up-confirm db confirmation-code message-id))) - -(defn- sign-up-confirmed [{:keys [db] :as fx} now] - (let [last-phone-number (extract-last-phone-number (:chats db)) - fx (-> (stop-listening-confirmation-code-sms fx) - (update :dispatch-n conj - [:request-permissions [:read-contacts] - #(re-frame/dispatch [:sync-contacts (fn [contacts] - [::contacts-synced contacts])])]))] - (cond-> fx - last-phone-number (accounts-events/account-update {:phone last-phone-number - :last-updated now})))) - -(handlers/register-handler-fx - ::sign-up-confirm-response - [re-frame/trim-v (re-frame/inject-cofx :random-id)] - (fn [{:keys [db random-id now]} [{:keys [message status]} message-id]] - (let [messages (cond-> [] - - true - (conj (console-chat/console-message {:content message - :content-type const/text-content-type})) - - (= "failed" status) - (conj console-chat/incorrect-confirmation-code-message))] - - (cond-> {:db db - :dispatch-n (mapv #(vector :chat-received-message/add %) messages)} - - message-id - (message-seen message-id) - - (= "confirmed" status) - (sign-up-confirmed now))))) - -(handlers/register-handler-fx - ::contacts-synced - [re-frame/trim-v (re-frame/inject-cofx :random-id)] - (fn [{:keys [db random-id now] :as cofx} [contacts]] - (-> {:db db} - (accounts-events/account-update {:signed-up? true - :last-updated now}) - (assoc :dispatch [:chat-received-message/add console-chat/contacts-synchronised-message])))) - -(handlers/register-handler-fx - ::http-request-failure - [re-frame/trim-v] - (fn [_ [original-event-vector]] - ;; TODO(janherich): in case of http request failure, we will try to hit http endpoint in loop forever, - ;; maybe it's better to cut it after N tries and display error message with explanation to user - {:dispatch-later [{:ms 1000 :dispatch original-event-vector}]})) diff --git a/src/status_im/chat/models/input.cljs b/src/status_im/chat/models/input.cljs index 14b2d089d7..85bdbbeb04 100644 --- a/src/status_im/chat/models/input.cljs +++ b/src/status_im/chat/models/input.cljs @@ -7,7 +7,6 @@ [status-im.chat.models.commands :as commands-model] [status-im.chat.views.input.validation-messages :refer [validation-message]] [status-im.i18n :as i18n] - [status-im.utils.phone-number :as phone-number] [status-im.js-dependencies :as dependencies] [taoensso.timbre :as log])) @@ -205,16 +204,6 @@ (remove #(nil? (first %))) (into {})))) -(defn command-dependent-context-params - "Returns additional `:context` data that will be added to specific commands. - The following data shouldn't be hardcoded here." - [chat-id {:keys [name] :as command}] - (case chat-id - "console" (case name - "phone" {:suggestions (phone-number/get-examples)} - {}) - {})) - (defn modified-db-after-change "Returns the new db object that should be used after any input change." [{:keys [current-chat-id] :as db}] @@ -239,11 +228,3 @@ :prev-command (-> command :command :name)}))))) (defmulti validation-handler (fn [name] (keyword name))) - -(defmethod validation-handler :phone - [_] - (fn [[number] error-events-creator] - (when-not (phone-number/valid-mobile-number? number) - (error-events-creator [validation-message - {:title (i18n/label :t/phone-number) - :description (i18n/label :t/invalid-phone)}])))) diff --git a/src/status_im/chat/specs.cljs b/src/status_im/chat/specs.cljs index 3a14c3e45c..31fef1a47b 100644 --- a/src/status_im/chat/specs.cljs +++ b/src/status_im/chat/specs.cljs @@ -10,11 +10,10 @@ (s/def :chat/chat-ui-props (s/nilable map?)) ; {id (string) props (map)} (s/def :chat/chat-list-ui-props (s/nilable map?)) (s/def :chat/layout-height (s/nilable number?)) ; height of chat's view layout -(s/def :chat/expandable-view-height-to-value (s/nilable number?)) +(s/def :chat/expandable-view-height-to-value (s/nilable number?)) (s/def :chat/selected-participants (s/nilable set?)) -(s/def :chat/chat-loaded-callbacks (s/nilable map?)) +(s/def :chat/chat-loaded-callbacks (s/nilable map?)) (s/def :chat/public-group-topic (s/nilable string?)) -(s/def :chat/confirmation-code-sms-listener (s/nilable any?)) ; .addListener result object (s/def :chat/messages (s/nilable map?)) ; messages indexed by message-id (s/def :chat/not-loaded-message-ids (s/nilable set?)) ; set of message-ids not yet fully loaded from persisted state (s/def :chat/last-clock-value (s/nilable number?)) ; last logical clock value of messages in chat diff --git a/src/status_im/data_store/realm/schemas/account/v21/core.cljs b/src/status_im/data_store/realm/schemas/account/v21/core.cljs index af54583149..7baaa68101 100644 --- a/src/status_im/data_store/realm/schemas/account/v21/core.cljs +++ b/src/status_im/data_store/realm/schemas/account/v21/core.cljs @@ -48,7 +48,18 @@ (> (str/index-of content "command=location") -1)) (aset message "show?" false)))))) +(defn remove-phone-messages! [old-realm new-realm] + (let [messages (.objects new-realm "message")] + (dotimes [i (.-length messages)] + (let [message (aget messages i) + content (aget message "content") + type (aget message "content-type")] + (when (and (= type "command") + (> (str/index-of content "command=phone") -1)) + (aset message "show?" false)))))) + (defn migration [old-realm new-realm] (log/debug "migrating v21 account database: " old-realm new-realm) (remove-contact! new-realm "browse") - (remove-location-messages! old-realm new-realm)) \ No newline at end of file + (remove-location-messages! old-realm new-realm) + (remove-phone-messages! old-realm new-realm)) diff --git a/src/status_im/data_store/realm/schemas/base/core.cljs b/src/status_im/data_store/realm/schemas/base/core.cljs index 4c0acba8cd..3070c9550b 100644 --- a/src/status_im/data_store/realm/schemas/base/core.cljs +++ b/src/status_im/data_store/realm/schemas/base/core.cljs @@ -6,7 +6,7 @@ [status-im.data-store.realm.schemas.base.v5.core :as v5] [status-im.data-store.realm.schemas.base.v6.core :as v6])) -; put schemas ordered by version +;; put schemas ordered by version (def schemas [{:schema v1/schema :schemaVersion 1 :migration v1/migration} diff --git a/src/status_im/data_store/realm/schemas/base/v6/account.cljs b/src/status_im/data_store/realm/schemas/base/v6/account.cljs index 9e6ea5ef07..9cf70586c2 100644 --- a/src/status_im/data_store/realm/schemas/base/v6/account.cljs +++ b/src/status_im/data_store/realm/schemas/base/v6/account.cljs @@ -11,7 +11,6 @@ :updates-private-key {:type :string :optional true} :name {:type :string :optional true} - :phone {:type :string :optional true} :email {:type :string :optional true} :status {:type :string :optional true} :debug? {:type :bool :default false} diff --git a/src/status_im/i18n.cljs b/src/status_im/i18n.cljs index 887605b03f..0820877a0a 100644 --- a/src/status_im/i18n.cljs +++ b/src/status_im/i18n.cljs @@ -171,7 +171,7 @@ :transactions-delete-content :transactions-unsigned-empty :transaction-moved-text :add-members :sign-later-title :sharing-cancel :yes :dapps :popular-tags :network-settings :twelve-words-in-correct-order - :transaction-moved-title :phone-number :photos-access-error :hash + :transaction-moved-title :photos-access-error :hash :removed-from-chat :done :remove-from-contacts :delete-chat :new-group-chat :edit-chats :wallet :wallet-exchange :wallet-request :sign-in :datetime-yesterday :create-new-account :sign-in-to-status :dapp-profile @@ -182,28 +182,28 @@ :delete-group :send-request :paste-json :browsing-title :wallet-add-asset :reorder-groups :transactions-history-empty :discover :browsing-cancel :faucet-success :intro-status :name :gas-price - :phone-number-required :view-transaction-details :wallet-error + :view-transaction-details :wallet-error :validation-amount-is-too-precise :copy-transaction-hash :unknown-address :received-invitation :show-qr :edit-network-config :connect :choose-from-contacts :edit :wallet-address-from-clipboard :account-generation-message :remove-network :no-messages :passphrase - :recipient :members-title :new-group :phone-e164 :suggestions-requests + :recipient :members-title :new-group :suggestions-requests :connected :rpc-url :settings :remove-from-group :specify-rpc-url - :contacts-syncronized :transactions-sign-all :gas-limit :wallet-browse-photos + :transactions-sign-all :gas-limit :wallet-browse-photos :add-new-contact :no-statuses-discovered-body :add-json-file :delete :search-contacts :chats :transaction-sent :transaction :public-group-status :leave-chat :transactions-delete :mainnet-text :image-source-make-photo :chat :start-conversation :topic-format :add-new-network :save - :enter-valid-public-key :faucet-error :phone-significant :all + :enter-valid-public-key :faucet-error :all :confirmations-helper-text :search-for :sharing-copy-to-clipboard - :your-wallets :phone-international :sync-in-progress :enter-password + :your-wallets :sync-in-progress :enter-password :enter-address :switch-users :send-transaction :confirmations - :recover-access :incorrect-code :image-source-gallery :sync-synced + :recover-access :image-source-gallery :sync-synced :currency :status-pending :delete-contact :connecting-requires-login :no-hashtags-discovered-title :datetime-day :request-transaction - :wallet-send :mute-notifications :invalid-phone :scan-qr :contact-s + :wallet-send :mute-notifications :scan-qr :contact-s :unsigned-transaction-expired :status-sending :gas-used - :transactions-filter-type :next :recent :confirmation-code + :transactions-filter-type :next :recent :open-on-etherscan :share :status :from :wrong-password :search-chats :transactions-sign-later :in-contacts :transactions-sign :sharing-share :type-a-message :type-a-command diff --git a/src/status_im/js_dependencies.cljs b/src/status_im/js_dependencies.cljs index 952dacdcb3..082e5e7d3a 100644 --- a/src/status_im/js_dependencies.cljs +++ b/src/status_im/js_dependencies.cljs @@ -1,6 +1,5 @@ (ns status-im.js-dependencies) -(def awesome-phonenumber (js/require "awesome-phonenumber")) (def Chance (js/require "chance")) (def eccjs (js/require "eccjs")) (def emojis (js/require "emojilib")) diff --git a/src/status_im/ui/components/permissions.cljs b/src/status_im/ui/components/permissions.cljs index a81dd57741..05564a3603 100644 --- a/src/status_im/ui/components/permissions.cljs +++ b/src/status_im/ui/components/permissions.cljs @@ -9,9 +9,7 @@ (def permissions-map {:read-external-storage "android.permission.READ_EXTERNAL_STORAGE" :write-external-storage "android.permission.WRITE_EXTERNAL_STORAGE" - :read-contacts "android.permission.READ_CONTACTS" - :camera "android.permission.CAMERA" - :receive-sms "android.permission.RECEIVE_SMS"}) + :camera "android.permission.CAMERA"}) (defn all-granted? [permissions] (let [permission-vals (distinct (vals permissions))] diff --git a/src/status_im/ui/screens/accounts/db.cljs b/src/status_im/ui/screens/accounts/db.cljs index c6160eb1e6..a427f2b79c 100644 --- a/src/status_im/ui/screens/accounts/db.cljs +++ b/src/status_im/ui/screens/accounts/db.cljs @@ -20,7 +20,6 @@ (spec/def :account/networks (spec/nilable :networks/networks)) (spec/def :account/wnode (spec/nilable string?)) (spec/def :account/settings (spec/nilable (spec/map-of keyword? any?))) -(spec/def :account/phone (spec/nilable string?)) (spec/def :account/signing-phrase :global/not-empty-string) (spec/def :accounts/account (allowed-keys @@ -29,8 +28,7 @@ :opt-un [:account/debug? :account/status :account/last-updated :account/updates-private-key :account/updates-public-key :account/email :account/signed-up? :account/network - :account/phone :account/networks :account/settings - :account/wnode])) + :account/networks :account/settings :account/wnode])) (spec/def :accounts/accounts (spec/nilable (spec/map-of :account/address :accounts/account))) diff --git a/src/status_im/ui/screens/accounts/login/events.cljs b/src/status_im/ui/screens/accounts/login/events.cljs index de2651e3f2..78b31241ce 100644 --- a/src/status_im/ui/screens/accounts/login/events.cljs +++ b/src/status_im/ui/screens/accounts/login/events.cljs @@ -136,8 +136,7 @@ [:initialize-account address (when (or new-account? recover-in-progress?) - [[:chat-received-message/add console-chat/phone-number-request-message] - [:chat-received-message/add console-chat/shake-your-phone-message]])] + [[:chat-received-message/add console-chat/shake-your-phone-message]])] [:navigate-to-clean :home] (if new-account? [:navigate-to-chat console-chat-id] diff --git a/src/status_im/ui/screens/contacts/events.cljs b/src/status_im/ui/screens/contacts/events.cljs index 10964d260a..f49a81a033 100644 --- a/src/status_im/ui/screens/contacts/events.cljs +++ b/src/status_im/ui/screens/contacts/events.cljs @@ -2,11 +2,9 @@ (:require [re-frame.core :refer [dispatch trim-v reg-fx reg-cofx inject-cofx]] [status-im.utils.handlers :refer [register-handler-db register-handler-fx]] [status-im.data-store.contacts :as contacts] - [status-im.utils.crypt :refer [encrypt]] [clojure.string :as s] [status-im.protocol.core :as protocol] [status-im.utils.utils :refer [http-post]] - [status-im.utils.phone-number :refer [format-phone-number]] [status-im.utils.random :as random] [taoensso.timbre :as log] [cljs.reader :refer [read-string]] @@ -33,11 +31,11 @@ (assoc coeffects :all-contacts (contacts/get-all)))) (reg-cofx - ::get-default-contacts-and-groups - (fn [coeffects _] - (assoc coeffects - :default-contacts js-res/default-contacts - :default-groups js-res/default-contact-groups))) + ::get-default-contacts-and-groups + (fn [coeffects _] + (assoc coeffects + :default-contacts js-res/default-contacts + :default-groups js-res/default-contact-groups))) ;;;; FX @@ -62,18 +60,18 @@ photo-path current-account-id status fcm-token updates-public-key updates-private-key] :as params}] (protocol/contact-request! - {:web3 web3 - :message {:from current-public-key - :to whisper-identity - :message-id (random/id) - :payload {:contact {:name name - :profile-image photo-path - :address current-account-id - :status status - :fcm-token fcm-token} - :keypair {:public updates-public-key - :private updates-private-key} - :timestamp (web3.utils/timestamp)}}}))) + {:web3 web3 + :message {:from current-public-key + :to whisper-identity + :message-id (random/id) + :payload {:contact {:name name + :profile-image photo-path + :address current-account-id + :status status + :fcm-token fcm-token} + :keypair {:public updates-public-key + :private updates-private-key} + :timestamp (web3.utils/timestamp)}}}))) (reg-fx ::reset-pending-messages @@ -101,75 +99,16 @@ (remove s/blank?) (s/join " "))) -(defn- normalize-phone-contacts [contacts] - (let [contacts' (js->clj contacts :keywordize-keys true)] - (map (fn [{:keys [thumbnailPath phoneNumbers] :as contact}] - {:name (contact-name contact) - :photo-path thumbnailPath - :phone-numbers phoneNumbers}) contacts'))) - -(reg-fx - ::fetch-contacts-from-phone! - (fn [on-contacts-event-creator] - (.getAll rn-dependencies/contacts - (fn [error contacts] - (if error - (log/debug :error-on-fetching-loading error) - (let [contacts' (normalize-phone-contacts contacts)] - (dispatch [::get-contacts-identities contacts' on-contacts-event-creator]))))))) - -(defn- get-contacts-by-hash [contacts] - (->> contacts - (mapcat (fn [{:keys [phone-numbers] :as contact}] - (map (fn [{:keys [number]}] - (let [number' (format-phone-number number)] - [(encrypt number') - (-> contact - (assoc :phone-number number') - (dissoc :phone-numbers))])) - phone-numbers))) - (into {}))) - -(defn- add-identity [contacts-by-hash contacts] - (map (fn [{:keys [phone-number-hash whisper-identity address]}] - (let [contact (contacts-by-hash phone-number-hash)] - (assoc contact - :whisper-identity whisper-identity - :address address))) - (js->clj contacts))) - -(reg-fx - ::request-stored-contacts - (fn [{:keys [contacts on-contacts-event-creator]}] - (let [contacts-by-hash (get-contacts-by-hash contacts) - data (or (keys contacts-by-hash) '())] - (http-post "get-contacts" {:phone-number-hashes data} - (fn [{:keys [contacts]}] - (dispatch (on-contacts-event-creator (add-identity contacts-by-hash contacts)))))))) - ;;;; Handlers -(register-handler-fx - ::get-contacts-identities - [trim-v] - (fn [_ [contacts on-contacts-event-creator]] - {::request-stored-contacts {:contacts contacts - :on-contacts-event-creator on-contacts-event-creator}})) - -(register-handler-fx - :sync-contacts - [trim-v] - (fn [_ [on-contacts-event-creator]] - {::fetch-contacts-from-phone! on-contacts-event-creator})) - (defn watch-contact "Takes effects map, adds effects necessary to start watching contact" [{:keys [db] :as fx} {:keys [public-key private-key] :as contact}] (cond-> fx (and public-key private-key) (assoc ::watch-contact (merge - (select-keys db [:web3]) - (select-keys contact [:whisper-identity :public-key :private-key]))))) + (select-keys db [:web3]) + (select-keys contact [:whisper-identity :public-key :private-key]))))) (register-handler-fx :watch-contact @@ -450,4 +389,4 @@ [:add-pending-contact-and-open-chat new-identity] [:add-new-contact-and-open-chat {:name (generate-gfy new-identity) :photo-path (identicon new-identity) - :whisper-identity new-identity}])})))) \ No newline at end of file + :whisper-identity new-identity}])})))) diff --git a/src/status_im/ui/screens/db.cljs b/src/status_im/ui/screens/db.cljs index 3ca7c64173..1cfb8ad621 100644 --- a/src/status_im/ui/screens/db.cljs +++ b/src/status_im/ui/screens/db.cljs @@ -180,7 +180,6 @@ :chat/selected-participants :chat/chat-loaded-callbacks :chat/public-group-topic - :chat/confirmation-code-sms-listener :chat/messages :chat/not-loaded-message-ids :chat/last-clock-value diff --git a/src/status_im/ui/screens/events.cljs b/src/status_im/ui/screens/events.cljs index 61cc98bb67..c3ff0cb789 100644 --- a/src/status_im/ui/screens/events.cljs +++ b/src/status_im/ui/screens/events.cljs @@ -68,21 +68,21 @@ ;;;; COFX (re-frame/reg-cofx - :now - (fn [coeffects _] - (assoc coeffects :now (time/now-ms)))) + :now + (fn [coeffects _] + (assoc coeffects :now (time/now-ms)))) (re-frame/reg-cofx - :random-id - (fn [coeffects _] - (assoc coeffects :random-id (random/id)))) + :random-id + (fn [coeffects _] + (assoc coeffects :random-id (random/id)))) (re-frame/reg-cofx - :random-id-seq - (fn [coeffects _] - (assoc coeffects :random-id-seq - ((fn rand-id-seq [] - (cons (random/id) (lazy-seq (rand-id-seq)))))))) + :random-id-seq + (fn [coeffects _] + (assoc coeffects :random-id-seq + ((fn rand-id-seq [] + (cons (random/id) (lazy-seq (rand-id-seq)))))))) ;;;; FX diff --git a/src/status_im/ui/screens/profile/events.cljs b/src/status_im/ui/screens/profile/events.cljs index 6e790e1fc6..3e985c5db0 100644 --- a/src/status_im/ui/screens/profile/events.cljs +++ b/src/status_im/ui/screens/profile/events.cljs @@ -45,16 +45,6 @@ (when identity {:dispatch [:navigation-replace :chat identity]}))) -(handlers/register-handler-fx - :my-profile/update-phone-number - ;; Switch user to the console issuing the !phone command automatically to let him change his phone number. - ;; We allow to change phone number only from console because this requires entering SMS verification code. - (fn [{{:contacts/keys [contacts] :as db} :db :as cofx} _] - (let [phone-command (get-in contacts chat-const/phone-command-ref)] - (-> (chat-events/navigate-to-chat cofx const/console-chat-id) - (as-> fx - (merge fx (input-events/select-chat-input-command (:db fx) phone-command nil true))))))) - (defn get-current-account [{:keys [:accounts/current-account-id] :as db}] (get-in db [:accounts/accounts current-account-id])) diff --git a/src/status_im/ui/screens/profile/views.cljs b/src/status_im/ui/screens/profile/views.cljs index 3ad7681e0a..f2ffdd9ba9 100644 --- a/src/status_im/ui/screens/profile/views.cljs +++ b/src/status_im/ui/screens/profile/views.cljs @@ -198,17 +198,6 @@ ^{:key (str "item-" i)} (str status " ")))) -(defn profile-info-phone-item [phone & [options]] - (let [phone-empty? (or (nil? phone) (string/blank? phone)) - phone-text (if phone-empty? - (i18n/label :t/not-specified) - phone)] - [profile-info-item {:label (i18n/label :t/phone-number) - :action phone-text - :options options - :empty-value? phone-empty? - :accessibility-label :profile-phone-number}])) - (defn settings-title [title] [react/text {:style styles/profile-settings-title} title]) @@ -225,13 +214,11 @@ (when active? [vector-icons/icon :icons/forward {:color colors/gray}])]]) -(defn profile-info [{:keys [whisper-identity phone] :as contact}] +(defn profile-info [{:keys [whisper-identity] :as contact}] [react/view [profile-info-address-item contact] [settings-item-separator] - [profile-info-public-key-item whisper-identity contact] - [settings-item-separator] - [profile-info-phone-item phone]]) + [profile-info-public-key-item whisper-identity contact]]) (defn navigate-to-accounts [] ;; TODO(rasom): probably not the best place for this call diff --git a/src/status_im/utils/phone_number.cljs b/src/status_im/utils/phone_number.cljs deleted file mode 100644 index a95baecefb..0000000000 --- a/src/status_im/utils/phone_number.cljs +++ /dev/null @@ -1,30 +0,0 @@ -(ns status-im.utils.phone-number - (:require [status-im.i18n :refer [label]] - [status-im.react-native.js-dependencies :as rn-dependencies] - [status-im.js-dependencies :as dependencies])) - -(def locale (or (.-locale rn-dependencies/i18n) "___en")) -(def country-code (subs locale 3 5)) - -;; todo check wrong numbers, .getNumber returns empty string -(defn format-phone-number [number] - (str (.getNumber (dependencies/awesome-phonenumber number country-code) "international"))) - -(defn get-examples [] - (when-let [example (.getExample dependencies/awesome-phonenumber country-code "mobile")] - [{:number (.getNumber example) - :description (label :t/phone-e164)} - {:number (.getNumber example "international") - :description (label :t/phone-international)} - {:number (.getNumber example "national") - :description (label :t/phone-national)} - {:number (.getNumber example "significant") - :description (label :t/phone-significant)}])) - -(defn valid-mobile-number? [number] - (when (string? number) - (let [{:keys [valid type]} (-> (dependencies/awesome-phonenumber. number country-code) - (.toJSON) - (js->clj :keywordize-keys true))] - (and valid - (some #{(keyword type)} '(:mobile :fixed-line-or-mobile :pager)))))) diff --git a/src/status_im/utils/sms_listener.cljs b/src/status_im/utils/sms_listener.cljs deleted file mode 100644 index b8bad53d55..0000000000 --- a/src/status_im/utils/sms_listener.cljs +++ /dev/null @@ -1,19 +0,0 @@ -(ns status-im.utils.sms-listener - (:require [re-frame.core :as re-frame] - [status-im.utils.platform :refer [android?]] - [status-im.react-native.js-dependencies :as rn-dependencies])) - -;; Only android is supported! - -(defn add-sms-listener - "Message format: {:originatingAddress string, :body string}. Returns - cancelable subscription." - [listen-event-creator] - (when android? - (.addListener rn-dependencies/android-sms-listener - (fn [message] - (re-frame/dispatch (listen-event-creator (js->clj message :keywordize-keys true))))))) - -(defn remove-sms-listener [subscription] - (when android? - (.remove subscription))) diff --git a/test/cljs/status_im/react_native/js_dependencies.cljs b/test/cljs/status_im/react_native/js_dependencies.cljs index 40bd230e76..6928c9763b 100644 --- a/test/cljs/status_im/react_native/js_dependencies.cljs +++ b/test/cljs/status_im/react_native/js_dependencies.cljs @@ -1,11 +1,9 @@ (ns status-im.react-native.js-dependencies) (def action-button #js {:default #js {:Item #js {}}}) -(def android-sms-listener #js {}) (def autolink #js {:default #js {}}) (def config #js {:default #js {}}) (def camera #js {:constants #js {}}) -(def contacts #js {}) (def dialogs #js {}) (def dismiss-keyboard #js {}) (def emoji-picker #js {:default #js {}}) diff --git a/test/cljs/status_im/test/accounts/events.cljs b/test/cljs/status_im/test/accounts/events.cljs index 82c217e7de..3f5a17aab5 100644 --- a/test/cljs/status_im/test/accounts/events.cljs +++ b/test/cljs/status_im/test/accounts/events.cljs @@ -16,7 +16,6 @@ :address "c348abf29215d3817bec65007be83a0f11d13ad6" :email nil :signed-up? true - :phone nil :name "Sleepy Serene Leopardseal" :updates-private-key "3849320857de8efe1e1ec57e08e92ed2bce196cb8763756ae4e6e7e011c1d857de0a115b3dc7eff066afe75a8794ea9905b" :updates-public-key "384975d68aec6426faacf8b4ba2c55d5a84b70a8a26eb616e06e9c9e63f95dfdf1c1c165773e1cdca2d198a0bc5386d8a6f2079414e073b4730c8f4745292a6cdfb3fa28143ad5937128643c6addf356b66962376dc8b12274d9abfb2e1c6447ac3" diff --git a/test/cljs/status_im/test/chat/models/input.cljs b/test/cljs/status_im/test/chat/models/input.cljs index 1b9b568c39..4738c65ed0 100644 --- a/test/cljs/status_im/test/chat/models/input.cljs +++ b/test/cljs/status_im/test/chat/models/input.cljs @@ -5,7 +5,7 @@ (def fake-db {:access-scope->commands-responses {#{:global :personal-chats :anonymous :dapps} {:command {"global-command1" ["0x1" :command 0 "global-command1"]}} #{"0x1" :personal-chats :anonymous :dapps} {:command {"command2" ["0x1" :command 2 "command2"]}} - #{"0x1" :group-chats :anonymous :dapps} {:command {"command2" ["0x1" :command 4 "command2"]}} + #{"0x1" :group-chats :anonymous :dapps} {:command {"command2" ["0x1" :command 4 "command2"]}} #{"0x2" :personal-chats :anonymous :dapps} {:command {"command3" ["0x2" :command 2 "command3"]}} #{"0x2" :group-chats :anonymous :dapps} {:response {"response1" ["0x2" :response 4 "response1"]}}} :chats {"test1" {:contacts [{:identity "0x1"}] @@ -166,9 +166,5 @@ (input/args->params {:command {:params [{:name "amount"} {:name "recipient"}]} :args ["1.0" "John Doe"]})))) -(deftest command-dependent-context-params - (is (= {} (input/command-dependent-context-params "any" {:name "any"}))) - (is (= {} (input/command-dependent-context-params "console" {:name "any"})))) - (deftest modified-db-after-change "Just a combination of db modifications. Can be skipped now")