From 0d1f7c18191d95ed4651c069c168a7ed6107fad8 Mon Sep 17 00:00:00 2001 From: Henry-Hiles Date: Thu, 26 Mar 2026 15:53:42 -0400 Subject: [PATCH] more verbose errors for login and verify --- lib/controllers/client_controller.dart | 12 ++++++------ lib/pages/login_page.dart | 6 +++--- lib/pages/verify_page.dart | 6 +++--- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/lib/controllers/client_controller.dart b/lib/controllers/client_controller.dart index 02fdbdc..37dde3d 100644 --- a/lib/controllers/client_controller.dart +++ b/lib/controllers/client_controller.dart @@ -153,12 +153,12 @@ class ClientController extends AsyncNotifier { Future sendMessage(SendMessageRequest request) => _sendCommand("send_message", request.toJson()); - Future verify(String recoveryKey) async { + Future verify(String recoveryKey) async { try { await _sendCommand("verify", {"recovery_key": recoveryKey}); - return true; + return null; } catch (error) { - return false; + return error.toString(); } } @@ -228,12 +228,12 @@ class ClientController extends AsyncNotifier { }); } - Future login(LoginRequest login) async { + Future login(LoginRequest login) async { try { await _sendCommand("login", login.toJson()); - return true; + return null; } catch (error) { - return false; + return error.toString(); } } diff --git a/lib/pages/login_page.dart b/lib/pages/login_page.dart index bd41d51..fda53d0 100644 --- a/lib/pages/login_page.dart +++ b/lib/pages/login_page.dart @@ -175,7 +175,7 @@ class LoginPage extends HookConsumerWidget { ElevatedButton( onPressed: () async { isLoading.value = true; - final succeeded = await client.login( + final error = await client.login( LoginRequest( username: username.text, password: password.text, @@ -183,11 +183,11 @@ class LoginPage extends HookConsumerWidget { ), ); - if (!succeeded && context.mounted) { + if (error != null && context.mounted) { ScaffoldMessenger.of(context).showSnackBar( SnackBar( content: Text( - "Login failed. Is your password right?", + "Login failed. Is your password right?\nError: $error", style: TextStyle( color: theme.colorScheme.onErrorContainer, ), diff --git a/lib/pages/verify_page.dart b/lib/pages/verify_page.dart index 1011f80..3abbcc7 100644 --- a/lib/pages/verify_page.dart +++ b/lib/pages/verify_page.dart @@ -48,12 +48,12 @@ class VerifyPage extends HookConsumerWidget { isVerifying.value = true; - final success = await ref + final error = await ref .watch(ClientController.provider.notifier) .verify(passphraseController.text); snackbar.close(); - if (!success) { + if (error != null) { isVerifying.value = false; if (context.mounted) { scaffoldMessenger.showSnackBar( @@ -62,7 +62,7 @@ class VerifyPage extends HookConsumerWidget { context, ).colorScheme.errorContainer, content: Text( - "Verification failed. Is your passphrase correct?", + "Verification failed. Is your passphrase correct?\nError: $error", style: TextStyle( color: Theme.of( context,