From 252699d24986376b6b827279c01914b2772e21e2 Mon Sep 17 00:00:00 2001 From: "Lucas.Xu" Date: Mon, 19 Feb 2024 12:49:55 +0700 Subject: [PATCH] chore: upgrade to flutter 3.19.0 (#4677) * chore: upgrade to flutter 3.19.0 * chore: adjust to the latest flutter convention * chore: update CI flutter version * fix: flutter analyze * fix: flutter analyze * fix: flutter analyze * chore: fix docker build --- .github/workflows/flutter_ci.yaml | 12 +- .github/workflows/mobile_ci.yaml | 4 +- .github/workflows/release.yml | 10 +- .github/workflows/rust_coverage.yml | 4 +- .../ios/Flutter/AppFrameworkInfo.plist | 2 +- frontend/appflowy_flutter/ios/Podfile | 2 +- frontend/appflowy_flutter/ios/Podfile.lock | 8 +- .../ios/Runner.xcodeproj/project.pbxproj | 8 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../lib/core/raw_keyboard_extension.dart | 19 --- .../field/mobile_quick_field_editor.dart | 2 +- .../setting/language_setting_group.dart | 2 +- .../widgets/board_column_header.dart | 9 +- .../cell_editor/checklist_cell_editor.dart | 10 +- .../actions/block_action_add_button.dart | 3 +- .../base/page_reference_commands.dart | 5 +- .../image/image_placeholder.dart | 2 +- .../math_equation_block_component.dart | 7 +- .../widgets/inline_actions_handler.dart | 15 +- .../startup/tasks/memory_leak_detector.dart | 2 +- .../menu/sidebar/folder/favorite_folder.dart | 3 +- .../menu/sidebar/folder/personal_folder.dart | 3 +- ...etting_file_import_appflowy_data_view.dart | 2 +- .../settings_customize_shortcuts_view.dart | 19 ++- ...settings_file_customize_location_view.dart | 8 +- .../widgets/date_picker_dialog.dart | 12 +- .../presentation/widgets/left_bar_item.dart | 86 ---------- .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../appflowy_backend/example/pubspec.yaml | 2 +- .../packages/appflowy_backend/pubspec.yaml | 2 +- .../example/lib/example_button.dart | 6 +- .../appflowy_popover/example/lib/main.dart | 4 +- .../appflowy_popover/example/pubspec.yaml | 2 +- .../appflowy_popover/lib/src/mask.dart | 3 +- .../appflowy_popover/lib/src/popover.dart | 7 +- .../packages/appflowy_popover/pubspec.yaml | 2 +- .../packages/flowy_infra/lib/icon_data.dart | 1 + .../packages/flowy_infra/pubspec.yaml | 4 +- .../example/lib/home/home_screen.dart | 2 +- .../example/lib/keyboard/keyboard_screen.dart | 2 +- .../flowy_infra_ui/example/lib/main.dart | 2 +- .../example/lib/overlay/overlay_screen.dart | 2 +- .../flowy_infra_ui/example/pubspec.yaml | 5 +- .../pubspec.yaml | 2 +- .../flowy_infra_ui_web/pubspec.yaml | 2 +- .../lib/src/flowy_overlay/flowy_overlay.dart | 2 +- .../lib/src/flowy_overlay/list_overlay.dart | 8 +- .../lib/src/flowy_overlay/option_overlay.dart | 8 +- .../lib/src/focus/auto_unfocus_overlay.dart | 4 +- .../keyboard_visibility_detector.dart | 9 +- .../lib/style_widget/bar_title.dart | 4 +- .../lib/style_widget/button.dart | 12 +- .../lib/style_widget/close_button.dart | 4 +- .../lib/style_widget/color_picker.dart | 4 +- .../lib/style_widget/container.dart | 5 +- .../lib/style_widget/hover.dart | 8 +- .../lib/style_widget/icon_button.dart | 5 +- .../lib/style_widget/image_icon.dart | 3 +- .../lib/style_widget/progress_indicator.dart | 2 +- .../style_widget/scrolling/styled_list.dart | 4 +- .../scrolling/styled_scroll_bar.dart | 5 +- .../scrolling/styled_scrollview.dart | 8 +- .../lib/style_widget/text_input.dart | 15 +- .../widget/buttons/base_styled_button.dart | 4 +- .../lib/widget/buttons/primary_button.dart | 8 +- .../lib/widget/constraint_flex_view.dart | 5 +- .../lib/widget/dialog/styled_dialogs.dart | 14 +- .../lib/widget/ignore_parent_gesture.dart | 4 +- .../lib/widget/mouse_hover_builder.dart | 3 +- .../lib/widget/rounded_button.dart | 8 +- .../lib/widget/rounded_input_field.dart | 4 +- .../flowy_infra_ui/lib/widget/spacing.dart | 2 +- .../packages/flowy_infra_ui/pubspec.yaml | 2 +- .../packages/flowy_svg/analysis_options.yaml | 2 +- frontend/appflowy_flutter/pubspec.lock | 150 +++++++++--------- frontend/appflowy_flutter/pubspec.yaml | 8 +- .../settings/shortcuts_list_tile_test.dart | 4 +- frontend/scripts/docker-buildfiles/Dockerfile | 2 +- .../scripts/install_dev_env/install_ios.sh | 12 +- .../scripts/install_dev_env/install_linux.sh | 12 +- .../scripts/install_dev_env/install_macos.sh | 12 +- .../install_dev_env/install_windows.sh | 12 +- 83 files changed, 286 insertions(+), 407 deletions(-) delete mode 100644 frontend/appflowy_flutter/lib/core/raw_keyboard_extension.dart delete mode 100644 frontend/appflowy_flutter/lib/workspace/presentation/widgets/left_bar_item.dart diff --git a/.github/workflows/flutter_ci.yaml b/.github/workflows/flutter_ci.yaml index 439df3143a..5c9b76ff9e 100644 --- a/.github/workflows/flutter_ci.yaml +++ b/.github/workflows/flutter_ci.yaml @@ -23,7 +23,7 @@ on: env: CARGO_TERM_COLOR: always - FLUTTER_VERSION: "3.18.0-0.2.pre" + FLUTTER_VERSION: "3.19.0" RUST_TOOLCHAIN: "1.75" CARGO_MAKE_VERSION: "0.36.6" @@ -76,7 +76,7 @@ jobs: id: flutter uses: subosito/flutter-action@v2 with: - channel: "beta" + channel: "stable" flutter-version: ${{ env.FLUTTER_VERSION }} - uses: Swatinem/rust-cache@v2 @@ -157,7 +157,7 @@ jobs: id: flutter uses: subosito/flutter-action@v2 with: - channel: "beta" + channel: "stable" flutter-version: ${{ env.FLUTTER_VERSION }} - uses: Swatinem/rust-cache@v2 @@ -260,7 +260,7 @@ jobs: id: flutter uses: subosito/flutter-action@v2 with: - channel: "beta" + channel: "stable" flutter-version: ${{ env.FLUTTER_VERSION }} - uses: taiki-e/install-action@v2 @@ -334,7 +334,7 @@ jobs: id: flutter uses: subosito/flutter-action@v2 with: - channel: "beta" + channel: "stable" flutter-version: ${{ env.FLUTTER_VERSION }} - uses: taiki-e/install-action@v2 @@ -425,7 +425,7 @@ jobs: id: flutter uses: subosito/flutter-action@v2 with: - channel: "beta" + channel: "stable" flutter-version: ${{ env.FLUTTER_VERSION }} - uses: taiki-e/install-action@v2 diff --git a/.github/workflows/mobile_ci.yaml b/.github/workflows/mobile_ci.yaml index 1fa136052c..702b7a523a 100644 --- a/.github/workflows/mobile_ci.yaml +++ b/.github/workflows/mobile_ci.yaml @@ -18,7 +18,7 @@ on: - "!frontend/appflowy_tauri/**" env: - FLUTTER_VERSION: "3.18.0-0.2.pre" + FLUTTER_VERSION: "3.19.0" concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} @@ -57,7 +57,7 @@ jobs: id: flutter uses: subosito/flutter-action@v2 with: - channel: "beta" + channel: "stable" flutter-version: ${{ env.FLUTTER_VERSION }} cache: true diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index cb767f2094..9514748ae1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -6,7 +6,7 @@ on: - "*" env: - FLUTTER_VERSION: "3.18.0-0.2.pre" + FLUTTER_VERSION: "3.19.0" RUST_TOOLCHAIN: "1.75" jobs: @@ -57,7 +57,7 @@ jobs: - name: Install flutter uses: subosito/flutter-action@v2 with: - channel: "beta" + channel: "stable" flutter-version: ${{ env.FLUTTER_VERSION }} - name: Install Rust toolchain @@ -143,7 +143,7 @@ jobs: - name: Install flutter uses: subosito/flutter-action@v2 with: - channel: "beta" + channel: "stable" flutter-version: ${{ env.FLUTTER_VERSION }} - name: Install Rust toolchain @@ -243,7 +243,7 @@ jobs: - name: Install flutter uses: subosito/flutter-action@v2 with: - channel: "beta" + channel: "stable" flutter-version: ${{ env.FLUTTER_VERSION }} - name: Install Rust toolchain @@ -348,7 +348,7 @@ jobs: - name: Install flutter uses: subosito/flutter-action@v2 with: - channel: "beta" + channel: "stable" flutter-version: ${{ env.FLUTTER_VERSION }} - name: Install Rust toolchain diff --git a/.github/workflows/rust_coverage.yml b/.github/workflows/rust_coverage.yml index 61cdb78822..426e36b619 100644 --- a/.github/workflows/rust_coverage.yml +++ b/.github/workflows/rust_coverage.yml @@ -10,7 +10,7 @@ on: env: CARGO_TERM_COLOR: always - FLUTTER_VERSION: "3.18.0-0.2.pre" + FLUTTER_VERSION: "3.19.0" RUST_TOOLCHAIN: "1.75" jobs: @@ -33,7 +33,7 @@ jobs: id: flutter uses: subosito/flutter-action@v2 with: - channel: "beta" + channel: "stable" flutter-version: ${{ env.FLUTTER_VERSION }} cache: true diff --git a/frontend/appflowy_flutter/ios/Flutter/AppFrameworkInfo.plist b/frontend/appflowy_flutter/ios/Flutter/AppFrameworkInfo.plist index 9625e105df..7c56964006 100644 --- a/frontend/appflowy_flutter/ios/Flutter/AppFrameworkInfo.plist +++ b/frontend/appflowy_flutter/ios/Flutter/AppFrameworkInfo.plist @@ -21,6 +21,6 @@ CFBundleVersion 1.0 MinimumOSVersion - 11.0 + 12.0 diff --git a/frontend/appflowy_flutter/ios/Podfile b/frontend/appflowy_flutter/ios/Podfile index c1a0ca9179..131b4885ea 100644 --- a/frontend/appflowy_flutter/ios/Podfile +++ b/frontend/appflowy_flutter/ios/Podfile @@ -1,5 +1,5 @@ # Uncomment this line to define a global platform for your project -# platform :ios, '11.0' +# platform :ios, '12.0' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' diff --git a/frontend/appflowy_flutter/ios/Podfile.lock b/frontend/appflowy_flutter/ios/Podfile.lock index 97f3d764e6..da33f7ea91 100644 --- a/frontend/appflowy_flutter/ios/Podfile.lock +++ b/frontend/appflowy_flutter/ios/Podfile.lock @@ -169,8 +169,8 @@ SPEC CHECKSUMS: DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179 file_picker: 15fd9539e4eb735dc54bae8c0534a7a9511a03de flowy_infra_ui: 0455e1fa8c51885aa1437848e361e99419f34ebc - Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854 - fluttertoast: fafc4fa4d01a6a9e4f772ecd190ffa525e9e2d9c + Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 + fluttertoast: 31b00dabfa7fb7bacd9e7dbee580d7a2ff4bf265 image_gallery_saver: cb43cc43141711190510e92c460eb1655cd343cb image_picker_ios: 99dfe1854b4fa34d0364e74a78448a0151025425 integration_test: 13825b8a9334a850581300559b8839134b124670 @@ -189,6 +189,6 @@ SPEC CHECKSUMS: Toast: 91b396c56ee72a5790816f40d3a94dd357abc196 url_launcher_ios: bbd758c6e7f9fd7b5b1d4cde34d2b95fcce5e812 -PODFILE CHECKSUM: 8c681999c7764593c94846b2a64b44d86f7a27ac +PODFILE CHECKSUM: d94f9be27d1db182e9bc77d10f065555d518f127 -COCOAPODS: 1.12.1 +COCOAPODS: 1.15.2 diff --git a/frontend/appflowy_flutter/ios/Runner.xcodeproj/project.pbxproj b/frontend/appflowy_flutter/ios/Runner.xcodeproj/project.pbxproj index 17a40b25c3..2fae19e29d 100644 --- a/frontend/appflowy_flutter/ios/Runner.xcodeproj/project.pbxproj +++ b/frontend/appflowy_flutter/ios/Runner.xcodeproj/project.pbxproj @@ -143,7 +143,7 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1430; + LastUpgradeCheck = 1510; ORGANIZATIONNAME = ""; TargetAttributes = { 97C146ED1CF9000F007C117D = { @@ -330,7 +330,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -419,7 +419,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -468,7 +468,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; diff --git a/frontend/appflowy_flutter/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/frontend/appflowy_flutter/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index b52b2e698b..e67b2808af 100644 --- a/frontend/appflowy_flutter/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/frontend/appflowy_flutter/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ keysPressed.any( - (key) => [ - LogicalKeyboardKey.alt, - LogicalKeyboardKey.altLeft, - LogicalKeyboardKey.altRight, - ].contains(key), - ); - - bool get isControlPressed => keysPressed.any( - (key) => [ - LogicalKeyboardKey.control, - LogicalKeyboardKey.controlLeft, - LogicalKeyboardKey.controlRight, - ].contains(key), - ); -} diff --git a/frontend/appflowy_flutter/lib/mobile/presentation/database/field/mobile_quick_field_editor.dart b/frontend/appflowy_flutter/lib/mobile/presentation/database/field/mobile_quick_field_editor.dart index 593eaf265a..b70c508aab 100644 --- a/frontend/appflowy_flutter/lib/mobile/presentation/database/field/mobile_quick_field_editor.dart +++ b/frontend/appflowy_flutter/lib/mobile/presentation/database/field/mobile_quick_field_editor.dart @@ -113,7 +113,7 @@ class _QuickEditFieldState extends State { controller.text = fieldOptionValues.name; }); } else { - if (mounted) { + if (context.mounted) { context.pop(); } } diff --git a/frontend/appflowy_flutter/lib/mobile/presentation/setting/language_setting_group.dart b/frontend/appflowy_flutter/lib/mobile/presentation/setting/language_setting_group.dart index 9a4bc494f0..6f4e65f2b4 100644 --- a/frontend/appflowy_flutter/lib/mobile/presentation/setting/language_setting_group.dart +++ b/frontend/appflowy_flutter/lib/mobile/presentation/setting/language_setting_group.dart @@ -48,7 +48,7 @@ class _LanguageSettingGroupState extends State { final newLocale = await context.push(LanguagePickerScreen.routeName); if (newLocale != null && newLocale != locale) { - if (mounted) { + if (context.mounted) { context .read() .setLocale(context, newLocale); diff --git a/frontend/appflowy_flutter/lib/plugins/database/board/presentation/widgets/board_column_header.dart b/frontend/appflowy_flutter/lib/plugins/database/board/presentation/widgets/board_column_header.dart index 22da35deaa..06eb9be584 100644 --- a/frontend/appflowy_flutter/lib/plugins/database/board/presentation/widgets/board_column_header.dart +++ b/frontend/appflowy_flutter/lib/plugins/database/board/presentation/widgets/board_column_header.dart @@ -138,12 +138,11 @@ class _BoardColumnHeaderState extends State { Widget _buildTextField(BuildContext context) { return Expanded( - child: RawKeyboardListener( + child: KeyboardListener( focusNode: FocusNode(), - onKey: (event) { - if (event is RawKeyDownEvent && - [LogicalKeyboardKey.enter, LogicalKeyboardKey.escape] - .contains(event.logicalKey)) { + onKeyEvent: (event) { + if ([LogicalKeyboardKey.enter, LogicalKeyboardKey.escape] + .contains(event.logicalKey)) { _saveEdit(); } }, diff --git a/frontend/appflowy_flutter/lib/plugins/database/widgets/cell_editor/checklist_cell_editor.dart b/frontend/appflowy_flutter/lib/plugins/database/widgets/cell_editor/checklist_cell_editor.dart index 6e69ded8a5..a2d0c4adb6 100644 --- a/frontend/appflowy_flutter/lib/plugins/database/widgets/cell_editor/checklist_cell_editor.dart +++ b/frontend/appflowy_flutter/lib/plugins/database/widgets/cell_editor/checklist_cell_editor.dart @@ -34,9 +34,8 @@ class _GridChecklistCellState extends State { void initState() { super.initState(); newTaskFocusNode = FocusNode( - onKey: (node, event) { - if (event is RawKeyDownEvent && - event.logicalKey == LogicalKeyboardKey.escape) { + onKeyEvent: (node, event) { + if (event.logicalKey == LogicalKeyboardKey.escape) { node.unfocus(); return KeyEventResult.handled; } @@ -170,9 +169,8 @@ class _ChecklistItemState extends State { super.initState(); _textController = TextEditingController(text: widget.task.data.name); _focusNode = FocusNode( - onKey: (node, event) { - if (event is RawKeyDownEvent && - event.logicalKey == LogicalKeyboardKey.escape) { + onKeyEvent: (node, event) { + if (event.logicalKey == LogicalKeyboardKey.escape) { node.unfocus(); return KeyEventResult.handled; } diff --git a/frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/actions/block_action_add_button.dart b/frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/actions/block_action_add_button.dart index 70b5066c94..b58b0a5646 100644 --- a/frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/actions/block_action_add_button.dart +++ b/frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/actions/block_action_add_button.dart @@ -1,6 +1,5 @@ import 'dart:io'; -import 'package:appflowy/core/raw_keyboard_extension.dart'; import 'package:appflowy/generated/flowy_svgs.g.dart'; import 'package:appflowy/generated/locale_keys.g.dart'; import 'package:appflowy/plugins/document/presentation/editor_plugins/actions/block_action_button.dart'; @@ -46,7 +45,7 @@ class BlockAddButton extends StatelessWidget { ], ), onTap: () { - final isAltPressed = RawKeyboard.instance.isAltPressed; + final isAltPressed = HardwareKeyboard.instance.isAltPressed; final transaction = editorState.transaction; diff --git a/frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/base/page_reference_commands.dart b/frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/base/page_reference_commands.dart index a5f5bd39da..f78b73bef7 100644 --- a/frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/base/page_reference_commands.dart +++ b/frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/base/page_reference_commands.dart @@ -79,7 +79,10 @@ Future inlinePageReferenceCommandHandler( } } - // ignore: use_build_context_synchronously + if (!context.mounted) { + return false; + } + final service = InlineActionsService( context: context, handlers: [ diff --git a/frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/image/image_placeholder.dart b/frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/image/image_placeholder.dart index 8eddfdd179..3a680d1c6b 100644 --- a/frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/image/image_placeholder.dart +++ b/frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/image/image_placeholder.dart @@ -199,7 +199,7 @@ class ImagePlaceholderState extends State { imageType = CustomImageType.internal; } - if (path == null && context.mounted) { + if (mounted && path == null) { showSnackBarMessage( context, LocaleKeys.document_imageBlock_error_invalidImage.tr(), diff --git a/frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/math_equation/math_equation_block_component.dart b/frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/math_equation/math_equation_block_component.dart index 0040f73df2..0fa144b02e 100644 --- a/frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/math_equation/math_equation_block_component.dart +++ b/frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/math_equation/math_equation_block_component.dart @@ -196,12 +196,11 @@ class MathEquationBlockComponentWidgetState title: Text( LocaleKeys.document_plugins_mathEquation_editMathEquation.tr(), ), - content: RawKeyboardListener( + content: KeyboardListener( focusNode: FocusNode(), - onKey: (key) { - if (key is! RawKeyDownEvent) return; + onKeyEvent: (key) { if (key.logicalKey == LogicalKeyboardKey.enter && - !key.isShiftPressed) { + !HardwareKeyboard.instance.isShiftPressed) { updateMathEquation(controller.text, context); } else if (key.logicalKey == LogicalKeyboardKey.escape) { dismiss(context); diff --git a/frontend/appflowy_flutter/lib/plugins/inline_actions/widgets/inline_actions_handler.dart b/frontend/appflowy_flutter/lib/plugins/inline_actions/widgets/inline_actions_handler.dart index 8e44232019..6f8babf22f 100644 --- a/frontend/appflowy_flutter/lib/plugins/inline_actions/widgets/inline_actions_handler.dart +++ b/frontend/appflowy_flutter/lib/plugins/inline_actions/widgets/inline_actions_handler.dart @@ -1,6 +1,3 @@ -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; - import 'package:appflowy/generated/locale_keys.g.dart'; import 'package:appflowy/plugins/inline_actions/inline_actions_menu.dart'; import 'package:appflowy/plugins/inline_actions/inline_actions_result.dart'; @@ -10,6 +7,8 @@ import 'package:appflowy_editor/appflowy_editor.dart'; import 'package:collection/collection.dart'; import 'package:easy_localization/easy_localization.dart'; import 'package:flowy_infra_ui/style_widget/text.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; /// All heights are in physical pixels const double _groupTextHeight = 14; // 12 height + 2 bottom spacing @@ -145,7 +144,7 @@ class _InlineActionsHandlerState extends State { Widget build(BuildContext context) { return Focus( focusNode: _focusNode, - onKey: onKey, + onKeyEvent: onKeyEvent, child: Container( constraints: BoxConstraints.loose(const Size(200, _menuHeight)), decoration: BoxDecoration( @@ -208,11 +207,7 @@ class _InlineActionsHandlerState extends State { InlineActionsMenuItem handlerOf(int groupIndex, int handlerIndex) => results[groupIndex].results[handlerIndex]; - KeyEventResult onKey(focus, event) { - if (event is! RawKeyDownEvent) { - return KeyEventResult.ignored; - } - + KeyEventResult onKeyEvent(focus, KeyEvent event) { const moveKeys = [ LogicalKeyboardKey.arrowUp, LogicalKeyboardKey.arrowDown, @@ -348,7 +343,7 @@ class _InlineActionsHandlerState extends State { if (key == LogicalKeyboardKey.arrowUp || (key == LogicalKeyboardKey.tab && - RawKeyboard.instance.isShiftPressed)) { + HardwareKeyboard.instance.isShiftPressed)) { if (_selectedIndex == 0 && _selectedGroup > 0) { _selectedGroup -= 1; _selectedIndex = lengthOfGroup(_selectedGroup) - 1; diff --git a/frontend/appflowy_flutter/lib/startup/tasks/memory_leak_detector.dart b/frontend/appflowy_flutter/lib/startup/tasks/memory_leak_detector.dart index a4ae27a7fc..f35c955b3d 100644 --- a/frontend/appflowy_flutter/lib/startup/tasks/memory_leak_detector.dart +++ b/frontend/appflowy_flutter/lib/startup/tasks/memory_leak_detector.dart @@ -34,7 +34,7 @@ class MemoryLeakDetectorTask extends LaunchTask { ), ); - MemoryAllocations.instance.addListener((p0) { + FlutterMemoryAllocations.instance.addListener((p0) { LeakTracking.dispatchObjectEvent(p0.toMap()); }); diff --git a/frontend/appflowy_flutter/lib/workspace/presentation/home/menu/sidebar/folder/favorite_folder.dart b/frontend/appflowy_flutter/lib/workspace/presentation/home/menu/sidebar/folder/favorite_folder.dart index a1be030311..d61feb25de 100644 --- a/frontend/appflowy_flutter/lib/workspace/presentation/home/menu/sidebar/folder/favorite_folder.dart +++ b/frontend/appflowy_flutter/lib/workspace/presentation/home/menu/sidebar/folder/favorite_folder.dart @@ -1,4 +1,3 @@ -import 'package:appflowy/core/raw_keyboard_extension.dart'; import 'package:appflowy/generated/locale_keys.g.dart'; import 'package:appflowy/workspace/application/sidebar/folder/folder_bloc.dart'; import 'package:appflowy/workspace/application/tabs/tabs_bloc.dart'; @@ -54,7 +53,7 @@ class FavoriteFolder extends StatelessWidget { view: view, level: 0, onSelected: (view) { - if (RawKeyboard.instance.isControlPressed) { + if (HardwareKeyboard.instance.isControlPressed) { context.read().openTab(view); } diff --git a/frontend/appflowy_flutter/lib/workspace/presentation/home/menu/sidebar/folder/personal_folder.dart b/frontend/appflowy_flutter/lib/workspace/presentation/home/menu/sidebar/folder/personal_folder.dart index fafc2989c8..e6352f5c38 100644 --- a/frontend/appflowy_flutter/lib/workspace/presentation/home/menu/sidebar/folder/personal_folder.dart +++ b/frontend/appflowy_flutter/lib/workspace/presentation/home/menu/sidebar/folder/personal_folder.dart @@ -1,4 +1,3 @@ -import 'package:appflowy/core/raw_keyboard_extension.dart'; import 'package:appflowy/generated/flowy_svgs.g.dart'; import 'package:appflowy/generated/locale_keys.g.dart'; import 'package:appflowy/workspace/application/menu/menu_bloc.dart'; @@ -53,7 +52,7 @@ class PersonalFolder extends StatelessWidget { leftPadding: 16, isFeedback: false, onSelected: (view) { - if (RawKeyboard.instance.isControlPressed) { + if (HardwareKeyboard.instance.isControlPressed) { context.read().openTab(view); } diff --git a/frontend/appflowy_flutter/lib/workspace/presentation/settings/widgets/setting_file_import_appflowy_data_view.dart b/frontend/appflowy_flutter/lib/workspace/presentation/settings/widgets/setting_file_import_appflowy_data_view.dart index fa689f4849..a54e461db0 100644 --- a/frontend/appflowy_flutter/lib/workspace/presentation/settings/widgets/setting_file_import_appflowy_data_view.dart +++ b/frontend/appflowy_flutter/lib/workspace/presentation/settings/widgets/setting_file_import_appflowy_data_view.dart @@ -139,7 +139,7 @@ class _ImportAppFlowyDataButtonState extends State { onTap: () async { final path = await getIt().getDirectoryPath(); - if (path == null || !mounted) { + if (path == null || !context.mounted) { return; } diff --git a/frontend/appflowy_flutter/lib/workspace/presentation/settings/widgets/settings_customize_shortcuts_view.dart b/frontend/appflowy_flutter/lib/workspace/presentation/settings/widgets/settings_customize_shortcuts_view.dart index 382c3d9833..a98b18c615 100644 --- a/frontend/appflowy_flutter/lib/workspace/presentation/settings/widgets/settings_customize_shortcuts_view.dart +++ b/frontend/appflowy_flutter/lib/workspace/presentation/settings/widgets/settings_customize_shortcuts_view.dart @@ -145,12 +145,11 @@ class ShortcutsListTile extends StatelessWidget { final formKey = GlobalKey(); return AlertDialog( title: Text(LocaleKeys.settings_shortcuts_updateShortcutStep.tr()), - content: RawKeyboardListener( + content: KeyboardListener( focusNode: FocusNode(), - onKey: (key) { - if (key is! RawKeyDownEvent) return; + onKeyEvent: (key) { if (key.logicalKey == LogicalKeyboardKey.enter && - !key.isShiftPressed) { + !HardwareKeyboard.instance.isShiftPressed) { if (controller.text == shortcutEvent.command) { _dismiss(builderContext); } @@ -161,7 +160,7 @@ class ShortcutsListTile extends StatelessWidget { } else if (key.logicalKey == LogicalKeyboardKey.escape) { _dismiss(builderContext); } else { - //extract the keybinding command from the rawkeyevent. + //extract the keybinding command from the key event. controller.text = key.convertToCommand; } }, @@ -207,19 +206,19 @@ class ShortcutsListTile extends StatelessWidget { void _dismiss(BuildContext context) => Navigator.of(context).pop(); } -extension on RawKeyEvent { +extension on KeyEvent { String get convertToCommand { String command = ''; - if (isAltPressed) { + if (HardwareKeyboard.instance.isAltPressed) { command += 'alt+'; } - if (isControlPressed) { + if (HardwareKeyboard.instance.isControlPressed) { command += 'ctrl+'; } - if (isShiftPressed) { + if (HardwareKeyboard.instance.isShiftPressed) { command += 'shift+'; } - if (isMetaPressed) { + if (HardwareKeyboard.instance.isMetaPressed) { command += 'meta+'; } diff --git a/frontend/appflowy_flutter/lib/workspace/presentation/settings/widgets/settings_file_customize_location_view.dart b/frontend/appflowy_flutter/lib/workspace/presentation/settings/widgets/settings_file_customize_location_view.dart index e53d6f6a26..0116690dbb 100644 --- a/frontend/appflowy_flutter/lib/workspace/presentation/settings/widgets/settings_file_customize_location_view.dart +++ b/frontend/appflowy_flutter/lib/workspace/presentation/settings/widgets/settings_file_customize_location_view.dart @@ -202,12 +202,12 @@ class _ChangeStoragePathButtonState extends State<_ChangeStoragePathButton> { if (path == null || widget.usingPath == path) { return; } - if (!mounted) { + if (!context.mounted) { return; } await context.read().setCustomPath(path); await runAppFlowy(isAnon: true); - if (mounted) { + if (context.mounted) { Navigator.of(context).pop(); } }, @@ -272,14 +272,14 @@ class _RecoverDefaultStorageButtonState if (widget.usingPath == path) { return; } - if (!mounted) { + if (!context.mounted) { return; } await context .read() .resetDataStoragePathToApplicationDefault(); await runAppFlowy(isAnon: true); - if (mounted) { + if (context.mounted) { Navigator.of(context).pop(); } }, diff --git a/frontend/appflowy_flutter/lib/workspace/presentation/widgets/date_picker/widgets/date_picker_dialog.dart b/frontend/appflowy_flutter/lib/workspace/presentation/widgets/date_picker/widgets/date_picker_dialog.dart index ce79c932b3..10eb499292 100644 --- a/frontend/appflowy_flutter/lib/workspace/presentation/widgets/date_picker/widgets/date_picker_dialog.dart +++ b/frontend/appflowy_flutter/lib/workspace/presentation/widgets/date_picker/widgets/date_picker_dialog.dart @@ -1,6 +1,3 @@ -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; - import 'package:appflowy/workspace/presentation/widgets/date_picker/appflowy_date_picker.dart'; import 'package:appflowy/workspace/presentation/widgets/date_picker/utils/date_time_format_ext.dart'; import 'package:appflowy/workspace/presentation/widgets/date_picker/utils/user_time_format_ext.dart'; @@ -9,6 +6,8 @@ import 'package:appflowy_backend/protobuf/flowy-user/date_time.pbenum.dart'; import 'package:appflowy_editor/appflowy_editor.dart'; import 'package:appflowy_popover/appflowy_popover.dart'; import 'package:flowy_infra_ui/style_widget/decoration.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; /// Provides arguemnts for [AppFlowyDatePicker] when showing /// a [DatePickerMenu] @@ -118,11 +117,10 @@ class DatePickerMenu extends DatePickerService { child: SizedBox( height: editorSize.height, width: editorSize.width, - child: RawKeyboardListener( + child: KeyboardListener( focusNode: FocusNode()..requestFocus(), - onKey: (event) { - if (event is RawKeyDownEvent && - event.logicalKey == LogicalKeyboardKey.escape) { + onKeyEvent: (event) { + if (event.logicalKey == LogicalKeyboardKey.escape) { dismiss(); } }, diff --git a/frontend/appflowy_flutter/lib/workspace/presentation/widgets/left_bar_item.dart b/frontend/appflowy_flutter/lib/workspace/presentation/widgets/left_bar_item.dart deleted file mode 100644 index 4c142be09b..0000000000 --- a/frontend/appflowy_flutter/lib/workspace/presentation/widgets/left_bar_item.dart +++ /dev/null @@ -1,86 +0,0 @@ -import 'package:appflowy/workspace/application/view/view_listener.dart'; -import 'package:appflowy/workspace/application/view/view_service.dart'; -import 'package:appflowy_backend/protobuf/flowy-folder/view.pb.dart'; -import 'package:flutter/material.dart'; - -// TODO: Remove this file after the migration is done. -class ViewLeftBarItem extends StatefulWidget { - ViewLeftBarItem({ - required this.view, - }) : super(key: ValueKey(view.id)); - - final ViewPB view; - - @override - State createState() => _ViewLeftBarItemState(); -} - -class _ViewLeftBarItemState extends State { - final _controller = TextEditingController(); - final _focusNode = FocusNode(); - late final ViewListener _viewListener; - late ViewPB view; - - @override - void initState() { - super.initState(); - view = widget.view; - _focusNode.addListener(_handleFocusChanged); - _viewListener = ViewListener(viewId: widget.view.id); - _viewListener.start( - onViewUpdated: (updatedView) { - if (mounted) { - setState(() { - view = updatedView; - _controller.text = view.name; - }); - } - }, - ); - _controller.text = view.name; - } - - @override - void dispose() { - _controller.dispose(); - _focusNode.removeListener(_handleFocusChanged); - _focusNode.dispose(); - _viewListener.stop(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return GestureDetector( - key: ValueKey(_controller.text), - onDoubleTap: () { - _controller.selection = TextSelection( - baseOffset: 0, - extentOffset: _controller.text.length, - ); - }, - child: TextField( - controller: _controller, - focusNode: _focusNode, - scrollPadding: EdgeInsets.zero, - decoration: const InputDecoration( - contentPadding: EdgeInsets.symmetric(vertical: 4.0), - border: InputBorder.none, - isDense: true, - ), - style: Theme.of(context).textTheme.bodyMedium, - ), - ); - } - - void _handleFocusChanged() { - if (_controller.text.isEmpty) { - _controller.text = view.name; - return; - } - - if (_controller.text != view.name) { - ViewBackendService.updateView(viewId: view.id, name: _controller.text); - } - } -} diff --git a/frontend/appflowy_flutter/macos/Runner.xcodeproj/project.pbxproj b/frontend/appflowy_flutter/macos/Runner.xcodeproj/project.pbxproj index 0357a297b3..13448a56c9 100644 --- a/frontend/appflowy_flutter/macos/Runner.xcodeproj/project.pbxproj +++ b/frontend/appflowy_flutter/macos/Runner.xcodeproj/project.pbxproj @@ -206,7 +206,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1430; + LastUpgradeCheck = 1510; ORGANIZATIONNAME = ""; TargetAttributes = { 33CC10EC2044A3C60003C045 = { diff --git a/frontend/appflowy_flutter/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/frontend/appflowy_flutter/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 10d57fd28e..74866db678 100644 --- a/frontend/appflowy_flutter/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/frontend/appflowy_flutter/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ createState() => _PopoverMenuState(); @@ -77,11 +77,11 @@ class ExampleButton extends StatelessWidget { final PopoverDirection? direction; const ExampleButton({ - Key? key, + super.key, required this.label, this.direction, this.offset = Offset.zero, - }) : super(key: key); + }); @override Widget build(BuildContext context) { diff --git a/frontend/appflowy_flutter/packages/appflowy_popover/example/lib/main.dart b/frontend/appflowy_flutter/packages/appflowy_popover/example/lib/main.dart index 96c11dabbf..f4e017aa8f 100644 --- a/frontend/appflowy_flutter/packages/appflowy_popover/example/lib/main.dart +++ b/frontend/appflowy_flutter/packages/appflowy_popover/example/lib/main.dart @@ -7,7 +7,7 @@ void main() { } class MyApp extends StatelessWidget { - const MyApp({Key? key}) : super(key: key); + const MyApp({super.key}); // This widget is the root of your application. @override @@ -32,7 +32,7 @@ class MyApp extends StatelessWidget { } class MyHomePage extends StatefulWidget { - const MyHomePage({Key? key, required this.title}) : super(key: key); + const MyHomePage({super.key, required this.title}); // This widget is the home page of your application. It is stateful, meaning // that it has a State object (defined below) that contains fields that affect diff --git a/frontend/appflowy_flutter/packages/appflowy_popover/example/pubspec.yaml b/frontend/appflowy_flutter/packages/appflowy_popover/example/pubspec.yaml index 8a685fe202..8131f84949 100644 --- a/frontend/appflowy_flutter/packages/appflowy_popover/example/pubspec.yaml +++ b/frontend/appflowy_flutter/packages/appflowy_popover/example/pubspec.yaml @@ -45,7 +45,7 @@ dev_dependencies: # activated in the `analysis_options.yaml` file located at the root of your # package. See that file for information about deactivating specific lint # rules and activating additional ones. - flutter_lints: ^2.0.0 + flutter_lints: ^3.0.1 # For information on the generic Dart part of this file, see the # following page: https://dart.dev/tools/pub/pubspec diff --git a/frontend/appflowy_flutter/packages/appflowy_popover/lib/src/mask.dart b/frontend/appflowy_flutter/packages/appflowy_popover/lib/src/mask.dart index 30c744902e..f68fe95445 100644 --- a/frontend/appflowy_flutter/packages/appflowy_popover/lib/src/mask.dart +++ b/frontend/appflowy_flutter/packages/appflowy_popover/lib/src/mask.dart @@ -70,8 +70,7 @@ class PopoverMask extends StatelessWidget { final void Function() onTap; final Decoration? decoration; - const PopoverMask({Key? key, required this.onTap, this.decoration}) - : super(key: key); + const PopoverMask({super.key, required this.onTap, this.decoration}); @override Widget build(BuildContext context) { diff --git a/frontend/appflowy_flutter/packages/appflowy_popover/lib/src/popover.dart b/frontend/appflowy_flutter/packages/appflowy_popover/lib/src/popover.dart index e55a6f6643..8a18b447a7 100644 --- a/frontend/appflowy_flutter/packages/appflowy_popover/lib/src/popover.dart +++ b/frontend/appflowy_flutter/packages/appflowy_popover/lib/src/popover.dart @@ -163,8 +163,7 @@ class PopoverState extends State { return FocusScope( onKey: (node, event) { - if (event is RawKeyDownEvent && - event.logicalKey == LogicalKeyboardKey.escape) { + if (event.logicalKey == LogicalKeyboardKey.escape) { _removeRootOverlay(); return KeyEventResult.handled; } @@ -265,7 +264,7 @@ class PopoverContainer extends StatefulWidget { final void Function() onCloseAll; const PopoverContainer({ - Key? key, + super.key, required this.popupBuilder, required this.direction, required this.popoverLink, @@ -273,7 +272,7 @@ class PopoverContainer extends StatefulWidget { required this.windowPadding, required this.onClose, required this.onCloseAll, - }) : super(key: key); + }); @override State createState() => PopoverContainerState(); diff --git a/frontend/appflowy_flutter/packages/appflowy_popover/pubspec.yaml b/frontend/appflowy_flutter/packages/appflowy_popover/pubspec.yaml index 137faaccae..9dd11b27ac 100644 --- a/frontend/appflowy_flutter/packages/appflowy_popover/pubspec.yaml +++ b/frontend/appflowy_flutter/packages/appflowy_popover/pubspec.yaml @@ -14,7 +14,7 @@ dependencies: dev_dependencies: flutter_test: sdk: flutter - flutter_lints: ^2.0.0 + flutter_lints: ^3.0.1 # For information on the generic Dart part of this file, see the # following page: https://dart.dev/tools/pub/pubspec diff --git a/frontend/appflowy_flutter/packages/flowy_infra/lib/icon_data.dart b/frontend/appflowy_flutter/packages/flowy_infra/lib/icon_data.dart index e6df4c7428..c797d4c513 100644 --- a/frontend/appflowy_flutter/packages/flowy_infra/lib/icon_data.dart +++ b/frontend/appflowy_flutter/packages/flowy_infra/lib/icon_data.dart @@ -13,6 +13,7 @@ /// /// /// +library; // ignore_for_file: constant_identifier_names import 'package:flutter/widgets.dart'; diff --git a/frontend/appflowy_flutter/packages/flowy_infra/pubspec.yaml b/frontend/appflowy_flutter/packages/flowy_infra/pubspec.yaml index d3cfa7c9c0..6e6322f879 100644 --- a/frontend/appflowy_flutter/packages/flowy_infra/pubspec.yaml +++ b/frontend/appflowy_flutter/packages/flowy_infra/pubspec.yaml @@ -26,8 +26,8 @@ dev_dependencies: flutter_test: sdk: flutter build_runner: ^2.2.0 - flutter_lints: ^2.0.1 - freezed: 2.2.0 + flutter_lints: ^3.0.1 + freezed: ^2.4.7 json_serializable: ^6.5.4 # For information on the generic Dart part of this file, see the diff --git a/frontend/appflowy_flutter/packages/flowy_infra_ui/example/lib/home/home_screen.dart b/frontend/appflowy_flutter/packages/flowy_infra_ui/example/lib/home/home_screen.dart index 954930e9cd..875440c04e 100644 --- a/frontend/appflowy_flutter/packages/flowy_infra_ui/example/lib/home/home_screen.dart +++ b/frontend/appflowy_flutter/packages/flowy_infra_ui/example/lib/home/home_screen.dart @@ -5,7 +5,7 @@ import '../keyboard/keyboard_screen.dart'; import 'demo_item.dart'; class HomeScreen extends StatelessWidget { - const HomeScreen({Key? key}) : super(key: key); + const HomeScreen({super.key}); static List items = [ SectionHeaderItem('Widget Demos'), diff --git a/frontend/appflowy_flutter/packages/flowy_infra_ui/example/lib/keyboard/keyboard_screen.dart b/frontend/appflowy_flutter/packages/flowy_infra_ui/example/lib/keyboard/keyboard_screen.dart index d7704366f2..2b1a1cf59e 100644 --- a/frontend/appflowy_flutter/packages/flowy_infra_ui/example/lib/keyboard/keyboard_screen.dart +++ b/frontend/appflowy_flutter/packages/flowy_infra_ui/example/lib/keyboard/keyboard_screen.dart @@ -19,7 +19,7 @@ class KeyboardItem extends DemoItem { } class KeyboardScreen extends StatefulWidget { - const KeyboardScreen({Key? key}) : super(key: key); + const KeyboardScreen({super.key}); @override State createState() => _KeyboardScreenState(); diff --git a/frontend/appflowy_flutter/packages/flowy_infra_ui/example/lib/main.dart b/frontend/appflowy_flutter/packages/flowy_infra_ui/example/lib/main.dart index 9554d93f41..ecaa6266c6 100644 --- a/frontend/appflowy_flutter/packages/flowy_infra_ui/example/lib/main.dart +++ b/frontend/appflowy_flutter/packages/flowy_infra_ui/example/lib/main.dart @@ -9,7 +9,7 @@ void main() { } class ExampleApp extends StatelessWidget { - const ExampleApp({Key? key}) : super(key: key); + const ExampleApp({super.key}); @override Widget build(BuildContext context) { diff --git a/frontend/appflowy_flutter/packages/flowy_infra_ui/example/lib/overlay/overlay_screen.dart b/frontend/appflowy_flutter/packages/flowy_infra_ui/example/lib/overlay/overlay_screen.dart index ae5cf7ef67..bec711cc98 100644 --- a/frontend/appflowy_flutter/packages/flowy_infra_ui/example/lib/overlay/overlay_screen.dart +++ b/frontend/appflowy_flutter/packages/flowy_infra_ui/example/lib/overlay/overlay_screen.dart @@ -44,7 +44,7 @@ class OverlayDemoConfiguration extends ChangeNotifier { } class OverlayScreen extends StatelessWidget { - const OverlayScreen({Key? key}) : super(key: key); + const OverlayScreen({super.key}); @override Widget build(BuildContext context) { diff --git a/frontend/appflowy_flutter/packages/flowy_infra_ui/example/pubspec.yaml b/frontend/appflowy_flutter/packages/flowy_infra_ui/example/pubspec.yaml index b9c8ec058e..3cd07738f8 100644 --- a/frontend/appflowy_flutter/packages/flowy_infra_ui/example/pubspec.yaml +++ b/frontend/appflowy_flutter/packages/flowy_infra_ui/example/pubspec.yaml @@ -4,7 +4,8 @@ description: Demonstrates how to use the flowy_infra_ui plugin. publish_to: 'none' # Remove this line if you wish to publish to pub.dev environment: - sdk: ">=2.12.0 <3.0.0" + flutter: ">=3.19.0" + sdk: ">=3.1.5 <4.0.0" dependencies: flutter: @@ -20,7 +21,7 @@ dev_dependencies: flutter_test: sdk: flutter - flutter_lints: ^2.0.1 + flutter_lints: ^3.0.1 flutter: uses-material-design: true diff --git a/frontend/appflowy_flutter/packages/flowy_infra_ui/flowy_infra_ui_platform_interface/pubspec.yaml b/frontend/appflowy_flutter/packages/flowy_infra_ui/flowy_infra_ui_platform_interface/pubspec.yaml index 2f375be367..f2e3eb8749 100644 --- a/frontend/appflowy_flutter/packages/flowy_infra_ui/flowy_infra_ui_platform_interface/pubspec.yaml +++ b/frontend/appflowy_flutter/packages/flowy_infra_ui/flowy_infra_ui_platform_interface/pubspec.yaml @@ -16,6 +16,6 @@ dependencies: dev_dependencies: flutter_test: sdk: flutter - flutter_lints: ^2.0.1 + flutter_lints: ^3.0.1 flutter: \ No newline at end of file diff --git a/frontend/appflowy_flutter/packages/flowy_infra_ui/flowy_infra_ui_web/pubspec.yaml b/frontend/appflowy_flutter/packages/flowy_infra_ui/flowy_infra_ui_web/pubspec.yaml index 224d7bf47f..bbdac0d2e4 100644 --- a/frontend/appflowy_flutter/packages/flowy_infra_ui/flowy_infra_ui_web/pubspec.yaml +++ b/frontend/appflowy_flutter/packages/flowy_infra_ui/flowy_infra_ui_web/pubspec.yaml @@ -18,7 +18,7 @@ dependencies: dev_dependencies: flutter_test: sdk: flutter - flutter_lints: ^2.0.1 + flutter_lints: ^3.0.1 flutter: plugin: diff --git a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/src/flowy_overlay/flowy_overlay.dart b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/src/flowy_overlay/flowy_overlay.dart index 4978906e93..0345102d8c 100644 --- a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/src/flowy_overlay/flowy_overlay.dart +++ b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/src/flowy_overlay/flowy_overlay.dart @@ -78,7 +78,7 @@ abstract mixin class FlowyOverlayDelegate { } class FlowyOverlay extends StatefulWidget { - const FlowyOverlay({Key? key, required this.child}) : super(key: key); + const FlowyOverlay({super.key, required this.child}); final Widget child; diff --git a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/src/flowy_overlay/list_overlay.dart b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/src/flowy_overlay/list_overlay.dart index eecc81283c..2b61839ac3 100644 --- a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/src/flowy_overlay/list_overlay.dart +++ b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/src/flowy_overlay/list_overlay.dart @@ -17,13 +17,13 @@ class ListOverlayFooter { class ListOverlay extends StatelessWidget { const ListOverlay({ - Key? key, + super.key, required this.itemBuilder, this.itemCount = 0, this.controller, this.constraints = const BoxConstraints(), this.footer, - }) : super(key: key); + }); final IndexedWidgetBuilder itemBuilder; final int itemCount; @@ -117,8 +117,8 @@ class OverlayContainer extends StatelessWidget { required this.child, this.constraints, this.padding = overlayContainerPadding, - Key? key, - }) : super(key: key); + super.key, + }); @override Widget build(BuildContext context) { diff --git a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/src/flowy_overlay/option_overlay.dart b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/src/flowy_overlay/option_overlay.dart index d6dfc4607d..5248665c41 100644 --- a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/src/flowy_overlay/option_overlay.dart +++ b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/src/flowy_overlay/option_overlay.dart @@ -10,11 +10,11 @@ class OptionItem { class OptionOverlay extends StatelessWidget { const OptionOverlay({ - Key? key, + super.key, required this.items, this.onHover, this.onTap, - }) : super(key: key); + }); final List items; final IndexedValueCallback? onHover; @@ -69,8 +69,8 @@ class OptionOverlay extends StatelessWidget { class _OptionListItem extends StatelessWidget { const _OptionListItem( this.value, { - Key? key, - }) : super(key: key); + super.key, + }); final T value; diff --git a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/src/focus/auto_unfocus_overlay.dart b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/src/focus/auto_unfocus_overlay.dart index 45faebc07d..148a812910 100644 --- a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/src/focus/auto_unfocus_overlay.dart +++ b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/src/focus/auto_unfocus_overlay.dart @@ -2,9 +2,9 @@ import 'package:flutter/material.dart'; class AutoUnfocus extends StatelessWidget { const AutoUnfocus({ - Key? key, + super.key, required this.child, - }) : super(key: key); + }); final Widget child; diff --git a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/src/keyboard/keyboard_visibility_detector.dart b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/src/keyboard/keyboard_visibility_detector.dart index 643ddd94b1..cbe9a07908 100644 --- a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/src/keyboard/keyboard_visibility_detector.dart +++ b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/src/keyboard/keyboard_visibility_detector.dart @@ -5,10 +5,10 @@ import 'package:flutter/material.dart'; class KeyboardVisibilityDetector extends StatefulWidget { const KeyboardVisibilityDetector({ - Key? key, + super.key, required this.child, this.onKeyboardVisibilityChange, - }) : super(key: key); + }); final Widget child; final void Function(bool)? onKeyboardVisibilityChange; @@ -57,10 +57,9 @@ class _KeyboardVisibilityDetectorState class _KeyboardVisibilityDetectorInheritedWidget extends InheritedWidget { const _KeyboardVisibilityDetectorInheritedWidget({ - Key? key, required this.isKeyboardVisible, - required Widget child, - }) : super(key: key, child: child); + required super.child, + }); final bool isKeyboardVisible; diff --git a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/bar_title.dart b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/bar_title.dart index 47cd1cd8e9..cc54a8ba00 100644 --- a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/bar_title.dart +++ b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/bar_title.dart @@ -4,9 +4,9 @@ class FlowyBarTitle extends StatelessWidget { final String title; const FlowyBarTitle({ - Key? key, + super.key, required this.title, - }) : super(key: key); + }); @override Widget build(BuildContext context) { diff --git a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/button.dart b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/button.dart index 237f3e5199..e2cd3bc48e 100644 --- a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/button.dart +++ b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/button.dart @@ -31,7 +31,7 @@ class FlowyButton extends StatelessWidget { final bool expand; const FlowyButton({ - Key? key, + super.key, required this.text, this.onTap, this.onSecondaryTap, @@ -52,7 +52,7 @@ class FlowyButton extends StatelessWidget { this.showDefaultBoxDecorationOnMobile = false, this.iconPadding = 6, this.expand = false, - }) : super(key: key); + }); @override Widget build(BuildContext context) { @@ -168,7 +168,7 @@ class FlowyTextButton extends StatelessWidget { // final HoverDisplayConfig? hoverDisplay; const FlowyTextButton( this.text, { - Key? key, + super.key, this.onPressed, this.fontSize, this.fontColor, @@ -184,7 +184,7 @@ class FlowyTextButton extends StatelessWidget { this.constraints = const BoxConstraints(minWidth: 0.0, minHeight: 0.0), this.decoration, this.fontFamily, - }) : super(key: key); + }); @override Widget build(BuildContext context) { @@ -260,7 +260,7 @@ class FlowyRichTextButton extends StatelessWidget { // final HoverDisplayConfig? hoverDisplay; const FlowyRichTextButton( this.text, { - Key? key, + super.key, this.onPressed, this.overflow = TextOverflow.ellipsis, this.padding = const EdgeInsets.symmetric(horizontal: 8, vertical: 6), @@ -272,7 +272,7 @@ class FlowyRichTextButton extends StatelessWidget { this.tooltip, this.constraints = const BoxConstraints(minWidth: 58.0, minHeight: 30.0), this.decoration, - }) : super(key: key); + }); @override Widget build(BuildContext context) { diff --git a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/close_button.dart b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/close_button.dart index 371ee123ed..94b1d3d40e 100644 --- a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/close_button.dart +++ b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/close_button.dart @@ -4,9 +4,9 @@ class FlowyCloseButton extends StatelessWidget { final VoidCallback? onPressed; const FlowyCloseButton({ - Key? key, + super.key, this.onPressed, - }) : super(key: key); + }); @override Widget build(BuildContext context) { diff --git a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/color_picker.dart b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/color_picker.dart index 50b32d2f3b..afb4a787ed 100644 --- a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/color_picker.dart +++ b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/color_picker.dart @@ -24,7 +24,7 @@ class FlowyColorPicker extends StatelessWidget { final Border? border; const FlowyColorPicker({ - Key? key, + super.key, required this.colors, this.selected, this.onTap, @@ -32,7 +32,7 @@ class FlowyColorPicker extends StatelessWidget { this.iconSize = 16, this.itemHeight = 32, this.border, - }) : super(key: key); + }); @override Widget build(BuildContext context) { diff --git a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/container.dart b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/container.dart index 94db80afc2..32f9809f68 100644 --- a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/container.dart +++ b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/container.dart @@ -14,7 +14,7 @@ class FlowyContainer extends StatelessWidget { final BoxBorder? border; const FlowyContainer(this.color, - {Key? key, + {super.key, this.borderRadius, this.shadows, this.child, @@ -23,8 +23,7 @@ class FlowyContainer extends StatelessWidget { this.align, this.margin, this.duration, - this.border}) - : super(key: key); + this.border}); @override Widget build(BuildContext context) { diff --git a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/hover.dart b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/hover.dart index 585ae7b5a8..299eb76015 100644 --- a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/hover.dart +++ b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/hover.dart @@ -24,7 +24,7 @@ class FlowyHover extends StatefulWidget { final bool Function()? buildWhenOnHover; const FlowyHover({ - Key? key, + super.key, this.builder, this.child, this.style, @@ -33,7 +33,7 @@ class FlowyHover extends StatefulWidget { this.cursor, this.resetHoverOnRebuild = true, this.buildWhenOnHover, - }) : super(key: key); + }); @override State createState() => _FlowyHoverState(); @@ -136,10 +136,10 @@ class FlowyHoverContainer extends StatelessWidget { final Widget child; const FlowyHoverContainer({ - Key? key, + super.key, required this.child, required this.style, - }) : super(key: key); + }); @override Widget build(BuildContext context) { diff --git a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/icon_button.dart b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/icon_button.dart index 3102f0276e..010c7cd6f9 100644 --- a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/icon_button.dart +++ b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/icon_button.dart @@ -23,7 +23,7 @@ class FlowyIconButton extends StatelessWidget { final bool? isSelected; const FlowyIconButton({ - Key? key, + super.key, this.width = 30, this.height, this.onPressed, @@ -40,8 +40,7 @@ class FlowyIconButton extends StatelessWidget { required this.icon, }) : assert((richTooltipText != null && tooltipText == null) || (richTooltipText == null && tooltipText != null) || - (richTooltipText == null && tooltipText == null)), - super(key: key); + (richTooltipText == null && tooltipText == null)); @override Widget build(BuildContext context) { diff --git a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/image_icon.dart b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/image_icon.dart index 6c3810fb7b..f0c979b5cf 100644 --- a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/image_icon.dart +++ b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/image_icon.dart @@ -6,8 +6,7 @@ class FlowyImageIcon extends StatelessWidget { final Color? color; final double? size; - const FlowyImageIcon(this.image, {Key? key, this.color, this.size}) - : super(key: key); + const FlowyImageIcon(this.image, {super.key, this.color, this.size}); @override Widget build(BuildContext context) { diff --git a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/progress_indicator.dart b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/progress_indicator.dart index 8eb2a12047..ccf6608dd4 100644 --- a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/progress_indicator.dart +++ b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/progress_indicator.dart @@ -13,7 +13,7 @@ List _kDefaultRainbowColors = const [ // CircularProgressIndicator() class FlowyProgressIndicator extends StatelessWidget { - const FlowyProgressIndicator({Key? key}) : super(key: key); + const FlowyProgressIndicator({super.key}); @override Widget build(BuildContext context) { diff --git a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/scrolling/styled_list.dart b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/scrolling/styled_list.dart index eaa0e43996..a3f262c070 100644 --- a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/scrolling/styled_list.dart +++ b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/scrolling/styled_list.dart @@ -18,7 +18,7 @@ class StyledListView extends StatefulWidget { final IndexedWidgetBuilder itemBuilder; StyledListView({ - Key? key, + super.key, required this.itemBuilder, required this.itemCount, this.itemExtent, @@ -26,7 +26,7 @@ class StyledListView extends StatefulWidget { this.padding, this.barSize, this.scrollbarPadding, - }) : super(key: key) { + }) { assert(itemExtent != 0, 'Item extent should never be 0, null is ok.'); } diff --git a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/scrolling/styled_scroll_bar.dart b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/scrolling/styled_scroll_bar.dart index 767ee68a5c..b3326d0e60 100644 --- a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/scrolling/styled_scroll_bar.dart +++ b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/scrolling/styled_scroll_bar.dart @@ -23,7 +23,7 @@ class StyledScrollbar extends StatefulWidget { final double? contentSize; const StyledScrollbar( - {Key? key, + {super.key, this.size, required this.axis, required this.controller, @@ -32,8 +32,7 @@ class StyledScrollbar extends StatefulWidget { this.showTrack = false, this.autoHideScrollbar = true, this.handleColor, - this.trackColor}) - : super(key: key); + this.trackColor}); @override ScrollbarState createState() => ScrollbarState(); diff --git a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/scrolling/styled_scrollview.dart b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/scrolling/styled_scrollview.dart index d255555ca0..664dbc7ed1 100644 --- a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/scrolling/styled_scrollview.dart +++ b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/scrolling/styled_scrollview.dart @@ -16,7 +16,7 @@ class StyledSingleChildScrollView extends StatefulWidget { final Widget? child; const StyledSingleChildScrollView({ - Key? key, + super.key, required this.child, this.contentSize, this.axis = Axis.vertical, @@ -26,7 +26,7 @@ class StyledSingleChildScrollView extends StatefulWidget { this.scrollbarPadding, this.barSize = 8, this.autoHideScrollbar = true, - }) : super(key: key); + }); @override State createState() => @@ -89,14 +89,14 @@ class StyledCustomScrollView extends StatefulWidget { final double barSize; const StyledCustomScrollView({ - Key? key, + super.key, this.axis = Axis.vertical, this.trackColor, this.handleColor, this.verticalController, this.slivers = const [], this.barSize = 8, - }) : super(key: key); + }); @override StyledCustomScrollViewState createState() => StyledCustomScrollViewState(); diff --git a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/text_input.dart b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/text_input.dart index 7aad277b11..8e3bcc9bf5 100644 --- a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/text_input.dart +++ b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/text_input.dart @@ -166,14 +166,11 @@ class StyledSearchTextInputState extends State { widget.controller ?? TextEditingController(text: widget.initialValue); _focusNode = FocusNode( debugLabel: widget.label ?? '', - onKey: (FocusNode node, RawKeyEvent evt) { - if (evt is RawKeyDownEvent) { - if (evt.logicalKey == LogicalKeyboardKey.escape) { - widget.onEditingCancel?.call(); - return KeyEventResult.handled; - } + onKeyEvent: (node, event) { + if (event.logicalKey == LogicalKeyboardKey.escape) { + widget.onEditingCancel?.call(); + return KeyEventResult.handled; } - return KeyEventResult.ignored; }, canRequestFocus: true, @@ -273,12 +270,12 @@ class ThinUnderlineBorder extends InputBorder { /// and right corners have a circular radius of 4.0. The [borderRadius] /// parameter must not be null. const ThinUnderlineBorder({ - BorderSide borderSide = const BorderSide(), + super.borderSide = const BorderSide(), this.borderRadius = const BorderRadius.only( topLeft: Radius.circular(4.0), topRight: Radius.circular(4.0), ), - }) : super(borderSide: borderSide); + }); /// The radii of the border's rounded rectangle corners. /// diff --git a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/widget/buttons/base_styled_button.dart b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/widget/buttons/base_styled_button.dart index b9c5894b3a..ee51d400c9 100644 --- a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/widget/buttons/base_styled_button.dart +++ b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/widget/buttons/base_styled_button.dart @@ -22,7 +22,7 @@ class BaseStyledButton extends StatefulWidget { final Color outlineColor; const BaseStyledButton({ - Key? key, + super.key, required this.child, this.onPressed, this.onFocusChanged, @@ -39,7 +39,7 @@ class BaseStyledButton extends StatefulWidget { this.useBtnText = true, this.autoFocus = false, this.outlineColor = Colors.transparent, - }) : super(key: key); + }); @override State createState() => BaseStyledBtnState(); diff --git a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/widget/buttons/primary_button.dart b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/widget/buttons/primary_button.dart index dbdd47155d..a2fe2f091e 100644 --- a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/widget/buttons/primary_button.dart +++ b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/widget/buttons/primary_button.dart @@ -9,8 +9,7 @@ class PrimaryTextButton extends StatelessWidget { final TextButtonMode mode; const PrimaryTextButton(this.label, - {Key? key, this.onPressed, this.mode = TextButtonMode.big}) - : super(key: key); + {super.key, this.onPressed, this.mode = TextButtonMode.big}); @override Widget build(BuildContext context) { @@ -31,11 +30,10 @@ class PrimaryButton extends StatelessWidget { final TextButtonMode mode; const PrimaryButton( - {Key? key, + {super.key, required this.child, this.onPressed, - this.mode = TextButtonMode.big}) - : super(key: key); + this.mode = TextButtonMode.big}); @override Widget build(BuildContext context) { diff --git a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/widget/constraint_flex_view.dart b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/widget/constraint_flex_view.dart index 8fb60fda1d..63a5dd5f60 100644 --- a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/widget/constraint_flex_view.dart +++ b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/widget/constraint_flex_view.dart @@ -7,11 +7,10 @@ class ConstrainedFlexView extends StatelessWidget { final EdgeInsets scrollPadding; const ConstrainedFlexView(this.minSize, - {Key? key, + {super.key, required this.child, this.axis = Axis.horizontal, - this.scrollPadding = EdgeInsets.zero}) - : super(key: key); + this.scrollPadding = EdgeInsets.zero}); bool get isHz => axis == Axis.horizontal; diff --git a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/widget/dialog/styled_dialogs.dart b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/widget/dialog/styled_dialogs.dart index 74754fec2b..ffab50de4b 100644 --- a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/widget/dialog/styled_dialogs.dart +++ b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/widget/dialog/styled_dialogs.dart @@ -10,10 +10,10 @@ extension IntoDialog on Widget { Future show(BuildContext context) async { FocusNode dialogFocusNode = FocusNode(); await Dialogs.show( - child: RawKeyboardListener( + child: KeyboardListener( focusNode: dialogFocusNode, - onKey: (value) { - if (value.isKeyPressed(LogicalKeyboardKey.escape)) { + onKeyEvent: (event) { + if (event.logicalKey == LogicalKeyboardKey.escape) { Navigator.of(context).pop(); } }, @@ -36,7 +36,7 @@ class StyledDialog extends StatelessWidget { final bool shrinkWrap; const StyledDialog({ - Key? key, + super.key, required this.child, this.maxWidth, this.maxHeight, @@ -45,7 +45,7 @@ class StyledDialog extends StatelessWidget { this.bgColor, this.borderRadius = const BorderRadius.all(Radius.circular(6)), this.shrinkWrap = true, - }) : super(key: key); + }); @override Widget build(BuildContext context) { @@ -126,11 +126,11 @@ class StyledDialogRoute extends PopupRoute { required this.barrier, Duration transitionDuration = const Duration(milliseconds: 300), RouteTransitionsBuilder? transitionBuilder, - RouteSettings? settings, + super.settings, }) : _pageBuilder = pageBuilder, _transitionDuration = transitionDuration, _transitionBuilder = transitionBuilder, - super(settings: settings, filter: barrier.filter); + super(filter: barrier.filter); @override bool get barrierDismissible { diff --git a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/widget/ignore_parent_gesture.dart b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/widget/ignore_parent_gesture.dart index 9a679775b4..664d5cd492 100644 --- a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/widget/ignore_parent_gesture.dart +++ b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/widget/ignore_parent_gesture.dart @@ -2,10 +2,10 @@ import 'package:flutter/material.dart'; class IgnoreParentGestureWidget extends StatelessWidget { const IgnoreParentGestureWidget({ - Key? key, + super.key, required this.child, this.onPress, - }) : super(key: key); + }); final Widget child; final VoidCallback? onPress; diff --git a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/widget/mouse_hover_builder.dart b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/widget/mouse_hover_builder.dart index 81529ba16c..dab9a4640d 100644 --- a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/widget/mouse_hover_builder.dart +++ b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/widget/mouse_hover_builder.dart @@ -6,8 +6,7 @@ class MouseHoverBuilder extends StatefulWidget { final bool isClickable; const MouseHoverBuilder( - {Key? key, required this.builder, this.isClickable = false}) - : super(key: key); + {super.key, required this.builder, this.isClickable = false}); final HoverBuilder builder; diff --git a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/widget/rounded_button.dart b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/widget/rounded_button.dart index a329074d43..d4e9ed48c1 100644 --- a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/widget/rounded_button.dart +++ b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/widget/rounded_button.dart @@ -15,7 +15,7 @@ class RoundedTextButton extends StatelessWidget { final double? fontSize; const RoundedTextButton({ - Key? key, + super.key, this.onPressed, this.title, this.width, @@ -26,7 +26,7 @@ class RoundedTextButton extends StatelessWidget { this.hoverColor, this.textColor, this.fontSize, - }) : super(key: key); + }); @override Widget build(BuildContext context) { @@ -63,14 +63,14 @@ class RoundedImageButton extends StatelessWidget { final Widget child; const RoundedImageButton({ - Key? key, + super.key, this.press, required this.size, this.borderRadius = BorderRadius.zero, this.borderColor = Colors.transparent, this.color = Colors.transparent, required this.child, - }) : super(key: key); + }); @override Widget build(BuildContext context) { diff --git a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/widget/rounded_input_field.dart b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/widget/rounded_input_field.dart index 27949fb100..40978aa461 100644 --- a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/widget/rounded_input_field.dart +++ b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/widget/rounded_input_field.dart @@ -29,7 +29,7 @@ class RoundedInputField extends StatefulWidget { final Function(String)? onFieldSubmitted; const RoundedInputField({ - Key? key, + super.key, this.hintText, this.errorText = "", this.initialValue, @@ -52,7 +52,7 @@ class RoundedInputField extends StatefulWidget { this.autoFocus = false, this.maxLength, this.onFieldSubmitted, - }) : super(key: key); + }); @override State createState() => _RoundedInputFieldState(); diff --git a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/widget/spacing.dart b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/widget/spacing.dart index abe813710c..1abb5b8fdb 100644 --- a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/widget/spacing.dart +++ b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/widget/spacing.dart @@ -4,7 +4,7 @@ class Space extends StatelessWidget { final double width; final double height; - const Space(this.width, this.height, {Key? key}) : super(key: key); + const Space(this.width, this.height, {super.key}); @override Widget build(BuildContext context) => SizedBox(width: width, height: height); diff --git a/frontend/appflowy_flutter/packages/flowy_infra_ui/pubspec.yaml b/frontend/appflowy_flutter/packages/flowy_infra_ui/pubspec.yaml index f55e604091..816ac4d160 100644 --- a/frontend/appflowy_flutter/packages/flowy_infra_ui/pubspec.yaml +++ b/frontend/appflowy_flutter/packages/flowy_infra_ui/pubspec.yaml @@ -37,7 +37,7 @@ dependencies: dev_dependencies: flutter_test: sdk: flutter - flutter_lints: ^2.0.1 + flutter_lints: ^3.0.1 flutter: plugin: diff --git a/frontend/appflowy_flutter/packages/flowy_svg/analysis_options.yaml b/frontend/appflowy_flutter/packages/flowy_svg/analysis_options.yaml index 9749d57481..315807278e 100644 --- a/frontend/appflowy_flutter/packages/flowy_svg/analysis_options.yaml +++ b/frontend/appflowy_flutter/packages/flowy_svg/analysis_options.yaml @@ -1,3 +1,3 @@ -include: package:very_good_analysis/analysis_options.5.0.0.yaml +include: package:very_good_analysis/analysis_options.yaml linter: diff --git a/frontend/appflowy_flutter/pubspec.lock b/frontend/appflowy_flutter/pubspec.lock index f05536a7f6..48f4da5ac0 100644 --- a/frontend/appflowy_flutter/pubspec.lock +++ b/frontend/appflowy_flutter/pubspec.lock @@ -5,18 +5,18 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: "0f7b1783ddb1e4600580b8c00d0ddae5b06ae7f0382bd4fcce5db4df97b618e1" + sha256: "0b2f2bd91ba804e53a61d757b986f89f1f9eaed5b11e4b2f5a2468d86d6c9fc7" url: "https://pub.dev" source: hosted - version: "66.0.0" + version: "67.0.0" analyzer: dependency: "direct dev" description: name: analyzer - sha256: "5e8bdcda061d91da6b034d64d8e4026f355bcb8c3e7a0ac2da1523205a91a737" + sha256: "37577842a27e4338429a1cbc32679d508836510b056f1eedf0c8d20e39c1383d" url: "https://pub.dev" source: hosted - version: "6.4.0" + version: "6.4.1" animations: dependency: transitive description: @@ -53,11 +53,11 @@ packages: dependency: "direct main" description: path: "." - ref: e80edfc - resolved-ref: e80edfcaaa402c606a642bf9bd1abf523ed15c80 + ref: f38328d + resolved-ref: f38328d9e52be89b8036ae0ad3460ce9d6cc5be7 url: "https://github.com/AppFlowy-IO/appflowy-editor.git" source: git - version: "2.3.1" + version: "2.3.2" appflowy_editor_plugins: dependency: "direct main" description: @@ -102,18 +102,18 @@ packages: dependency: "direct main" description: name: bloc - sha256: "3820f15f502372d979121de1f6b97bfcf1630ebff8fe1d52fb2b0bfa49be5b49" + sha256: f53a110e3b48dcd78136c10daa5d51512443cea5e1348c9d80a320095fa2db9e url: "https://pub.dev" source: hosted - version: "8.1.2" + version: "8.1.3" bloc_test: dependency: "direct dev" description: name: bloc_test - sha256: "02f04270be5abae8df171143e61a0058a7acbce5dcac887612e89bb40cca4c33" + sha256: "55a48f69e0d480717067c5377c8485a3fcd41f1701a820deef72fa0f4ee7215f" url: "https://pub.dev" source: hosted - version: "9.1.5" + version: "9.1.6" boolean_selector: dependency: transitive description: @@ -166,10 +166,10 @@ packages: dependency: transitive description: name: build_runner_core - sha256: c9e32d21dd6626b5c163d48b037ce906bbe428bc23ab77bcd77bb21e593b6185 + sha256: "4ae8ffe5ac758da294ecf1802f2aff01558d8b1b00616aa7538ea9a8a5d50799" url: "https://pub.dev" source: hosted - version: "7.2.11" + version: "7.3.0" built_collection: dependency: transitive description: @@ -359,10 +359,10 @@ packages: dependency: "direct main" description: name: device_info_plus - sha256: "0042cb3b2a76413ea5f8a2b40cec2a33e01d0c937e91f0f7c211fde4f7739ba6" + sha256: "77f757b789ff68e4eaf9c56d1752309bd9f7ad557cb105b938a7f8eb89e59110" url: "https://pub.dev" source: hosted - version: "9.1.1" + version: "9.1.2" device_info_plus_platform_interface: dependency: transitive description: @@ -399,10 +399,10 @@ packages: dependency: "direct main" description: name: easy_localization - sha256: de63e3b422adfc97f256cbb3f8cf12739b6a4993d390f3cadb3f51837afaefe5 + sha256: "9c86754b22aaa3e74e471635b25b33729f958dd6fb83df0ad6612948a7b231af" url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "3.0.4" easy_logger: dependency: transitive description: @@ -455,10 +455,10 @@ packages: dependency: transitive description: name: ffi - sha256: "7bf0adc28a23d395f19f3f1eb21dd7cfd1dd9f8e1c50051c069122e6853bc878" + sha256: "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21" url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.2" file: dependency: transitive description: @@ -559,10 +559,10 @@ packages: dependency: "direct main" description: name: flutter_bloc - sha256: e74efb89ee6945bcbce74a5b3a5a3376b088e5f21f55c263fc38cbdc6237faae + sha256: "87325da1ac757fcc4813e6b34ed5dd61169973871fdf181d6c2109dd6935ece1" url: "https://pub.dev" source: hosted - version: "8.1.3" + version: "8.1.4" flutter_cache_manager: dependency: "direct main" description: @@ -692,10 +692,10 @@ packages: dependency: "direct dev" description: name: freezed - sha256: "6c5031daae12c7072b3a87eff98983076434b4889ef2a44384d0cae3f82372ba" + sha256: "57247f692f35f068cae297549a46a9a097100685c6780fe67177503eea5ed4e5" url: "https://pub.dev" source: hosted - version: "2.4.6" + version: "2.4.7" freezed_annotation: dependency: "direct main" description: @@ -745,10 +745,10 @@ packages: dependency: "direct main" description: name: go_router - sha256: "07ee2436909f749d606f53521dc1725dd738dc5196e5ff815bc254253c594075" + sha256: "170c46e237d6eb0e6e9f0e8b3f56101e14fb64f787016e42edd74c39cf8b176a" url: "https://pub.dev" source: hosted - version: "13.1.0" + version: "13.2.0" google_fonts: dependency: "direct main" description: @@ -761,10 +761,10 @@ packages: dependency: transitive description: name: gotrue - sha256: "879ac3e981bf5f9b3af156e421688b53823b7af17de7af0d2a37894a8e5f6532" + sha256: f40610bacf1074723354b0856a4f586508ffb075b799f72466f34e843133deb9 url: "https://pub.dev" source: hosted - version: "2.4.1" + version: "2.5.0" graphs: dependency: transitive description: @@ -950,18 +950,18 @@ packages: dependency: transitive description: name: irondash_engine_context - sha256: "294a0e21c4358ff17264e6b811c615b664cebb33b49ad2ddb54f8110e7714510" + sha256: "4f5e2629296430cce08cdff42e47cef07b8f74a64fdbdfb0525d147bc1a969a2" url: "https://pub.dev" source: hosted - version: "0.5.1" + version: "0.5.2" irondash_message_channel: dependency: transitive description: name: irondash_message_channel - sha256: "131d64d97a3612bc3617aefc878f3e3a8e23e0ce18b3bba8e78cb1930befcec1" + sha256: dd581214215dca054bd9873209d690ec3609288c28774cb509dbd86b21180cf8 url: "https://pub.dev" source: hosted - version: "0.5.0" + version: "0.6.0" isolates: dependency: transitive description: @@ -1014,18 +1014,26 @@ packages: dependency: "direct main" description: name: leak_tracker - sha256: "04be76c4a4bb50f14904e64749237e541e7c7bcf7ec0b196907322ab5d2fc739" + sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" url: "https://pub.dev" source: hosted - version: "9.0.16" + version: "10.0.0" + leak_tracker_flutter_testing: + dependency: transitive + description: + name: leak_tracker_flutter_testing + sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 + url: "https://pub.dev" + source: hosted + version: "2.0.1" leak_tracker_testing: dependency: transitive description: name: leak_tracker_testing - sha256: b06739349ec2477e943055aea30172c5c7000225f79dad4702e2ec0eda79a6ff + sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 url: "https://pub.dev" source: hosted - version: "1.0.5" + version: "2.0.1" linked_scroll_controller: dependency: "direct main" description: @@ -1102,10 +1110,10 @@ packages: dependency: transitive description: name: matcher - sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb url: "https://pub.dev" source: hosted - version: "0.12.16" + version: "0.12.16+1" material_color_utilities: dependency: transitive description: @@ -1222,10 +1230,10 @@ packages: dependency: "direct main" description: name: path - sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" + sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" url: "https://pub.dev" source: hosted - version: "1.8.3" + version: "1.9.0" path_drawing: dependency: transitive description: @@ -1310,18 +1318,18 @@ packages: dependency: transitive description: name: pixel_snap - sha256: d31591a4f4aa8ed5dc6fc00b8d027338a5614dfbf5ca658b69d1faa7aba80af7 + sha256: "677410ea37b07cd37ecb6d5e6c0d8d7615a7cf3bd92ba406fd1ac57e937d1fb0" url: "https://pub.dev" source: hosted - version: "0.1.4" + version: "0.1.5" platform: dependency: transitive description: name: platform - sha256: "0a279f0707af40c890e80b1e9df8bb761694c074ba7e1d4ab1bc4b728e200b59" + sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec" url: "https://pub.dev" source: hosted - version: "3.1.3" + version: "3.1.4" plugin_platform_interface: dependency: "direct dev" description: @@ -1358,10 +1366,10 @@ packages: dependency: transitive description: name: process - sha256: "266ca5be5820feefc777793d0a583acfc8c40834893c87c00c6c09e2cf58ea42" + sha256: "21e54fd2faf1b5bdd5102afd25012184a6793927648ea81eea80552ac9405b32" url: "https://pub.dev" source: hosted - version: "5.0.1" + version: "5.0.2" protobuf: dependency: "direct main" description: @@ -1526,10 +1534,10 @@ packages: dependency: "direct main" description: name: share_plus - sha256: f74fc3f1cbd99f39760182e176802f693fa0ec9625c045561cfad54681ea93dd + sha256: "3ef39599b00059db0990ca2e30fca0a29d8b37aae924d60063f8e0184cf20900" url: "https://pub.dev" source: hosted - version: "7.2.1" + version: "7.2.2" share_plus_platform_interface: dependency: transitive description: @@ -1630,10 +1638,10 @@ packages: dependency: transitive description: name: simple_gesture_detector - sha256: "86d08f85f1f58583b7b4b941d989f48ea6ce08c1724a1d10954a277c2ec36592" + sha256: ba2cd5af24ff20a0b8d609cec3f40e5b0744d2a71804a2616ae086b9c19d19a3 url: "https://pub.dev" source: hosted - version: "0.2.0" + version: "0.2.1" sized_context: dependency: "direct main" description: @@ -1731,10 +1739,10 @@ packages: dependency: transitive description: name: storage_client - sha256: b49ff2e1e6738c0ef445546d6ec77040829947f0c7ef0b115acb125656127c83 + sha256: bf5589d5de61a2451edb1b8960a0e673d4bb5c42ecc4dddf7c051a93789ced34 url: "https://pub.dev" source: hosted - version: "2.0.0" + version: "2.0.1" stream_channel: dependency: transitive description: @@ -1779,10 +1787,10 @@ packages: dependency: transitive description: name: supabase - sha256: f299614f6f44ee26ff1bd293869272fab79a7b087320c3b40572792b32ded06c + sha256: "4bce9c49f264f4cd44b4ffc895647af2dca0c40125c169045be9f708fd2a2a40" url: "https://pub.dev" source: hosted - version: "2.0.6" + version: "2.0.7" supabase_flutter: dependency: "direct main" description: @@ -1796,18 +1804,18 @@ packages: dependency: "direct main" description: name: super_clipboard - sha256: "77f044320934386e0b7a3911e05312426d7f33deb6e8cdb28886663430b0e5b0" + sha256: "15d25eb88df8e904e0c2ef77378c6010cc57bbfc0b6f91f2416d08fad5fcca92" url: "https://pub.dev" source: hosted - version: "0.8.4" + version: "0.8.5" super_native_extensions: dependency: transitive description: name: super_native_extensions - sha256: "4699f5b00320290475953c914f823a8b44e10ed8c1e38ce5c8e8426336d11c15" + sha256: f96db6b137a0b135e43034289bb55ca6447b65225076036e81f97ebb6381ffeb url: "https://pub.dev" source: hosted - version: "0.8.4" + version: "0.8.5" sync_http: dependency: transitive description: @@ -1948,10 +1956,10 @@ packages: dependency: transitive description: name: url_launcher_android - sha256: "507dc655b1d9cb5ebc756032eb785f114e415f91557b73bf60b7e201dfedeb2f" + sha256: d4ed0711849dd8e33eb2dd69c25db0d0d3fdc37e0a62e629fe32f57a22db2745 url: "https://pub.dev" source: hosted - version: "6.2.2" + version: "6.3.0" url_launcher_ios: dependency: transitive description: @@ -1980,10 +1988,10 @@ packages: dependency: "direct dev" description: name: url_launcher_platform_interface - sha256: a932c3a8082e118f80a475ce692fde89dc20fddb24c57360b96bc56f7035de1f + sha256: "552f8a1e663569be95a8190206a38187b531910283c3e982193e4f2733f01029" url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.3.2" url_launcher_web: dependency: transitive description: @@ -2029,26 +2037,26 @@ packages: dependency: transitive description: name: vector_graphics - sha256: "18f6690295af52d081f6808f2f7c69f0eed6d7e23a71539d75f4aeb8f0062172" + sha256: "4ac59808bbfca6da38c99f415ff2d3a5d7ca0a6b4809c71d9cf30fba5daf9752" url: "https://pub.dev" source: hosted - version: "1.1.9+2" + version: "1.1.10+1" vector_graphics_codec: dependency: transitive description: name: vector_graphics_codec - sha256: "531d20465c10dfac7f5cd90b60bbe4dd9921f1ec4ca54c83ebb176dbacb7bb2d" + sha256: f3247e7ab0ec77dc759263e68394990edc608fb2b480b80db8aa86ed09279e33 url: "https://pub.dev" source: hosted - version: "1.1.9+2" + version: "1.1.10+1" vector_graphics_compiler: dependency: transitive description: name: vector_graphics_compiler - sha256: "03012b0a33775c5530576b70240308080e1d5050f0faf000118c20e6463bc0ad" + sha256: "18489bdd8850de3dd7ca8a34e0c446f719ec63e2bab2e7a8cc66a9028dd76c5a" url: "https://pub.dev" source: hosted - version: "1.1.9+2" + version: "1.1.10+1" vector_math: dependency: transitive description: @@ -2085,10 +2093,10 @@ packages: dependency: transitive description: name: web - sha256: edc8a9573dd8c5a83a183dae1af2b6fd4131377404706ca4e5420474784906fa + sha256: "4188706108906f002b3a293509234588823c8c979dc83304e229ff400c996b05" url: "https://pub.dev" source: hosted - version: "0.4.0" + version: "0.4.2" web_socket_channel: dependency: transitive description: @@ -2170,5 +2178,5 @@ packages: source: hosted version: "2.0.0" sdks: - dart: ">=3.2.0 <4.0.0" - flutter: ">=3.18.0-0.2.pre" + dart: ">=3.3.0-279.1.beta <4.0.0" + flutter: ">=3.19.0" diff --git a/frontend/appflowy_flutter/pubspec.yaml b/frontend/appflowy_flutter/pubspec.yaml index 9e81b44df5..bd2d712077 100644 --- a/frontend/appflowy_flutter/pubspec.yaml +++ b/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.4.9 environment: - flutter: ">=3.18.0-0.2.pre" + flutter: ">=3.19.0" sdk: ">=3.1.5 <4.0.0" # Dependencies specify other packages that your package needs in order to work. @@ -124,7 +124,7 @@ dependencies: image_picker: ^1.0.4 image_gallery_saver: ^2.0.3 cached_network_image: ^3.3.0 - leak_tracker: ^9.0.6 + leak_tracker: ^10.0.0 keyboard_height_plugin: ^0.0.5 scrollable_positioned_list: ^0.3.8 flutter_cache_manager: ^3.3.1 @@ -139,7 +139,7 @@ dev_dependencies: integration_test: sdk: flutter build_runner: ^2.4.4 - freezed: ^2.3.4 + freezed: ^2.4.7 bloc_test: ^9.1.2 json_serializable: ^6.7.0 envied_generator: ^0.5.2 @@ -165,7 +165,7 @@ dependency_overrides: appflowy_editor: git: url: https://github.com/AppFlowy-IO/appflowy-editor.git - ref: "e80edfc" + ref: "f38328d" uuid: ^4.1.0 diff --git a/frontend/appflowy_flutter/test/widget_test/workspace/settings/shortcuts_list_tile_test.dart b/frontend/appflowy_flutter/test/widget_test/workspace/settings/shortcuts_list_tile_test.dart index 9f0e28effc..f4bfbc7c1a 100644 --- a/frontend/appflowy_flutter/test/widget_test/workspace/settings/shortcuts_list_tile_test.dart +++ b/frontend/appflowy_flutter/test/widget_test/workspace/settings/shortcuts_list_tile_test.dart @@ -66,7 +66,7 @@ void main() { await widgetTester.pumpAndSettle(); expect(find.byType(AlertDialog), findsOneWidget); - expect(find.byType(RawKeyboardListener), findsOneWidget); + expect(find.byType(KeyboardListener), findsOneWidget); }); testWidgets("updates the text with new key event", @@ -83,7 +83,7 @@ void main() { await widgetTester.pumpAndSettle(); expect(find.byType(AlertDialog), findsOneWidget); - expect(find.byType(RawKeyboardListener), findsOneWidget); + expect(find.byType(KeyboardListener), findsOneWidget); await widgetTester.sendKeyEvent(LogicalKeyboardKey.keyC); diff --git a/frontend/scripts/docker-buildfiles/Dockerfile b/frontend/scripts/docker-buildfiles/Dockerfile index 3f58943c88..e9f73d3d0c 100644 --- a/frontend/scripts/docker-buildfiles/Dockerfile +++ b/frontend/scripts/docker-buildfiles/Dockerfile @@ -39,7 +39,7 @@ RUN source ~/.cargo/env && \ RUN sudo pacman -S --noconfirm git tar gtk3 RUN curl -sSfL \ --output flutter.tar.xz \ - https://storage.googleapis.com/flutter_infra_release/releases/beta/linux/flutter_linux_3.18.0-0.2.pre-beta.tar.xz && \ + https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.19.0-stable.tar.xz && \ tar -xf flutter.tar.xz && \ rm flutter.tar.xz RUN flutter config --enable-linux-desktop diff --git a/frontend/scripts/install_dev_env/install_ios.sh b/frontend/scripts/install_dev_env/install_ios.sh index 29b44deaca..0ce5cfb5d4 100644 --- a/frontend/scripts/install_dev_env/install_ios.sh +++ b/frontend/scripts/install_dev_env/install_ios.sh @@ -44,9 +44,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.18.0-0.2.pre2 -if [ "$FLUTTER_VERSION" = "3.18.0-0.2.pre2" ]; then - echo "Flutter version is already 3.18.0-0.2.pre2" +# Check if the current version is 3.19.0 +if [ "$FLUTTER_VERSION" = "3.19.0" ]; then + echo "Flutter version is already 3.19.0" else # Get the path to the Flutter SDK FLUTTER_PATH=$(which flutter) @@ -55,12 +55,12 @@ else current_dir=$(pwd) cd $FLUTTER_PATH - # Use git to checkout version 3.18.0-0.2.pre2 of Flutter - git checkout 3.18.0-0.2.pre2 + # Use git to checkout version 3.19.0 of Flutter + git checkout 3.19.0 # Get back to current working directory cd "$current_dir" - echo "Switched to Flutter version 3.18.0-0.2.pre2" + echo "Switched to Flutter version 3.19.0" fi # Enable linux desktop diff --git a/frontend/scripts/install_dev_env/install_linux.sh b/frontend/scripts/install_dev_env/install_linux.sh index 0477791ce6..d1f85445a2 100755 --- a/frontend/scripts/install_dev_env/install_linux.sh +++ b/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.18.0-0.2.pre2 -if [ "$FLUTTER_VERSION" = "3.18.0-0.2.pre2" ]; then - echo "Flutter version is already 3.18.0-0.2.pre2" +# Check if the current version is 3.19.0 +if [ "$FLUTTER_VERSION" = "3.19.0" ]; then + echo "Flutter version is already 3.19.0" 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.18.0-0.2.pre2 of Flutter - git checkout 3.18.0-0.2.pre2 + # Use git to checkout version 3.19.0 of Flutter + git checkout 3.19.0 # Get back to current working directory cd "$current_dir" - echo "Switched to Flutter version 3.18.0-0.2.pre2" + echo "Switched to Flutter version 3.19.0" fi # Enable linux desktop diff --git a/frontend/scripts/install_dev_env/install_macos.sh b/frontend/scripts/install_dev_env/install_macos.sh index 763e655d88..10f894e13c 100755 --- a/frontend/scripts/install_dev_env/install_macos.sh +++ b/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.18.0-0.2.pre2 -if [ "$FLUTTER_VERSION" = "3.18.0-0.2.pre2" ]; then - echo "Flutter version is already 3.18.0-0.2.pre2" +# Check if the current version is 3.19.0 +if [ "$FLUTTER_VERSION" = "3.19.0" ]; then + echo "Flutter version is already 3.19.0" 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.18.0-0.2.pre2 of Flutter - git checkout 3.18.0-0.2.pre2 + # Use git to checkout version 3.19.0 of Flutter + git checkout 3.19.0 # Get back to current working directory cd "$current_dir" - echo "Switched to Flutter version 3.18.0-0.2.pre2" + echo "Switched to Flutter version 3.19.0" fi # Enable linux desktop diff --git a/frontend/scripts/install_dev_env/install_windows.sh b/frontend/scripts/install_dev_env/install_windows.sh index 56afaf9989..aef80844a0 100644 --- a/frontend/scripts/install_dev_env/install_windows.sh +++ b/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.18.0-0.2.pre2 -if [ "$FLUTTER_VERSION" = "3.18.0-0.2.pre2" ]; then - echo "Flutter version is already 3.18.0-0.2.pre2" +# Check if the current version is 3.19.0 +if [ "$FLUTTER_VERSION" = "3.19.0" ]; then + echo "Flutter version is already 3.19.0" 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.18.0-0.2.pre2 of Flutter - git checkout 3.18.0-0.2.pre2 + # Use git to checkout version 3.19.0 of Flutter + git checkout 3.19.0 # Get back to current working directory cd "$current_dir" - echo "Switched to Flutter version 3.18.0-0.2.pre2" + echo "Switched to Flutter version 3.19.0" fi # Add pub cache and cargo to PATH