From ac251454e208fc9c2a8a5fb3c742edfb9751d850 Mon Sep 17 00:00:00 2001 From: Raj Date: Mon, 4 Nov 2024 12:32:29 +0530 Subject: [PATCH 1/5] _ --- pubspec.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index 7960c30..42a40d8 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1047,18 +1047,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" + sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" url: "https://pub.dev" source: hosted - version: "10.0.5" + version: "10.0.4" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" + sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" url: "https://pub.dev" source: hosted - version: "3.0.5" + version: "3.0.3" leak_tracker_testing: dependency: transitive description: @@ -1103,10 +1103,10 @@ packages: dependency: transitive description: name: material_color_utilities - sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec + sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" url: "https://pub.dev" source: hosted - version: "0.11.1" + version: "0.8.0" menu_base: dependency: transitive description: @@ -1119,10 +1119,10 @@ packages: dependency: transitive description: name: meta - sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" url: "https://pub.dev" source: hosted - version: "1.15.0" + version: "1.12.0" mime: dependency: "direct main" description: @@ -1766,10 +1766,10 @@ packages: dependency: transitive description: name: test_api - sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" + sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" url: "https://pub.dev" source: hosted - version: "0.7.2" + version: "0.7.0" time: dependency: transitive description: @@ -1958,10 +1958,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" + sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" url: "https://pub.dev" source: hosted - version: "14.2.5" + version: "14.2.1" watcher: dependency: transitive description: From 72ae93a6b67ed1271ae6c23cd733219273fbc8f7 Mon Sep 17 00:00:00 2001 From: Raj Date: Sat, 16 Nov 2024 01:30:56 +0530 Subject: [PATCH 2/5] fix: logout issue in android and ios devices --- git-scripts/switch-branch.sh | 30 ++++++++++++++++++++++++++++++ lib/widgets/logout_button.dart | 3 ++- packages/copycat_base | 2 +- packages/copycat_pro | 2 +- pubspec.lock | 24 ++++++++++++------------ pubspec.yaml | 2 +- 6 files changed, 47 insertions(+), 16 deletions(-) create mode 100644 git-scripts/switch-branch.sh diff --git a/git-scripts/switch-branch.sh b/git-scripts/switch-branch.sh new file mode 100644 index 0000000..3272ef9 --- /dev/null +++ b/git-scripts/switch-branch.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +if [ -z "$1" ]; then + echo "Usage: $0 " + exit 1 +fi + +BRANCH=$1 + +# Switch the main repository to the specified branch +echo "Switching main repository to branch: $BRANCH" +git checkout "$BRANCH" +if [ $? -ne 0 ]; then + echo "Failed to switch main repository to branch: $BRANCH" + exit 1 +fi + +# Update submodules to ensure they are initialized +echo "Initializing and updating submodules..." +git submodule update --init --recursive + +# Switch all submodules to the specified branch +echo "Switching all submodules to branch: $BRANCH" +git submodule foreach --recursive "git checkout $BRANCH || echo 'Branch $BRANCH does not exist in submodule'" + +# Update submodules to match the branch and main repo's references +echo "Updating submodules to remote tracking branch: $BRANCH" +git submodule update --remote --recursive + +echo "Switched main repository and all submodules to branch: $BRANCH" diff --git a/lib/widgets/logout_button.dart b/lib/widgets/logout_button.dart index 8b658d1..9d74e59 100644 --- a/lib/widgets/logout_button.dart +++ b/lib/widgets/logout_button.dart @@ -46,7 +46,8 @@ class LogoutButton extends StatelessWidget { context.read().logout(), context.read().reset(), context.read().reset(), - context.read().setWindowdView(), + if (isDesktopPlatform) + context.read().setWindowdView(), context.read().reset(), clearPersistedRootDir(), db.writeTxn(() => db.clear()), diff --git a/packages/copycat_base b/packages/copycat_base index fa4215d..cc640ee 160000 --- a/packages/copycat_base +++ b/packages/copycat_base @@ -1 +1 @@ -Subproject commit fa4215d54bccc7241106e63449d0d387ef812e73 +Subproject commit cc640ee86df91f2533f8ffeae0f6c97779b73828 diff --git a/packages/copycat_pro b/packages/copycat_pro index 1e70264..d00cd4e 160000 --- a/packages/copycat_pro +++ b/packages/copycat_pro @@ -1 +1 @@ -Subproject commit 1e702649c30ce82255becc95c07c82a9a35a70d2 +Subproject commit d00cd4edcaadac08890058a6cc68286f17a5f796 diff --git a/pubspec.lock b/pubspec.lock index 42a40d8..7960c30 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1047,18 +1047,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" + sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" url: "https://pub.dev" source: hosted - version: "10.0.4" + version: "10.0.5" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" + sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "3.0.5" leak_tracker_testing: dependency: transitive description: @@ -1103,10 +1103,10 @@ packages: dependency: transitive description: name: material_color_utilities - sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" + sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec url: "https://pub.dev" source: hosted - version: "0.8.0" + version: "0.11.1" menu_base: dependency: transitive description: @@ -1119,10 +1119,10 @@ packages: dependency: transitive description: name: meta - sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" + sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 url: "https://pub.dev" source: hosted - version: "1.12.0" + version: "1.15.0" mime: dependency: "direct main" description: @@ -1766,10 +1766,10 @@ packages: dependency: transitive description: name: test_api - sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" + sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" url: "https://pub.dev" source: hosted - version: "0.7.0" + version: "0.7.2" time: dependency: transitive description: @@ -1958,10 +1958,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" + sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" url: "https://pub.dev" source: hosted - version: "14.2.1" + version: "14.2.5" watcher: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index c285342..2468352 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: clipboard description: "CopyCat Clipboard: One Clipboard, Limitless Productivity" publish_to: 'none' -version: 0.1.27+58 +version: 0.1.28+59 environment: sdk: '>=3.3.3 <4.0.0' From e8d0abab0fc4e58c1561b52d16672f815ef02910 Mon Sep 17 00:00:00 2001 From: Raj Date: Sat, 16 Nov 2024 22:21:35 +0530 Subject: [PATCH 3/5] fixes: fix some of the known bugs --- lib/main.dart | 53 ++++++++++++++-------- lib/pages/settings/widgets/info_card.dart | 1 + lib/widgets/dialogs/e2ee_dialog.dart | 37 ++++++++------- lib/widgets/dialogs/subscription_info.dart | 35 +++++++------- macos/Runner/AppDelegate.swift | 2 +- packages/copycat_base | 2 +- 6 files changed, 75 insertions(+), 55 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index ce8bbaa..20ffb8c 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -21,6 +21,7 @@ import 'package:copycat_base/bloc/offline_persistance_cubit/offline_persistance_ import 'package:copycat_base/bloc/sync_manager_cubit/sync_manager_cubit.dart'; import 'package:copycat_base/bloc/window_action_cubit/window_action_cubit.dart'; import 'package:copycat_base/common/bloc_config.dart'; +import 'package:copycat_base/common/logging.dart'; import 'package:copycat_base/constants/key.dart'; import 'package:copycat_base/constants/widget_styles.dart'; import 'package:copycat_base/l10n/generated/app_localizations.dart'; @@ -46,10 +47,15 @@ import 'package:window_manager/window_manager.dart'; import 'firebase_options.dart'; Future main() async { - WidgetsFlutterBinding.ensureInitialized(); - await initializeServices(); + runZonedGuarded(() async { + WidgetsFlutterBinding.ensureInitialized(); + await initializeServices(); - runApp(const MainApp()); + runApp(const MainApp()); + }, (error, stack) async { + FirebaseCrashlytics.instance.recordError(error, stack, fatal: true); + debugPrint('Uncaught Error: $error'); + }); } Future initializeServices() async { @@ -96,27 +102,36 @@ Future initializeDesktopServices() async { titleBarStyle: TitleBarStyle.hidden, ); windowManager.waitUntilReadyToShow(windowOptions).then((_) async { - // if (Platform.isMacOS) { - // await windowManager.setVisibleOnAllWorkspaces( - // true, - // visibleOnFullScreen: true, - // ); - // } - windowManager.hide(); + await windowManager.hide(); }); } Future initializeFirebase() async { - if (isAnalyticsSupported) { - await Firebase.initializeApp( - options: DefaultFirebaseOptions.currentPlatform, - ); + try { + if (isAnalyticsSupported) { + await Firebase.initializeApp( + options: DefaultFirebaseOptions.currentPlatform, + ); - FlutterError.onError = FirebaseCrashlytics.instance.recordFlutterFatalError; - PlatformDispatcher.instance.onError = (error, stack) { - FirebaseCrashlytics.instance.recordError(error, stack, fatal: true); - return true; - }; + FlutterError.onError = (errorDetail) { + try { + FirebaseCrashlytics.instance.recordFlutterFatalError(errorDetail); + } catch (e) { + logger.e(e); + } + }; + PlatformDispatcher.instance.onError = (error, stack) { + try { + FirebaseCrashlytics.instance + .recordError(error, stack, printDetails: true, fatal: false); + } catch (e) { + logger.e(e); + } + return true; + }; + } + } catch (e) { + logger.e(e); } } diff --git a/lib/pages/settings/widgets/info_card.dart b/lib/pages/settings/widgets/info_card.dart index 9bf0280..6a793b5 100644 --- a/lib/pages/settings/widgets/info_card.dart +++ b/lib/pages/settings/widgets/info_card.dart @@ -22,6 +22,7 @@ class InfoCard extends StatelessWidget { child: Padding( padding: const EdgeInsets.all(padding12), child: Column( + mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( diff --git a/lib/widgets/dialogs/e2ee_dialog.dart b/lib/widgets/dialogs/e2ee_dialog.dart index 6f7b482..b6e9051 100644 --- a/lib/widgets/dialogs/e2ee_dialog.dart +++ b/lib/widgets/dialogs/e2ee_dialog.dart @@ -116,22 +116,27 @@ class _E2EESettingDialogState extends State { } Future generateEnc2Key() async { - final enc2 = EncryptionSecret.generate(); - final keyId = const Uuid().v4(); - final encryptor = EncryptionManager(enc2); - - final enc1Decrypt = EncryptionSecret.generate(); - final enc1 = encryptor.encrypt(enc1Decrypt.serialized); - - setState(() => loading = true); - - await context.read().setupEncryption(keyId, enc1); - - setState(() { - loading = false; - }); - - appConfigCubit.setE2EEKey(enc2.serialized); + try { + setState(() => loading = true); + final enc2 = EncryptionSecret.generate(); + final keyId = const Uuid().v4(); + final encryptor = EncryptionManager(enc2); + final authCubit = context.read(); + + final enc1Decrypt = EncryptionSecret.generate(); + final enc1 = encryptor.encrypt(enc1Decrypt.serialized); + + final failure = await appConfigCubit.setE2EEKey(enc2.serialized); + if (failure != null) { + showFailureSnackbar(failure); + return; + } + await authCubit.setupEncryption(keyId, enc1); + } finally { + setState(() { + loading = false; + }); + } } @override diff --git a/lib/widgets/dialogs/subscription_info.dart b/lib/widgets/dialogs/subscription_info.dart index 8ab3471..7e97af1 100644 --- a/lib/widgets/dialogs/subscription_info.dart +++ b/lib/widgets/dialogs/subscription_info.dart @@ -12,7 +12,6 @@ import 'package:copycat_pro/widgets/subscription/paywall/paywall.dart'; import 'package:copycat_pro/widgets/subscription/subscription_provider.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:universal_io/io.dart'; class FeatureTabs extends StatelessWidget { const FeatureTabs({super.key}); @@ -257,23 +256,23 @@ class SubscriptionInfoDialog extends StatelessWidget { child: Column( mainAxisSize: MainAxisSize.min, children: [ - if (Platform.isAndroid || - Platform.isWindows || - Platform.isLinux) ...[ - ListTile( - title: Text( - context.locale.beta, - style: const TextStyle( - color: Colors.deepOrange, - fontWeight: FontWeight.bold, - ), - ), - subtitle: Text( - context.locale.featureListDetail, - ), - ), - const Divider(), - ], + // if (Platform.isAndroid || + // Platform.isWindows || + // Platform.isLinux) ...[ + // ListTile( + // title: Text( + // context.locale.beta, + // style: const TextStyle( + // color: Colors.deepOrange, + // fontWeight: FontWeight.bold, + // ), + // ), + // subtitle: Text( + // context.locale.featureListDetail, + // ), + // ), + // const Divider(), + // ], ListTile( title: Text( expired diff --git a/macos/Runner/AppDelegate.swift b/macos/Runner/AppDelegate.swift index a3b67a0..bebd594 100644 --- a/macos/Runner/AppDelegate.swift +++ b/macos/Runner/AppDelegate.swift @@ -2,7 +2,7 @@ import Cocoa import FlutterMacOS import app_links -@NSApplicationMain +@main class AppDelegate: FlutterAppDelegate { override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { diff --git a/packages/copycat_base b/packages/copycat_base index cc640ee..e3fe498 160000 --- a/packages/copycat_base +++ b/packages/copycat_base @@ -1 +1 @@ -Subproject commit cc640ee86df91f2533f8ffeae0f6c97779b73828 +Subproject commit e3fe49859d424a304e1f3a79b98365ba1c07b26c From 1c783f1e28923cca22a322f06ab074146b08600d Mon Sep 17 00:00:00 2001 From: Raj Date: Sat, 16 Nov 2024 22:48:14 +0530 Subject: [PATCH 4/5] chore: added timer to force users to read the instructions while setting up e2ee vault. --- lib/widgets/dialogs/e2ee_dialog.dart | 24 +++++++++++++++++++ .../dialogs/e2ee_dialogs/generate_e2ee.dart | 8 +++++-- 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/lib/widgets/dialogs/e2ee_dialog.dart b/lib/widgets/dialogs/e2ee_dialog.dart index b6e9051..4e6553f 100644 --- a/lib/widgets/dialogs/e2ee_dialog.dart +++ b/lib/widgets/dialogs/e2ee_dialog.dart @@ -1,3 +1,4 @@ +import 'dart:async'; import 'dart:convert' show jsonEncode, jsonDecode, utf8; import 'package:clipboard/widgets/dialogs/e2ee_dialogs/export_e2ee.dart'; @@ -39,6 +40,8 @@ class _E2EESettingDialogState extends State { bool invalidImportedKey = false; String? secret; bool rebuilding = false; + Timer? canContinueTimer; + int allowedIn = 0; late AppConfigCubit appConfigCubit; @@ -46,6 +49,26 @@ class _E2EESettingDialogState extends State { void initState() { super.initState(); appConfigCubit = context.read(); + allowedIn = 9; + startTimer(); + } + + void updateCanContinueTimer(Timer? timer) { + setState(() { + allowedIn -= 1; + }); + if (allowedIn <= 0) { + timer?.cancel(); + canContinueTimer = null; + } + } + + void startTimer() { + setState(() { + allowedIn = 5; + }); + canContinueTimer = + Timer.periodic(const Duration(seconds: 1), updateCanContinueTimer); } Future importEnc2Key(String keyId) async { @@ -185,6 +208,7 @@ class _E2EESettingDialogState extends State { return GenerateE2eeDialog( loading: loading, generateEnc2Key: generateEnc2Key, + allowedIn: allowedIn, ); } diff --git a/lib/widgets/dialogs/e2ee_dialogs/generate_e2ee.dart b/lib/widgets/dialogs/e2ee_dialogs/generate_e2ee.dart index 2ce9481..ec1311b 100644 --- a/lib/widgets/dialogs/e2ee_dialogs/generate_e2ee.dart +++ b/lib/widgets/dialogs/e2ee_dialogs/generate_e2ee.dart @@ -6,11 +6,13 @@ import 'package:flutter/material.dart'; class GenerateE2eeDialog extends StatelessWidget { final bool loading; final VoidCallback generateEnc2Key; + final int allowedIn; const GenerateE2eeDialog({ super.key, required this.loading, required this.generateEnc2Key, + this.allowedIn = 0, }); @override @@ -62,11 +64,13 @@ class GenerateE2eeDialog extends StatelessWidget { ), height10, ElevatedButton.icon( - onPressed: loading ? null : generateEnc2Key, + onPressed: loading || allowedIn > 0 ? null : generateEnc2Key, icon: const Icon(Icons.key), label: loading ? Text(context.locale.generating) - : Text(context.locale.generateKey), + : allowedIn > 0 + ? Text("${context.locale.generateKey} ($allowedIn s )") + : Text(context.locale.generateKey), ), ], ), From 5d6168d2d5019305b5a296c8a8133860f06eb024 Mon Sep 17 00:00:00 2001 From: Raj Date: Sun, 17 Nov 2024 01:27:47 +0530 Subject: [PATCH 5/5] _ --- android/app/google-services.json | 2 +- ios/Runner.xcodeproj/project.pbxproj | 38 +++++++++++++------------- ios/Runner/AppDelegate.swift | 2 +- ios/Runner/GoogleService-Info.plist | 2 +- lib/firebase_options.dart | 10 +++---- macos/Runner.xcodeproj/project.pbxproj | 38 +++++++++++++------------- macos/Runner/GoogleService-Info.plist | 2 +- pubspec.yaml | 2 +- 8 files changed, 48 insertions(+), 48 deletions(-) diff --git a/android/app/google-services.json b/android/app/google-services.json index 5f81af6..3d09acc 100644 --- a/android/app/google-services.json +++ b/android/app/google-services.json @@ -2,7 +2,7 @@ "project_info": { "project_number": "892296995692", "project_id": "clipboard-419514", - "storage_bucket": "clipboard-419514.appspot.com" + "storage_bucket": "clipboard-419514.firebasestorage.app" }, "client": [ { diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 94dd562..b451542 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -291,7 +291,7 @@ 3B06AD1E1E4923F5004D2608 /* Thin Binary */, D32916227F280D31E202A571 /* [CP] Embed Pods Frameworks */, D2C8199ACC7208E63509A4F9 /* [CP] Copy Pods Resources */, - ADB4322C3E21A9B959E553DB /* FlutterFire: "flutterfire upload-crashlytics-symbols" */, + 1F1257162C8A34FED2858627 /* FlutterFire: "flutterfire upload-crashlytics-symbols" */, ); buildRules = ( ); @@ -378,6 +378,24 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ + 1F1257162C8A34FED2858627 /* FlutterFire: "flutterfire upload-crashlytics-symbols" */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "FlutterFire: \"flutterfire upload-crashlytics-symbols\""; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\n#!/bin/bash\nPATH=${PATH}:$FLUTTER_ROOT/bin:$HOME/.pub-cache/bin\nflutterfire upload-crashlytics-symbols --upload-symbols-script-path=$PODS_ROOT/FirebaseCrashlytics/upload-symbols --platform=ios --apple-project-path=${SRCROOT} --env-platform-name=${PLATFORM_NAME} --env-configuration=${CONFIGURATION} --env-project-dir=${PROJECT_DIR} --env-built-products-dir=${BUILT_PRODUCTS_DIR} --env-dwarf-dsym-folder-path=${DWARF_DSYM_FOLDER_PATH} --env-dwarf-dsym-file-name=${DWARF_DSYM_FILE_NAME} --env-infoplist-path=${INFOPLIST_PATH} --default-config=default\n"; + }; 2579210AC2D0D9A6ECBC51F0 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -453,24 +471,6 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - ADB4322C3E21A9B959E553DB /* FlutterFire: "flutterfire upload-crashlytics-symbols" */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - ); - name = "FlutterFire: \"flutterfire upload-crashlytics-symbols\""; - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\n#!/bin/bash\nPATH=${PATH}:$FLUTTER_ROOT/bin:$HOME/.pub-cache/bin\nflutterfire upload-crashlytics-symbols --upload-symbols-script-path=$PODS_ROOT/FirebaseCrashlytics/upload-symbols --platform=ios --apple-project-path=${SRCROOT} --env-platform-name=${PLATFORM_NAME} --env-configuration=${CONFIGURATION} --env-project-dir=${PROJECT_DIR} --env-built-products-dir=${BUILT_PRODUCTS_DIR} --env-dwarf-dsym-folder-path=${DWARF_DSYM_FOLDER_PATH} --env-dwarf-dsym-file-name=${DWARF_DSYM_FILE_NAME} --env-infoplist-path=${INFOPLIST_PATH} --default-config=default\n"; - }; D23738D31A79A78D4DE2D496 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; diff --git a/ios/Runner/AppDelegate.swift b/ios/Runner/AppDelegate.swift index 7cb01af..ff8902e 100644 --- a/ios/Runner/AppDelegate.swift +++ b/ios/Runner/AppDelegate.swift @@ -2,7 +2,7 @@ import UIKit import Flutter import share_handler_ios -@UIApplicationMain +@main @objc class AppDelegate: FlutterAppDelegate { override func application( _ application: UIApplication, diff --git a/ios/Runner/GoogleService-Info.plist b/ios/Runner/GoogleService-Info.plist index 6f1dddf..ef69b33 100644 --- a/ios/Runner/GoogleService-Info.plist +++ b/ios/Runner/GoogleService-Info.plist @@ -13,7 +13,7 @@ PROJECT_ID clipboard-419514 STORAGE_BUCKET - clipboard-419514.appspot.com + clipboard-419514.firebasestorage.app IS_ADS_ENABLED IS_ANALYTICS_ENABLED diff --git a/lib/firebase_options.dart b/lib/firebase_options.dart index 6e02ee6..b88dba7 100644 --- a/lib/firebase_options.dart +++ b/lib/firebase_options.dart @@ -41,7 +41,7 @@ class DefaultFirebaseOptions { messagingSenderId: '892296995692', projectId: 'clipboard-419514', authDomain: 'clipboard-419514.firebaseapp.com', - storageBucket: 'clipboard-419514.appspot.com', + storageBucket: 'clipboard-419514.firebasestorage.app', measurementId: 'G-8LF9RP87DF', ); @@ -50,7 +50,7 @@ class DefaultFirebaseOptions { appId: '1:892296995692:android:64012302abe55897490949', messagingSenderId: '892296995692', projectId: 'clipboard-419514', - storageBucket: 'clipboard-419514.appspot.com', + storageBucket: 'clipboard-419514.firebasestorage.app', ); static const FirebaseOptions ios = FirebaseOptions( @@ -58,7 +58,7 @@ class DefaultFirebaseOptions { appId: '1:892296995692:ios:4bf415b9b852d3af490949', messagingSenderId: '892296995692', projectId: 'clipboard-419514', - storageBucket: 'clipboard-419514.appspot.com', + storageBucket: 'clipboard-419514.firebasestorage.app', iosBundleId: 'com.entilitystudio.CopyCat', ); @@ -67,7 +67,7 @@ class DefaultFirebaseOptions { appId: '1:892296995692:ios:4bf415b9b852d3af490949', messagingSenderId: '892296995692', projectId: 'clipboard-419514', - storageBucket: 'clipboard-419514.appspot.com', + storageBucket: 'clipboard-419514.firebasestorage.app', iosBundleId: 'com.entilitystudio.CopyCat', ); @@ -77,7 +77,7 @@ class DefaultFirebaseOptions { messagingSenderId: '892296995692', projectId: 'clipboard-419514', authDomain: 'clipboard-419514.firebaseapp.com', - storageBucket: 'clipboard-419514.appspot.com', + storageBucket: 'clipboard-419514.firebasestorage.app', measurementId: 'G-TBGBJVH2GS', ); diff --git a/macos/Runner.xcodeproj/project.pbxproj b/macos/Runner.xcodeproj/project.pbxproj index bc87681..3168e30 100644 --- a/macos/Runner.xcodeproj/project.pbxproj +++ b/macos/Runner.xcodeproj/project.pbxproj @@ -252,7 +252,7 @@ 3399D490228B24CF009A79C7 /* ShellScript */, FE7A12D035FCF0D94E4A451B /* [CP] Embed Pods Frameworks */, F70633DA411C1AE393126063 /* [CP] Copy Pods Resources */, - F50A640AAF6AF9098EDB08DE /* FlutterFire: "flutterfire upload-crashlytics-symbols" */, + 03C152B3C2D38322FC6CA57D /* FlutterFire: "flutterfire upload-crashlytics-symbols" */, ); buildRules = ( ); @@ -342,6 +342,24 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ + 03C152B3C2D38322FC6CA57D /* FlutterFire: "flutterfire upload-crashlytics-symbols" */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "FlutterFire: \"flutterfire upload-crashlytics-symbols\""; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\n#!/bin/bash\nPATH=${PATH}:$FLUTTER_ROOT/bin:$HOME/.pub-cache/bin\nflutterfire upload-crashlytics-symbols --upload-symbols-script-path=$PODS_ROOT/FirebaseCrashlytics/upload-symbols --platform=macos --apple-project-path=${SRCROOT} --env-platform-name=${PLATFORM_NAME} --env-configuration=${CONFIGURATION} --env-project-dir=${PROJECT_DIR} --env-built-products-dir=${BUILT_PRODUCTS_DIR} --env-dwarf-dsym-folder-path=${DWARF_DSYM_FOLDER_PATH} --env-dwarf-dsym-file-name=${DWARF_DSYM_FILE_NAME} --env-infoplist-path=${INFOPLIST_PATH} --default-config=default\n"; + }; 105F12E17CFE7E4EED631479 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -461,24 +479,6 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - F50A640AAF6AF9098EDB08DE /* FlutterFire: "flutterfire upload-crashlytics-symbols" */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 8; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - ); - name = "FlutterFire: \"flutterfire upload-crashlytics-symbols\""; - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "\n#!/bin/bash\nPATH=${PATH}:$FLUTTER_ROOT/bin:$HOME/.pub-cache/bin\nflutterfire upload-crashlytics-symbols --upload-symbols-script-path=$PODS_ROOT/FirebaseCrashlytics/upload-symbols --platform=macos --apple-project-path=${SRCROOT} --env-platform-name=${PLATFORM_NAME} --env-configuration=${CONFIGURATION} --env-project-dir=${PROJECT_DIR} --env-built-products-dir=${BUILT_PRODUCTS_DIR} --env-dwarf-dsym-folder-path=${DWARF_DSYM_FOLDER_PATH} --env-dwarf-dsym-file-name=${DWARF_DSYM_FILE_NAME} --env-infoplist-path=${INFOPLIST_PATH} --default-config=default\n"; - }; F70633DA411C1AE393126063 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; diff --git a/macos/Runner/GoogleService-Info.plist b/macos/Runner/GoogleService-Info.plist index 6f1dddf..ef69b33 100644 --- a/macos/Runner/GoogleService-Info.plist +++ b/macos/Runner/GoogleService-Info.plist @@ -13,7 +13,7 @@ PROJECT_ID clipboard-419514 STORAGE_BUCKET - clipboard-419514.appspot.com + clipboard-419514.firebasestorage.app IS_ADS_ENABLED IS_ANALYTICS_ENABLED diff --git a/pubspec.yaml b/pubspec.yaml index 2468352..61b1c26 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: clipboard description: "CopyCat Clipboard: One Clipboard, Limitless Productivity" publish_to: 'none' -version: 0.1.28+59 +version: 0.1.28+60 environment: sdk: '>=3.3.3 <4.0.0'