mirror of
https://github.com/R0m1k3/xtremflow.git
synced 2026-10-24 07:28:05 +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'));
|
final response = await http.get(Uri.parse('/api/recordings/logs/$id'));
|
||||||
|
|
||||||
if (response.statusCode == 200) {
|
if (response.statusCode == 200) {
|
||||||
final data = json.decode(response.body);
|
String logs = 'Aucun log trouvé.';
|
||||||
final logs = data['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) {
|
if (mounted) {
|
||||||
showDialog(
|
showDialog(
|
||||||
@@ -109,9 +114,16 @@ class _RecordingsTabState extends State<RecordingsTab> {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (mounted) {
|
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(
|
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