From 1df1f195482fea30e3c402dfe67bd32c11410054 Mon Sep 17 00:00:00 2001 From: smk762 Date: Tue, 7 Oct 2025 09:32:01 +0800 Subject: [PATCH 01/15] chore(sdk): bump submodule to afbca02 --- sdk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk b/sdk index 72c9de3b37..afbca02c03 160000 --- a/sdk +++ b/sdk @@ -1 +1 @@ -Subproject commit 72c9de3b370f1b4169ebbb3150e8adedf4ed3b23 +Subproject commit afbca02c03309ffcf67fc3d5e6e10164bfbf90e4 From 87f0a78ef762a1d26b560be34d144c14d3dc2472 Mon Sep 17 00:00:00 2001 From: CharlVS <77973576+CharlVS@users.noreply.github.com> Date: Tue, 7 Oct 2025 14:30:58 +0200 Subject: [PATCH 02/15] chore(submodule): bump sdk to latest on chore/kw-release-v0.9.3 for universal-mac-builds --- sdk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk b/sdk index afbca02c03..72c9de3b37 160000 --- a/sdk +++ b/sdk @@ -1 +1 @@ -Subproject commit afbca02c03309ffcf67fc3d5e6e10164bfbf90e4 +Subproject commit 72c9de3b370f1b4169ebbb3150e8adedf4ed3b23 From 853e5559b792ca8661f8eca8429059e371d09c63 Mon Sep 17 00:00:00 2001 From: CharlVS <77973576+CharlVS@users.noreply.github.com> Date: Tue, 7 Oct 2025 14:35:36 +0200 Subject: [PATCH 03/15] chore(submodule): track sdk on universal-mac-builds branch --- .gitmodules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitmodules b/.gitmodules index f64d85f264..d059c27aae 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,7 +1,7 @@ [submodule "sdk"] path = sdk url = https://github.com/KomodoPlatform/komodo-defi-sdk-flutter.git - branch = chore/kw-release-v0.9.3 + branch = universal-mac-builds update = checkout fetchRecurseSubmodules = on-demand ignore = dirty From 005b873c825b9f4294344993213da69130cccde5 Mon Sep 17 00:00:00 2001 From: CharlVS <77973576+CharlVS@users.noreply.github.com> Date: Tue, 7 Oct 2025 14:36:02 +0200 Subject: [PATCH 04/15] chore(submodule): point sdk to universal-mac-builds and bump pointer --- sdk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk b/sdk index 72c9de3b37..e2a8df14c6 160000 --- a/sdk +++ b/sdk @@ -1 +1 @@ -Subproject commit 72c9de3b370f1b4169ebbb3150e8adedf4ed3b23 +Subproject commit e2a8df14c6753fdce5ad04336aa74c69c6824230 From e70a1c109701bad227557cc80bf747fdeda99df0 Mon Sep 17 00:00:00 2001 From: CharlVS <77973576+CharlVS@users.noreply.github.com> Date: Thu, 9 Oct 2025 18:39:23 +0200 Subject: [PATCH 05/15] chore(submodule): track sdk at add/macos-universal-support and update pointer to bd2dfb9 --- .gitmodules | 2 +- sdk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index d059c27aae..04cf4fce59 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,7 +1,7 @@ [submodule "sdk"] path = sdk url = https://github.com/KomodoPlatform/komodo-defi-sdk-flutter.git - branch = universal-mac-builds + branch = add/macos-universal-support update = checkout fetchRecurseSubmodules = on-demand ignore = dirty diff --git a/sdk b/sdk index e2a8df14c6..bd2dfb9f22 160000 --- a/sdk +++ b/sdk @@ -1 +1 @@ -Subproject commit e2a8df14c6753fdce5ad04336aa74c69c6824230 +Subproject commit bd2dfb9f2251fa664f70924c11dda3dc2cae7fda From a94212461beb1dd391f050547fbddbbea53868fd Mon Sep 17 00:00:00 2001 From: CharlVS <77973576+CharlVS@users.noreply.github.com> Date: Thu, 9 Oct 2025 20:03:23 +0200 Subject: [PATCH 06/15] chore: update SDK submodule --- .gitmodules | 2 +- sdk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index 04cf4fce59..ad07a1ea79 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,7 +1,7 @@ [submodule "sdk"] path = sdk url = https://github.com/KomodoPlatform/komodo-defi-sdk-flutter.git - branch = add/macos-universal-support + branch = dev update = checkout fetchRecurseSubmodules = on-demand ignore = dirty diff --git a/sdk b/sdk index bd2dfb9f22..5e6a106300 160000 --- a/sdk +++ b/sdk @@ -1 +1 @@ -Subproject commit bd2dfb9f2251fa664f70924c11dda3dc2cae7fda +Subproject commit 5e6a10630040862ba0f3d1a46c922fb642a07992 From 022fe8b8bc4fa9500727c412543b9dcbd81af1c9 Mon Sep 17 00:00:00 2001 From: CharlVS <77973576+CharlVS@users.noreply.github.com> Date: Thu, 9 Oct 2025 20:03:43 +0200 Subject: [PATCH 07/15] chore: regenerate native podfiles --- ios/Podfile.lock | 6 ++++++ macos/Podfile.lock | 8 +++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 9ffcf9b8f9..9cbad57888 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -1,4 +1,6 @@ PODS: + - device_info_plus (0.0.1): + - Flutter - DKImagePickerController/Core (4.3.9): - DKImagePickerController/ImageDataManager - DKImagePickerController/Resource @@ -178,6 +180,7 @@ PODS: - FlutterMacOS DEPENDENCIES: + - device_info_plus (from `.symlinks/plugins/device_info_plus/ios`) - file_picker (from `.symlinks/plugins/file_picker/ios`) - firebase_analytics (from `.symlinks/plugins/firebase_analytics/ios`) - firebase_core (from `.symlinks/plugins/firebase_core/ios`) @@ -214,6 +217,8 @@ SPEC REPOS: - SwiftyGif EXTERNAL SOURCES: + device_info_plus: + :path: ".symlinks/plugins/device_info_plus/ios" file_picker: :path: ".symlinks/plugins/file_picker/ios" firebase_analytics: @@ -248,6 +253,7 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/video_player_avfoundation/darwin" SPEC CHECKSUMS: + device_info_plus: 21fcca2080fbcd348be798aa36c3e5ed849eefbe DKImagePickerController: 946cec48c7873164274ecc4624d19e3da4c1ef3c DKPhotoGallery: b3834fecb755ee09a593d7c9e389d8b5d6deed60 file_picker: a0560bc09d61de87f12d246fc47d2119e6ef37be diff --git a/macos/Podfile.lock b/macos/Podfile.lock index 0345a714f6..e9a569dbe8 100644 --- a/macos/Podfile.lock +++ b/macos/Podfile.lock @@ -1,4 +1,6 @@ PODS: + - device_info_plus (0.0.1): + - FlutterMacOS - file_picker (0.0.1): - FlutterMacOS - Firebase/Analytics (11.15.0): @@ -136,6 +138,7 @@ PODS: - FlutterMacOS DEPENDENCIES: + - device_info_plus (from `Flutter/ephemeral/.symlinks/plugins/device_info_plus/macos`) - file_picker (from `Flutter/ephemeral/.symlinks/plugins/file_picker/macos`) - firebase_analytics (from `Flutter/ephemeral/.symlinks/plugins/firebase_analytics/macos`) - firebase_core (from `Flutter/ephemeral/.symlinks/plugins/firebase_core/macos`) @@ -168,6 +171,8 @@ SPEC REPOS: - PromisesObjC EXTERNAL SOURCES: + device_info_plus: + :path: Flutter/ephemeral/.symlinks/plugins/device_info_plus/macos file_picker: :path: Flutter/ephemeral/.symlinks/plugins/file_picker/macos firebase_analytics: @@ -204,6 +209,7 @@ EXTERNAL SOURCES: :path: Flutter/ephemeral/.symlinks/plugins/window_size/macos SPEC CHECKSUMS: + device_info_plus: 4fb280989f669696856f8b129e4a5e3cd6c48f76 file_picker: 7584aae6fa07a041af2b36a2655122d42f578c1a Firebase: d99ac19b909cd2c548339c2241ecd0d1599ab02e firebase_analytics: 3091f96bd17636f6da5092a4701ffacf67c6e455 @@ -218,7 +224,7 @@ SPEC CHECKSUMS: FlutterMacOS: d0db08ddef1a9af05a5ec4b724367152bb0500b1 GoogleAppMeasurement: 700dce7541804bec33db590a5c496b663fbe2539 GoogleUtilities: 00c88b9a86066ef77f0da2fab05f65d7768ed8e1 - komodo_defi_framework: 725599127b357521f4567b16192bf07d7ad1d4b0 + komodo_defi_framework: 1eb76cee957ff7598498a87bb0d1c470da0f0980 local_auth_darwin: d2e8c53ef0c4f43c646462e3415432c4dab3ae19 mobile_scanner: 9157936403f5a0644ca3779a38ff8404c5434a93 nanopb: fad817b59e0457d11a5dfbde799381cd727c1275 From 6ec9461746916f13b5772c4f2618c4bf55273894 Mon Sep 17 00:00:00 2001 From: CharlVS <77973576+CharlVS@users.noreply.github.com> Date: Fri, 10 Oct 2025 13:51:09 +0200 Subject: [PATCH 08/15] chore(sdk): bump submodule to latest dev commit --- sdk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk b/sdk index 5e6a106300..448eecc0dc 160000 --- a/sdk +++ b/sdk @@ -1 +1 @@ -Subproject commit 5e6a10630040862ba0f3d1a46c922fb642a07992 +Subproject commit 448eecc0dcd88473edb227dd0e47bf2cc6001a09 From 69df0816b4c7411832aedc66f9c61971ea18ff2c Mon Sep 17 00:00:00 2001 From: CharlVS <77973576+CharlVS@users.noreply.github.com> Date: Tue, 14 Oct 2025 14:06:29 +0200 Subject: [PATCH 09/15] chore(pods): update iOS/macOS lockfiles, macOS Podfile, Xcode project --- ios/Podfile.lock | 2 +- macos/Podfile | 8 ++++++++ macos/Podfile.lock | 2 +- macos/Runner.xcodeproj/project.pbxproj | 4 ++++ 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 9cbad57888..fb6e5852ab 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -286,6 +286,6 @@ SPEC CHECKSUMS: url_launcher_ios: 694010445543906933d732453a59da0a173ae33d video_player_avfoundation: 2cef49524dd1f16c5300b9cd6efd9611ce03639b -PODFILE CHECKSUM: f2a1ebd07796ee082cb4d8e8fa742449f698c4f1 +PODFILE CHECKSUM: 59b529d1a68d075d396a4247263413419e35c335 COCOAPODS: 1.16.2 diff --git a/macos/Podfile b/macos/Podfile index fb9b4184a4..130371c63a 100644 --- a/macos/Podfile +++ b/macos/Podfile @@ -1,5 +1,8 @@ require 'xcodeproj' +# Use the CocoaPods CDN source for faster and more reliable dependency resolution +source 'https://cdn.cocoapods.org/' + def deployment_target project_path = 'Runner.xcodeproj' project = Xcodeproj::Project.open(project_path) @@ -52,4 +55,9 @@ post_install do |installer| config.build_settings['MACOSX_DEPLOYMENT_TARGET'] = deployment_target end end + + # Ensure pods project builds for standard architectures + installer.pods_project.build_configurations.each do |config| + config.build_settings['ARCHS'] = '$(ARCHS_STANDARD)' + end end diff --git a/macos/Podfile.lock b/macos/Podfile.lock index e9a569dbe8..9b54ce0c88 100644 --- a/macos/Podfile.lock +++ b/macos/Podfile.lock @@ -238,6 +238,6 @@ SPEC CHECKSUMS: video_player_avfoundation: 2cef49524dd1f16c5300b9cd6efd9611ce03639b window_size: 4bd15034e6e3d0720fd77928a7c42e5492cfece9 -PODFILE CHECKSUM: d064900e78ded0efef7fcc0db57cbf4bc2487624 +PODFILE CHECKSUM: e956d7d2637294ec1826a83f192da39c811af440 COCOAPODS: 1.16.2 diff --git a/macos/Runner.xcodeproj/project.pbxproj b/macos/Runner.xcodeproj/project.pbxproj index 5685582ce2..2b2882e5a2 100644 --- a/macos/Runner.xcodeproj/project.pbxproj +++ b/macos/Runner.xcodeproj/project.pbxproj @@ -487,6 +487,7 @@ isa = XCBuildConfiguration; baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD)"; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; @@ -510,6 +511,7 @@ "$(PROJECT_DIR)", ); MACOSX_DEPLOYMENT_TARGET = 13.5; + ONLY_ACTIVE_ARCH = NO; PRODUCT_BUNDLE_IDENTIFIER = com.komodo.komodowallet; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_VERSION = 5.0; @@ -662,6 +664,7 @@ isa = XCBuildConfiguration; baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD)"; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; @@ -685,6 +688,7 @@ "$(PROJECT_DIR)", ); MACOSX_DEPLOYMENT_TARGET = 13.5; + ONLY_ACTIVE_ARCH = NO; PRODUCT_BUNDLE_IDENTIFIER = com.komodo.komodowallet; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_VERSION = 5.0; From 839b5feaf1c4575304620ac6360d3123c276c87c Mon Sep 17 00:00:00 2001 From: CharlVS <77973576+CharlVS@users.noreply.github.com> Date: Tue, 14 Oct 2025 14:14:16 +0200 Subject: [PATCH 10/15] chore(macos,pods): clarify universal architectures comment; add x86_64 guidance Use $(ARCHS_STANDARD) to build universal (arm64 + x86_64). Note: Failed builds only showed a warning for flutter_secure_storage; CI may fail-fast on the first problematic pod and not evaluate all pods. cc @smk762 --- macos/Podfile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/macos/Podfile b/macos/Podfile index 130371c63a..77a890401b 100644 --- a/macos/Podfile +++ b/macos/Podfile @@ -56,7 +56,9 @@ post_install do |installer| end end - # Ensure pods project builds for standard architectures + # Use $(ARCHS_STANDARD) (arm64 + x86_64) to produce a universal macOS build. + # TODO: If we encounter arch/linker errors from pods missing x86_64 slices (often vendored/prebuilt), + # exclude x86_64 for affected configs or switch Release to arm64-only. installer.pods_project.build_configurations.each do |config| config.build_settings['ARCHS'] = '$(ARCHS_STANDARD)' end From bf2aa9ef3c4fc6aaca1add1edd561ff768232576 Mon Sep 17 00:00:00 2001 From: CharlVS <77973576+CharlVS@users.noreply.github.com> Date: Tue, 14 Oct 2025 14:29:56 +0200 Subject: [PATCH 11/15] chore(macos,pods): set ONLY_ACTIVE_ARCH=YES for Debug pods; universal for others Align pods Debug with local-arch-only preference; keep Profile/Release universal via ONLY_ACTIVE_ARCH=NO. Refs: review note on inconsistent Debug arch settings; this ensures faster local builds while preserving universal builds for non-Debug. --- macos/Podfile | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/macos/Podfile b/macos/Podfile index 77a890401b..1d49fae6a9 100644 --- a/macos/Podfile +++ b/macos/Podfile @@ -57,9 +57,15 @@ post_install do |installer| end # Use $(ARCHS_STANDARD) (arm64 + x86_64) to produce a universal macOS build. + # Debug builds: build only the active architecture to speed up local development. # TODO: If we encounter arch/linker errors from pods missing x86_64 slices (often vendored/prebuilt), # exclude x86_64 for affected configs or switch Release to arm64-only. installer.pods_project.build_configurations.each do |config| config.build_settings['ARCHS'] = '$(ARCHS_STANDARD)' + if config.name == 'Debug' + config.build_settings['ONLY_ACTIVE_ARCH'] = 'YES' + else + config.build_settings['ONLY_ACTIVE_ARCH'] = 'NO' + end end end From fbff8ddb0d8c5347bcf767dd38d8660c37a022ab Mon Sep 17 00:00:00 2001 From: CharlVS <77973576+CharlVS@users.noreply.github.com> Date: Wed, 15 Oct 2025 15:54:27 +0200 Subject: [PATCH 12/15] chore(sdk): bump submodule to include macOS KDF codesign step --- sdk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk b/sdk index 448eecc0dc..d13f6d9d15 160000 --- a/sdk +++ b/sdk @@ -1 +1 @@ -Subproject commit 448eecc0dcd88473edb227dd0e47bf2cc6001a09 +Subproject commit d13f6d9d15900a2e475b161f9b4c35ac16823866 From bcf6d7bb074523113e8f6bbfd9127e35e04cb277 Mon Sep 17 00:00:00 2001 From: CharlVS <77973576+CharlVS@users.noreply.github.com> Date: Wed, 15 Oct 2025 16:14:49 +0200 Subject: [PATCH 13/15] chore(macos): enforce timestamped hardened codesigning for pods; bump sdk --- macos/Podfile | 6 ++++++ sdk | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/macos/Podfile b/macos/Podfile index 1d49fae6a9..9b6b5d868f 100644 --- a/macos/Podfile +++ b/macos/Podfile @@ -53,6 +53,12 @@ post_install do |installer| flutter_additional_macos_build_settings(target) target.build_configurations.each do |config| config.build_settings['MACOSX_DEPLOYMENT_TARGET'] = deployment_target + # Ensure timestamped, hardened runtime code signing for all pods and Runner + existing = config.build_settings['OTHER_CODE_SIGN_FLAGS'] + flags = existing ? Array(existing) : [] + flags << '--timestamp=auto' + flags << '--options=runtime' + config.build_settings['OTHER_CODE_SIGN_FLAGS'] = flags.uniq end end diff --git a/sdk b/sdk index d13f6d9d15..0d6ba9ab24 160000 --- a/sdk +++ b/sdk @@ -1 +1 @@ -Subproject commit d13f6d9d15900a2e475b161f9b4c35ac16823866 +Subproject commit 0d6ba9ab24299c9ae5a63ee44d7572787c8a88f2 From cf147cb2554e6a27f110e2bd2cff1b277a00576c Mon Sep 17 00:00:00 2001 From: CharlVS <77973576+CharlVS@users.noreply.github.com> Date: Wed, 15 Oct 2025 18:32:44 +0200 Subject: [PATCH 14/15] chore(analytics,macos): update Firebase analytics integration and macOS configs - Adjust analytics APIs (Firebase & Matomo) - Update macOS GoogleService-Info.plist and Xcode project settings - Sync sdk submodule/dir changes --- lib/bloc/analytics/analytics_api.dart | 3 +++ lib/bloc/analytics/analytics_repo.dart | 17 ++++++++----- .../analytics/firebase_analytics_api.dart | 25 ++++++++++++++++--- lib/bloc/analytics/matomo_analytics_api.dart | 6 +++++ macos/Runner.xcodeproj/project.pbxproj | 12 ++++----- macos/Runner/GoogleService-Info.plist | 23 +++++++++-------- sdk | 2 +- 7 files changed, 62 insertions(+), 26 deletions(-) diff --git a/lib/bloc/analytics/analytics_api.dart b/lib/bloc/analytics/analytics_api.dart index 0d61b4d51a..5a68584dcf 100644 --- a/lib/bloc/analytics/analytics_api.dart +++ b/lib/bloc/analytics/analytics_api.dart @@ -4,6 +4,9 @@ import 'analytics_repo.dart'; /// Abstract interface for analytics providers abstract class AnalyticsApi { + /// Whether this analytics provider can be used on the current platform/config + bool isAvailable(); + /// Initialize the analytics provider Future initialize(AnalyticsSettings settings); diff --git a/lib/bloc/analytics/analytics_repo.dart b/lib/bloc/analytics/analytics_repo.dart index 04f3be58ae..0fe13a0d4d 100644 --- a/lib/bloc/analytics/analytics_repo.dart +++ b/lib/bloc/analytics/analytics_repo.dart @@ -119,15 +119,20 @@ class AnalyticsRepository implements AnalyticsRepo { ); } - // Add Firebase Analytics provider + // Add Firebase Analytics provider if available final firebaseProvider = FirebaseAnalyticsApi(); - _providers.add(firebaseProvider); + if (firebaseProvider.isAvailable()) { + _providers.add(firebaseProvider); + } else if (kDebugMode) { + log( + 'Firebase provider not registered: unavailable (missing/placeholder options or unsupported platform)', + path: 'analytics -> AnalyticsRepository -> _initializeProviders', + ); + } // Add Matomo Analytics provider when configuration is present - final bool hasMatomoConfig = - matomoUrl.isNotEmpty && matomoSiteId.isNotEmpty; - if (hasMatomoConfig) { - final matomoProvider = MatomoAnalyticsApi(); + final matomoProvider = MatomoAnalyticsApi(); + if (matomoProvider.isAvailable()) { _providers.add(matomoProvider); } else if (kDebugMode) { log( diff --git a/lib/bloc/analytics/firebase_analytics_api.dart b/lib/bloc/analytics/firebase_analytics_api.dart index 347663ec45..139aba48c9 100644 --- a/lib/bloc/analytics/firebase_analytics_api.dart +++ b/lib/bloc/analytics/firebase_analytics_api.dart @@ -41,6 +41,25 @@ class FirebaseAnalyticsApi implements AnalyticsApi { return _initializeWithRetry(settings); } + @override + bool isAvailable() { + try { + // Only proceed if Firebase options exist and are not placeholders + final FirebaseOptions options = DefaultFirebaseOptions.currentPlatform; + final serialized = options.toString(); + if (serialized.contains('THIS_IS_AUTOGENERATED')) { + return false; + } + // Additionally, ensure we are not on unsupported desktop Linux + if (!kIsWeb && defaultTargetPlatform == TargetPlatform.linux) { + return false; + } + return true; + } catch (_) { + return false; + } + } + /// Initialize with retry mechanism Future _initializeWithRetry(AnalyticsSettings settings) async { try { @@ -60,11 +79,11 @@ class FirebaseAnalyticsApi implements AnalyticsApi { // Load any previously saved events await _loadPersistedQueue(); - // Skip unsupported platforms (Linux not supported by Firebase Analytics) - if (!kIsWeb && defaultTargetPlatform == TargetPlatform.linux) { + // Skip when unavailable (invalid options, unsupported platform) + if (!isAvailable()) { if (kDebugMode) { log( - 'Firebase Analytics not supported on Linux; marking as initialized=false and enabled=false', + 'Firebase Analytics unavailable (missing/placeholder options or unsupported platform). Disabling.', path: 'analytics -> FirebaseAnalyticsApi -> _initialize', ); } diff --git a/lib/bloc/analytics/matomo_analytics_api.dart b/lib/bloc/analytics/matomo_analytics_api.dart index 7dedc35360..02abd4167a 100644 --- a/lib/bloc/analytics/matomo_analytics_api.dart +++ b/lib/bloc/analytics/matomo_analytics_api.dart @@ -208,6 +208,12 @@ class MatomoAnalyticsApi implements AnalyticsApi { @override bool get isEnabled => _isEnabled; + @override + bool isAvailable() { + // Available only when MATOMO_URL and MATOMO_SITE_ID are configured + return matomoUrl.isNotEmpty && matomoSiteId.isNotEmpty; + } + @override Future initialize(AnalyticsSettings settings) async { return _initializeWithRetry(settings); diff --git a/macos/Runner.xcodeproj/project.pbxproj b/macos/Runner.xcodeproj/project.pbxproj index 009fb94241..9638a7f959 100644 --- a/macos/Runner.xcodeproj/project.pbxproj +++ b/macos/Runner.xcodeproj/project.pbxproj @@ -495,7 +495,7 @@ "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = 8HPBYKKKQP; + DEVELOPMENT_TEAM = WDS9WYN969; EXCLUDED_ARCHS = ""; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -512,7 +512,7 @@ ); MACOSX_DEPLOYMENT_TARGET = 13.5; ONLY_ACTIVE_ARCH = NO; - PRODUCT_BUNDLE_IDENTIFIER = com.komodo.komodowallet; + PRODUCT_BUNDLE_IDENTIFIER = com321.komodo.komodowallet; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_VERSION = 5.0; }; @@ -636,7 +636,7 @@ "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = 8HPBYKKKQP; + DEVELOPMENT_TEAM = WDS9WYN969; EXCLUDED_ARCHS = ""; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -652,7 +652,7 @@ "$(PROJECT_DIR)", ); MACOSX_DEPLOYMENT_TARGET = 13.5; - PRODUCT_BUNDLE_IDENTIFIER = com.komodo.komodowallet; + PRODUCT_BUNDLE_IDENTIFIER = com321.komodo.komodowallet; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OBJC_BRIDGING_HEADER = ""; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; @@ -672,7 +672,7 @@ "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = 8HPBYKKKQP; + DEVELOPMENT_TEAM = WDS9WYN969; EXCLUDED_ARCHS = ""; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -689,7 +689,7 @@ ); MACOSX_DEPLOYMENT_TARGET = 13.5; ONLY_ACTIVE_ARCH = NO; - PRODUCT_BUNDLE_IDENTIFIER = com.komodo.komodowallet; + PRODUCT_BUNDLE_IDENTIFIER = com321.komodo.komodowallet; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_VERSION = 5.0; }; diff --git a/macos/Runner/GoogleService-Info.plist b/macos/Runner/GoogleService-Info.plist index bef7488865..4cd60b4363 100644 --- a/macos/Runner/GoogleService-Info.plist +++ b/macos/Runner/GoogleService-Info.plist @@ -1,19 +1,24 @@ + + + + GOOGLE_APP_ID + 1:000000000000:ios:0000000000000000 + GCM_SENDER_ID + 000000000000 + PROJECT_ID + dummy-project + BUNDLE_ID + com.example.dummy API_KEY - THIS_IS_AUTOGENERATED - GCM_SENDER_ID - THIS_IS_AUTOGENERATED + A_DUMMY_API_KEY_00000000000000000000000 PLIST_VERSION 1 - BUNDLE_ID - THIS_IS_AUTOGENERATED - PROJECT_ID - THIS_IS_AUTOGENERATED STORAGE_BUCKET - THIS_IS_AUTOGENERATED + dummy-project.firebasestorage.app IS_ADS_ENABLED IS_ANALYTICS_ENABLED @@ -24,7 +29,5 @@ IS_SIGNIN_ENABLED - GOOGLE_APP_ID - THIS_IS_AUTOGENERATED \ No newline at end of file diff --git a/sdk b/sdk index 0d6ba9ab24..ffa7663a1b 160000 --- a/sdk +++ b/sdk @@ -1 +1 @@ -Subproject commit 0d6ba9ab24299c9ae5a63ee44d7572787c8a88f2 +Subproject commit ffa7663a1b08554f579e525313bbba547a98f6bf From ab5437a0442590d96a5e904c68748faa63e3f865 Mon Sep 17 00:00:00 2001 From: CharlVS <77973576+CharlVS@users.noreply.github.com> Date: Wed, 15 Oct 2025 18:56:25 +0200 Subject: [PATCH 15/15] chore: revert macos team changes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Revert changes which weren’t supposed to be committed --- macos/Runner.xcodeproj/project.pbxproj | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/macos/Runner.xcodeproj/project.pbxproj b/macos/Runner.xcodeproj/project.pbxproj index 9638a7f959..c45132ec07 100644 --- a/macos/Runner.xcodeproj/project.pbxproj +++ b/macos/Runner.xcodeproj/project.pbxproj @@ -487,7 +487,6 @@ isa = XCBuildConfiguration; baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD)"; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; @@ -495,7 +494,7 @@ "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = WDS9WYN969; + DEVELOPMENT_TEAM = 8HPBYKKKQP; EXCLUDED_ARCHS = ""; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -511,8 +510,7 @@ "$(PROJECT_DIR)", ); MACOSX_DEPLOYMENT_TARGET = 13.5; - ONLY_ACTIVE_ARCH = NO; - PRODUCT_BUNDLE_IDENTIFIER = com321.komodo.komodowallet; + PRODUCT_BUNDLE_IDENTIFIER = com.komodo.komodowallet; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_VERSION = 5.0; }; @@ -636,7 +634,7 @@ "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = WDS9WYN969; + DEVELOPMENT_TEAM = 8HPBYKKKQP; EXCLUDED_ARCHS = ""; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -652,7 +650,7 @@ "$(PROJECT_DIR)", ); MACOSX_DEPLOYMENT_TARGET = 13.5; - PRODUCT_BUNDLE_IDENTIFIER = com321.komodo.komodowallet; + PRODUCT_BUNDLE_IDENTIFIER = com.komodo.komodowallet; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OBJC_BRIDGING_HEADER = ""; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; @@ -664,7 +662,6 @@ isa = XCBuildConfiguration; baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD)"; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; @@ -672,7 +669,7 @@ "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = WDS9WYN969; + DEVELOPMENT_TEAM = 8HPBYKKKQP; EXCLUDED_ARCHS = ""; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -688,8 +685,7 @@ "$(PROJECT_DIR)", ); MACOSX_DEPLOYMENT_TARGET = 13.5; - ONLY_ACTIVE_ARCH = NO; - PRODUCT_BUNDLE_IDENTIFIER = com321.komodo.komodowallet; + PRODUCT_BUNDLE_IDENTIFIER = com.komodo.komodowallet; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_VERSION = 5.0; };