Lint accounts

This commit is contained in:
vishnukvmd
2025-07-21 16:12:57 +05:30
committed by AmanRajSinghMourya
parent a4626ae7a1
commit bbac09b4a6
20 changed files with 144 additions and 77 deletions

View File

@@ -1 +1,72 @@
# For more linters, we can check https://dart-lang.github.io/linter/lints/index.html
# or https://pub.dev/packages/lint (Effective dart)
# use "flutter analyze ." or "dart analyze ." for running lint checks
include: package:flutter_lints/flutter.yaml
linter:
rules:
# Ref https://github.com/flutter/packages/blob/master/packages/flutter_lints/lib/flutter.yaml
# Ref https://dart-lang.github.io/linter/lints/
- avoid_print
- avoid_unnecessary_containers
- avoid_web_libraries_in_flutter
- no_logic_in_create_state
- prefer_const_constructors
- prefer_const_constructors_in_immutables
- prefer_const_declarations
- prefer_const_literals_to_create_immutables
- prefer_final_locals
- require_trailing_commas
- sized_box_for_whitespace
- use_full_hex_values_for_flutter_colors
- use_key_in_widget_constructors
- cancel_subscriptions
- avoid_empty_else
- exhaustive_cases
# just style suggestions
- sort_pub_dependencies
- use_rethrow_when_possible
- prefer_double_quotes
- directives_ordering
- always_use_package_imports
- sort_child_properties_last
- unawaited_futures
analyzer:
errors:
avoid_empty_else: error
exhaustive_cases: error
curly_braces_in_flow_control_structures: error
directives_ordering: error
require_trailing_commas: error
always_use_package_imports: warning
prefer_final_fields: error
unused_import: error
camel_case_types: error
prefer_is_empty: warning
use_rethrow_when_possible: info
unused_field: warning
use_key_in_widget_constructors: warning
sort_child_properties_last: warning
sort_pub_dependencies: warning
library_private_types_in_public_api: warning
constant_identifier_names: ignore
prefer_const_constructors: warning
prefer_const_declarations: warning
prefer_const_constructors_in_immutables: warning
prefer_final_locals: warning
unnecessary_const: error
cancel_subscriptions: error
unrelated_type_equality_checks: error
unnecessary_cast: info
unawaited_futures: warning # convert to warning after fixing existing issues
invalid_dependency: info
use_build_context_synchronously: ignore # experimental lint, requires many changes
prefer_interpolation_to_compose_strings: ignore # later too many warnings
prefer_double_quotes: ignore # too many warnings
avoid_renaming_method_parameters: ignore # incorrect warnings for `equals` overrides

View File

@@ -1,21 +1,16 @@
/// A Flutter package containing account-related functionality for Ente apps
library ente_accounts;
// Models
export 'models/user_details.dart';
export 'models/sessions.dart';
export 'models/two_factor.dart';
export 'models/srp.dart';
export 'models/bonus.dart';
export 'models/delete_account.dart';
export 'models/sessions.dart';
export 'models/set_keys_request.dart';
export 'models/set_recovery_key_request.dart';
export 'models/bonus.dart';
export 'models/srp.dart';
export 'models/subscription.dart';
export 'models/two_factor.dart';
export 'models/user_details.dart';
// Services
export 'services/user_service.dart';
// Pages
export 'pages/change_email_dialog.dart';
export 'pages/delete_account_page.dart';
export 'pages/email_entry_page.dart';
@@ -31,3 +26,6 @@ export 'pages/request_pwd_verification_page.dart';
export 'pages/sessions_page.dart';
export 'pages/two_factor_authentication_page.dart';
export 'pages/two_factor_recovery_page.dart';
export 'services/passkey_service.dart';
export 'services/user_service.dart';

View File

@@ -1,8 +1,8 @@
import 'dart:convert';
import 'dart:math';
import 'bonus.dart';
import 'subscription.dart';
import 'package:ente_accounts/models/bonus.dart';
import 'package:ente_accounts/models/subscription.dart';
class UserDetails {
final String email;

View File

@@ -1,7 +1,7 @@
import 'package:ente_accounts/ente_accounts.dart';
import 'package:ente_strings/ente_strings.dart';
import 'package:ente_ui/utils/dialog_util.dart';
import 'package:ente_utils/email_util.dart';
import 'package:ente_strings/ente_strings.dart';
import 'package:flutter/material.dart';
class ChangeEmailDialog extends StatefulWidget {

View File

@@ -4,13 +4,13 @@ import 'package:ente_accounts/ente_accounts.dart';
import 'package:ente_configuration/base_configuration.dart';
import 'package:ente_crypto_dart/ente_crypto_dart.dart';
import 'package:ente_lock_screen/local_authentication_service.dart';
import 'package:ente_strings/ente_strings.dart';
import 'package:ente_ui/components/buttons/gradient_button.dart';
import 'package:ente_ui/components/dialogs.dart';
import 'package:ente_ui/theme/ente_theme.dart';
import 'package:ente_utils/email_util.dart';
import 'package:ente_utils/platform_util.dart';
import 'package:ente_strings/ente_strings.dart';
import 'package:flutter/material.dart';
import 'package:ente_ui/components/buttons/gradient_button.dart';
import 'package:ente_ui/components/dialogs.dart';
class DeleteAccountPage extends StatelessWidget {
final BaseConfiguration configuration;

View File

@@ -2,10 +2,10 @@ import 'package:email_validator/email_validator.dart';
import 'package:ente_accounts/ente_accounts.dart';
import 'package:ente_accounts/models/errors.dart';
import 'package:ente_configuration/base_configuration.dart';
import "package:ente_strings/ente_strings.dart";
import 'package:ente_ui/components/buttons/dynamic_fab.dart';
import 'package:ente_ui/theme/ente_theme.dart';
import 'package:ente_utils/platform_util.dart';
import "package:ente_strings/ente_strings.dart";
import 'package:flutter/material.dart';
import 'package:logging/logging.dart';
import "package:styled_text/styled_text.dart";

View File

@@ -1,13 +1,13 @@
import "package:dio/dio.dart";
import "package:ente_accounts/ente_accounts.dart";
import "package:ente_configuration/base_configuration.dart";
import "package:ente_crypto_dart/ente_crypto_dart.dart";
import "package:ente_strings/ente_strings.dart";
import "package:ente_ui/components/buttons/button_widget.dart";
import "package:ente_ui/components/buttons/dynamic_fab.dart";
import "package:ente_ui/theme/ente_theme.dart";
import "package:ente_ui/utils/dialog_util.dart";
import "package:ente_utils/email_util.dart";
import "package:ente_strings/ente_strings.dart";
import "package:ente_crypto_dart/ente_crypto_dart.dart";
import 'package:flutter/material.dart';
import "package:logging/logging.dart";

View File

@@ -1,7 +1,7 @@
import 'package:ente_accounts/ente_accounts.dart';
import 'package:ente_strings/ente_strings.dart';
import 'package:ente_ui/components/buttons/dynamic_fab.dart';
import 'package:ente_ui/theme/ente_theme.dart';
import 'package:ente_strings/ente_strings.dart';
import 'package:flutter/material.dart';
import 'package:step_progress_indicator/step_progress_indicator.dart';
import 'package:styled_text/styled_text.dart';

View File

@@ -4,12 +4,12 @@ import 'package:app_links/app_links.dart';
import 'package:ente_accounts/ente_accounts.dart';
import 'package:ente_accounts/models/errors.dart';
import 'package:ente_configuration/base_configuration.dart';
import 'package:ente_strings/ente_strings.dart';
import 'package:ente_ui/components/buttons/button_widget.dart';
import 'package:ente_ui/components/buttons/models/button_type.dart';
import 'package:ente_ui/utils/dialog_util.dart';
import 'package:ente_ui/utils/toast_util.dart';
import 'package:ente_utils/navigation_util.dart';
import 'package:ente_strings/ente_strings.dart';
import 'package:flutter/material.dart';
import 'package:logging/logging.dart';
import 'package:url_launcher/url_launcher_string.dart';

View File

@@ -1,5 +1,6 @@
import 'package:ente_accounts/ente_accounts.dart';
import 'package:ente_configuration/base_configuration.dart';
import 'package:ente_strings/ente_strings.dart';
import 'package:ente_ui/components/buttons/dynamic_fab.dart';
import 'package:ente_ui/components/buttons/models/button_type.dart';
import 'package:ente_ui/pages/base_home_page.dart';
@@ -8,7 +9,6 @@ import 'package:ente_ui/utils/dialog_util.dart';
import 'package:ente_ui/utils/toast_util.dart';
import 'package:ente_utils/navigation_util.dart';
import 'package:ente_utils/platform_util.dart';
import 'package:ente_strings/ente_strings.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:logging/logging.dart';
@@ -448,7 +448,9 @@ class _PasswordEntryPageState extends State<PasswordEntryPage> {
bool usingVolatilePassword = false,
}) async {
final dialog = createProgressDialog(
context, context.strings.generatingEncryptionKeysTitle);
context,
context.strings.generatingEncryptionKeysTitle,
);
await dialog.show();
try {
if (usingVolatilePassword) {

View File

@@ -4,17 +4,16 @@ import 'dart:typed_data';
import 'package:ente_accounts/ente_accounts.dart';
import 'package:ente_accounts/models/errors.dart';
import 'package:ente_configuration/base_configuration.dart';
import 'package:ente_crypto_dart/ente_crypto_dart.dart';
import 'package:ente_strings/ente_strings.dart';
import 'package:ente_ui/components/buttons/button_widget.dart';
import 'package:ente_ui/components/buttons/dynamic_fab.dart';
import 'package:ente_ui/pages/base_home_page.dart';
import 'package:ente_ui/utils/dialog_util.dart';
import 'package:ente_utils/email_util.dart';
import 'package:flutter/material.dart';
import 'package:ente_strings/ente_strings.dart';
import 'package:logging/logging.dart';
import 'package:ente_crypto_dart/ente_crypto_dart.dart';
class PasswordReentryPage extends StatefulWidget {
final BaseHomePage homePage;
final BaseConfiguration config;

View File

@@ -5,12 +5,12 @@ import 'package:bip39/bip39.dart' as bip39;
import 'package:dotted_border/dotted_border.dart';
import 'package:ente_configuration/base_configuration.dart';
import 'package:ente_configuration/constants.dart';
import 'package:ente_strings/ente_strings.dart';
import 'package:ente_ui/components/buttons/gradient_button.dart';
import 'package:ente_ui/theme/ente_theme.dart';
import 'package:ente_ui/utils/toast_util.dart';
import 'package:ente_utils/platform_util.dart';
import 'package:ente_utils/share_utils.dart';
import 'package:ente_strings/ente_strings.dart';
import 'package:file_saver/file_saver.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

View File

@@ -1,10 +1,10 @@
import 'package:ente_accounts/ente_accounts.dart';
import 'package:ente_configuration/base_configuration.dart';
import 'package:ente_strings/ente_strings.dart';
import 'package:ente_ui/components/buttons/dynamic_fab.dart';
import 'package:ente_ui/pages/base_home_page.dart';
import 'package:ente_ui/utils/dialog_util.dart';
import 'package:ente_ui/utils/toast_util.dart';
import 'package:ente_strings/ente_strings.dart';
import 'package:flutter/material.dart';
class RecoveryPage extends StatefulWidget {

View File

@@ -2,11 +2,11 @@ import "dart:convert";
import "dart:typed_data";
import "package:ente_configuration/base_configuration.dart";
import 'package:ente_crypto_dart/ente_crypto_dart.dart';
import "package:ente_strings/ente_strings.dart";
import "package:ente_ui/components/buttons/dynamic_fab.dart";
import "package:ente_ui/theme/ente_theme.dart";
import "package:ente_ui/utils/dialog_util.dart";
import "package:ente_strings/ente_strings.dart";
import 'package:ente_crypto_dart/ente_crypto_dart.dart';
import 'package:flutter/material.dart';
import "package:logging/logging.dart";

View File

@@ -1,13 +1,13 @@
import 'package:ente_accounts/ente_accounts.dart';
import 'package:ente_configuration/base_configuration.dart';
import 'package:ente_strings/ente_strings.dart';
import 'package:ente_ui/components/loading_widget.dart';
import 'package:ente_ui/theme/ente_theme.dart';
import 'package:ente_ui/utils/dialog_util.dart';
import 'package:ente_ui/utils/toast_util.dart';
import 'package:ente_strings/ente_strings.dart';
import 'package:ente_utils/date_time_util.dart';
import 'package:flutter/material.dart';
import 'package:logging/logging.dart';
import 'package:ente_utils/date_time_util.dart';
class SessionsPage extends StatefulWidget {
final BaseConfiguration config;

View File

@@ -1,10 +1,10 @@
import 'package:ente_accounts/ente_accounts.dart';
import 'package:ente_ui/theme/ente_theme.dart';
import 'package:ente_strings/ente_strings.dart';
import 'package:ente_ui/lifecycle_event_handler.dart';
import 'package:ente_ui/theme/ente_theme.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:pinput/pinput.dart';
import 'package:ente_ui/lifecycle_event_handler.dart';
class TwoFactorAuthenticationPage extends StatefulWidget {
final String sessionID;

View File

@@ -1,7 +1,7 @@
import 'package:ente_accounts/ente_accounts.dart';
import 'package:ente_strings/ente_strings.dart';
import 'package:ente_ui/theme/ente_theme.dart';
import 'package:ente_utils/email_util.dart';
import 'package:ente_strings/ente_strings.dart';
import 'package:flutter/material.dart';
class TwoFactorRecoveryPage extends StatefulWidget {

View File

@@ -20,19 +20,19 @@ import 'package:ente_accounts/pages/password_reentry_page.dart';
import 'package:ente_accounts/pages/recovery_page.dart';
import 'package:ente_accounts/pages/two_factor_authentication_page.dart';
import 'package:ente_accounts/pages/two_factor_recovery_page.dart';
import 'package:ente_base/models/key_attributes.dart';
import 'package:ente_base/models/key_gen_result.dart';
import 'package:ente_configuration/base_configuration.dart';
import 'package:ente_configuration/constants.dart';
import 'package:ente_crypto_dart/ente_crypto_dart.dart';
import 'package:ente_events/event_bus.dart';
import 'package:ente_events/models/user_details_changed_event.dart';
import 'package:ente_network/network.dart';
import 'package:ente_strings/ente_strings.dart';
import 'package:ente_ui/components/progress_dialog.dart';
import 'package:ente_ui/pages/base_home_page.dart';
import 'package:ente_ui/utils/dialog_util.dart';
import 'package:ente_ui/utils/toast_util.dart';
import 'package:ente_base/models/key_attributes.dart';
import 'package:ente_base/models/key_gen_result.dart';
import 'package:ente_events/event_bus.dart';
import 'package:ente_events/models/user_details_changed_event.dart';
import 'package:ente_strings/ente_strings.dart';
import 'package:ente_crypto_dart/ente_crypto_dart.dart';
import "package:flutter/foundation.dart";
import 'package:flutter/material.dart';
import 'package:logging/logging.dart';

View File

@@ -409,10 +409,11 @@ packages:
flutter_local_authentication:
dependency: transitive
description:
name: flutter_local_authentication
sha256: eb2e471ba77fbc42b6ce8b358939dc9878dc71fcce5a482a8ddcb045563d87cd
url: "https://pub.dev"
source: hosted
path: "."
ref: "1ac346a04592a05fd75acccf2e01fa3c7e955d96"
resolved-ref: "1ac346a04592a05fd75acccf2e01fa3c7e955d96"
url: "https://github.com/eaceto/flutter_local_authentication"
source: git
version: "1.2.0"
flutter_localizations:
dependency: transitive

View File

@@ -7,54 +7,50 @@ environment:
flutter: ">=1.17.0"
dependencies:
flutter:
sdk: flutter
# Ente packages
app_links: ^6.3.3
bip39: ^1.0.6
collection: ^1.18.0
dio: ^5.4.0
dotted_border: ^3.1.0
email_validator: ^3.0.0
ente_base:
path: ../base
ente_configuration:
path: ../configuration
ente_crypto_dart:
git:
url: https://github.com/ente-io/ente_crypto_dart.git
ente_events:
path: ../events
ente_lock_screen:
path: ../lock_screen
ente_network:
path: ../network
ente_strings:
path: ../strings
ente_ui:
path: ../ui
ente_utils:
path: ../utils
ente_base:
path: ../base
ente_configuration:
path: ../configuration
ente_network:
path: ../network
ente_events:
path: ../events
ente_crypto_dart:
git:
url: https://github.com/ente-io/ente_crypto_dart.git
ente_lock_screen:
path: ../lock_screen
# Third-party dependencies
bip39: ^1.0.6
dio: ^5.4.0
logging: ^1.2.0
pointycastle: ^3.7.3
shared_preferences: ^2.2.2
file_saver: ^0.3.0
share_plus: ^11.0.0
uuid: ^4.2.1
collection: ^1.18.0
dotted_border: ^3.1.0
flutter:
sdk: flutter
logging: ^1.2.0
password_strength: ^0.2.0
pinput: ^5.0.1
pointycastle: ^3.7.3
share_plus: ^11.0.0
shared_preferences: ^2.2.2
step_progress_indicator: ^1.0.2
styled_text: ^8.1.0
email_validator: ^3.0.0
pinput: ^5.0.1
app_links: ^6.3.3
url_launcher: ^6.3.1
url_launcher_ios: ^6.3.1
uuid: ^4.2.1
dev_dependencies:
flutter_lints: ^5.0.0
flutter_test:
sdk: flutter
flutter_lints: ^5.0.0
flutter: