From 232f018ae705bff77bf84c3c03e614f7e2cdedec Mon Sep 17 00:00:00 2001 From: edde746 <86283021+edde746@users.noreply.github.com> Date: Thu, 5 Mar 2026 21:00:33 +0100 Subject: [PATCH] fix: report JSON deserialization errors --- lib/models/plex_metadata.dart | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/models/plex_metadata.dart b/lib/models/plex_metadata.dart index 2392fb50..8cce0c5a 100644 --- a/lib/models/plex_metadata.dart +++ b/lib/models/plex_metadata.dart @@ -1,4 +1,5 @@ import 'package:json_annotation/json_annotation.dart'; +import 'package:sentry_flutter/sentry_flutter.dart'; import '../services/settings_service.dart' show EpisodePosterMode; import '../widgets/plex_optimized_image.dart' show kBlurArtwork, obfuscateText; @@ -452,8 +453,16 @@ class PlexMetadata with MultiServerFields { return viewCount != null && viewCount! > 0; } - factory PlexMetadata.fromJson(Map json) => - _$PlexMetadataFromJson(kBlurArtwork ? _obfuscateJson(json) : json); + factory PlexMetadata.fromJson(Map json) { + try { + return _$PlexMetadataFromJson(kBlurArtwork ? _obfuscateJson(json) : json); + } on TypeError catch (e, st) { + Sentry.captureException(e, stackTrace: st, withScope: (scope) { + scope.setContexts('json', json); + }); + rethrow; + } + } static Map _obfuscateJson(Map json) { final copy = Map.from(json);