[PR #4715] [MERGED] Add number to bool json converter #10060

Closed
opened 2025-12-22 07:49:43 +01:00 by backuprepo · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/jellyfin/jellyfin/pull/4715
Author: @crobibero
Created: 12/7/2020
Status: Merged
Merged: 12/8/2020
Merged by: @cvium

Base: masterHead: hdhr-json-bool


📝 Commits (2)

  • 66a1880 Add number to bool json converter
  • 6e98378 Simplify converter

📊 Changes

4 files changed (+58 additions, -0 deletions)

View changed files

📝 Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs (+4 -0)
MediaBrowser.Common/Json/Converters/JsonBoolNumberConverter.cs (+30 -0)
📝 MediaBrowser.Common/Json/JsonDefaults.cs (+1 -0)
tests/Jellyfin.Common.Tests/Json/JsonBoolNumberTests.cs (+23 -0)

📄 Description

Fixes https://github.com/jellyfin/jellyfin/issues/4703

Note: I don't have a HDHR to test with, I just based this PR off of the exception.

[2020-12-06 15:02:35.160 -05:00] [ERR] Error getting channel list
System.Text.Json.JsonException: The JSON value could not be converted to System.Boolean. Path: $[90].Favorite | LineNumber: 0 | BytePositionInLine: 11361.
 ---> System.InvalidOperationException: Cannot get the value of a token type 'Number' as a boolean.
   at System.Text.Json.Utf8JsonReader.GetBoolean()
   at System.Text.Json.Serialization.Converters.BooleanConverter.Read(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options)
   at System.Text.Json.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader)
   at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.Converters.IEnumerableDefaultConverter`2.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, TCollection& value)
   at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
   --- End of inner exception stack trace ---
   at System.Text.Json.ThrowHelper.ReThrowWithPath(ReadStack& state, Utf8JsonReader& reader, Exception ex)
   at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
   at System.Text.Json.JsonSerializer.ReadCore[TValue](JsonConverter jsonConverter, Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
   at System.Text.Json.JsonSerializer.ReadCore[TValue](JsonReaderState& readerState, Boolean isFinalBlock, ReadOnlySpan`1 buffer, JsonSerializerOptions options, ReadStack& state, JsonConverter converterBase)
   at System.Text.Json.JsonSerializer.ReadAsync[TValue](Stream utf8Json, Type returnType, JsonSerializerOptions options, CancellationToken cancellationToken)
   at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunHost.GetLineup(TunerHostInfo info, CancellationToken cancellationToken)
   at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunHost.GetLineup(TunerHostInfo info, CancellationToken cancellationToken)
   at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunHost.GetChannelsInternal(TunerHostInfo info, CancellationToken cancellationToken)
   at Emby.Server.Implementations.LiveTv.TunerHosts.BaseTunerHost.GetChannels(TunerHostInfo tuner, Boolean enableCache, CancellationToken cancellationToken)
   at Emby.Server.Implementations.LiveTv.TunerHosts.BaseTunerHost.GetChannels(Boolean enableCache, CancellationToken cancellationToken)

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/jellyfin/jellyfin/pull/4715 **Author:** [@crobibero](https://github.com/crobibero) **Created:** 12/7/2020 **Status:** ✅ Merged **Merged:** 12/8/2020 **Merged by:** [@cvium](https://github.com/cvium) **Base:** `master` ← **Head:** `hdhr-json-bool` --- ### 📝 Commits (2) - [`66a1880`](https://github.com/jellyfin/jellyfin/commit/66a1880a580b25db7add41ed3947166b10415f37) Add number to bool json converter - [`6e98378`](https://github.com/jellyfin/jellyfin/commit/6e9837844738de7bc55dae9994538535e62ed888) Simplify converter ### 📊 Changes **4 files changed** (+58 additions, -0 deletions) <details> <summary>View changed files</summary> 📝 `Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs` (+4 -0) ➕ `MediaBrowser.Common/Json/Converters/JsonBoolNumberConverter.cs` (+30 -0) 📝 `MediaBrowser.Common/Json/JsonDefaults.cs` (+1 -0) ➕ `tests/Jellyfin.Common.Tests/Json/JsonBoolNumberTests.cs` (+23 -0) </details> ### 📄 Description Fixes https://github.com/jellyfin/jellyfin/issues/4703 Note: I don't have a HDHR to test with, I just based this PR off of the exception. ``` [2020-12-06 15:02:35.160 -05:00] [ERR] Error getting channel list System.Text.Json.JsonException: The JSON value could not be converted to System.Boolean. Path: $[90].Favorite | LineNumber: 0 | BytePositionInLine: 11361. ---> System.InvalidOperationException: Cannot get the value of a token type 'Number' as a boolean. at System.Text.Json.Utf8JsonReader.GetBoolean() at System.Text.Json.Serialization.Converters.BooleanConverter.Read(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options) at System.Text.Json.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader) at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value) at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value) at System.Text.Json.Serialization.Converters.IEnumerableDefaultConverter`2.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, TCollection& value) at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value) at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state) --- End of inner exception stack trace --- at System.Text.Json.ThrowHelper.ReThrowWithPath(ReadStack& state, Utf8JsonReader& reader, Exception ex) at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state) at System.Text.Json.JsonSerializer.ReadCore[TValue](JsonConverter jsonConverter, Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state) at System.Text.Json.JsonSerializer.ReadCore[TValue](JsonReaderState& readerState, Boolean isFinalBlock, ReadOnlySpan`1 buffer, JsonSerializerOptions options, ReadStack& state, JsonConverter converterBase) at System.Text.Json.JsonSerializer.ReadAsync[TValue](Stream utf8Json, Type returnType, JsonSerializerOptions options, CancellationToken cancellationToken) at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunHost.GetLineup(TunerHostInfo info, CancellationToken cancellationToken) at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunHost.GetLineup(TunerHostInfo info, CancellationToken cancellationToken) at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunHost.GetChannelsInternal(TunerHostInfo info, CancellationToken cancellationToken) at Emby.Server.Implementations.LiveTv.TunerHosts.BaseTunerHost.GetChannels(TunerHostInfo tuner, Boolean enableCache, CancellationToken cancellationToken) at Emby.Server.Implementations.LiveTv.TunerHosts.BaseTunerHost.GetChannels(Boolean enableCache, CancellationToken cancellationToken) ``` --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
backuprepo 2025-12-22 07:49:43 +01:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: starred/jellyfin#10060
No description provided.