diff --git a/.circleci/config.yml b/.circleci/config.yml index 979f57a8c..3d0262673 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -40,7 +40,7 @@ commands: steps: - run: command: |- - curl -o dart.deb https://storage.googleapis.com/dart-archive/channels/stable/release/3.0.5/linux_packages/dart_3.0.5-1_amd64.deb + curl -o dart.deb https://storage.googleapis.com/dart-archive/channels/stable/release/3.3.1/linux_packages/dart_3.3.1-1_amd64.deb sudo dpkg -i dart.deb name: Install Dart install_dart_mac: @@ -195,9 +195,9 @@ commands: description: Restores and saves the gradle caches for backend. steps: - restore_cache: - key: v3-gradle-wrapper-{{ checksum "gradle/wrapper/gradle-wrapper.properties" }} + key: v4-gradle-wrapper-{{ checksum "gradle/wrapper/gradle-wrapper.properties" }} - restore_cache: - key: v3-gradle-cache-{{ checksum "build.gradle.kts" }} + key: v4-gradle-cache-{{ checksum "build.gradle.kts" }} restore_npm_cache: description: Restores and saves the node_modules directories of the npm workspaces. steps: @@ -1005,34 +1005,6 @@ workflows: jobs: - bump_version: prepare_delivery: false - - check - - check_administration - - check_backend - - build_administration: - requires: - - check_administration - - bump_version - - pack_administration: - requires: - - build_administration - - build_martin - - build_backend: - requires: - - check_backend - - pack_backend: - requires: - - build_backend - - bump_version - - check_health_backend: - requires: - - pack_backend - - pack_martin: - requires: - - build_martin - - bump_version - - pack_meta: - requires: - - bump_version - check_frontend - build_android: buildConfig: bayern @@ -1044,22 +1016,9 @@ workflows: requires: - bump_version - check_frontend - - build_ios: - buildConfig: bayern - context: - - tuerantuer-apple - - fastlane-match - flutterFlavor: Bayern - name: build_ios_bayern - requires: - - bump_version - - check_frontend when: and: - << pipeline.parameters.run_commit_main >> - - equal: - - main - - << pipeline.git.branch >> deliver_beta_backend_administration: jobs: - bump_version: diff --git a/.circleci/src/commands/install_dart_linux.yml b/.circleci/src/commands/install_dart_linux.yml index a4afe2b56..aa31f5294 100644 --- a/.circleci/src/commands/install_dart_linux.yml +++ b/.circleci/src/commands/install_dart_linux.yml @@ -2,5 +2,5 @@ steps: - run: name: Install Dart command: | - curl -o dart.deb https://storage.googleapis.com/dart-archive/channels/stable/release/3.0.5/linux_packages/dart_3.0.5-1_amd64.deb + curl -o dart.deb https://storage.googleapis.com/dart-archive/channels/stable/release/3.3.1/linux_packages/dart_3.3.1-1_amd64.deb sudo dpkg -i dart.deb \ No newline at end of file diff --git a/.circleci/src/commands/restore_gradle_caches.yml b/.circleci/src/commands/restore_gradle_caches.yml index d267ce5c4..ae6e8fff8 100644 --- a/.circleci/src/commands/restore_gradle_caches.yml +++ b/.circleci/src/commands/restore_gradle_caches.yml @@ -1,6 +1,6 @@ description: Restores and saves the gradle caches for backend. steps: - restore_cache: - key: v3-gradle-wrapper-{{ checksum "gradle/wrapper/gradle-wrapper.properties" }} + key: v4-gradle-wrapper-{{ checksum "gradle/wrapper/gradle-wrapper.properties" }} - restore_cache: - key: v3-gradle-cache-{{ checksum "build.gradle.kts" }} \ No newline at end of file + key: v4-gradle-cache-{{ checksum "build.gradle.kts" }} \ No newline at end of file diff --git a/.circleci/src/workflows/commit_main.yml b/.circleci/src/workflows/commit_main.yml index 6560b60ea..c46692f18 100644 --- a/.circleci/src/workflows/commit_main.yml +++ b/.circleci/src/workflows/commit_main.yml @@ -1,38 +1,38 @@ when: and: - << pipeline.parameters.run_commit_main >> - - equal: [main, << pipeline.git.branch >>] +# - equal: [main, << pipeline.git.branch >>] jobs: - bump_version: prepare_delivery: false - - check - - check_administration - - check_backend - - build_administration: - requires: - - check_administration - - bump_version - - pack_administration: - requires: - - build_administration - - build_martin - - build_backend: - requires: - - check_backend - - pack_backend: - requires: - - build_backend - - bump_version - - check_health_backend: - requires: - - pack_backend - - pack_martin: - requires: - - build_martin - - bump_version - - pack_meta: - requires: - - bump_version +# - check +# - check_administration +# - check_backend +# - build_administration: +# requires: +# - check_administration +# - bump_version +# - pack_administration: +# requires: +# - build_administration +# - build_martin +# - build_backend: +# requires: +# - check_backend +# - pack_backend: +# requires: +# - build_backend +# - bump_version +# - check_health_backend: +# requires: +# - pack_backend +# - pack_martin: +# requires: +# - build_martin +# - bump_version +# - pack_meta: +# requires: +# - bump_version - check_frontend - build_android: name: build_android_bayern @@ -44,13 +44,13 @@ jobs: context: - credentials-repo - credentials-ehrenamtskarte - - build_ios: - name: build_ios_bayern - buildConfig: "bayern" - flutterFlavor: "Bayern" - requires: - - bump_version - - check_frontend - context: - - tuerantuer-apple - - fastlane-match \ No newline at end of file +# - build_ios: +# name: build_ios_bayern +# buildConfig: "bayern" +# flutterFlavor: "Bayern" +# requires: +# - bump_version +# - check_frontend +# context: +# - tuerantuer-apple +# - fastlane-match \ No newline at end of file diff --git a/frontend/.fvm/fvm_config.json b/frontend/.fvm/fvm_config.json index 0e8090af0..36eb0ad1c 100644 --- a/frontend/.fvm/fvm_config.json +++ b/frontend/.fvm/fvm_config.json @@ -1,4 +1,4 @@ { - "flutterSdkVersion": "3.10.2", + "flutterSdkVersion": "3.19.3", "flavors": {} } \ No newline at end of file diff --git a/frontend/android/app/build.gradle b/frontend/android/app/build.gradle index f9ff8ffca..72a43b392 100644 --- a/frontend/android/app/build.gradle +++ b/frontend/android/app/build.gradle @@ -141,7 +141,7 @@ android { defaultConfig { minSdkVersion 21 - targetSdkVersion 33 + targetSdkVersion 34 multiDexEnabled true versionCode flutterVersionCode.toInteger() versionName flutterVersionName diff --git a/frontend/android/gradle/wrapper/gradle-wrapper.jar b/frontend/android/gradle/wrapper/gradle-wrapper.jar index 249e5832f..943f0cbfa 100644 Binary files a/frontend/android/gradle/wrapper/gradle-wrapper.jar and b/frontend/android/gradle/wrapper/gradle-wrapper.jar differ diff --git a/frontend/android/gradle/wrapper/gradle-wrapper.properties b/frontend/android/gradle/wrapper/gradle-wrapper.properties index 070cb702f..744c64d12 100644 --- a/frontend/android/gradle/wrapper/gradle-wrapper.properties +++ b/frontend/android/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip +networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/frontend/android/gradlew b/frontend/android/gradlew index a69d9cb6c..65dcd68d6 100755 --- a/frontend/android/gradlew +++ b/frontend/android/gradlew @@ -55,7 +55,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. @@ -80,10 +80,10 @@ do esac done -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -APP_NAME="Gradle" +# This is normally unused +# shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' @@ -143,12 +143,16 @@ fi if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac case $MAX_FD in #( '' | soft) :;; #( *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac diff --git a/frontend/android/gradlew.bat b/frontend/android/gradlew.bat index f127cfd49..93e3f59f1 100644 --- a/frontend/android/gradlew.bat +++ b/frontend/android/gradlew.bat @@ -26,6 +26,7 @@ if "%OS%"=="Windows_NT" setlocal set DIRNAME=%~dp0 if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% diff --git a/frontend/lib/home/app_flows_stack.dart b/frontend/lib/home/app_flows_stack.dart index 1a8099126..b02605ff4 100644 --- a/frontend/lib/home/app_flows_stack.dart +++ b/frontend/lib/home/app_flows_stack.dart @@ -10,16 +10,9 @@ class AppFlowsStack extends StatelessWidget { @override Widget build(BuildContext context) { - return WillPopScope( - onWillPop: () async { - final currentState = appFlows[currentIndex].navigatorKey.currentState; - final currentStatePopped = await currentState?.maybePop() ?? false; - return !currentStatePopped; - }, - child: IndexedStack( - index: currentIndex, - children: _buildChildren(), - ), + return IndexedStack( + index: currentIndex, + children: _buildChildren(), ); } diff --git a/frontend/lib/identification/activation_workflow/activation_code_scanner_page.dart b/frontend/lib/identification/activation_workflow/activation_code_scanner_page.dart index 6338828c6..76c2fb5c2 100644 --- a/frontend/lib/identification/activation_workflow/activation_code_scanner_page.dart +++ b/frontend/lib/identification/activation_workflow/activation_code_scanner_page.dart @@ -37,7 +37,7 @@ class ActivationCodeScannerPage extends StatelessWidget { Future _onCodeScanned(BuildContext context, Uint8List code) async { Future showError(String msg, dynamic stackTrace) async => - {await QrParsingErrorDialog.showErrorDialog(context, msg), await reportError(msg, stackTrace)}; + [await QrParsingErrorDialog.showErrorDialog(context, msg), await reportError(msg, stackTrace)]; try { final activationCode = const ActivationCodeParser().parseQrCodeContent(code); diff --git a/frontend/lib/identification/id_card/id_card.dart b/frontend/lib/identification/id_card/id_card.dart index 153900de4..f3df93d8d 100644 --- a/frontend/lib/identification/id_card/id_card.dart +++ b/frontend/lib/identification/id_card/id_card.dart @@ -40,7 +40,7 @@ class IdCard extends StatelessWidget { aspectRatio: creditCardAspectRatio, child: MediaQuery( // Ignore text scale factor to enforce the same layout on all devices. - data: mediaQueryData.copyWith(textScaleFactor: 1), + data: mediaQueryData.copyWith(textScaler: TextScaler.linear(1)), child: CardContent(cardInfo: cardInfo, region: region, isExpired: isExpired, isNotYetValid: isNotYetValid), ), ), diff --git a/frontend/pubspec.yaml b/frontend/pubspec.yaml index 41c7bb952..dc5735637 100644 --- a/frontend/pubspec.yaml +++ b/frontend/pubspec.yaml @@ -26,7 +26,7 @@ dependencies: flutter_svg: ^2.0.2 permission_handler: ^11.3.0 package_info_plus: ^4.0.1 # for about dialog - mobile_scanner: ^4.0.1 # Pinning this version because of https://github.com/juliansteenbakker/mobile_scanner/issues/582 + mobile_scanner: ^4.0.1 fixnum: ^1.1.0 flutter_secure_storage: ^9.0.0 infinite_scroll_pagination: ^4.0.0