diff --git a/apps/wallet-mobile/android/app/build.gradle b/apps/wallet-mobile/android/app/build.gradle index 8b8bd057b8..e3e4527583 100644 --- a/apps/wallet-mobile/android/app/build.gradle +++ b/apps/wallet-mobile/android/app/build.gradle @@ -108,8 +108,8 @@ android { applicationId "com.emurgo" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 688 - versionName "4.27.0" + versionCode 690 + versionName "4.28.0" testBuildType System.getProperty('testBuildType', 'debug') testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' } diff --git a/apps/wallet-mobile/ios/nightly.plist b/apps/wallet-mobile/ios/nightly.plist index 7699d820fd..3290f7974f 100644 --- a/apps/wallet-mobile/ios/nightly.plist +++ b/apps/wallet-mobile/ios/nightly.plist @@ -17,11 +17,11 @@ CFBundlePackageType APPL CFBundleShortVersionString - 4.27.0 + 4.28.0 CFBundleSignature ???? CFBundleVersion - 575 + 577 ITSAppUsesNonExemptEncryption LSApplicationCategoryType diff --git a/apps/wallet-mobile/ios/yoroi.xcodeproj/project.pbxproj b/apps/wallet-mobile/ios/yoroi.xcodeproj/project.pbxproj index ca1914972d..6d6384ffb5 100644 --- a/apps/wallet-mobile/ios/yoroi.xcodeproj/project.pbxproj +++ b/apps/wallet-mobile/ios/yoroi.xcodeproj/project.pbxproj @@ -839,7 +839,7 @@ CODE_SIGN_ENTITLEMENTS = yoroi/yoroi.entitlements; CODE_SIGN_IDENTITY = "iPhone Distribution"; CODE_SIGN_STYLE = Manual; - CURRENT_PROJECT_VERSION = 575; + CURRENT_PROJECT_VERSION = 577; DEVELOPMENT_TEAM = ""; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = F8NVT2G2L4; ENABLE_BITCODE = NO; @@ -884,7 +884,7 @@ CODE_SIGN_ENTITLEMENTS = yoroi/yoroi.entitlements; CODE_SIGN_IDENTITY = "iPhone Distribution"; CODE_SIGN_STYLE = Manual; - CURRENT_PROJECT_VERSION = 575; + CURRENT_PROJECT_VERSION = 577; DEVELOPMENT_TEAM = ""; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = F8NVT2G2L4; ENVFILE = "$(PODS_ROOT)/../../.env.production"; @@ -1079,7 +1079,7 @@ CODE_SIGN_ENTITLEMENTS = nightly.entitlements; CODE_SIGN_IDENTITY = "iPhone Distribution"; CODE_SIGN_STYLE = Manual; - CURRENT_PROJECT_VERSION = 575; + CURRENT_PROJECT_VERSION = 577; DEVELOPMENT_TEAM = ""; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = F8NVT2G2L4; ENABLE_BITCODE = NO; @@ -1124,7 +1124,7 @@ CODE_SIGN_ENTITLEMENTS = nightly.entitlements; CODE_SIGN_IDENTITY = "iPhone Distribution"; CODE_SIGN_STYLE = Manual; - CURRENT_PROJECT_VERSION = 575; + CURRENT_PROJECT_VERSION = 577; DEVELOPMENT_TEAM = ""; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = F8NVT2G2L4; ENVFILE = "$(PODS_ROOT)/../../.env.nightly"; diff --git a/apps/wallet-mobile/ios/yoroi/Info.plist b/apps/wallet-mobile/ios/yoroi/Info.plist index 1cd0b46d1a..37e8a934be 100644 --- a/apps/wallet-mobile/ios/yoroi/Info.plist +++ b/apps/wallet-mobile/ios/yoroi/Info.plist @@ -17,7 +17,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 4.27.0 + 4.28.0 CFBundleSignature ???? CFBundleURLTypes @@ -34,7 +34,7 @@ CFBundleVersion - 575 + 577 ITSAppUsesNonExemptEncryption LSApplicationCategoryType diff --git a/apps/wallet-mobile/ios/yoroiTests/Info.plist b/apps/wallet-mobile/ios/yoroiTests/Info.plist index 8c471fa3d6..432c87dda7 100644 --- a/apps/wallet-mobile/ios/yoroiTests/Info.plist +++ b/apps/wallet-mobile/ios/yoroiTests/Info.plist @@ -15,10 +15,10 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 4.27.0 + 4.28.0 CFBundleSignature ???? CFBundleVersion - 575 + 577 diff --git a/apps/wallet-mobile/package.json b/apps/wallet-mobile/package.json index e8c804a91e..8f8ff646dc 100644 --- a/apps/wallet-mobile/package.json +++ b/apps/wallet-mobile/package.json @@ -166,7 +166,7 @@ "react-intl": "^6.6.2", "react-native": "~0.71.0", "react-native-background-timer": "2.4.1", - "react-native-ble-plx": "^2.0.3", + "react-native-ble-plx": "2.0.3", "react-native-bootsplash": "^4.6.0", "react-native-config": "^1.5.0", "react-native-crypto": "2.2.0", diff --git a/apps/wallet-mobile/src/legacy/HW/LedgerConnect/LedgerConnect.tsx b/apps/wallet-mobile/src/legacy/HW/LedgerConnect/LedgerConnect.tsx index 41c5908de5..949de9ba0f 100644 --- a/apps/wallet-mobile/src/legacy/HW/LedgerConnect/LedgerConnect.tsx +++ b/apps/wallet-mobile/src/legacy/HW/LedgerConnect/LedgerConnect.tsx @@ -9,6 +9,7 @@ import * as React from 'react' import type {IntlShape} from 'react-intl' import {defineMessages, useIntl} from 'react-intl' import {ActivityIndicator, Alert, FlatList, Image, RefreshControl, ScrollView, StyleSheet, View} from 'react-native' +import {Observer} from 'rxjs' import bleImage from '../../../assets/img/bluetooth.png' import usbImage from '../../../assets/img/ledger-nano-usb.png' @@ -66,10 +67,10 @@ class LedgerConnectInt extends React.Component { // as it's just an empty method. Rather, we make sure sate is only // modified when component is mounted let previousAvailable = false - TransportBLE.observeState({ - next: (e: {available: boolean}) => { + const observer: Observer<{available: boolean; type: string}> = { + next: (e: {available: boolean; type: string}) => { if (this._isMounted) { - logger.debug('BLE observeState event', e) + logger.debug('BLE observeState event', {event: e}) if (this._bluetoothEnabled == null && !e.available) { this.setState({ error: new BluetoothDisabledError(), @@ -91,7 +92,14 @@ class LedgerConnectInt extends React.Component { } } }, - }) + error: (e) => { + logger.error(e) + }, + complete: () => { + logger.info('BLE observeState done') + }, + } + TransportBLE.observeState(observer) } this.startScan() } diff --git a/apps/wallet-mobile/translations/messages/src/HW/LedgerConnect/LedgerConnect.json b/apps/wallet-mobile/translations/messages/src/HW/LedgerConnect/LedgerConnect.json index 41de5b14bd..9e3836ab8f 100644 --- a/apps/wallet-mobile/translations/messages/src/HW/LedgerConnect/LedgerConnect.json +++ b/apps/wallet-mobile/translations/messages/src/HW/LedgerConnect/LedgerConnect.json @@ -4,14 +4,14 @@ "defaultMessage": "!!!Scanning bluetooth devices...", "file": "src/HW/LedgerConnect/LedgerConnect.tsx", "start": { - "line": 317, + "line": 323, "column": 11, - "index": 10086 + "index": 10191 }, "end": { - "line": 320, + "line": 326, "column": 3, - "index": 10220 + "index": 10325 } }, { @@ -59,4 +59,4 @@ "index": 10704 } } -] \ No newline at end of file +] diff --git a/apps/wallet-mobile/translations/messages/src/legacy/HW/LedgerConnect/LedgerConnect.json b/apps/wallet-mobile/translations/messages/src/legacy/HW/LedgerConnect/LedgerConnect.json index 623561062a..791f3dd401 100644 --- a/apps/wallet-mobile/translations/messages/src/legacy/HW/LedgerConnect/LedgerConnect.json +++ b/apps/wallet-mobile/translations/messages/src/legacy/HW/LedgerConnect/LedgerConnect.json @@ -4,14 +4,14 @@ "defaultMessage": "!!!Scanning bluetooth devices...", "file": "src/legacy/HW/LedgerConnect/LedgerConnect.tsx", "start": { - "line": 318, + "line": 326, "column": 11, - "index": 10132 + "index": 10408 }, "end": { - "line": 321, + "line": 329, "column": 3, - "index": 10266 + "index": 10542 } }, { @@ -19,14 +19,14 @@ "defaultMessage": "!!!You'll need to:", "file": "src/legacy/HW/LedgerConnect/LedgerConnect.tsx", "start": { - "line": 322, + "line": 330, "column": 13, - "index": 10281 + "index": 10557 }, "end": { - "line": 325, + "line": 333, "column": 3, - "index": 10403 + "index": 10679 } }, { @@ -34,14 +34,14 @@ "defaultMessage": "!!!USB device is ready, please tap on Confirm to continue.", "file": "src/legacy/HW/LedgerConnect/LedgerConnect.tsx", "start": { - "line": 326, + "line": 334, "column": 18, - "index": 10423 + "index": 10699 }, "end": { - "line": 329, + "line": 337, "column": 3, - "index": 10568 + "index": 10844 } }, { @@ -49,14 +49,14 @@ "defaultMessage": "!!!An error occurred while trying to connect with your hardware wallet:", "file": "src/legacy/HW/LedgerConnect/LedgerConnect.tsx", "start": { - "line": 330, + "line": 338, "column": 9, - "index": 10579 + "index": 10855 }, "end": { - "line": 333, + "line": 341, "column": 3, - "index": 10750 + "index": 11026 } } ] \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 61c487c47b..f54f2f32a3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3540,12 +3540,27 @@ rxjs "6" semver "^7.3.5" +"@ledgerhq/devices@^8.4.2": + version "8.4.2" + resolved "https://registry.yarnpkg.com/@ledgerhq/devices/-/devices-8.4.2.tgz#f1c56194cf1343d56cad49c8feba92ad93432e14" + integrity sha512-oWNTp3jCMaEvRHsXNYE/yo+PFMgXAJGFHLOU1UdE4/fYkniHbD9wdxwyZrZvrxr9hNw4/9wHiThyITwPtMzG7g== + dependencies: + "@ledgerhq/errors" "^6.18.0" + "@ledgerhq/logs" "^6.12.0" + rxjs "^7.8.1" + semver "^7.3.5" + "@ledgerhq/errors@^5.15.0", "@ledgerhq/errors@^5.50.0": version "5.50.0" resolved "https://registry.yarnpkg.com/@ledgerhq/errors/-/errors-5.50.0.tgz#e3a6834cb8c19346efca214c1af84ed28e69dad9" integrity sha512-gu6aJ/BHuRlpU7kgVpy2vcYk6atjB4iauP2ymF7Gk0ez0Y/6VSMVSJvubeEQN+IV60+OBK0JgeIZG7OiHaw8ow== -"@ledgerhq/errors@^6.10.1", "@ledgerhq/errors@^6.12.3", "@ledgerhq/errors@^6.12.7": +"@ledgerhq/errors@^6.10.1", "@ledgerhq/errors@^6.12.3", "@ledgerhq/errors@^6.18.0": + version "6.18.0" + resolved "https://registry.yarnpkg.com/@ledgerhq/errors/-/errors-6.18.0.tgz#d55d6a57430d7a86532a9033ce0b45103264c620" + integrity sha512-L3jQWAGyooxRDk/MRlW2v4Ji9+kloBtdmz9wBkHaj2j0n+05rweJSV3GHw9oye1BYMbVFqFffmT4H3hlXlCasw== + +"@ledgerhq/errors@^6.12.7": version "6.12.7" resolved "https://registry.yarnpkg.com/@ledgerhq/errors/-/errors-6.12.7.tgz#c7b630488d5713bc7b1e1682d6ab5d08918c69f1" integrity sha512-1BpjzFErPK7qPFx0oItcX0mNLJMplVAm2Dpl5urZlubewnTyyw5sahIBjU+8LLCWJ2eGEh/0wyvh0jMtR0n2Mg== @@ -3559,7 +3574,7 @@ "@ledgerhq/errors" "^5.50.0" events "^3.3.0" -"@ledgerhq/hw-transport@^6.27.10", "@ledgerhq/hw-transport@^6.27.2": +"@ledgerhq/hw-transport@^6.27.10": version "6.28.5" resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport/-/hw-transport-6.28.5.tgz#675193be2f695a596068145351da598316c25831" integrity sha512-xmw5RhYbqExBBqTvOnOjN/RYNIGMBxFJ+zcYNfkfw/E+uEY3L7xq8Z7sC/n7URTT6xtEctElqduBJnBQE4OQtw== @@ -3568,12 +3583,27 @@ "@ledgerhq/errors" "^6.12.7" events "^3.3.0" +"@ledgerhq/hw-transport@^6.27.2": + version "6.31.2" + resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport/-/hw-transport-6.31.2.tgz#79c95f7928a64a0e3b5bc4ea7b5be04b9f738322" + integrity sha512-B27UIzMzm2IXPGYnEB95R7eHxpXBkTBHh6MUJJQZVknt8LilEz1tfpTYUdzAKDGQ+Z5MZyYb01Eh3Zqm3kn3uw== + dependencies: + "@ledgerhq/devices" "^8.4.2" + "@ledgerhq/errors" "^6.18.0" + "@ledgerhq/logs" "^6.12.0" + events "^3.3.0" + "@ledgerhq/logs@^5.15.0", "@ledgerhq/logs@^5.50.0": version "5.50.0" resolved "https://registry.yarnpkg.com/@ledgerhq/logs/-/logs-5.50.0.tgz#29c6419e8379d496ab6d0426eadf3c4d100cd186" integrity sha512-swKHYCOZUGyVt4ge0u8a7AwNcA//h4nx5wIi0sruGye1IJ5Cva0GyK9L2/WdX+kWVTKp92ZiEo1df31lrWGPgA== -"@ledgerhq/logs@^6.10.0", "@ledgerhq/logs@^6.10.1": +"@ledgerhq/logs@^6.10.0", "@ledgerhq/logs@^6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@ledgerhq/logs/-/logs-6.12.0.tgz#ad903528bf3687a44da435d7b2479d724d374f5d" + integrity sha512-ExDoj1QV5eC6TEbMdLUMMk9cfvNKhhv5gXol4SmULRVCx/3iyCPhJ74nsb3S0Vb+/f+XujBEj3vQn5+cwS0fNA== + +"@ledgerhq/logs@^6.10.1": version "6.10.1" resolved "https://registry.yarnpkg.com/@ledgerhq/logs/-/logs-6.10.1.tgz#5bd16082261d7364eabb511c788f00937dac588d" integrity sha512-z+ILK8Q3y+nfUl43ctCPuR4Y2bIxk/ooCQFwZxhtci1EhAtMDzMAx2W25qx8G1PPL9UUOdnUax19+F0OjXoj4w== @@ -19182,7 +19212,7 @@ react-native-background-timer@2.4.1: resolved "https://registry.yarnpkg.com/react-native-background-timer/-/react-native-background-timer-2.4.1.tgz#a3bc1cafa8c1e3aeefd0611de120298b67978a0f" integrity sha512-TE4Kiy7jUyv+hugxDxitzu38sW1NqjCk4uE5IgU2WevLv7sZacaBc6PZKOShNRPGirLl1NWkaG3LDEkdb9Um5g== -react-native-ble-plx@2.0.3, react-native-ble-plx@^2.0.3: +react-native-ble-plx@2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/react-native-ble-plx/-/react-native-ble-plx-2.0.3.tgz#b0a746f33389dbf7fd7b158513330d487d5d0fbb" integrity sha512-62LRDBPf/03K7sge+qq2ZuF8PWCGB782G+SBrpgNm5fA5Hs3FCY1ExTJZ1G0tB5ZhBPYEXcKRxPLuFegcDFrqA==