insomniachi / Totoro

A Windows 10/11 only application that is a go to for all things anime.
MIT License
206 stars 11 forks source link

Animelist #94

Open CapnCranch opened 2 months ago

CapnCranch commented 2 months ago

Describe the bug When trying to refresh myanimelist it sends an error

To Reproduce Steps to reproduce the behavior:

  1. Go to 'My List'
  2. Click on 'Refresh'
  3. See error

Expected behavior Show my full anime list from my animelist

Screenshots

Desktop (please complete the following information):

Additional context

System.Text.Json.JsonException: The JSON value could not be converted to System.DateTime. Path: $.data[2].node.my_list_status.start_date | LineNumber: 0 | BytePositionInLine: 5168. ---> System.FormatException: The JSON value is not in a supported DateTime format. at System.Text.Json.ThrowHelper.ThrowFormatException(DataType dataType) at System.Text.Json.Utf8JsonReader.GetDateTime() at System.Text.Json.Serialization.Metadata.JsonPropertyInfo1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader) at System.Text.Json.Serialization.Converters.ObjectDefaultConverter1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value) at System.Text.Json.Serialization.JsonConverter1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value, Boolean& isPopulatedValue) at System.Text.Json.Serialization.Metadata.JsonPropertyInfo1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader) at System.Text.Json.Serialization.Converters.ObjectDefaultConverter1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value) at System.Text.Json.Serialization.JsonConverter1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value, Boolean& isPopulatedValue) at System.Text.Json.Serialization.Metadata.JsonPropertyInfo1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader) at System.Text.Json.Serialization.Converters.ObjectDefaultConverter1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value) at System.Text.Json.Serialization.JsonConverter1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value, Boolean& isPopulatedValue) at System.Text.Json.Serialization.JsonCollectionConverter2.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, TCollection& value) at System.Text.Json.Serialization.JsonConverter1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value, Boolean& isPopulatedValue) at System.Text.Json.Serialization.Metadata.JsonPropertyInfo1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader) at System.Text.Json.Serialization.Converters.ObjectDefaultConverter1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value) at System.Text.Json.Serialization.JsonConverter1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value, Boolean& isPopulatedValue) at System.Text.Json.Serialization.JsonConverter1.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.JsonConverter1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state) at System.Text.Json.Serialization.Metadata.JsonTypeInfo1.ContinueDeserialize(ReadBufferState& bufferState, JsonReaderState& jsonReaderState, ReadStack& readStack) at System.Text.Json.Serialization.Metadata.JsonTypeInfo1.DeserializeAsync(Stream utf8Json, CancellationToken cancellationToken) at MalApi.EndPoints.AnimeEndPoint.Parse[T](String url) at MalApi.EndPoints.AnimeEndPoint.ParsePagedAnime(String url) at MalApi.EndPoints.AnimeEndPoint.MalApi.Interfaces.IUserAnimeListRequest.Find() at Totoro.Core.Services.MyAnimeList.MyAnimeListTrackingService.GetAnime()+MoveNext() in E:\source\GitHub\Totoro\Totoro.Core\Services\MyAnimeList\MyAnimeListTrackingService.cs:line 77 at Totoro.Core.Services.MyAnimeList.MyAnimeListTrackingService.GetAnime()+System.Threading.Tasks.Sources.IValueTaskSource.GetResult() at System.Linq.AsyncEnumerable.ToObservableObservable`1.<>c__DisplayClass2_0.<g_Core|0>d.MoveNext() in //Ix.NET/Source/System.Linq.Async/System/Linq/Operators/ToObservable.cs:line 50

ostinado commented 1 month ago

I get this error myself all the time, ever since I started to use it.

insomniachi commented 1 month ago

looks like it cannot parse Start date in one of your anime in your list to a valid DateTime, i'll need any of your mal id to check which one that is, as i cannot reproduce it on my account. @ostinado @CapnCranch

ostinado commented 2 weeks ago

Hey brother. I can message you the ID I think. But considering that this bug is randomly based on one of the thousands of titles available on the site, would there a way to disable that specific check, to have a workaround for when it happens again? I have no idea how difficult this would be, its just something that occurred to me. Thank you for addressing it.