From 46db7ac02683a8b542e58447852afe1b1fc93c05 Mon Sep 17 00:00:00 2001 From: chan Date: Mon, 6 Apr 2026 16:29:08 +0900 Subject: [PATCH] fix: handle json parse exceptions on 404/500 signup responses gracefully --- userfront/lib/core/services/auth_proxy_service.dart | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/userfront/lib/core/services/auth_proxy_service.dart b/userfront/lib/core/services/auth_proxy_service.dart index 5b21ea20..e651b4ae 100644 --- a/userfront/lib/core/services/auth_proxy_service.dart +++ b/userfront/lib/core/services/auth_proxy_service.dart @@ -990,8 +990,17 @@ class AuthProxyService { ); if (response.statusCode != 200) { - final error = jsonDecode(response.body)['error'] ?? 'Signup failed'; - throw Exception(error); + String errorMessage = 'Signup failed'; + try { + final decoded = jsonDecode(response.body); + if (decoded is Map && decoded.containsKey('error')) { + errorMessage = decoded['error']; + } + } catch (e) { + // Fallback if the body isn't valid JSON (e.g., an HTML error page) + errorMessage = 'Server error (${response.statusCode}): ${response.body.isNotEmpty ? response.body.substring(0, response.body.length > 100 ? 100 : response.body.length) : "Unknown error"}'; + } + throw Exception(errorMessage); } } }