diff --git a/analysis_options.yaml b/analysis_options.yaml index b526cc23..a584332e 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -2,10 +2,16 @@ include: package:flutter_lints/flutter.yaml analyzer: exclude: - - third_party/** - - build/** + - "third_party/**" + - "build/**" + errors: + unnecessary_underscores: ignore + prefer_initializing_formals: ignore + use_null_aware_elements: ignore + deprecated_member_use: ignore linter: rules: - prefer_const_constructors - prefer_const_declarations + diff --git a/lib/app/app.dart b/lib/app/app.dart index 3fec8d08..51f10be5 100644 --- a/lib/app/app.dart +++ b/lib/app/app.dart @@ -21,17 +21,17 @@ class QueryaApp extends StatelessWidget { return ListenableBuilder( listenable: themeController, - builder: (context, _) { + builder: (context, __) { final queryaTheme = themeController.activeTheme; final colorScheme = queryaTheme.colorScheme; return ListenableBuilder( listenable: uiScaleController, - builder: (context, _) { + builder: (context, __) { final scale = uiScaleController.scale; return ListenableBuilder( listenable: motionController, - builder: (context, _) { + builder: (context, __) { final motionLevel = motionController.level; final disableAnimations = MediaQuery.maybeOf(context)?.disableAnimations ?? diff --git a/lib/core/motion/querya_stagger.dart b/lib/core/motion/querya_stagger.dart index 18735fc8..5f10c272 100644 --- a/lib/core/motion/querya_stagger.dart +++ b/lib/core/motion/querya_stagger.dart @@ -72,7 +72,7 @@ class _QueryaStaggerState extends State return AnimatedBuilder( animation: _controller, - builder: (context, _) { + builder: (context, __) { return Column( mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.stretch, diff --git a/lib/features/connections/new_folder_dialog.dart b/lib/features/connections/new_folder_dialog.dart index 1fe51667..f7cc9ced 100644 --- a/lib/features/connections/new_folder_dialog.dart +++ b/lib/features/connections/new_folder_dialog.dart @@ -107,7 +107,7 @@ class _NewFolderDialogContentState const material.SizedBox(width: 12), ListenableBuilder( listenable: _nameController, - builder: (context, _) => PrimaryButton( + builder: (context, __) => PrimaryButton( onPressed: _name.isEmpty ? null : () => material.Navigator.of(context).pop(_name), diff --git a/lib/features/mongodb/mongo_database_dialog.dart b/lib/features/mongodb/mongo_database_dialog.dart index 8973c2c3..7c9221c4 100644 --- a/lib/features/mongodb/mongo_database_dialog.dart +++ b/lib/features/mongodb/mongo_database_dialog.dart @@ -99,7 +99,7 @@ class _CreateMongoDBDialogContentState const Gap(12), ListenableBuilder( listenable: _nameController, - builder: (context, _) => PrimaryButton( + builder: (context, __) => PrimaryButton( onPressed: _formValid ? _save : null, child: const Text('Create'), ), diff --git a/lib/features/settings/preferences_appearance_section.dart b/lib/features/settings/preferences_appearance_section.dart index 89ccc922..cd47133a 100644 --- a/lib/features/settings/preferences_appearance_section.dart +++ b/lib/features/settings/preferences_appearance_section.dart @@ -146,7 +146,7 @@ class _PreferencesAppearanceSectionState material.Widget build(material.BuildContext context) { return ListenableBuilder( listenable: _controller, - builder: (context, _) { + builder: (context, __) { final c = _controller; final themes = c.availableThemes; final refreshingThemes = c.isLoadingAvailableThemes; @@ -252,7 +252,7 @@ class _PreferencesAppearanceSectionState label: 'Motion', control: material.ListenableBuilder( listenable: QueryaMotionController.instance, - builder: (context, _) { + builder: (context, __) { final controller = QueryaMotionController.instance; return PreferencesDropdownMenu( value: controller.level, diff --git a/lib/features/updater/update_available_badge.dart b/lib/features/updater/update_available_badge.dart index d776225b..a4c9b696 100644 --- a/lib/features/updater/update_available_badge.dart +++ b/lib/features/updater/update_available_badge.dart @@ -101,7 +101,7 @@ class UpdateAvailableBadgeState extends material.State material.Widget build(material.BuildContext context) { return ListenableBuilder( listenable: widget.controller, - builder: (context, _) { + builder: (context, __) { if (!widget.controller.showBadge) { return const material.SizedBox.shrink(); } diff --git a/lib/shared/widgets/querya_tab_strip.dart b/lib/shared/widgets/querya_tab_strip.dart index 688d35bb..7af07be4 100644 --- a/lib/shared/widgets/querya_tab_strip.dart +++ b/lib/shared/widgets/querya_tab_strip.dart @@ -266,7 +266,7 @@ class _TabStripIndicator extends material.StatelessWidget { material.Widget build(material.BuildContext context) { return ListenableBuilder( listenable: Listenable.merge([left, width]), - builder: (context, _) { + builder: (context, __) { final w = width.value; if (w <= 0) return const material.SizedBox.shrink(); return material.Positioned( diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift index ff1df342..4d44b1bc 100644 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -8,7 +8,7 @@ import Foundation import bitsdojo_window_macos import device_info_plus import file_selector_macos -import flutter_secure_storage_macos +import flutter_secure_storage_darwin import irondash_engine_context import package_info_plus import refresh_rate @@ -20,7 +20,7 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { BitsdojoWindowPlugin.register(with: registry.registrar(forPlugin: "BitsdojoWindowPlugin")) DeviceInfoPlusMacosPlugin.register(with: registry.registrar(forPlugin: "DeviceInfoPlusMacosPlugin")) FileSelectorPlugin.register(with: registry.registrar(forPlugin: "FileSelectorPlugin")) - FlutterSecureStoragePlugin.register(with: registry.registrar(forPlugin: "FlutterSecureStoragePlugin")) + FlutterSecureStorageDarwinPlugin.register(with: registry.registrar(forPlugin: "FlutterSecureStorageDarwinPlugin")) IrondashEngineContextPlugin.register(with: registry.registrar(forPlugin: "IrondashEngineContextPlugin")) FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin")) RefreshRatePlugin.register(with: registry.registrar(forPlugin: "RefreshRatePlugin")) diff --git a/pubspec.yaml b/pubspec.yaml index 2bfd7caa..86e7e1f9 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -6,7 +6,7 @@ version: 0.4.12+1 environment: - sdk: ^3.5.0 + sdk: '>=3.5.0 <4.0.0' dependencies: flutter: @@ -18,25 +18,26 @@ dependencies: bitsdojo_window: ^0.1.6 path: ^1.9.0 path_provider: ^2.1.5 + sqflite: ^2.3.2 sqflite_common_ffi: ^2.3.2 mongo_dart: ^0.10.8 redis: ^4.0.0 postgres: ^3.5.6 - fl_chart: ^0.69.0 + fl_chart: ^1.2.0 mysql_client: ^0.0.27 - flutter_secure_storage: ^9.2.4 + flutter_secure_storage: ^10.3.1 file_selector: ^1.1.0 syntax_highlight: ^0.5.0 archive: ^4.0.9 url_launcher: ^6.3.1 - package_info_plus: ^8.3.0 + package_info_plus: ^9.0.1 flutter_svg: ^2.3.0 dev_dependencies: flutter_test: sdk: flutter - flutter_lints: ^5.0.0 + flutter_lints: ^6.0.0 # Used in tests to mock paths (path_provider has no plugin in flutter test). path_provider_platform_interface: ^2.1.2