Show SSH exceptions as useful error messages in SnackBars

This commit is contained in:
lemoer 2025-07-06 01:01:05 +02:00
parent 7251fce43a
commit 02d3341b3d

View File

@ -103,8 +103,6 @@ class _MyHomePageState extends State<MyHomePage> {
Future<void> doSSH(String user) async {
SSHSocket? socket;
print("Connecting to SSH server...");
try {
socket = await SSHSocket.connect(
'192.168.0.15',
@ -123,11 +121,25 @@ class _MyHomePageState extends State<MyHomePage> {
setState(() {
_output = utf8.decode(uptime);
});
} catch (e) {
print("Error: $e");
setState(() {
_output = "Error: $e";
});
} on SSHAuthError catch (_) {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text(
"Error! Server rejected our key. Maybe you need to register it first? Or you do not have access to this lock.",
),
duration: const Duration(seconds: 3),
),
);
return;
} on SocketException catch (_) {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text(
"Error! Could not connect to SSH server. Maybe you are not in the right wifi network?",
),
duration: const Duration(seconds: 3),
),
);
return;
}
}