From 1f7fb2201c3ae6e3722c3b91a5229fcdcd6db4f0 Mon Sep 17 00:00:00 2001 From: edde746 <86283021+edde746@users.noreply.github.com> Date: Wed, 11 Mar 2026 18:41:31 +0100 Subject: [PATCH] fix: handle null ratingKey in folder browsing --- lib/models/plex_metadata.dart | 4 ++++ lib/models/plex_metadata.g.dart | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/models/plex_metadata.dart b/lib/models/plex_metadata.dart index 5ea3f2cc..a4a6cb4d 100644 --- a/lib/models/plex_metadata.dart +++ b/lib/models/plex_metadata.dart @@ -9,6 +9,9 @@ import '../utils/global_key_utils.dart'; part 'plex_metadata.g.dart'; +Object? _readRatingKey(Map json, String key) => + json['ratingKey'] ?? json['key'] ?? ''; + int? _flexibleInt(Object? v) => switch (v) { num n => n.toInt(), String s => int.tryParse(s), @@ -57,6 +60,7 @@ enum PlexMediaType { @JsonSerializable() class PlexMetadata with MultiServerFields { + @JsonKey(readValue: _readRatingKey) final String ratingKey; final String key; final String? guid; diff --git a/lib/models/plex_metadata.g.dart b/lib/models/plex_metadata.g.dart index 36464546..ecf8e4fd 100644 --- a/lib/models/plex_metadata.g.dart +++ b/lib/models/plex_metadata.g.dart @@ -7,7 +7,7 @@ part of 'plex_metadata.dart'; // ************************************************************************** PlexMetadata _$PlexMetadataFromJson(Map json) => PlexMetadata( - ratingKey: json['ratingKey'] as String, + ratingKey: _readRatingKey(json, 'ratingKey') as String, key: json['key'] as String, guid: json['guid'] as String?, studio: json['studio'] as String?,