mirror of
https://github.com/R0m1k3/xtremflow.git
synced 2026-10-11 17:30:00 +02:00
fix(ui): gracefully handle json parse error when showLogs receives 404 text string
This commit is contained in:
1 parent
9d670c0625
commit
989303db77
1 file changed
+16
-4
@@ -76,8 +76,13 @@ class _RecordingsTabState extends State<RecordingsTab> {
|
||||
final response = await http.get(Uri.parse('/api/recordings/logs/$id'));
|
||||
|
||||
if (response.statusCode == 200) {
|
||||
final data = json.decode(response.body);
|
||||
final logs = data['logs'] ?? 'Aucun log trouvé.';
|
||||
String logs = 'Aucun log trouvé.';
|
||||
try {
|
||||
final data = json.decode(response.body);
|
||||
logs = data['logs'] ?? 'Aucun log trouvé.';
|
||||
} catch (_) {
|
||||
logs = response.body; // Fallback texte brut
|
||||
}
|
||||
|
||||
if (mounted) {
|
||||
showDialog(
|
||||
@@ -109,9 +114,16 @@ class _RecordingsTabState extends State<RecordingsTab> {
|
||||
}
|
||||
} else {
|
||||
if (mounted) {
|
||||
final data = json.decode(response.body);
|
||||
String errorMessage = 'Erreur serveur ${response.statusCode}';
|
||||
try {
|
||||
final data = json.decode(response.body);
|
||||
errorMessage = data['error'] ?? errorMessage;
|
||||
} catch (_) {
|
||||
errorMessage = 'Erreur ${response.statusCode}: ${response.body}';
|
||||
}
|
||||
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text(data['error'] ?? 'Erreur lors de la récupération des logs'), backgroundColor: Colors.orangeAccent),
|
||||
SnackBar(content: Text(errorMessage), backgroundColor: Colors.orangeAccent),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user