diff --git a/lib/core/services/api_service.dart b/lib/core/services/api_service.dart index fd5d2f0..9b00270 100644 --- a/lib/core/services/api_service.dart +++ b/lib/core/services/api_service.dart @@ -1599,10 +1599,10 @@ class ApiService { if (data is Map) { final voices = data['voices']; if (voices is List) { - return voices - .whereType() - .map((e) => e.cast()) - .toList(); + return _normalizeList( + voices, + debugLabel: 'parse_voice_list', + ); } } if (data is List) { @@ -1705,7 +1705,10 @@ class ApiService { final response = await _dio.get('/api/v1/images/models'); final data = response.data; if (data is List) { - return data.cast>(); + return _normalizeList( + data, + debugLabel: 'parse_image_models', + ); } return []; } @@ -3120,19 +3123,25 @@ class ApiService { final data = response.data; if (data is List) { - return data.whereType>().toList(); + return _normalizeList( + data, + debugLabel: 'parse_message_search', + ); } if (data is Map) { final list = (data['items'] ?? data['results'] ?? data['messages']); if (list is List) { - return list.whereType>().toList(); + return _normalizeList( + list, + debugLabel: 'parse_message_search_wrapped', + ); } } - return []; + return const []; } on DioException catch (e) { // On any transport or other error, degrade gracefully without surfacing _traceApi('messages search request failed gracefully: ${e.type}'); - return []; + return const []; } }