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