From 1f33df7147fb4a43bddca93872b1015c022f6ba8 Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Sat, 1 Jun 2024 11:31:31 +0530 Subject: [PATCH 1/2] [auth] Surface more information about importError on UI --- auth/lib/ui/settings/data/import/aegis_import.dart | 4 ++-- auth/lib/ui/settings/data/import/bitwarden_import.dart | 7 ++++--- auth/lib/ui/settings/data/import/lastpass_import.dart | 6 ++++-- .../ui/settings/data/import/raivo_plain_text_import.dart | 6 ++++-- auth/lib/ui/settings/data/import/two_fas_import.dart | 2 +- 5 files changed, 15 insertions(+), 10 deletions(-) diff --git a/auth/lib/ui/settings/data/import/aegis_import.dart b/auth/lib/ui/settings/data/import/aegis_import.dart index f6dd872522..bc9a509108 100644 --- a/auth/lib/ui/settings/data/import/aegis_import.dart +++ b/auth/lib/ui/settings/data/import/aegis_import.dart @@ -76,7 +76,7 @@ Future _pickAegisJsonFile(BuildContext context) async { await showErrorDialog( context, context.l10n.sorry, - context.l10n.importFailureDesc, + "${context.l10n.importFailureDesc}\n Error: ${e.toString()}", ); } } @@ -148,7 +148,7 @@ Future _processAegisExportFile( otpUrl = 'otpauth://$kind/$issuer:$account?secret=$secret&issuer=$issuer&algorithm=$algorithm&digits=$digits&counter=$counter'; } else { - throw Exception('Invalid OTP type'); + throw Exception('Invalid OTP type: $kind'); } parsedCodes.add(Code.fromOTPAuthUrl(otpUrl)); } diff --git a/auth/lib/ui/settings/data/import/bitwarden_import.dart b/auth/lib/ui/settings/data/import/bitwarden_import.dart index 6878fa9f05..fcc71521bf 100644 --- a/auth/lib/ui/settings/data/import/bitwarden_import.dart +++ b/auth/lib/ui/settings/data/import/bitwarden_import.dart @@ -14,6 +14,7 @@ import 'package:ente_auth/utils/dialog_util.dart'; import 'package:file_picker/file_picker.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import 'package:logging/logging.dart'; Future showBitwardenImportInstruction(BuildContext context) async { final l10n = context.l10n; @@ -60,12 +61,13 @@ Future _pickBitwardenJsonFile(BuildContext context) async { if (count != null) { await importSuccessDialog(context, count); } - } catch (e) { + } catch (e,s) { + Logger("BitwardenImport").severe('Failed to import',e,s); await progressDialog.hide(); await showErrorDialog( context, context.l10n.sorry, - context.l10n.importFailureDesc, + "${context.l10n.importFailureDesc}\n Error: ${e.toString()}", ); } } @@ -90,7 +92,6 @@ Future _processBitwardenExportFile( } else { var issuer = item['name']; var account = item['login']['username']; - code = Code.fromAccountAndSecret( Type.totp, account, diff --git a/auth/lib/ui/settings/data/import/lastpass_import.dart b/auth/lib/ui/settings/data/import/lastpass_import.dart index 8c36f02536..550f2af7e0 100644 --- a/auth/lib/ui/settings/data/import/lastpass_import.dart +++ b/auth/lib/ui/settings/data/import/lastpass_import.dart @@ -14,6 +14,7 @@ import 'package:ente_auth/utils/dialog_util.dart'; import 'package:file_picker/file_picker.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import 'package:logging/logging.dart'; Future showLastpassImportInstruction(BuildContext context) async { final l10n = context.l10n; @@ -60,12 +61,13 @@ Future _pickLastpassJsonFile(BuildContext context) async { if (count != null) { await importSuccessDialog(context, count); } - } catch (e) { + } catch (e, s) { + Logger('LastPassImport').severe('exception while processing import', e, s); await progressDialog.hide(); await showErrorDialog( context, context.l10n.sorry, - context.l10n.importFailureDesc, + "${context.l10n.importFailureDesc}\n Error: ${e.toString()}", ); } } diff --git a/auth/lib/ui/settings/data/import/raivo_plain_text_import.dart b/auth/lib/ui/settings/data/import/raivo_plain_text_import.dart index 3590a38b37..5adaa73cf5 100644 --- a/auth/lib/ui/settings/data/import/raivo_plain_text_import.dart +++ b/auth/lib/ui/settings/data/import/raivo_plain_text_import.dart @@ -14,6 +14,7 @@ import 'package:ente_auth/utils/dialog_util.dart'; import 'package:file_picker/file_picker.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import 'package:logging/logging.dart'; Future showRaivoImportInstruction(BuildContext context) async { final l10n = context.l10n; @@ -60,12 +61,13 @@ Future _pickRaivoJsonFile(BuildContext context) async { if (count != null) { await importSuccessDialog(context, count); } - } catch (e) { + } catch (e, s) { + Logger("RaivoImport").severe('Failed to import', e, s); await progressDialog.hide(); await showErrorDialog( context, context.l10n.sorry, - context.l10n.importFailureDesc, + "${context.l10n.importFailureDesc}\n Error: ${e.toString()}", ); } } diff --git a/auth/lib/ui/settings/data/import/two_fas_import.dart b/auth/lib/ui/settings/data/import/two_fas_import.dart index 710d898d44..db33a10f35 100644 --- a/auth/lib/ui/settings/data/import/two_fas_import.dart +++ b/auth/lib/ui/settings/data/import/two_fas_import.dart @@ -72,7 +72,7 @@ Future _pick2FasFile(BuildContext context) async { await showErrorDialog( context, context.l10n.sorry, - context.l10n.importFailureDesc, + "${context.l10n.importFailureDesc}\n Error: ${e.toString()}", ); } } From ebc3f53fe3288cd48b7ce21ee61f7c589909082f Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Sat, 1 Jun 2024 11:32:51 +0530 Subject: [PATCH 2/2] Auth Bump version: 3.0.5+305 --- auth/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/auth/pubspec.yaml b/auth/pubspec.yaml index 3a127cee31..496623b869 100644 --- a/auth/pubspec.yaml +++ b/auth/pubspec.yaml @@ -1,6 +1,6 @@ name: ente_auth description: ente two-factor authenticator -version: 3.0.4+304 +version: 3.0.5+305 publish_to: none environment: