Prechádzať zdrojové kódy

chore: update to Flutter 3.7.5 (#2000)

* chore: upgrade appflowy_editor_plugins and flowy_infra

* feat(appflowy_flutter): upgrade dependence and delete unused import files

* fix(appflowy_flutter): fix SvgPicture upgrade issue

update color to colorFilter: apply mask color when the color is not null

* feat(appflowy_editor): updateflutter_svg version

* chore: flutter analyze

* chore: update to 3.7.5 in github action

* chore: update to 3.7.5 in github action(integration test)

* chore: update appflowy_editor to 0.1.2

* chore: delete appflowy_editor_test.yml under appflowy

* chore: update the flutter version in github action

* docs: update flutter badge image

* chore: update flutter version in scripts

* chore: update appflowy editor to the latest release

* chore: fix flutter analyze

* chore: update integration_test.yml

---------

Co-authored-by: Lucas.Xu <[email protected]>
Co-authored-by: Nathan.fooo <[email protected]>
Yijing Huang 2 rokov pred
rodič
commit
231fd38298
40 zmenil súbory, kde vykonal 414 pridanie a 371 odobranie
  1. 1 1
      .github/workflows/flutter_ci.yaml
  2. 14 19
      .github/workflows/integration_test.yml
  3. 1 1
      .github/workflows/release.yml
  4. 1 1
      .github/workflows/rust_ci.yaml
  5. 1 1
      .github/workflows/rust_coverage.yml
  6. 10 6
      frontend/appflowy_flutter/README.md
  7. 0 6
      frontend/appflowy_flutter/lib/plugins/database_view/application/field/field_action_sheet_bloc.dart
  8. 1 8
      frontend/appflowy_flutter/lib/plugins/database_view/application/field/field_editor_bloc.dart
  9. 0 6
      frontend/appflowy_flutter/lib/plugins/database_view/application/field/type_option/date_bloc.dart
  10. 0 6
      frontend/appflowy_flutter/lib/plugins/database_view/application/field/type_option/edit_select_option_bloc.dart
  11. 0 6
      frontend/appflowy_flutter/lib/plugins/database_view/application/field/type_option/number_bloc.dart
  12. 0 6
      frontend/appflowy_flutter/lib/plugins/database_view/application/field/type_option/number_format_bloc.dart
  13. 0 5
      frontend/appflowy_flutter/lib/plugins/database_view/application/field/type_option/select_option_type_option_bloc.dart
  14. 0 6
      frontend/appflowy_flutter/lib/plugins/database_view/application/setting/setting_bloc.dart
  15. 0 6
      frontend/appflowy_flutter/lib/plugins/database_view/board/application/toolbar/board_setting_bloc.dart
  16. 0 2
      frontend/appflowy_flutter/lib/plugins/database_view/calendar/application/calendar_setting_bloc.dart
  17. 0 7
      frontend/appflowy_flutter/lib/plugins/database_view/grid/application/filter/select_option_filter_list_bloc.dart
  18. 0 5
      frontend/appflowy_flutter/lib/plugins/database_view/grid/application/grid_header_bloc.dart
  19. 0 6
      frontend/appflowy_flutter/lib/plugins/database_view/grid/application/row/row_action_sheet_bloc.dart
  20. 1 1
      frontend/appflowy_flutter/lib/plugins/document/presentation/plugins/base/link_to_page_widget.dart
  21. 3 3
      frontend/appflowy_flutter/lib/workspace/presentation/home/menu/app/header/import/import_panel.dart
  22. 1 1
      frontend/appflowy_flutter/macos/Podfile
  23. 6 5
      frontend/appflowy_flutter/macos/Runner.xcodeproj/project.pbxproj
  24. 1 1
      frontend/appflowy_flutter/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
  25. 2 2
      frontend/appflowy_flutter/packages/appflowy_backend/pubspec.yaml
  26. 0 1
      frontend/appflowy_flutter/packages/appflowy_editor/lib/appflowy_editor.dart
  27. 2 1
      frontend/appflowy_flutter/packages/appflowy_editor/lib/src/infra/flowy_svg.dart
  28. 1 1
      frontend/appflowy_flutter/packages/appflowy_editor/pubspec.yaml
  29. 1 1
      frontend/appflowy_flutter/packages/appflowy_editor_plugins/lib/src/emoji_picker/emoji_menu_item.dart
  30. 2 1
      frontend/appflowy_flutter/packages/appflowy_editor_plugins/lib/src/infra/svg.dart
  31. 10 8
      frontend/appflowy_flutter/packages/appflowy_editor_plugins/pubspec.yaml
  32. 1 1
      frontend/appflowy_flutter/packages/appflowy_popover/lib/src/mask.dart
  33. 11 3
      frontend/appflowy_flutter/packages/flowy_infra/lib/image.dart
  34. 2 2
      frontend/appflowy_flutter/packages/flowy_infra/pubspec.yaml
  35. 0 1
      frontend/appflowy_flutter/packages/flowy_infra_ui/lib/flowy_infra_ui.dart
  36. 316 208
      frontend/appflowy_flutter/pubspec.lock
  37. 7 8
      frontend/appflowy_flutter/pubspec.yaml
  38. 6 6
      frontend/scripts/install_dev_env/install_linux.sh
  39. 6 6
      frontend/scripts/install_dev_env/install_macos.sh
  40. 6 6
      frontend/scripts/install_dev_env/install_windows.sh

+ 1 - 1
.github/workflows/flutter_ci.yaml

@@ -16,7 +16,7 @@ on:
       - "frontend/**"
 
 env:
-  FLUTTER_VERSION: "3.3.9"
+  FLUTTER_VERSION: "3.7.5"
   RUST_TOOLCHAIN: "1.65"
 
 jobs:

+ 14 - 19
.github/workflows/integration_test.yml

@@ -35,7 +35,7 @@ jobs:
       - uses: subosito/flutter-action@v2
         with:
           channel: "stable"
-          flutter-version: "3.3.9"
+          flutter-version: "3.7.5"
           cache: true
 
       - name: Cache Cargo
@@ -56,15 +56,16 @@ jobs:
 
       - name: Setup Environment
         run: |
+          cargo install --force cargo-make
+          cargo install --force duckscript_cli
           if [ "$RUNNER_OS" == "Linux" ]; then
             sudo wget -qO /etc/apt/trusted.gpg.d/dart_linux_signing_key.asc https://dl-ssl.google.com/linux/linux_signing_key.pub
             sudo wget -qO /etc/apt/sources.list.d/dart_stable.list https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list
             sudo apt-get update
-            sudo apt-get install -y dart curl build-essential libsqlite3-dev libssl-dev clang cmake ninja-build pkg-config libgtk-3-dev
+            sudo apt-get install -y dart curl build-essential libssl-dev clang cmake ninja-build pkg-config libgtk-3-dev
             sudo apt-get install keybinder-3.0
           elif [ "$RUNNER_OS" == "Windows" ]; then
             vcpkg integrate install
-            cargo install --force duckscript_cli
           elif [ "$RUNNER_OS" == "macOS" ]; then
             echo 'do nothing'
           fi
@@ -77,17 +78,6 @@ jobs:
           cargo install cargo-make
           cargo make appflowy-flutter-deps-tools
 
-      - name: Build Test lib
-        working-directory: frontend
-        run: |
-          if [ "$RUNNER_OS" == "Linux" ]; then
-            cargo make --profile production-linux-x86_64 appflowy
-          elif [ "$RUNNER_OS" == "macOS" ]; then
-            cargo make --profile production-mac-x86_64 appflowy
-          elif [ "$RUNNER_OS" == "Windows" ]; then
-            cargo make --profile production-windows-x86 appflowy
-          fi
-
       - name: Config Flutter
         run: |
           if [ "$RUNNER_OS" == "Linux" ]; then
@@ -99,12 +89,17 @@ jobs:
           fi
         shell: bash
 
-      - name: Flutter Code Generation
-        working-directory: frontend/appflowy_flutter
+      - name: Build Test lib
+        working-directory: frontend
         run: |
-          flutter packages pub get
-          flutter packages pub run easy_localization:generate -f keys -o locale_keys.g.dart -S assets/translations -s en.json
-          flutter packages pub run build_runner build --delete-conflicting-outputs
+          if [ "$RUNNER_OS" == "Linux" ]; then
+            cargo make --profile development-linux-x86_64 appflowy-dev
+          elif [ "$RUNNER_OS" == "macOS" ]; then
+            cargo make --profile development-mac-x86_64 appflowy-dev
+          elif [ "$RUNNER_OS" == "Windows" ]; then
+            cargo make --profile development-windows-x86 appflowy-dev
+          fi
+        shell: bash
 
       - name: Run AppFlowy tests
         working-directory: frontend/appflowy_flutter

+ 1 - 1
.github/workflows/release.yml

@@ -6,7 +6,7 @@ on:
       - '*'
 
 env:
-  FLUTTER_VERSION: "3.3.9"
+  FLUTTER_VERSION: "3.7.5"
   RUST_TOOLCHAIN: "1.65"
 
 jobs:

+ 1 - 1
.github/workflows/rust_ci.yaml

@@ -20,7 +20,7 @@ on:
 env:
   CARGO_TERM_COLOR: always
   RUST_TOOLCHAIN: "1.65"
-  FLUTTER_VERSION: "3.3.9"
+  FLUTTER_VERSION: "3.7.5"
 
 jobs:
   test-on-ubuntu:

+ 1 - 1
.github/workflows/rust_coverage.yml

@@ -11,7 +11,7 @@ on:
 
 env:
   CARGO_TERM_COLOR: always
-  FLUTTER_VERSION: "3.3.9"
+  FLUTTER_VERSION: "3.7.5"
   RUST_TOOLCHAIN: "1.65"
 
 jobs:

+ 10 - 6
frontend/appflowy_flutter/README.md

@@ -1,6 +1,6 @@
 <h1 align="center" style="margin:0"> AppFlowy_Flutter</h1>
 <div align="center">
-  <img src="https://img.shields.io/badge/Flutter-v3.3.10-blue"/>
+  <img src="https://img.shields.io/badge/Flutter-v3.7.5-blue"/>
   <img src="https://img.shields.io/badge/Rust-v1.65-orange"/>
 </div>
 
@@ -9,13 +9,16 @@
 This Repository contains the codebase for the frontend of the application, currently we use Flutter as our frontend framework.
 
 ### Platforms Supported Using Flutter 💻
+
 - Linux
 - macOS
 - Windows
-> We later expect to extend support to Android and iOS devices using Flutter.
+  > We later expect to extend support to Android and iOS devices using Flutter.
 
 ### Am I Eligible to Contribute?
+
 Yes! You are eligible to contribute, check out the ways in which you can [contribute to AppFlowy](https://appflowy.gitbook.io/docs/essential-documentation/contribute-to-appflowy/contributing-to-appflowy). Some of the ways in which you can contribute are:
+
 - Non-Coding Contributions
   - Documentation
   - Feature Requests and Feedbacks
@@ -23,26 +26,27 @@ Yes! You are eligible to contribute, check out the ways in which you can [contri
   - Improve Translations
 - Coding Contributions
 
-
 To contribute to `AppFlowy_Flutter` codebase specifically (coding contribution) we suggest you to have basic knowledge of Flutter. In case you are new to Flutter, we may suggest you to learn the basics and then try to contribute, get started with Flutter [here](https://flutter.dev/docs/get-started/codelab).
 
 ### What OS Should I Use for Development?
-We support all OS for Development i.e Linux, macOS and Windows. However, most of us promote macOS and Linux over Windows. We have detailed [docs](https://appflowy.gitbook.io/docs/essential-documentation/contribute-to-appflowy/software-contributions/environment-setup) on How to Setup `AppFlowy_Flutter` in your local system in each OS.
 
+We support all OS for Development i.e Linux, macOS and Windows. However, most of us promote macOS and Linux over Windows. We have detailed [docs](https://appflowy.gitbook.io/docs/essential-documentation/contribute-to-appflowy/software-contributions/environment-setup) on How to Setup `AppFlowy_Flutter` in your local system in each OS.
 
 ### Getting Started ❇
+
 We have a detailed documentation, on how to [get started](https://appflowy.gitbook.io/docs/essential-documentation/contribute-to-appflowy/contributing-to-appflowy) with the project, and make your first contribution. However, we do have some specific picks for you.
+
 - [Code Architecture](https://appflowy.gitbook.io/docs/essential-documentation/contribute-to-appflowy/architecture/frontend/frontend/codemap)
 - [Making Your First PR](https://appflowy.gitbook.io/docs/essential-documentation/contribute-to-appflowy/software-contributions/submitting-code/submitting-your-first-pull-request)
 - [The Style Guide](https://appflowy.gitbook.io/docs/essential-documentation/contribute-to-appflowy/software-contributions/submitting-code/style-guides)
 - [How to run/debug the application](https://appflowy.gitbook.io/docs/essential-documentation/contribute-to-appflowy/software-contributions/launcher-and-tasks)
 
-
 ### Need Help?
+
 - New to GitHub? Follow [these](https://appflowy.gitbook.io/docs/essential-documentation/contribute-to-appflowy/software-contributions/submitting-code/setting-up-your-repositories) steps to get started
 - Stuck Somewhere? Join the [Discord](https://discord.gg/9Q2xaN37tV) Group and we are there to help you!
 
-<!-- 
+<!--
 ## release check
 1. [entitlements](https://flutter.dev/desktop#setting-up-entitlements)
 2. [symbols stripped](https://flutter.dev/docs/development/platform-integration/c-interop) -->

+ 0 - 6
frontend/appflowy_flutter/lib/plugins/database_view/application/field/field_action_sheet_bloc.dart

@@ -2,7 +2,6 @@ import 'package:appflowy_backend/log.dart';
 import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';
-import 'dart:async';
 import 'field_service.dart';
 
 part 'field_action_sheet_bloc.freezed.dart';
@@ -64,11 +63,6 @@ class FieldActionSheetBloc
       },
     );
   }
-
-  @override
-  Future<void> close() async {
-    return super.close();
-  }
 }
 
 @freezed

+ 1 - 8
frontend/appflowy_flutter/lib/plugins/database_view/application/field/field_editor_bloc.dart

@@ -1,6 +1,5 @@
 import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
-import 'dart:async';
 import 'package:dartz/dartz.dart';
 import 'field_service.dart';
 import 'type_option/type_option_context.dart';
@@ -17,8 +16,7 @@ class FieldEditorBloc extends Bloc<FieldEditorEvent, FieldEditorState> {
     required String fieldName,
     required bool isGroupField,
     required IFieldTypeOptionLoader loader,
-  })  : dataController =
-            TypeOptionController(viewId: viewId, loader: loader),
+  })  : dataController = TypeOptionController(viewId: viewId, loader: loader),
         super(FieldEditorState.initial(viewId, fieldName, isGroupField)) {
     on<FieldEditorEvent>(
       (event, emit) async {
@@ -63,11 +61,6 @@ class FieldEditorBloc extends Bloc<FieldEditorEvent, FieldEditorState> {
       },
     );
   }
-
-  @override
-  Future<void> close() async {
-    return super.close();
-  }
 }
 
 @freezed

+ 0 - 6
frontend/appflowy_flutter/lib/plugins/database_view/application/field/type_option/date_bloc.dart

@@ -2,7 +2,6 @@ import 'package:appflowy_backend/protobuf/flowy-database/date_type_option.pb.dar
 import 'package:appflowy_backend/protobuf/flowy-database/date_type_option_entities.pb.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';
-import 'dart:async';
 import 'package:protobuf/protobuf.dart';
 
 import 'type_option_context.dart';
@@ -52,11 +51,6 @@ class DateTypeOptionBloc
       }
     });
   }
-
-  @override
-  Future<void> close() async {
-    return super.close();
-  }
 }
 
 @freezed

+ 0 - 6
frontend/appflowy_flutter/lib/plugins/database_view/application/field/type_option/edit_select_option_bloc.dart

@@ -1,7 +1,6 @@
 import 'package:appflowy_backend/protobuf/flowy-database/select_type_option.pb.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';
-import 'dart:async';
 import 'package:protobuf/protobuf.dart';
 import 'package:dartz/dartz.dart';
 part 'edit_select_option_bloc.freezed.dart';
@@ -27,11 +26,6 @@ class EditSelectOptionBloc
     );
   }
 
-  @override
-  Future<void> close() async {
-    return super.close();
-  }
-
   SelectOptionPB _updateColor(SelectOptionColorPB color) {
     state.option.freeze();
     return state.option.rebuild((option) {

+ 0 - 6
frontend/appflowy_flutter/lib/plugins/database_view/application/field/type_option/number_bloc.dart

@@ -2,7 +2,6 @@ import 'package:appflowy_backend/protobuf/flowy-database/format.pbenum.dart';
 import 'package:appflowy_backend/protobuf/flowy-database/number_type_option.pb.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';
-import 'dart:async';
 import 'package:protobuf/protobuf.dart';
 import 'type_option_context.dart';
 
@@ -29,11 +28,6 @@ class NumberTypeOptionBloc
       typeOption.format = format;
     });
   }
-
-  @override
-  Future<void> close() async {
-    return super.close();
-  }
 }
 
 @freezed

+ 0 - 6
frontend/appflowy_flutter/lib/plugins/database_view/application/field/type_option/number_format_bloc.dart

@@ -1,7 +1,6 @@
 import 'package:appflowy_backend/protobuf/flowy-database/format.pbenum.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';
-import 'dart:async';
 part 'number_format_bloc.freezed.dart';
 
 class NumberFormatBloc extends Bloc<NumberFormatEvent, NumberFormatState> {
@@ -21,11 +20,6 @@ class NumberFormatBloc extends Bloc<NumberFormatEvent, NumberFormatState> {
       },
     );
   }
-
-  @override
-  Future<void> close() async {
-    return super.close();
-  }
 }
 
 @freezed

+ 0 - 5
frontend/appflowy_flutter/lib/plugins/database_view/application/field/type_option/select_option_type_option_bloc.dart

@@ -49,11 +49,6 @@ class SelectOptionTypeOptionBloc
       },
     );
   }
-
-  @override
-  Future<void> close() async {
-    return super.close();
-  }
 }
 
 @freezed

+ 0 - 6
frontend/appflowy_flutter/lib/plugins/database_view/application/setting/setting_bloc.dart

@@ -1,6 +1,5 @@
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';
-import 'dart:async';
 import 'package:dartz/dartz.dart';
 
 part 'setting_bloc.freezed.dart';
@@ -18,11 +17,6 @@ class DatabaseSettingBloc
       },
     );
   }
-
-  @override
-  Future<void> close() async {
-    return super.close();
-  }
 }
 
 @freezed

+ 0 - 6
frontend/appflowy_flutter/lib/plugins/database_view/board/application/toolbar/board_setting_bloc.dart

@@ -1,6 +1,5 @@
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';
-import 'dart:async';
 import 'package:dartz/dartz.dart';
 
 part 'board_setting_bloc.freezed.dart';
@@ -17,11 +16,6 @@ class BoardSettingBloc extends Bloc<BoardSettingEvent, BoardSettingState> {
       },
     );
   }
-
-  @override
-  Future<void> close() async {
-    return super.close();
-  }
 }
 
 @freezed

+ 0 - 2
frontend/appflowy_flutter/lib/plugins/database_view/calendar/application/calendar_setting_bloc.dart

@@ -23,8 +23,6 @@ class CalendarSettingBloc
     });
   }
 
-  @override
-  Future<void> close() async => super.close();
 }
 
 @freezed

+ 0 - 7
frontend/appflowy_flutter/lib/plugins/database_view/grid/application/filter/select_option_filter_list_bloc.dart

@@ -1,5 +1,3 @@
-import 'dart:async';
-
 import 'package:appflowy/plugins/database_view/grid/presentation/widgets/filter/choicechip/select_option/select_option_loader.dart';
 import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart';
 import 'package:appflowy_backend/protobuf/flowy-database/select_type_option.pb.dart';
@@ -63,11 +61,6 @@ class SelectOptionFilterListBloc<T>
     );
   }
 
-  @override
-  Future<void> close() async {
-    return super.close();
-  }
-
   void _updateSelectOptions({
     String? predicate,
     Set<String>? selectedOptionIds,

+ 0 - 5
frontend/appflowy_flutter/lib/plugins/database_view/grid/application/grid_header_bloc.dart

@@ -61,11 +61,6 @@ class GridHeaderBloc extends Bloc<GridHeaderEvent, GridHeaderState> {
       listenWhen: () => !isClosed,
     );
   }
-
-  @override
-  Future<void> close() async {
-    return super.close();
-  }
 }
 
 @freezed

+ 0 - 6
frontend/appflowy_flutter/lib/plugins/database_view/grid/application/row/row_action_sheet_bloc.dart

@@ -2,7 +2,6 @@ import 'package:appflowy_backend/log.dart';
 import 'package:appflowy_backend/protobuf/flowy-error/errors.pb.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';
-import 'dart:async';
 import 'package:dartz/dartz.dart';
 
 import '../../../application/row/row_cache.dart';
@@ -34,11 +33,6 @@ class RowActionSheetBloc
     );
   }
 
-  @override
-  Future<void> close() async {
-    return super.close();
-  }
-
   void logResult(Either<Unit, FlowyError> result) {
     result.fold((l) => null, (err) => Log.error(err));
   }

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/document/presentation/plugins/base/link_to_page_widget.dart

@@ -59,7 +59,7 @@ void showLinkToPageMenu(
     );
   });
 
-  Overlay.of(context)?.insert(_linkToPageMenu!);
+  Overlay.of(context).insert(_linkToPageMenu!);
 
   editorState.service.selectionService.currentSelection
       .addListener(dismissLinkToPageMenu);

+ 3 - 3
frontend/appflowy_flutter/lib/workspace/presentation/home/menu/app/header/import/import_panel.dart

@@ -45,7 +45,7 @@ enum _ImportType {
       case _ImportType.markdownOrText:
         return 'Text & Markdown';
       default:
-        assert(false, 'Unsupported Type ${this}');
+        assert(false, 'Unsupported Type $this');
         return '';
     }
   }
@@ -55,7 +55,7 @@ enum _ImportType {
       case _ImportType.markdownOrText:
         return svgWidget('editor/documents');
       default:
-        assert(false, 'Unsupported Type ${this}');
+        assert(false, 'Unsupported Type $this');
         return null;
     }
   }
@@ -65,7 +65,7 @@ enum _ImportType {
       case _ImportType.markdownOrText:
         return ['md', 'txt'];
       default:
-        assert(false, 'Unsupported Type ${this}');
+        assert(false, 'Unsupported Type $this');
         return [];
     }
   }

+ 1 - 1
frontend/appflowy_flutter/macos/Podfile

@@ -1,4 +1,4 @@
-platform :osx, '10.11'
+platform :osx, '10.14'
 
 # CocoaPods analytics sends network stats synchronously affecting flutter build latency.
 ENV['COCOAPODS_DISABLE_STATS'] = 'true'

+ 6 - 5
frontend/appflowy_flutter/macos/Runner.xcodeproj/project.pbxproj

@@ -3,7 +3,7 @@
 	archiveVersion = 1;
 	classes = {
 	};
-	objectVersion = 51;
+	objectVersion = 54;
 	objects = {
 
 /* Begin PBXAggregateTarget section */
@@ -202,7 +202,7 @@
 			isa = PBXProject;
 			attributes = {
 				LastSwiftUpdateCheck = 0920;
-				LastUpgradeCheck = 0930;
+				LastUpgradeCheck = 1300;
 				ORGANIZATIONNAME = "";
 				TargetAttributes = {
 					33CC10EC2044A3C60003C045 = {
@@ -255,6 +255,7 @@
 /* Begin PBXShellScriptBuildPhase section */
 		3399D490228B24CF009A79C7 /* ShellScript */ = {
 			isa = PBXShellScriptBuildPhase;
+			alwaysOutOfDate = 1;
 			buildActionMask = 2147483647;
 			files = (
 			);
@@ -403,7 +404,7 @@
 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
-				MACOSX_DEPLOYMENT_TARGET = 10.11;
+				MACOSX_DEPLOYMENT_TARGET = 10.14;
 				MTL_ENABLE_DEBUG_INFO = NO;
 				SDKROOT = macosx;
 				STRIP_STYLE = "non-global";
@@ -489,7 +490,7 @@
 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
-				MACOSX_DEPLOYMENT_TARGET = 10.11;
+				MACOSX_DEPLOYMENT_TARGET = 10.14;
 				MTL_ENABLE_DEBUG_INFO = YES;
 				ONLY_ACTIVE_ARCH = YES;
 				SDKROOT = macosx;
@@ -537,7 +538,7 @@
 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
-				MACOSX_DEPLOYMENT_TARGET = 10.11;
+				MACOSX_DEPLOYMENT_TARGET = 10.14;
 				MTL_ENABLE_DEBUG_INFO = NO;
 				SDKROOT = macosx;
 				STRIP_STYLE = "non-global";

+ 1 - 1
frontend/appflowy_flutter/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1000"
+   LastUpgradeVersion = "1300"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"

+ 2 - 2
frontend/appflowy_flutter/packages/appflowy_backend/pubspec.yaml

@@ -11,9 +11,9 @@ environment:
 dependencies:
   flutter:
     sdk: flutter
-  ffi: ^1.0.0
+  ffi: ^2.0.1
   isolates: ^3.0.3+8
-  protobuf: "2.0.0"
+  protobuf: ^2.0.0
   dartz: ^0.10.1
   freezed_annotation:
   logger: ^1.0.0

+ 0 - 1
frontend/appflowy_flutter/packages/appflowy_editor/lib/appflowy_editor.dart

@@ -34,7 +34,6 @@ export 'src/render/selection_menu/selection_menu_widget.dart';
 export 'src/render/selection_menu/selection_menu_item_widget.dart';
 export 'src/l10n/l10n.dart';
 export 'src/render/style/plugin_styles.dart';
-export 'src/render/style/editor_style.dart';
 export 'src/plugins/markdown/encoder/delta_markdown_encoder.dart';
 export 'src/plugins/markdown/encoder/document_markdown_encoder.dart';
 export 'src/plugins/markdown/encoder/parser/node_parser.dart';

+ 2 - 1
frontend/appflowy_flutter/packages/appflowy_editor/lib/src/infra/flowy_svg.dart

@@ -34,7 +34,8 @@ class FlowySvg extends StatelessWidget {
     if (name != null) {
       return SvgPicture.asset(
         'assets/images/$name.svg',
-        color: color,
+        colorFilter:
+            color != null ? ColorFilter.mode(color, BlendMode.srcIn) : null,
         fit: BoxFit.fill,
         height: height,
         width: width,

+ 1 - 1
frontend/appflowy_flutter/packages/appflowy_editor/pubspec.yaml

@@ -19,7 +19,7 @@ dependencies:
 
   rich_clipboard: ^1.0.0
   html: ^0.15.0
-  flutter_svg: ^1.1.1+1
+  flutter_svg: ^2.0.2
   provider: ^6.0.3
   url_launcher: ^6.1.5
   logging: ^1.0.2

+ 1 - 1
frontend/appflowy_flutter/packages/appflowy_editor_plugins/lib/src/emoji_picker/emoji_menu_item.dart

@@ -50,7 +50,7 @@ void _showEmojiSelectionMenu(
     );
   });
 
-  Overlay.of(context)?.insert(_emojiSelectionMenu!);
+  Overlay.of(context).insert(_emojiSelectionMenu!);
 
   editorState.service.selectionService.currentSelection
       .addListener(_dismissEmojiSelectionMenu);

+ 2 - 1
frontend/appflowy_flutter/packages/appflowy_editor_plugins/lib/src/infra/svg.dart

@@ -34,7 +34,8 @@ class Svg extends StatelessWidget {
     if (name != null) {
       return SvgPicture.asset(
         'assets/images/$name.svg',
-        color: color,
+        colorFilter:
+            color != null ? ColorFilter.mode(color!, BlendMode.srcIn) : null,
         fit: BoxFit.fill,
         height: height,
         width: width,

+ 10 - 8
frontend/appflowy_flutter/packages/appflowy_editor_plugins/pubspec.yaml

@@ -6,24 +6,26 @@ homepage: https://github.com/AppFlowy-IO/AppFlowy
 publish_to: none
 
 environment:
-  sdk: ">=2.18.0 <3.0.0"
-  flutter: ">=3.3.0"
+  sdk: ">=2.19.0 <3.0.0"
+  flutter: ">=3.7.0"
 
 dependencies:
   flutter:
     sdk: flutter
-  appflowy_editor:
-    path: ../appflowy_editor
-  flowy_infra: 
+  appflowy_editor: ^0.1.4
+  flowy_infra:
     path: ../flowy_infra
   flowy_infra_ui:
     path: ../flowy_infra_ui
-  appflowy_popover: 
+  appflowy_popover:
     path: ../appflowy_popover
-  flutter_math_fork: ^0.6.3+1
+  flutter_math_fork:
+    git:
+      url: https://github.com/LucasXu0/flutter_math_fork.git
+      ref: master
   highlight: ^0.7.0
   shared_preferences: ^2.0.15
-  flutter_svg: ^1.1.1+1
+  flutter_svg: ^2.0.2
   provider: ^6.0.3
 
 dev_dependencies:

+ 1 - 1
frontend/appflowy_flutter/packages/appflowy_popover/lib/src/mask.dart

@@ -17,7 +17,7 @@ class RootOverlayEntry {
     bool asBarrier,
   ) {
     _entries[newState] = OverlayEntryContext(entry, newState, asBarrier);
-    Overlay.of(context)?.insert(entry);
+    Overlay.of(context).insert(entry);
   }
 
   bool contains(PopoverState oldState) {

+ 11 - 3
frontend/appflowy_flutter/packages/flowy_infra/lib/image.dart

@@ -1,6 +1,6 @@
+import 'package:flutter/material.dart';
 import 'package:flutter_svg/flutter_svg.dart';
 
-import 'package:flutter/material.dart';
 
 /// For icon that needs to change color when it is on hovered
 ///
@@ -29,9 +29,17 @@ Widget svgWidget(String name, {Size? size, Color? color}) {
   if (size != null) {
     return SizedBox.fromSize(
       size: size,
-      child: SvgPicture.asset('assets/images/$name.svg', color: color),
+      child: SvgPicture.asset(
+        'assets/images/$name.svg',
+        colorFilter:
+            color != null ? ColorFilter.mode(color, BlendMode.srcIn) : null,
+      ),
     );
   } else {
-    return SvgPicture.asset('assets/images/$name.svg', color: color);
+    return SvgPicture.asset(
+      'assets/images/$name.svg',
+      colorFilter:
+          color != null ? ColorFilter.mode(color, BlendMode.srcIn) : null,
+    );
   }
 }

+ 2 - 2
frontend/appflowy_flutter/packages/flowy_infra/pubspec.yaml

@@ -13,12 +13,12 @@ dependencies:
   time: '>=2.0.0'
   uuid: ">=2.2.2"
   textstyle_extensions: '2.0.0-nullsafety'
-  flutter_svg: ^1.1.1
+  flutter_svg: ^2.0.2
 
 dev_dependencies:
   flutter_test:
     sdk: flutter
-  flutter_lints: ^2.0.1 
+  flutter_lints: ^2.0.1
 
 # For information on the generic Dart part of this file, see the
 # following page: https://dart.dev/tools/pub/pubspec

+ 0 - 1
frontend/appflowy_flutter/packages/flowy_infra_ui/lib/flowy_infra_ui.dart

@@ -18,5 +18,4 @@ export 'style_widget/icon_button.dart';
 export 'style_widget/scrolling/styled_scroll_bar.dart';
 export '/widget/spacing.dart';
 export 'style_widget/scrolling/styled_list.dart';
-export 'style_widget/button.dart';
 export 'style_widget/color_picker.dart';

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 316 - 208
frontend/appflowy_flutter/pubspec.lock


+ 7 - 8
frontend/appflowy_flutter/pubspec.yaml

@@ -18,7 +18,7 @@ publish_to: "none" # Remove this line if you wish to publish to pub.dev
 version: 0.1.2
 
 environment:
-  sdk: ">=2.18.0 <3.0.0"
+  sdk: ">=2.19.0 <3.0.0"
 
 # Dependencies specify other packages that your package needs in order to work.
 # To automatically upgrade your package dependencies to the latest versions
@@ -42,8 +42,7 @@ dependencies:
     git:
       url: https://github.com/AppFlowy-IO/appflowy-board.git
       ref: a183c57
-  appflowy_editor:
-    path: packages/appflowy_editor
+  appflowy_editor: ^0.1.4
   appflowy_popover:
     path: packages/appflowy_popover
 
@@ -60,22 +59,22 @@ dependencies:
   sized_context: ^1.0.0+1
   styled_widget: "^0.3.1"
   expandable: ^5.0.1
-  flutter_colorpicker: ^0.6.0
+  flutter_colorpicker: ^1.0.3
   package_info_plus: ^1.3.0
   url_launcher: ^6.0.2
   # file_picker: ^4.2.1
   clipboard: ^0.1.3
-  connectivity_plus: ^2.3.6+1
+  connectivity_plus: ^3.0.3
   connectivity_plus_platform_interface: ^1.2.2
   easy_localization: ^3.0.0
   textfield_tags: ^2.0.2
   # The following adds the Cupertino Icons font to your application.
   # Use with the CupertinoIcons class for iOS style icons.
   cupertino_icons: ^1.0.2
-  device_info_plus: ^3.2.1
+  device_info_plus: ^4.0.0
   fluttertoast: ^8.0.9
   table_calendar: ^3.0.5
-  reorderables: ^0.5.1
+  reorderables: ^0.6.0
   linked_scroll_controller: ^0.2.0
   hotkey_manager: ^0.1.7
   fixnum: ^1.0.1
@@ -86,7 +85,7 @@ dependencies:
   bloc: ^8.1.0
   textstyle_extensions: "2.0.0-nullsafety"
   shared_preferences: ^2.0.15
-  google_fonts: ^3.0.1
+  google_fonts: ^4.0.3
   file_picker: <=5.0.0
   percent_indicator: ^4.0.1
   appflowy_editor_plugins:

+ 6 - 6
frontend/scripts/install_dev_env/install_linux.sh

@@ -38,9 +38,9 @@ fi
 printMessage "Setting up Flutter"
 # Get the current Flutter version
 FLUTTER_VERSION=$(flutter --version | grep -oP 'Flutter \K\S+')
-# Check if the current version is 3.3.10
-if [ "$FLUTTER_VERSION" = "3.3.10" ]; then
-    echo "Flutter version is already 3.3.10"
+# Check if the current version is 3.7.5
+if [ "$FLUTTER_VERSION" = "3.7.5" ]; then
+    echo "Flutter version is already 3.7.5"
 else
     # Get the path to the Flutter SDK
     FLUTTER_PATH=$(which flutter)
@@ -49,12 +49,12 @@ else
     current_dir=$(pwd)
 
     cd $FLUTTER_PATH
-    # Use git to checkout version 3.3.10 of Flutter
-    git checkout 3.3.10
+    # Use git to checkout version 3.7.5 of Flutter
+    git checkout 3.7.5
     # Get back to current working directory
     cd "$current_dir"
 
-    echo "Switched to Flutter version 3.3.10"
+    echo "Switched to Flutter version 3.7.5"
 fi
 
 # Enable linux desktop

+ 6 - 6
frontend/scripts/install_dev_env/install_macos.sh

@@ -41,9 +41,9 @@ printMessage "Setting up Flutter"
 
 # Get the current Flutter version
 FLUTTER_VERSION=$(flutter --version | grep -oE 'Flutter [^ ]+' | grep -oE '[^ ]+$')
-# Check if the current version is 3.3.10
-if [ "$FLUTTER_VERSION" = "3.3.10" ]; then
-   echo "Flutter version is already 3.3.10"
+# Check if the current version is 3.7.5
+if [ "$FLUTTER_VERSION" = "3.7.5" ]; then
+   echo "Flutter version is already 3.7.5"
 else
    # Get the path to the Flutter SDK
    FLUTTER_PATH=$(which flutter)
@@ -52,12 +52,12 @@ else
    current_dir=$(pwd)
 
    cd $FLUTTER_PATH
-   # Use git to checkout version 3.3.10 of Flutter
-   git checkout 3.3.10
+   # Use git to checkout version 3.7.5 of Flutter
+   git checkout 3.7.5
    # Get back to current working directory
    cd "$current_dir"
 
-   echo "Switched to Flutter version 3.3.10"
+   echo "Switched to Flutter version 3.7.5"
 fi
 
 # Enable linux desktop

+ 6 - 6
frontend/scripts/install_dev_env/install_windows.sh

@@ -48,9 +48,9 @@ fi
 printMessage "Setting up Flutter"
 # Get the current Flutter version
 FLUTTER_VERSION=$(flutter --version | grep -oP 'Flutter \K\S+')
-# Check if the current version is 3.3.10
-if [ "$FLUTTER_VERSION" = "3.3.10" ]; then
-   echo "Flutter version is already 3.3.10"
+# Check if the current version is 3.7.5
+if [ "$FLUTTER_VERSION" = "3.7.5" ]; then
+   echo "Flutter version is already 3.7.5"
 else
    # Get the path to the Flutter SDK
    FLUTTER_PATH=$(which flutter)
@@ -59,12 +59,12 @@ else
    current_dir=$(pwd)
 
    cd $FLUTTER_PATH
-   # Use git to checkout version 3.3.10 of Flutter
-   git checkout 3.3.10
+   # Use git to checkout version 3.7.5 of Flutter
+   git checkout 3.7.5
    # Get back to current working directory
    cd "$current_dir"
 
-   echo "Switched to Flutter version 3.3.10"
+   echo "Switched to Flutter version 3.7.5"
 fi
 
 # Add pub cache and cargo to PATH

Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov