diff --git a/.github/workflows/flutter-ci.yml b/.github/workflows/flutter-ci.yml index f0c409e8f..0c40ec5d8 100644 --- a/.github/workflows/flutter-ci.yml +++ b/.github/workflows/flutter-ci.yml @@ -71,13 +71,13 @@ jobs: disable-animations: false script: echo "Generated AVD snapshot for caching." - - name: Setup Flutter 3.22.x + - name: Setup Flutter 3.24.x uses: subosito/flutter-action@44ac965b96f18d999802d4b807e3256d5a3f9fa1 # v2 with: - flutter-version: "3.22.x" + flutter-version: "3.24.x" channel: "stable" cache: true - cache-key: flutter-3.22.x + cache-key: flutter-3.24.x cache-path: ${{ runner.tool_cache }}/flutter - name: Create .env file diff --git a/.github/workflows/flutter-deploy.yml b/.github/workflows/flutter-deploy.yml index 538a84bdc..457f5b653 100644 --- a/.github/workflows/flutter-deploy.yml +++ b/.github/workflows/flutter-deploy.yml @@ -66,13 +66,13 @@ jobs: disable-animations: false script: echo "Generated AVD snapshot for caching." - - name: Setup Flutter 3.22.x + - name: Setup Flutter 3.24.x uses: subosito/flutter-action@44ac965b96f18d999802d4b807e3256d5a3f9fa1 # v2 with: - flutter-version: "3.22.x" + flutter-version: "3.24.x" channel: "stable" cache: true - cache-key: flutter-3.22.x + cache-key: flutter-3.24.x cache-path: ${{ runner.tool_cache }}/flutter - name: Create .env file diff --git a/.github/workflows/mobile-curriculum-e2e.yml b/.github/workflows/mobile-curriculum-e2e.yml index c047605bd..9a6d22b21 100644 --- a/.github/workflows/mobile-curriculum-e2e.yml +++ b/.github/workflows/mobile-curriculum-e2e.yml @@ -43,13 +43,13 @@ jobs: node-version: ${{ matrix.node-version }} cache: pnpm - - name: Setup Flutter 3.22.x + - name: Setup Flutter 3.24.x uses: subosito/flutter-action@44ac965b96f18d999802d4b807e3256d5a3f9fa1 # v2 with: - flutter-version: "3.22.x" + flutter-version: "3.24.x" channel: "stable" cache: true - cache-key: flutter-3.22.x + cache-key: flutter-3.24.x cache-path: ${{ runner.tool_cache }}/flutter - name: Set freeCodeCamp Environment Variables diff --git a/codemagic.yaml b/codemagic.yaml index 203743e07..41f9b3b07 100644 --- a/codemagic.yaml +++ b/codemagic.yaml @@ -15,7 +15,7 @@ workflows: cancel_previous_builds: true environment: - flutter: 3.22.2 + flutter: 3.24.4 xcode: latest cocoapods: default groups: @@ -86,7 +86,7 @@ workflows: cancel_previous_builds: true environment: - flutter: 3.22.2 + flutter: 3.24.4 xcode: latest cocoapods: default ios_signing: diff --git a/mobile-app/android/app/build.gradle b/mobile-app/android/app/build.gradle index 47976859d..eeaf54aa0 100644 --- a/mobile-app/android/app/build.gradle +++ b/mobile-app/android/app/build.gradle @@ -4,8 +4,8 @@ plugins { id 'com.google.gms.google-services' id 'com.google.firebase.crashlytics' // END: FlutterFire Configuration - id "dev.flutter.flutter-gradle-plugin" id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" } def localProperties = new Properties() diff --git a/mobile-app/android/settings.gradle b/mobile-app/android/settings.gradle index c20fdec01..7509567ca 100644 --- a/mobile-app/android/settings.gradle +++ b/mobile-app/android/settings.gradle @@ -19,11 +19,11 @@ pluginManagement { plugins { id "dev.flutter.flutter-plugin-loader" version "1.0.0" id "com.android.application" version "7.3.1" apply false + id "org.jetbrains.kotlin.android" version "1.9.10" apply false // START: FlutterFire Configuration id "com.google.gms.google-services" version "4.3.15" apply false id "com.google.firebase.crashlytics" version "2.8.1" apply false // END: FlutterFire Configuration - id "org.jetbrains.kotlin.android" version "1.9.10" apply false } include ":app" diff --git a/mobile-app/ios/Podfile b/mobile-app/ios/Podfile index 2e938751d..f757e8c03 100644 --- a/mobile-app/ios/Podfile +++ b/mobile-app/ios/Podfile @@ -1,5 +1,5 @@ # Uncomment this line to define a global platform for your project -platform :ios, '12.0' +platform :ios, '13.0' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' diff --git a/mobile-app/ios/Podfile.lock b/mobile-app/ios/Podfile.lock index 2d4c9ec2e..4edc2c9f5 100644 --- a/mobile-app/ios/Podfile.lock +++ b/mobile-app/ios/Podfile.lock @@ -16,158 +16,157 @@ PODS: - ReachabilitySwift - device_info_plus (0.0.1): - Flutter - - Firebase/Analytics (10.24.0): + - Firebase/Analytics (11.4.0): - Firebase/Core - - Firebase/Core (10.24.0): + - Firebase/Core (11.4.0): - Firebase/CoreOnly - - FirebaseAnalytics (~> 10.24.0) - - Firebase/CoreOnly (10.24.0): - - FirebaseCore (= 10.24.0) - - Firebase/Crashlytics (10.24.0): + - FirebaseAnalytics (~> 11.4.0) + - Firebase/CoreOnly (11.4.0): + - FirebaseCore (= 11.4.0) + - Firebase/Crashlytics (11.4.0): - Firebase/CoreOnly - - FirebaseCrashlytics (~> 10.24.0) - - Firebase/RemoteConfig (10.24.0): + - FirebaseCrashlytics (~> 11.4.0) + - Firebase/RemoteConfig (11.4.0): - Firebase/CoreOnly - - FirebaseRemoteConfig (~> 10.24.0) - - firebase_analytics (10.10.4): - - Firebase/Analytics (= 10.24.0) + - FirebaseRemoteConfig (~> 11.4.0) + - firebase_analytics (11.3.4): + - Firebase/Analytics (= 11.4.0) - firebase_core - Flutter - - firebase_core (2.30.1): - - Firebase/CoreOnly (= 10.24.0) + - firebase_core (3.7.0): + - Firebase/CoreOnly (= 11.4.0) - Flutter - - firebase_crashlytics (3.5.4): - - Firebase/Crashlytics (= 10.24.0) + - firebase_crashlytics (4.1.4): + - Firebase/Crashlytics (= 11.4.0) - firebase_core - Flutter - - firebase_remote_config (4.4.4): - - Firebase/RemoteConfig (= 10.24.0) + - firebase_remote_config (5.1.4): + - Firebase/RemoteConfig (= 11.4.0) - firebase_core - Flutter - - FirebaseABTesting (10.25.0): - - FirebaseCore (~> 10.0) - - FirebaseAnalytics (10.24.0): - - FirebaseAnalytics/AdIdSupport (= 10.24.0) - - FirebaseCore (~> 10.0) - - FirebaseInstallations (~> 10.0) - - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - - GoogleUtilities/MethodSwizzler (~> 7.11) - - GoogleUtilities/Network (~> 7.11) - - "GoogleUtilities/NSData+zlib (~> 7.11)" - - nanopb (< 2.30911.0, >= 2.30908.0) - - FirebaseAnalytics/AdIdSupport (10.24.0): - - FirebaseCore (~> 10.0) - - FirebaseInstallations (~> 10.0) - - GoogleAppMeasurement (= 10.24.0) - - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - - GoogleUtilities/MethodSwizzler (~> 7.11) - - GoogleUtilities/Network (~> 7.11) - - "GoogleUtilities/NSData+zlib (~> 7.11)" - - nanopb (< 2.30911.0, >= 2.30908.0) - - FirebaseCore (10.24.0): - - FirebaseCoreInternal (~> 10.0) - - GoogleUtilities/Environment (~> 7.12) - - GoogleUtilities/Logger (~> 7.12) - - FirebaseCoreExtension (10.24.0): - - FirebaseCore (~> 10.0) - - FirebaseCoreInternal (10.24.0): - - "GoogleUtilities/NSData+zlib (~> 7.8)" - - FirebaseCrashlytics (10.24.0): - - FirebaseCore (~> 10.5) - - FirebaseInstallations (~> 10.0) - - FirebaseRemoteConfigInterop (~> 10.23) - - FirebaseSessions (~> 10.5) - - GoogleDataTransport (~> 9.2) - - GoogleUtilities/Environment (~> 7.8) - - nanopb (< 2.30911.0, >= 2.30908.0) - - PromisesObjC (~> 2.1) - - FirebaseInstallations (10.24.0): - - FirebaseCore (~> 10.0) - - GoogleUtilities/Environment (~> 7.8) - - GoogleUtilities/UserDefaults (~> 7.8) - - PromisesObjC (~> 2.1) - - FirebaseRemoteConfig (10.24.0): - - FirebaseABTesting (~> 10.0) - - FirebaseCore (~> 10.0) - - FirebaseInstallations (~> 10.0) - - FirebaseRemoteConfigInterop (~> 10.23) - - FirebaseSharedSwift (~> 10.0) - - GoogleUtilities/Environment (~> 7.8) - - "GoogleUtilities/NSData+zlib (~> 7.8)" - - FirebaseRemoteConfigInterop (10.24.0) - - FirebaseSessions (10.24.0): - - FirebaseCore (~> 10.5) - - FirebaseCoreExtension (~> 10.0) - - FirebaseInstallations (~> 10.0) - - GoogleDataTransport (~> 9.2) - - GoogleUtilities/Environment (~> 7.10) - - nanopb (< 2.30911.0, >= 2.30908.0) + - FirebaseABTesting (11.4.0): + - FirebaseCore (~> 11.0) + - FirebaseAnalytics (11.4.0): + - FirebaseAnalytics/AdIdSupport (= 11.4.0) + - FirebaseCore (~> 11.0) + - FirebaseInstallations (~> 11.0) + - GoogleUtilities/AppDelegateSwizzler (~> 8.0) + - GoogleUtilities/MethodSwizzler (~> 8.0) + - GoogleUtilities/Network (~> 8.0) + - "GoogleUtilities/NSData+zlib (~> 8.0)" + - nanopb (~> 3.30910.0) + - FirebaseAnalytics/AdIdSupport (11.4.0): + - FirebaseCore (~> 11.0) + - FirebaseInstallations (~> 11.0) + - GoogleAppMeasurement (= 11.4.0) + - GoogleUtilities/AppDelegateSwizzler (~> 8.0) + - GoogleUtilities/MethodSwizzler (~> 8.0) + - GoogleUtilities/Network (~> 8.0) + - "GoogleUtilities/NSData+zlib (~> 8.0)" + - nanopb (~> 3.30910.0) + - FirebaseCore (11.4.0): + - FirebaseCoreInternal (~> 11.0) + - GoogleUtilities/Environment (~> 8.0) + - GoogleUtilities/Logger (~> 8.0) + - FirebaseCoreExtension (11.4.1): + - FirebaseCore (~> 11.0) + - FirebaseCoreInternal (11.5.0): + - "GoogleUtilities/NSData+zlib (~> 8.0)" + - FirebaseCrashlytics (11.4.0): + - FirebaseCore (~> 11.4) + - FirebaseInstallations (~> 11.0) + - FirebaseRemoteConfigInterop (~> 11.0) + - FirebaseSessions (~> 11.0) + - GoogleDataTransport (~> 10.0) + - GoogleUtilities/Environment (~> 8.0) + - nanopb (~> 3.30910.0) + - PromisesObjC (~> 2.4) + - FirebaseInstallations (11.4.0): + - FirebaseCore (~> 11.0) + - GoogleUtilities/Environment (~> 8.0) + - GoogleUtilities/UserDefaults (~> 8.0) + - PromisesObjC (~> 2.4) + - FirebaseRemoteConfig (11.4.0): + - FirebaseABTesting (~> 11.0) + - FirebaseCore (~> 11.0) + - FirebaseInstallations (~> 11.0) + - FirebaseRemoteConfigInterop (~> 11.0) + - FirebaseSharedSwift (~> 11.0) + - GoogleUtilities/Environment (~> 8.0) + - "GoogleUtilities/NSData+zlib (~> 8.0)" + - FirebaseRemoteConfigInterop (11.5.0) + - FirebaseSessions (11.4.0): + - FirebaseCore (~> 11.4) + - FirebaseCoreExtension (~> 11.4) + - FirebaseInstallations (~> 11.0) + - GoogleDataTransport (~> 10.0) + - GoogleUtilities/Environment (~> 8.0) + - GoogleUtilities/UserDefaults (~> 8.0) + - nanopb (~> 3.30910.0) - PromisesSwift (~> 2.1) - - FirebaseSharedSwift (10.25.0) + - FirebaseSharedSwift (11.5.0) - Flutter (1.0.0) - - flutter_custom_tabs (0.0.1): + - flutter_custom_tabs_ios (2.0.0): - Flutter - - flutter_inappwebview (0.0.1): + - flutter_inappwebview_ios (0.0.1): - Flutter - - flutter_inappwebview/Core (= 0.0.1) - - OrderedSet (~> 5.0) - - flutter_inappwebview/Core (0.0.1): + - flutter_inappwebview_ios/Core (= 0.0.1) + - OrderedSet (~> 6.0.3) + - flutter_inappwebview_ios/Core (0.0.1): - Flutter - - OrderedSet (~> 5.0) + - OrderedSet (~> 6.0.3) - flutter_local_notifications (0.0.1): - Flutter - flutter_secure_storage (6.0.0): - Flutter - - GoogleAppMeasurement (10.24.0): - - GoogleAppMeasurement/AdIdSupport (= 10.24.0) - - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - - GoogleUtilities/MethodSwizzler (~> 7.11) - - GoogleUtilities/Network (~> 7.11) - - "GoogleUtilities/NSData+zlib (~> 7.11)" - - nanopb (< 2.30911.0, >= 2.30908.0) - - GoogleAppMeasurement/AdIdSupport (10.24.0): - - GoogleAppMeasurement/WithoutAdIdSupport (= 10.24.0) - - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - - GoogleUtilities/MethodSwizzler (~> 7.11) - - GoogleUtilities/Network (~> 7.11) - - "GoogleUtilities/NSData+zlib (~> 7.11)" - - nanopb (< 2.30911.0, >= 2.30908.0) - - GoogleAppMeasurement/WithoutAdIdSupport (10.24.0): - - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - - GoogleUtilities/MethodSwizzler (~> 7.11) - - GoogleUtilities/Network (~> 7.11) - - "GoogleUtilities/NSData+zlib (~> 7.11)" - - nanopb (< 2.30911.0, >= 2.30908.0) - - GoogleDataTransport (9.4.1): - - GoogleUtilities/Environment (~> 7.7) - - nanopb (< 2.30911.0, >= 2.30908.0) - - PromisesObjC (< 3.0, >= 1.2) - - GoogleUtilities/AppDelegateSwizzler (7.13.0): + - GoogleAppMeasurement (11.4.0): + - GoogleAppMeasurement/AdIdSupport (= 11.4.0) + - GoogleUtilities/AppDelegateSwizzler (~> 8.0) + - GoogleUtilities/MethodSwizzler (~> 8.0) + - GoogleUtilities/Network (~> 8.0) + - "GoogleUtilities/NSData+zlib (~> 8.0)" + - nanopb (~> 3.30910.0) + - GoogleAppMeasurement/AdIdSupport (11.4.0): + - GoogleAppMeasurement/WithoutAdIdSupport (= 11.4.0) + - GoogleUtilities/AppDelegateSwizzler (~> 8.0) + - GoogleUtilities/MethodSwizzler (~> 8.0) + - GoogleUtilities/Network (~> 8.0) + - "GoogleUtilities/NSData+zlib (~> 8.0)" + - nanopb (~> 3.30910.0) + - GoogleAppMeasurement/WithoutAdIdSupport (11.4.0): + - GoogleUtilities/AppDelegateSwizzler (~> 8.0) + - GoogleUtilities/MethodSwizzler (~> 8.0) + - GoogleUtilities/Network (~> 8.0) + - "GoogleUtilities/NSData+zlib (~> 8.0)" + - nanopb (~> 3.30910.0) + - GoogleDataTransport (10.1.0): + - nanopb (~> 3.30910.0) + - PromisesObjC (~> 2.4) + - GoogleUtilities/AppDelegateSwizzler (8.0.2): - GoogleUtilities/Environment - GoogleUtilities/Logger - GoogleUtilities/Network - GoogleUtilities/Privacy - - GoogleUtilities/Environment (7.13.0): + - GoogleUtilities/Environment (8.0.2): - GoogleUtilities/Privacy - - PromisesObjC (< 3.0, >= 1.2) - - GoogleUtilities/Logger (7.13.0): + - GoogleUtilities/Logger (8.0.2): - GoogleUtilities/Environment - GoogleUtilities/Privacy - - GoogleUtilities/MethodSwizzler (7.13.0): + - GoogleUtilities/MethodSwizzler (8.0.2): - GoogleUtilities/Logger - GoogleUtilities/Privacy - - GoogleUtilities/Network (7.13.0): + - GoogleUtilities/Network (8.0.2): - GoogleUtilities/Logger - "GoogleUtilities/NSData+zlib" - GoogleUtilities/Privacy - GoogleUtilities/Reachability - - "GoogleUtilities/NSData+zlib (7.13.0)": + - "GoogleUtilities/NSData+zlib (8.0.2)": - GoogleUtilities/Privacy - - GoogleUtilities/Privacy (7.13.0) - - GoogleUtilities/Reachability (7.13.0): + - GoogleUtilities/Privacy (8.0.2) + - GoogleUtilities/Reachability (8.0.2): - GoogleUtilities/Logger - GoogleUtilities/Privacy - - GoogleUtilities/UserDefaults (7.13.0): + - GoogleUtilities/UserDefaults (8.0.2): - GoogleUtilities/Logger - GoogleUtilities/Privacy - integration_test (0.0.1): @@ -175,12 +174,12 @@ PODS: - just_audio (0.0.1): - Flutter - JWTDecode (3.0.1) - - nanopb (2.30910.0): - - nanopb/decode (= 2.30910.0) - - nanopb/encode (= 2.30910.0) - - nanopb/decode (2.30910.0) - - nanopb/encode (2.30910.0) - - OrderedSet (5.0.0) + - nanopb (3.30910.0): + - nanopb/decode (= 3.30910.0) + - nanopb/encode (= 3.30910.0) + - nanopb/decode (3.30910.0) + - nanopb/encode (3.30910.0) + - OrderedSet (6.0.3) - package_info_plus (0.4.5): - Flutter - path_provider_foundation (0.0.1): @@ -191,7 +190,7 @@ PODS: - PromisesObjC (= 2.4.0) - quick_actions_ios (0.0.1): - Flutter - - ReachabilitySwift (5.2.3) + - ReachabilitySwift (5.2.4) - share_plus (0.0.1): - Flutter - shared_preferences_foundation (0.0.1): @@ -219,8 +218,8 @@ DEPENDENCIES: - firebase_crashlytics (from `.symlinks/plugins/firebase_crashlytics/ios`) - firebase_remote_config (from `.symlinks/plugins/firebase_remote_config/ios`) - Flutter (from `Flutter`) - - flutter_custom_tabs (from `.symlinks/plugins/flutter_custom_tabs/ios`) - - flutter_inappwebview (from `.symlinks/plugins/flutter_inappwebview/ios`) + - flutter_custom_tabs_ios (from `.symlinks/plugins/flutter_custom_tabs_ios/ios`) + - flutter_inappwebview_ios (from `.symlinks/plugins/flutter_inappwebview_ios/ios`) - flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`) - flutter_secure_storage (from `.symlinks/plugins/flutter_secure_storage/ios`) - integration_test (from `.symlinks/plugins/integration_test/ios`) @@ -282,10 +281,10 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/firebase_remote_config/ios" Flutter: :path: Flutter - flutter_custom_tabs: - :path: ".symlinks/plugins/flutter_custom_tabs/ios" - flutter_inappwebview: - :path: ".symlinks/plugins/flutter_inappwebview/ios" + flutter_custom_tabs_ios: + :path: ".symlinks/plugins/flutter_custom_tabs_ios/ios" + flutter_inappwebview_ios: + :path: ".symlinks/plugins/flutter_inappwebview_ios/ios" flutter_local_notifications: :path: ".symlinks/plugins/flutter_local_notifications/ios" flutter_secure_storage: @@ -320,49 +319,49 @@ SPEC CHECKSUMS: auth0_flutter: cc9689234a67336292f576a070da32ab7dffe42a connectivity_plus: bf0076dd84a130856aa636df1c71ccaff908fa1d device_info_plus: c6fb39579d0f423935b0c9ce7ee2f44b71b9fce6 - Firebase: 91fefd38712feb9186ea8996af6cbdef41473442 - firebase_analytics: 573fd0677abf22d32e2820865fc5190b6cdbfa1b - firebase_core: 7f1e1156934d0da3be260174812842df9420e4ab - firebase_crashlytics: 9815effbfaad6c94c65d4eff479c0d9284bf1a38 - firebase_remote_config: bb9853d3dbca8dc788152371fdfefe982e25a2c8 - FirebaseABTesting: e6e3c3e0e35813874f571d1b7bdae2aab319dd38 - FirebaseAnalytics: b5efc493eb0f40ec560b04a472e3e1a15d39ca13 - FirebaseCore: 11dc8a16dfb7c5e3c3f45ba0e191a33ac4f50894 - FirebaseCoreExtension: af5fd85e817ea9d19f9a2659a376cf9cf99f03c0 - FirebaseCoreInternal: bcb5acffd4ea05e12a783ecf835f2210ce3dc6af - FirebaseCrashlytics: af38ea4adfa606f6e63fcc22091b61e7938fcf66 - FirebaseInstallations: 8f581fca6478a50705d2bd2abd66d306e0f5736e - FirebaseRemoteConfig: 95dddc50496b37eef199dadce850d5652b534b43 - FirebaseRemoteConfigInterop: 6c349a466490aeace3ce9c091c86be1730711634 - FirebaseSessions: 2651b464e241c93fd44112f995d5ab663c970487 - FirebaseSharedSwift: 0274086954b1b2d5fd7e829eccc587044d72a4ba + Firebase: cf1b19f21410b029b6786a54e9764a0cacad3c99 + firebase_analytics: 69a0f3e2ca2722c0758544eafcdcfa906b0f5227 + firebase_core: f8c5b220a8f9c436fdbd075ae321cef3d96ef181 + firebase_crashlytics: 4b31ac507cf01d25151cc34cbb0fec66d21c7138 + firebase_remote_config: 1b2da0c0a4f781a970ccf84597b8092e3ec69142 + FirebaseABTesting: aef1719704fade00b200827e7973f352efc4caee + FirebaseAnalytics: 3feef9ae8733c567866342a1000691baaa7cad49 + FirebaseCore: e0510f1523bc0eb21653cac00792e1e2bd6f1771 + FirebaseCoreExtension: f1bc67a4702931a7caa097d8e4ac0a1b0d16720e + FirebaseCoreInternal: f47dd28ae7782e6a4738aad3106071a8fe0af604 + FirebaseCrashlytics: 41bbdd2b514a8523cede0c217aee6ef7ecf38401 + FirebaseInstallations: 6ef4a1c7eb2a61ee1f74727d7f6ce2e72acf1414 + FirebaseRemoteConfig: 7655681d02417bc9b287338edb9d721ff79e1a4a + FirebaseRemoteConfigInterop: 7a7aebb9342d53913a5c890efa88e289d9e5c1bc + FirebaseSessions: 3f56f177d9e53a85021d16b31f9a111849d1dd8b + FirebaseSharedSwift: 302ac5967857ad7e7388b15382d705b8c8d892aa Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 - flutter_custom_tabs: f8aa300a93d869c0d117c8709a9af39cbd011adc - flutter_inappwebview: 3d32228f1304635e7c028b0d4252937730bbc6cf + flutter_custom_tabs_ios: a651b18786388923b62de8c0537607de87c2eccf + flutter_inappwebview_ios: 6f63631e2c62a7c350263b13fa5427aedefe81d4 flutter_local_notifications: 4cde75091f6327eb8517fa068a0a5950212d2086 flutter_secure_storage: 23fc622d89d073675f2eaa109381aefbcf5a49be - GoogleAppMeasurement: f3abf08495ef2cba7829f15318c373b8d9226491 - GoogleDataTransport: 6c09b596d841063d76d4288cc2d2f42cc36e1e2a - GoogleUtilities: d053d902a8edaa9904e1bd00c37535385b8ed152 - integration_test: ce0a3ffa1de96d1a89ca0ac26fca7ea18a749ef4 + GoogleAppMeasurement: 987769c4ca6b968f2479fbcc9fe3ce34af454b8e + GoogleDataTransport: aae35b7ea0c09004c3797d53c8c41f66f219d6a7 + GoogleUtilities: 26a3abef001b6533cf678d3eb38fd3f614b7872d + integration_test: 252f60fa39af5e17c3aa9899d35d908a0721b573 just_audio: baa7252489dbcf47a4c7cc9ca663e9661c99aafa JWTDecode: 2eed97c2fa46ccaf3049a787004eedf0be474a87 - nanopb: 438bc412db1928dac798aa6fd75726007be04262 - OrderedSet: aaeb196f7fef5a9edf55d89760da9176ad40b93c - package_info_plus: 58f0028419748fad15bf008b270aaa8e54380b1c + nanopb: fad817b59e0457d11a5dfbde799381cd727c1275 + OrderedSet: e539b66b644ff081c73a262d24ad552a69be3a94 + package_info_plus: 115f4ad11e0698c8c1c5d8a689390df880f47e85 path_provider_foundation: 3784922295ac71e43754bd15e0653ccfd36a147c PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47 PromisesSwift: 9d77319bbe72ebf6d872900551f7eeba9bce2851 quick_actions_ios: d24571db7345d2e48d094db8d077a015a568002d - ReachabilitySwift: 7f151ff156cea1481a8411701195ac6a984f4979 + ReachabilitySwift: 32793e867593cfc1177f5d16491e3a197d2fccda share_plus: c3fef564749587fc939ef86ffb283ceac0baf9f5 shared_preferences_foundation: b4c3b4cddf1c21f02770737f147a3f5da9d39695 SimpleKeychain: 130211269f88f038d7dc5254cf0b1b9ce978c398 sqflite: 673a0e54cc04b7d6dba8d24fb8095b31c3a99eec ua_client_hints: 7f4e0f5d390685e8f7efd6eb363594f760108926 - url_launcher_ios: 6116280ddcfe98ab8820085d8d76ae7449447586 + url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe webview_flutter_wkwebview: be0f0d33777f1bfd0c9fdcb594786704dbf65f36 -PODFILE CHECKSUM: a74b8704f768957a23e2d804b55390ecc9fffc9d +PODFILE CHECKSUM: 0afa03e6bfd50d1bd006a73c678fae562250c7de -COCOAPODS: 1.15.2 +COCOAPODS: 1.16.2 diff --git a/mobile-app/ios/Runner/AppDelegate.swift b/mobile-app/ios/Runner/AppDelegate.swift index 44f2c4f0d..9e09de7b1 100644 --- a/mobile-app/ios/Runner/AppDelegate.swift +++ b/mobile-app/ios/Runner/AppDelegate.swift @@ -1,7 +1,7 @@ import UIKit import Flutter -@UIApplicationMain +@main @objc class AppDelegate: FlutterAppDelegate { override func application( _ application: UIApplication, diff --git a/mobile-app/lib/models/learn/challenge_model.dart b/mobile-app/lib/models/learn/challenge_model.dart index e75526fed..5a2bc8772 100644 --- a/mobile-app/lib/models/learn/challenge_model.dart +++ b/mobile-app/lib/models/learn/challenge_model.dart @@ -77,11 +77,9 @@ class Challenge { files: (data['challengeFiles'] ?? []) .map((file) => ChallengeFile.fromJson(file)) .toList(), - question: data['questions'] != null + question: (data['questions'] as List).isNotEmpty ? Question.fromJson(data['questions'][0]) - : data['question'] != null - ? Question.fromJson(data['question']) - : null, + : null, assignments: data['assignments'] != null ? (data['assignments'] as List).cast() : null, diff --git a/mobile-app/lib/ui/views/learn/challenge/challenge_view.dart b/mobile-app/lib/ui/views/learn/challenge/challenge_view.dart index 24f06d9ad..7eb3d9217 100644 --- a/mobile-app/lib/ui/views/learn/challenge/challenge_view.dart +++ b/mobile-app/lib/ui/views/learn/challenge/challenge_view.dart @@ -132,7 +132,7 @@ class ChallengeView extends StatelessWidget { return PopScope( canPop: true, - onPopInvoked: (bool didPop) { + onPopInvokedWithResult: (bool didPop, dynamic result) { model.learnService.updateProgressOnPop(context, block); }, child: Scaffold( diff --git a/mobile-app/lib/ui/views/learn/challenge/templates/odin/odin_view.dart b/mobile-app/lib/ui/views/learn/challenge/templates/odin/odin_view.dart index 3ff54fa5c..268150fa4 100644 --- a/mobile-app/lib/ui/views/learn/challenge/templates/odin/odin_view.dart +++ b/mobile-app/lib/ui/views/learn/challenge/templates/odin/odin_view.dart @@ -44,7 +44,7 @@ class OdinView extends StatelessWidget { return PopScope( canPop: true, - onPopInvoked: (bool didPop) { + onPopInvokedWithResult: (bool didPop, dynamic result) { model.learnService.updateProgressOnPop(context, block); }, child: Scaffold( diff --git a/mobile-app/lib/ui/views/learn/challenge/templates/python-project/python_project_view.dart b/mobile-app/lib/ui/views/learn/challenge/templates/python-project/python_project_view.dart index 116151e52..19bbb2002 100644 --- a/mobile-app/lib/ui/views/learn/challenge/templates/python-project/python_project_view.dart +++ b/mobile-app/lib/ui/views/learn/challenge/templates/python-project/python_project_view.dart @@ -29,7 +29,7 @@ class PythonProjectView extends StatelessWidget { builder: (context, model, child) { return PopScope( canPop: true, - onPopInvoked: (bool didPop) { + onPopInvokedWithResult: (bool didPop, dynamic result) { model.learnService.updateProgressOnPop(context, block); }, child: Scaffold( diff --git a/mobile-app/lib/ui/views/learn/challenge/templates/python/python_view.dart b/mobile-app/lib/ui/views/learn/challenge/templates/python/python_view.dart index 6761e5407..1922523d2 100644 --- a/mobile-app/lib/ui/views/learn/challenge/templates/python/python_view.dart +++ b/mobile-app/lib/ui/views/learn/challenge/templates/python/python_view.dart @@ -42,7 +42,7 @@ class PythonView extends StatelessWidget { return PopScope( canPop: true, - onPopInvoked: (bool didPop) { + onPopInvokedWithResult: (bool didPop, dynamic result) { model.learnService.updateProgressOnPop(context, block); }, child: Scaffold( diff --git a/mobile-app/lib/ui/views/settings/settings_viewmodel.dart b/mobile-app/lib/ui/views/settings/settings_viewmodel.dart index 62c4349af..990862dac 100644 --- a/mobile-app/lib/ui/views/settings/settings_viewmodel.dart +++ b/mobile-app/lib/ui/views/settings/settings_viewmodel.dart @@ -39,16 +39,21 @@ class SettingsViewModel extends BaseViewModel { } void openPrivacyPolicy() { - launch( - 'https://www.freecodecamp.org/news/privacy-policy/', - customTabsOption: const CustomTabsOption( - enableDefaultShare: true, - enableUrlBarHiding: true, - showPageTitle: true, - extraCustomTabs: [ - 'org.mozilla.firefox', - 'com.microsoft.emmx', - ], + launchUrl( + Uri.parse('https://www.freecodecamp.org/news/privacy-policy/'), + customTabsOptions: const CustomTabsOptions( + shareState: CustomTabsShareState.on, + urlBarHidingEnabled: true, + showTitle: true, + browser: CustomTabsBrowserConfiguration( + fallbackCustomTabs: [ + 'org.mozilla.firefox', + 'com.microsoft.emmx', + ], + ), + ), + safariVCOptions: const SafariViewControllerOptions( + barCollapsingEnabled: true, ), ); } diff --git a/mobile-app/lib/ui/widgets/drawer_widget/drawer_web_buttton.dart b/mobile-app/lib/ui/widgets/drawer_widget/drawer_web_buttton.dart index 9a031d6cb..92b98f4b6 100644 --- a/mobile-app/lib/ui/widgets/drawer_widget/drawer_web_buttton.dart +++ b/mobile-app/lib/ui/widgets/drawer_widget/drawer_web_buttton.dart @@ -30,16 +30,21 @@ class CustomTabButton extends StatefulWidget { screenClass: 'Web View - $location', screenName: 'Web View - $location', ); - launch( - url, - customTabsOption: const CustomTabsOption( - enableDefaultShare: true, - enableUrlBarHiding: true, - showPageTitle: true, - extraCustomTabs: [ - 'org.mozilla.firefox', - 'com.microsoft.emmx', - ], + launchUrl( + Uri.parse(url), + customTabsOptions: const CustomTabsOptions( + shareState: CustomTabsShareState.on, + urlBarHidingEnabled: true, + showTitle: true, + browser: CustomTabsBrowserConfiguration( + fallbackCustomTabs: [ + 'org.mozilla.firefox', + 'com.microsoft.emmx', + ], + ), + ), + safariVCOptions: const SafariViewControllerOptions( + barCollapsingEnabled: true, ), ); } diff --git a/mobile-app/pubspec.lock b/mobile-app/pubspec.lock index 3db3dd7aa..c32a7ed1f 100644 --- a/mobile-app/pubspec.lock +++ b/mobile-app/pubspec.lock @@ -5,18 +5,23 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: "0b2f2bd91ba804e53a61d757b986f89f1f9eaed5b11e4b2f5a2468d86d6c9fc7" + sha256: f256b0c0ba6c7577c15e2e4e114755640a875e885099367bf6e012b19314c834 url: "https://pub.dev" source: hosted - version: "67.0.0" + version: "72.0.0" _flutterfire_internals: dependency: transitive description: name: _flutterfire_internals - sha256: "3dee3db3468c5f4640a4e8aa9c1e22561c298976d8c39ed2fdd456a9a3db26e1" + sha256: "5a0296da7ae717ffb7444dee8439ca25ac80e162a345b933aa57f0a4a48dca2c" url: "https://pub.dev" source: hosted - version: "1.3.32" + version: "1.3.45" + _macros: + dependency: transitive + description: dart + source: sdk + version: "0.3.2" algolia_client_core: dependency: transitive description: @@ -69,10 +74,10 @@ packages: dependency: transitive description: name: analyzer - sha256: "37577842a27e4338429a1cbc32679d508836510b056f1eedf0c8d20e39c1383d" + sha256: b652861553cd3990d8ed361f7979dc6d7053a9ac8843fa73820ab68ce5410139 url: "https://pub.dev" source: hosted - version: "6.4.1" + version: "6.7.0" archive: dependency: transitive description: @@ -317,10 +322,10 @@ packages: dependency: transitive description: name: cross_file - sha256: "55d7b444feb71301ef6b8838dbc1ae02e63dd48c8773f3810ff53bb1e2945b32" + sha256: "7caf6a750a0c04effbb52a676dce9a4a592e10ad35c34d6d2d0e4811160d5670" url: "https://pub.dev" source: hosted - version: "0.3.4+1" + version: "0.3.4+2" crypto: dependency: transitive description: @@ -421,90 +426,90 @@ packages: dependency: "direct main" description: name: firebase_analytics - sha256: c56bcc7abc6caacc33e8495bc604a5861d25ce371f1b06476ae226e7cbb21d4c + sha256: "3215f9d347530ce604346dd3ddb71937c46fedd6e6943aea2c2d2829dc655af0" url: "https://pub.dev" source: hosted - version: "10.10.4" + version: "11.3.4" firebase_analytics_platform_interface: dependency: transitive description: name: firebase_analytics_platform_interface - sha256: e8cdb845820eaa5f1d29de31a72aab8addbbffc6483f1e5123a9d0b611735285 + sha256: "35148db6e0cc5142bb90f1664d6d0081bd7554749585404d18b5b14452776b3e" url: "https://pub.dev" source: hosted - version: "3.10.5" + version: "4.2.6" firebase_analytics_web: dependency: transitive description: name: firebase_analytics_web - sha256: e2fabebdf16bb99506a1e7e84f5effd6313c90678e6ea1876d301f057483a198 + sha256: "403a705438405499a16cdf66da03e7f39cf5faad3e44a6390699a84c34fce953" url: "https://pub.dev" source: hosted - version: "0.5.7+4" + version: "0.5.10+3" firebase_core: dependency: "direct main" description: name: firebase_core - sha256: "4aef2a23d0f3265545807d68fbc2f76a6b994ca3c778d88453b99325abd63284" + sha256: e59141ff83e70a9ba571a1f8733c5598cf57e6e68037ab185581d7fc0a436738 url: "https://pub.dev" source: hosted - version: "2.30.1" + version: "3.7.0" firebase_core_platform_interface: dependency: transitive description: name: firebase_core_platform_interface - sha256: c437ae5d17e6b5cc7981cf6fd458a5db4d12979905f9aafd1fea930428a9fe63 + sha256: e30da58198a6d4b49d5bce4e852f985c32cb10db329ebef9473db2b9f09ce810 url: "https://pub.dev" source: hosted - version: "5.0.0" + version: "5.3.0" firebase_core_web: dependency: transitive description: name: firebase_core_web - sha256: "67f2fcc600fc78c2f731c370a3a5e6c87ee862e3a2fba6f951eca6d5dafe5c29" + sha256: f967a7138f5d2ffb1ce15950e2a382924239eaa521150a8f144af34e68b3b3e5 url: "https://pub.dev" source: hosted - version: "2.16.0" + version: "2.18.1" firebase_crashlytics: dependency: "direct main" description: name: firebase_crashlytics - sha256: "1c499d1d97b93d24aee099259f89a5fbd6ce7d11d0fe98824586087f1291931b" + sha256: "859c0f9c40f44b555fc44227c3506b4236b86e6680cafb837e1eef40e661956e" url: "https://pub.dev" source: hosted - version: "3.5.4" + version: "4.1.4" firebase_crashlytics_platform_interface: dependency: transitive description: name: firebase_crashlytics_platform_interface - sha256: "3160d049c220422f8de34690c39be42af8309a030d9dd370051582272181238e" + sha256: "4ae5bc279fd0a352d684340f9250b25571386fee0f7f3a750aae11c1cbbeaa40" url: "https://pub.dev" source: hosted - version: "3.6.32" + version: "3.6.45" firebase_remote_config: dependency: "direct main" description: name: firebase_remote_config - sha256: c7e20f26e595c7bedf48c6565af70b82658f602163c0718d32211f3e4ba09da3 + sha256: "10ecace220616349263c8b6b80760f302d4bc68e6a9db2800c615ab06853de46" url: "https://pub.dev" source: hosted - version: "4.4.4" + version: "5.1.4" firebase_remote_config_platform_interface: dependency: transitive description: name: firebase_remote_config_platform_interface - sha256: "1c712f80946b32399967bf72de1f386c8c07636bb48cd627afdc5a92c844f362" + sha256: "2595a3def5dfab965b8a2cfd272a5595dec464a7a593258cfa9e4144cbe9842c" url: "https://pub.dev" source: hosted - version: "1.4.32" + version: "1.4.45" firebase_remote_config_web: dependency: transitive description: name: firebase_remote_config_web - sha256: "1ffd862e0f31e272386bfc1b778298fa503dfab9e7d2b57dcbfc96215ffcc775" + sha256: fc8ec1bfab20eec37026c4ca0272f3647eae28bc186168e4a2d2859ed7d0f863 url: "https://pub.dev" source: hosted - version: "1.6.4" + version: "1.7.3" fixnum: dependency: transitive description: @@ -530,26 +535,42 @@ packages: dependency: "direct main" description: name: flutter_custom_tabs - sha256: e90e5b7cad5648aeb0e1ed04aa3c0cada62d86f3b5d4aaef488ab7de61ec2a9f + sha256: "34167bd15fa3479855c011f868e0789c9569c12b64358ca7250accc5a24c3312" url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "2.1.0" + flutter_custom_tabs_android: + dependency: transitive + description: + name: flutter_custom_tabs_android + sha256: cf06fde8c002f326dc6cbf69ee3f97c3feead4436229da02d2e2aa39d5a5dbf4 + url: "https://pub.dev" + source: hosted + version: "2.1.0" + flutter_custom_tabs_ios: + dependency: transitive + description: + name: flutter_custom_tabs_ios + sha256: ef2de533bc45fb84fefc3854bc8b1e43001671c6bc6bc55faa57942eecd3f70a + url: "https://pub.dev" + source: hosted + version: "2.1.0" flutter_custom_tabs_platform_interface: dependency: transitive description: name: flutter_custom_tabs_platform_interface - sha256: "1d6b9eb6c5671b21511fdb47babf18aa65982784373986c003aaf67ca78798ad" + sha256: e18e9b08f92582123bdb84fb6e4c91804b0579700fed6f887d32fd9a1e96a5d5 url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "2.1.0" flutter_custom_tabs_web: dependency: transitive description: name: flutter_custom_tabs_web - sha256: dbb5689a97c2398aa5dbcfc9cd59cffea5518ec815e9d23def448dc143cb02be + sha256: "08ae322b11e1972a233d057542279873d0f9d1d5f8159c2c741457239d9d562c" url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "2.1.0" flutter_dotenv: dependency: "direct main" description: @@ -607,10 +628,66 @@ packages: dependency: "direct main" description: name: flutter_inappwebview - sha256: d198297060d116b94048301ee6749cd2e7d03c1f2689783f52d210a6b7aba350 + sha256: "80092d13d3e29b6227e25b67973c67c7210bd5e35c4b747ca908e31eb71a46d5" url: "https://pub.dev" source: hosted - version: "5.8.0" + version: "6.1.5" + flutter_inappwebview_android: + dependency: transitive + description: + name: flutter_inappwebview_android + sha256: "62557c15a5c2db5d195cb3892aab74fcaec266d7b86d59a6f0027abd672cddba" + url: "https://pub.dev" + source: hosted + version: "1.1.3" + flutter_inappwebview_internal_annotations: + dependency: transitive + description: + name: flutter_inappwebview_internal_annotations + sha256: "5f80fd30e208ddded7dbbcd0d569e7995f9f63d45ea3f548d8dd4c0b473fb4c8" + url: "https://pub.dev" + source: hosted + version: "1.1.1" + flutter_inappwebview_ios: + dependency: transitive + description: + name: flutter_inappwebview_ios + sha256: "5818cf9b26cf0cbb0f62ff50772217d41ea8d3d9cc00279c45f8aabaa1b4025d" + url: "https://pub.dev" + source: hosted + version: "1.1.2" + flutter_inappwebview_macos: + dependency: transitive + description: + name: flutter_inappwebview_macos + sha256: c1fbb86af1a3738e3541364d7d1866315ffb0468a1a77e34198c9be571287da1 + url: "https://pub.dev" + source: hosted + version: "1.1.2" + flutter_inappwebview_platform_interface: + dependency: transitive + description: + name: flutter_inappwebview_platform_interface + sha256: cf5323e194096b6ede7a1ca808c3e0a078e4b33cc3f6338977d75b4024ba2500 + url: "https://pub.dev" + source: hosted + version: "1.3.0+1" + flutter_inappwebview_web: + dependency: transitive + description: + name: flutter_inappwebview_web + sha256: "55f89c83b0a0d3b7893306b3bb545ba4770a4df018204917148ebb42dc14a598" + url: "https://pub.dev" + source: hosted + version: "1.1.2" + flutter_inappwebview_windows: + dependency: transitive + description: + name: flutter_inappwebview_windows + sha256: "8b4d3a46078a2cdc636c4a3d10d10f2a16882f6be607962dbfff8874d1642055" + url: "https://pub.dev" + source: hosted + version: "0.6.0" flutter_launcher_icons: dependency: "direct dev" description: @@ -639,26 +716,26 @@ packages: dependency: "direct main" description: name: flutter_local_notifications - sha256: "8cdc719114ab1c86c64bb7a86d3a679674c3637edd229e3a994797d4a1504ce4" + sha256: "674173fd3c9eda9d4c8528da2ce0ea69f161577495a9cc835a2a4ecd7eadeb35" url: "https://pub.dev" source: hosted - version: "17.1.0" + version: "17.2.4" flutter_local_notifications_linux: dependency: transitive description: name: flutter_local_notifications_linux - sha256: "33f741ef47b5f63cc7f78fe75eeeac7e19f171ff3c3df054d84c1e38bedb6a03" + sha256: c49bd06165cad9beeb79090b18cd1eb0296f4bf4b23b84426e37dd7c027fc3af url: "https://pub.dev" source: hosted - version: "4.0.0+1" + version: "4.0.1" flutter_local_notifications_platform_interface: dependency: transitive description: name: flutter_local_notifications_platform_interface - sha256: "340abf67df238f7f0ef58f4a26d2a83e1ab74c77ab03cd2b2d5018ac64db30b7" + sha256: "85f8d07fe708c1bdcf45037f2c0109753b26ae077e9d9e899d55971711a4ea66" url: "https://pub.dev" source: hosted - version: "7.1.0" + version: "7.2.0" flutter_localizations: dependency: "direct main" description: flutter @@ -891,10 +968,10 @@ packages: dependency: transitive description: name: http - sha256: "761a297c042deedc1ffbb156d6e2af13886bb305c2a343a4d972504cd67dd938" + sha256: b9c29a161230ee03d3ccf545097fccd9b87a5264228c5d348202e0f0c28f9010 url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "1.2.2" http_multi_server: dependency: transitive description: @@ -1000,18 +1077,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: @@ -1052,6 +1129,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.2.0" + macros: + dependency: transitive + description: + name: macros + sha256: "0acaed5d6b7eab89f63350bccd82119e6c602df0f391260d0e32b5e23db79536" + url: "https://pub.dev" + source: hosted + version: "0.1.2-main.4" matcher: dependency: transitive description: @@ -1064,18 +1149,18 @@ 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" meta: 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: transitive description: @@ -1144,18 +1229,18 @@ packages: dependency: transitive description: name: package_info_plus - sha256: "2c582551839386fa7ddbc7770658be7c0f87f388a4bff72066478f597c34d17f" + sha256: "7e76fad405b3e4016cd39d08f455a4eb5199723cf594cd1b8916d47140d93017" url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "4.2.0" package_info_plus_platform_interface: dependency: transitive description: name: package_info_plus_platform_interface - sha256: f49918f3433a3146047372f9d4f1f847511f2acd5cd030e1f44fe5a50036b70e + sha256: "9bc8ba46813a4cc42c66ab781470711781940780fd8beddd0c3da62506d3a6c6" url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "2.0.1" path: dependency: "direct main" description: @@ -1240,10 +1325,10 @@ packages: dependency: transitive description: name: platform - sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec" + sha256: "9b71283fc13df574056616011fb138fd3b793ea47cc509c189a6c3fa5f8a1a65" url: "https://pub.dev" source: hosted - version: "3.1.4" + version: "3.1.5" plugin_platform_interface: dependency: transitive description: @@ -1416,10 +1501,10 @@ packages: dependency: transitive description: name: shared_preferences_web - sha256: "9aee1089b36bd2aafe06582b7d7817fd317ef05fc30e6ba14bff247d0933042a" + sha256: d762709c2bbe80626ecc819143013cc820fa49ca5e363620ee20a8b15a3e3daf url: "https://pub.dev" source: hosted - version: "2.3.0" + version: "2.2.1" shared_preferences_windows: dependency: transitive description: @@ -1613,10 +1698,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" timezone: dependency: transitive description: @@ -1669,10 +1754,10 @@ packages: dependency: "direct main" description: name: url_launcher - sha256: "6ce1e04375be4eed30548f10a315826fd933c1e493206eab82eed01f438c8d2e" + sha256: "9d06212b1362abc2f0f0d78e6f09f726608c74e3b9462e8368bb03314aa8d603" url: "https://pub.dev" source: hosted - version: "6.2.6" + version: "6.3.1" url_launcher_android: dependency: transitive description: @@ -1685,10 +1770,10 @@ packages: dependency: transitive description: name: url_launcher_ios - sha256: "9149d493b075ed740901f3ee844a38a00b33116c7c5c10d7fb27df8987fb51d5" + sha256: e43b677296fadce447e987a2f519dcf5f6d1e527dc35d01ffab4fff5b8a7063e url: "https://pub.dev" source: hosted - version: "6.2.5" + version: "6.3.1" url_launcher_linux: dependency: transitive description: @@ -1717,10 +1802,10 @@ packages: dependency: transitive description: name: url_launcher_web - sha256: "8d9e750d8c9338601e709cd0885f95825086bd8b642547f26bda435aade95d8a" + sha256: "772638d3b34c779ede05ba3d38af34657a05ac55b06279ea6edd409e323dca8e" url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.3.3" url_launcher_windows: dependency: transitive description: @@ -1757,10 +1842,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: @@ -1773,18 +1858,18 @@ packages: dependency: transitive description: name: web - sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27" + sha256: cd3543bd5798f6ad290ea73d210f423502e71900302dde696f8bff84bf89a1cb url: "https://pub.dev" source: hosted - version: "0.5.1" + version: "1.1.0" web_socket_channel: dependency: "direct main" description: name: web_socket_channel - sha256: "58c6666b342a38816b2e7e50ed0f1e261959630becd4c879c4f26bfa14aa5a42" + sha256: d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b url: "https://pub.dev" source: hosted - version: "2.4.5" + version: "2.4.0" webdriver: dependency: transitive description: @@ -1829,10 +1914,10 @@ packages: dependency: transitive description: name: win32 - sha256: "0eaf06e3446824099858367950a813472af675116bf63f008a4c2a75ae13e9cb" + sha256: "68d1e89a91ed61ad9c370f9f8b6effed9ae5e0ede22a270bdfa6daf79fc2290a" url: "https://pub.dev" source: hosted - version: "5.5.0" + version: "5.5.4" win32_registry: dependency: transitive description: @@ -1877,10 +1962,10 @@ packages: dependency: transitive description: name: youtube_player_iframe_web - sha256: "743e8ce2ee77b8ea6e36ae986f0ef111b38c3119ae55ae813223ecddeb56b770" + sha256: "73dd7bbbe8a6519b5d58905122153e38591f753ad2df40b5328a9d8474e1587e" url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "3.1.0" sdks: - dart: ">=3.3.0 <4.0.0" - flutter: ">=3.19.0" + dart: ">=3.5.0 <4.0.0" + flutter: ">=3.24.0" diff --git a/mobile-app/pubspec.yaml b/mobile-app/pubspec.yaml index 71d8562e5..6ef723a85 100644 --- a/mobile-app/pubspec.yaml +++ b/mobile-app/pubspec.yaml @@ -13,20 +13,20 @@ dependencies: curl_logger_dio_interceptor: ^1.0.0 # NOTE: Do we still want this? device_info_plus: ^9.1.2 # TODO: upgrade after migrating to FLutter 3.19 dio: ^5.4.3+1 - firebase_analytics: ^10.10.4 - firebase_core: ^2.30.1 - firebase_crashlytics: ^3.5.4 - firebase_remote_config: ^4.4.4 + firebase_analytics: ^11.3.3 + firebase_core: ^3.7.0 + firebase_crashlytics: ^4.1.3 + firebase_remote_config: ^5.1.3 flutter: sdk: flutter - flutter_custom_tabs: ^1.2.1 + flutter_custom_tabs: ^2.0.0 flutter_dotenv: ^5.1.0 flutter_heatmap_calendar: ^1.0.4 flutter_highlight: ^0.7.0 flutter_hooks: ^0.20.5 flutter_html: 3.0.0-beta.2 flutter_html_table: ^3.0.0-beta.2 - flutter_inappwebview: ^5.8.0 # TODO: upgrade after migrating to FLutter 3.19 + flutter_inappwebview: ^6.1.0 # TODO: upgrade after migrating to FLutter 3.19 flutter_local_notifications: ^17.1.0 flutter_localizations: sdk: flutter @@ -54,7 +54,7 @@ dependencies: ua_client_hints: ^1.2.2 upgrader: ^10.2.0 url_launcher: ^6.2.6 - web_socket_channel: ^2.4.5 + web_socket_channel: ^2.4.0 youtube_player_iframe: ^5.1.2 # 2.3.0 last working with fullscreen dev_dependencies: build_runner: ^2.4.9