Empty series due to Serialization Exception when series air_date
is invalid
#151
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
One of the TV shows I wanted to see was empty in Jellyfin but I could see the content was there on other platform.
An eighth season has been announced but no release date yet, I guess that's why is empty.
This is the log
I'm wondering why unaired seasons / episodes are included in the API response. It is not possible to stream them anyway?
I can confirm this issue. I'm getting the exact same error on my instance with some Series which are aired for years. I've commented the airdate out and now the Seasons are popping up. I don't know about the following issues.
Update: Episodes (corresponding to the issue) aren't playable. Others whom not affected are playing fine.
@martenumberto Do you have streamable seasons / episodes which are missing this information?
Edit: missed the update
Hey, having the same issue here.
[20:43:10] [ERR] [64] Jellyfin.Xtream.SeriesChannel: Failed to get channel items Newtonsoft.Json.JsonReaderException: Could not convert string to DateTime: 0000-00-00. Path 'seasons[0].air_date', line 1, position 36. at Newtonsoft.Json.JsonReader.ReadDateTimeString(String s) at Newtonsoft.Json.JsonTextReader.FinishReadQuotedStringValue(ReadType readType) at Newtonsoft.Json.JsonReader.ReadForType(JsonContract contract, Boolean hasConverter) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateList(IList list, JsonReader reader, JsonArrayContract contract, JsonProperty containerProperty, String id) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateList(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue, String id) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent) at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType) at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings) at Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSerializerSettings settings) at Jellyfin.Xtream.Client.XtreamClient.QueryApi[T](ConnectionInfo connectionInfo, String urlPath, CancellationToken cancellationToken) at Jellyfin.Xtream.Service.StreamService.GetSeasons(Int32 seriesId, CancellationToken cancellationToken) at Jellyfin.Xtream.SeriesChannel.GetSeasons(Int32 seriesId, CancellationToken cancellationToken) at Jellyfin.Xtream.SeriesChannel.GetChannelItems(InternalChannelItemQuery query, CancellationToken cancellationToken) [20:45:30] [INF] [53] Emby.Server.Implementations.Session.SessionWebSocketListener: Sending ForceKeepAlive message to 1 inactive WebSockets.
Could anyone provide a JSON snippet of the API response for which this fails?
@Kevinjil In my case it would be the last season