From 4e7e00b975816cffec2d23866c3b5d59fb8445b9 Mon Sep 17 00:00:00 2001 From: David Adegoke <64401859+Blazebrain@users.noreply.github.com> Date: Tue, 13 Aug 2024 19:25:18 +0100 Subject: [PATCH 1/6] Fix: Remove resolution scope from unstoppable domains plugin (#1604) --- ios/Runner/AppDelegate.swift | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/ios/Runner/AppDelegate.swift b/ios/Runner/AppDelegate.swift index 0cc4eebe8..402f6556b 100644 --- a/ios/Runner/AppDelegate.swift +++ b/ios/Runner/AppDelegate.swift @@ -3,11 +3,7 @@ import Flutter import workmanager @UIApplicationMain -@objc class AppDelegate: FlutterAppDelegate { - lazy var resolution : Resolution? = { - return try? Resolution() - }() - +@objc class AppDelegate: FlutterAppDelegate { override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? From 525df820c3f6bccf7d2f1b419ae261d015bee37f Mon Sep 17 00:00:00 2001 From: Omar Hatem <omarh.ismail1@gmail.com> Date: Tue, 13 Aug 2024 22:51:25 +0300 Subject: [PATCH 2/6] Generic fixes (#1605) * minor fixes * fix not saving wallet password to secure storage * cache linux deps as well --- .github/workflows/cache_dependencies.yml | 5 ++++- cw_monero/lib/api/wallet_manager.dart | 3 --- lib/core/wallet_creation_service.dart | 13 ++++++------- lib/src/screens/new_wallet/new_wallet_page.dart | 12 ++++++------ lib/src/screens/restore/wallet_restore_page.dart | 15 +++++++-------- lib/view_model/wallet_creation_vm.dart | 2 -- 6 files changed, 23 insertions(+), 27 deletions(-) diff --git a/.github/workflows/cache_dependencies.yml b/.github/workflows/cache_dependencies.yml index cca5bb4bf..72a74a8b2 100644 --- a/.github/workflows/cache_dependencies.yml +++ b/.github/workflows/cache_dependencies.yml @@ -60,7 +60,7 @@ jobs: path: | /opt/android/cake_wallet/cw_haven/android/.cxx /opt/android/cake_wallet/scripts/monero_c/release - key: ${{ hashFiles('**/prepare_moneroc.sh' ,'**/build_monero_all.sh') }} + key: ${{ hashFiles('**/prepare_moneroc.sh' ,'**/build_monero_all.sh' ,'**/cache_dependencies.yml') }} - if: ${{ steps.cache-externals.outputs.cache-hit != 'true' }} name: Generate Externals @@ -68,3 +68,6 @@ jobs: cd /opt/android/cake_wallet/scripts/android/ source ./app_env.sh cakewallet ./build_monero_all.sh + cd ../linux/ + source ./app_env.sh cakewallet + ./build_monero_all.sh diff --git a/cw_monero/lib/api/wallet_manager.dart b/cw_monero/lib/api/wallet_manager.dart index 14bf92d16..ce4d41010 100644 --- a/cw_monero/lib/api/wallet_manager.dart +++ b/cw_monero/lib/api/wallet_manager.dart @@ -8,10 +8,7 @@ import 'package:cw_monero/api/exceptions/wallet_opening_exception.dart'; import 'package:cw_monero/api/exceptions/wallet_restore_from_keys_exception.dart'; import 'package:cw_monero/api/exceptions/wallet_restore_from_seed_exception.dart'; import 'package:cw_monero/api/wallet.dart'; -import 'package:flutter/foundation.dart'; import 'package:cw_monero/api/transaction_history.dart'; -import 'package:cw_monero/api/wallet.dart'; -import 'package:flutter/foundation.dart'; import 'package:monero/monero.dart' as monero; class MoneroCException implements Exception { diff --git a/lib/core/wallet_creation_service.dart b/lib/core/wallet_creation_service.dart index 823aa7e84..1e9299282 100644 --- a/lib/core/wallet_creation_service.dart +++ b/lib/core/wallet_creation_service.dart @@ -1,4 +1,3 @@ -import 'package:cake_wallet/core/secure_storage.dart'; import 'package:cake_wallet/di.dart'; import 'package:cake_wallet/store/settings_store.dart'; import 'package:cw_core/wallet_info.dart'; @@ -57,9 +56,9 @@ class WalletCreationService { if (credentials.password == null) { credentials.password = generateWalletPassword(); - await keyService.saveWalletPassword( - password: credentials.password!, walletName: credentials.name); } + await keyService.saveWalletPassword( + password: credentials.password!, walletName: credentials.name); if (_hasSeedPhraseLengthOption) { credentials.seedPhraseLength = settingsStore.seedPhraseLength.value; @@ -99,9 +98,9 @@ class WalletCreationService { if (credentials.password == null) { credentials.password = generateWalletPassword(); - await keyService.saveWalletPassword( - password: credentials.password!, walletName: credentials.name); } + await keyService.saveWalletPassword( + password: credentials.password!, walletName: credentials.name); final wallet = await _service!.restoreFromKeys(credentials, isTestnet: isTestnet); @@ -118,9 +117,9 @@ class WalletCreationService { if (credentials.password == null) { credentials.password = generateWalletPassword(); - await keyService.saveWalletPassword( - password: credentials.password!, walletName: credentials.name); } + await keyService.saveWalletPassword( + password: credentials.password!, walletName: credentials.name); final wallet = await _service!.restoreFromSeed(credentials, isTestnet: isTestnet); diff --git a/lib/src/screens/new_wallet/new_wallet_page.dart b/lib/src/screens/new_wallet/new_wallet_page.dart index cd5a7ce8d..cb451c056 100644 --- a/lib/src/screens/new_wallet/new_wallet_page.dart +++ b/lib/src/screens/new_wallet/new_wallet_page.dart @@ -75,7 +75,7 @@ class _WalletNameFormState extends State<WalletNameForm> { _walletNewVM.hasWalletPassword ? TextEditingController() : null; static const aspectRatioImage = 1.22; - static bool formProcessing = false; + bool _formProcessing = false; final GlobalKey<FormState> _formKey; final GlobalKey<SeedLanguageSelectorState> _languageSelectorKey; @@ -350,11 +350,11 @@ class _WalletNameFormState extends State<WalletNameForm> { } void _confirmForm() async { - if (formProcessing) return; - formProcessing = true; + if (_formProcessing) return; + _formProcessing = true; try { if (_formKey.currentState != null && !_formKey.currentState!.validate()) { - formProcessing = false; + _formProcessing = false; return; } if (_walletNewVM.nameExists(_walletNewVM.name)) { @@ -374,10 +374,10 @@ class _WalletNameFormState extends State<WalletNameForm> { : null); } } catch (e) { - formProcessing = false; + _formProcessing = false; rethrow; } - formProcessing = false; + _formProcessing = false; } bool get isPolyseed => widget._seedTypeViewModel.moneroSeedType == SeedType.polyseed; diff --git a/lib/src/screens/restore/wallet_restore_page.dart b/lib/src/screens/restore/wallet_restore_page.dart index 29bc29986..c8fa3665e 100644 --- a/lib/src/screens/restore/wallet_restore_page.dart +++ b/lib/src/screens/restore/wallet_restore_page.dart @@ -2,7 +2,6 @@ import 'package:cake_wallet/core/execution_state.dart'; import 'package:cake_wallet/generated/i18n.dart'; import 'package:cake_wallet/routes.dart'; import 'package:cake_wallet/src/screens/base_page.dart'; -import 'package:cake_wallet/src/screens/new_wallet/new_wallet_page.dart'; import 'package:cake_wallet/src/screens/restore/wallet_restore_from_keys_form.dart'; import 'package:cake_wallet/src/screens/restore/wallet_restore_from_seed_form.dart'; import 'package:cake_wallet/src/widgets/alert_with_one_action.dart'; @@ -81,7 +80,7 @@ class WalletRestorePage extends BasePage { }); } - static bool formProcessing = false; + bool _formProcessing = false; @override Widget middle(BuildContext context) => Observer( @@ -353,8 +352,8 @@ class WalletRestorePage extends BasePage { } Future<void> _confirmForm(BuildContext context) async { - if (formProcessing) return; - formProcessing = true; + if (_formProcessing) return; + _formProcessing = true; try { // Dismissing all visible keyboard to provide context for navigation FocusManager.instance.primaryFocus?.unfocus(); @@ -373,13 +372,13 @@ class WalletRestorePage extends BasePage { } if (!formKey!.currentState!.validate()) { - formProcessing = false; + _formProcessing = false; return; } if (walletRestoreViewModel.nameExists(name)) { showNameExistsAlert(formContext!); - formProcessing = false; + _formProcessing = false; return; } @@ -428,10 +427,10 @@ class WalletRestorePage extends BasePage { await walletRestoreViewModel.create(options: _credentials()); } catch (e) { - formProcessing = false; + _formProcessing = false; rethrow; } - formProcessing = false; + _formProcessing = false; } Future<void> showNameExistsAlert(BuildContext context) { diff --git a/lib/view_model/wallet_creation_vm.dart b/lib/view_model/wallet_creation_vm.dart index 43386494e..5a9a1d093 100644 --- a/lib/view_model/wallet_creation_vm.dart +++ b/lib/view_model/wallet_creation_vm.dart @@ -110,8 +110,6 @@ abstract class WalletCreationVMBase with Store { _appStore.authenticationStore.allowed(); state = ExecutedSuccessfullyState(); } catch (e, s) { - print("@@@@@@@@"); - print(s); state = FailureState(e.toString()); } } From b0ece46f29b3829482f42349c8688d74caa43b7d Mon Sep 17 00:00:00 2001 From: OmarHatem <omarh.ismail1@gmail.com> Date: Tue, 13 Aug 2024 23:15:32 +0300 Subject: [PATCH 3/6] use the cached deps for both jobs [skip ci] --- .github/workflows/pr_test_build_android.yml | 2 +- .github/workflows/pr_test_build_linux.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr_test_build_android.yml b/.github/workflows/pr_test_build_android.yml index ea8770860..5dbf1610f 100644 --- a/.github/workflows/pr_test_build_android.yml +++ b/.github/workflows/pr_test_build_android.yml @@ -78,7 +78,7 @@ jobs: path: | /opt/android/cake_wallet/cw_haven/android/.cxx /opt/android/cake_wallet/scripts/monero_c/release - key: ${{ hashFiles('**/prepare_moneroc.sh' ,'**/build_monero_all.sh') }} + key: ${{ hashFiles('**/prepare_moneroc.sh' ,'**/build_monero_all.sh' ,'**/cache_dependencies.yml') }} - if: ${{ steps.cache-externals.outputs.cache-hit != 'true' }} name: Generate Externals diff --git a/.github/workflows/pr_test_build_linux.yml b/.github/workflows/pr_test_build_linux.yml index 12c930120..37253e96f 100644 --- a/.github/workflows/pr_test_build_linux.yml +++ b/.github/workflows/pr_test_build_linux.yml @@ -75,7 +75,7 @@ jobs: path: | /opt/android/cake_wallet/cw_haven/android/.cxx /opt/android/cake_wallet/scripts/monero_c/release - key: linux-${{ hashFiles('**/prepare_moneroc.sh' ,'**/build_monero_all.sh') }} + key: ${{ hashFiles('**/prepare_moneroc.sh' ,'**/build_monero_all.sh' ,'**/cache_dependencies.yml') }} - if: ${{ steps.cache-externals.outputs.cache-hit != 'true' }} name: Generate Externals From 390fdda0231d45d6aff44b5d837e19afc04d3068 Mon Sep 17 00:00:00 2001 From: OmarHatem <omarh.ismail1@gmail.com> Date: Wed, 14 Aug 2024 00:58:13 +0300 Subject: [PATCH 4/6] fix caching linux deps --- .github/workflows/cache_dependencies.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cache_dependencies.yml b/.github/workflows/cache_dependencies.yml index 72a74a8b2..f5fbf4826 100644 --- a/.github/workflows/cache_dependencies.yml +++ b/.github/workflows/cache_dependencies.yml @@ -37,7 +37,12 @@ jobs: channel: stable - name: Install package dependencies - run: sudo apt-get install -y curl unzip automake build-essential file pkg-config git python libtool libtinfo5 cmake clang + run: sudo apt-get install -y curl unzip automake build-essential file pkg-config git python-is-python3 libtool libtinfo5 cmake clang + + - name: Install desktop dependencies + run: | + sudo apt update + sudo apt install -y ninja-build libgtk-3-dev gperf - name: Execute Build and Setup Commands run: | @@ -70,4 +75,5 @@ jobs: ./build_monero_all.sh cd ../linux/ source ./app_env.sh cakewallet + ./app_config.sh ./build_monero_all.sh From 20252cdea8b4c822ef643dd2e3cc2315b977aed1 Mon Sep 17 00:00:00 2001 From: OmarHatem <omarh.ismail1@gmail.com> Date: Wed, 14 Aug 2024 01:37:04 +0300 Subject: [PATCH 5/6] cache only android deps only have linux build as an artifact --- .github/workflows/cache_dependencies.yml | 11 +---------- .github/workflows/pr_test_build_linux.yml | 21 +++++++++++---------- 2 files changed, 12 insertions(+), 20 deletions(-) diff --git a/.github/workflows/cache_dependencies.yml b/.github/workflows/cache_dependencies.yml index f5fbf4826..902a44a42 100644 --- a/.github/workflows/cache_dependencies.yml +++ b/.github/workflows/cache_dependencies.yml @@ -37,12 +37,7 @@ jobs: channel: stable - name: Install package dependencies - run: sudo apt-get install -y curl unzip automake build-essential file pkg-config git python-is-python3 libtool libtinfo5 cmake clang - - - name: Install desktop dependencies - run: | - sudo apt update - sudo apt install -y ninja-build libgtk-3-dev gperf + run: sudo apt-get install -y curl unzip automake build-essential file pkg-config git python libtool libtinfo5 cmake clang - name: Execute Build and Setup Commands run: | @@ -73,7 +68,3 @@ jobs: cd /opt/android/cake_wallet/scripts/android/ source ./app_env.sh cakewallet ./build_monero_all.sh - cd ../linux/ - source ./app_env.sh cakewallet - ./app_config.sh - ./build_monero_all.sh diff --git a/.github/workflows/pr_test_build_linux.yml b/.github/workflows/pr_test_build_linux.yml index 37253e96f..c1a3a3be4 100644 --- a/.github/workflows/pr_test_build_linux.yml +++ b/.github/workflows/pr_test_build_linux.yml @@ -174,13 +174,14 @@ jobs: with: path: /opt/android/cake_wallet/build/linux/x64/release/${{env.BRANCH_NAME}}.zip - - name: Send Test APK - continue-on-error: true - uses: adrey/slack-file-upload-action@1.0.5 - with: - token: ${{ secrets.SLACK_APP_TOKEN }} - path: /opt/android/cake_wallet/build/linux/x64/release/${{env.BRANCH_NAME}}.zip - channel: ${{ secrets.SLACK_APK_CHANNEL }} - title: "${{ env.BRANCH_NAME }}_linux.zip" - filename: ${{ env.BRANCH_NAME }}_linux.zip - initial_comment: ${{ github.event.head_commit.message }} +# Just as an artifact would be enough +# - name: Send Test APK +# continue-on-error: true +# uses: adrey/slack-file-upload-action@1.0.5 +# with: +# token: ${{ secrets.SLACK_APP_TOKEN }} +# path: /opt/android/cake_wallet/build/linux/x64/release/${{env.BRANCH_NAME}}.zip +# channel: ${{ secrets.SLACK_APK_CHANNEL }} +# title: "${{ env.BRANCH_NAME }}_linux.zip" +# filename: ${{ env.BRANCH_NAME }}_linux.zip +# initial_comment: ${{ github.event.head_commit.message }} From 183f9c191d292ed9fb5d6b1d1bcf6982e1424445 Mon Sep 17 00:00:00 2001 From: Omar Hatem <omarh.ismail1@gmail.com> Date: Wed, 14 Aug 2024 17:49:56 +0300 Subject: [PATCH 6/6] Update pr_test_build_linux.yml --- .github/workflows/pr_test_build_linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr_test_build_linux.yml b/.github/workflows/pr_test_build_linux.yml index c1a3a3be4..7935dd177 100644 --- a/.github/workflows/pr_test_build_linux.yml +++ b/.github/workflows/pr_test_build_linux.yml @@ -75,7 +75,7 @@ jobs: path: | /opt/android/cake_wallet/cw_haven/android/.cxx /opt/android/cake_wallet/scripts/monero_c/release - key: ${{ hashFiles('**/prepare_moneroc.sh' ,'**/build_monero_all.sh' ,'**/cache_dependencies.yml') }} + key: linux_${{ hashFiles('**/prepare_moneroc.sh' ,'**/build_monero_all.sh' ,'**/cache_dependencies.yml') }} - if: ${{ steps.cache-externals.outputs.cache-hit != 'true' }} name: Generate Externals