jceddy / DailyArenaDeckAdvisor

A Deck Advisor companion App for Magic Arena.
GNU General Public License v3.0
18 stars 7 forks source link

Unhandled Exception in loadTask (Window_Loaded - Main Application) #265

Closed jceddy closed 2 years ago

jceddy commented 2 years ago

An unhandled exception was detected.

Exception:

System.AggregateException: One or more errors occurred. ---> Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: Cannot convert type 'Newtonsoft.Json.Linq.JTokenType' to 'string' at CallSite.Target(Closure , CallSite , Object ) at System.Dynamic.UpdateDelegates.UpdateAndExecute1[T0,TRet](CallSite site, T0 arg0) at DailyArena.Common.Core.Database.CardDatabase.UpdateCardDatabase() at DailyArena.Common.Core.Database.CardDatabase.Initialize(Boolean useProtectedData) at DailyArena.DeckAdvisor.MainWindow.b94_0() in C:\Users\jcedd\Source\Repos\DailyArenaDeckAdvisor\DailyArenaDeckAdvisor\MainWindow.xaml.cs:line 2805 at System.Threading.Tasks.Task.Execute() --- End of inner exception stack trace --- ---> (Inner Exception #0) Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: Cannot convert type 'Newtonsoft.Json.Linq.JTokenType' to 'string' at CallSite.Target(Closure , CallSite , Object ) at System.Dynamic.UpdateDelegates.UpdateAndExecute1[T0,TRet](CallSite site, T0 arg0) at DailyArena.Common.Core.Database.CardDatabase.UpdateCardDatabase() at DailyArena.Common.Core.Database.CardDatabase.Initialize(Boolean useProtectedData) at DailyArena.DeckAdvisor.MainWindow.b94_0() in C:\Users\jcedd\Source\Repos\DailyArenaDeckAdvisor\DailyArenaDeckAdvisor\MainWindow.xaml.cs:line 2805 at System.Threading.Tasks.Task.Execute()<---

log2021090916.txt

Player.log

Ver4th commented 2 years ago

Tried a few things, including deleting the files in the appdata folder that was suggested from what seemed to be a similar issue previously, can't seem to find a workaround on my end

cchance27 commented 2 years ago

just hit this also any workarounds?

jceddy commented 2 years ago

So, there is a bug causing a crash when loading the card database, related to the addition of City's Blessing. I have a fix for it that hasn't been published yet. The larger issue is that their last major change removed a bunch of information from the detailed logs that DADA uses, and is basically nonfunctional without.

I have been working with some people to figure out a solution, as this affects all similar software, mtgarena.pro, etc., as well. Unfortunately it seems at this time that any solution is going to require a pretty complex change involving code injection or something, and will take a while to implement.

Ver4th commented 2 years ago

Gotcha.

ZedsterX commented 2 years ago

Is there still no fix here? I am having this issue with version 1.0.9.1

snazzynyan commented 2 years ago

Is there any progress with fix?

jceddy commented 2 years ago

mtga.pro has a solution that appears to be working...it will take a while for me to work it into DADA, but at least it seems doable

opoloko commented 2 years ago

Another one hitting this...any update or ETA? Thanks!

benserwa commented 2 years ago

Still getting this.

jceddy commented 2 years ago

Just wanted to update that I have finally been able to start putting some time into this. Hopefully will have a fix for Kamigawa, and then start adding in support for Alchemy.

jceddy commented 2 years ago

I created a dll that can be injected into MTGA and used to dump inventory data. Next step is to add code to DADA to do the injection.

This means that it DADA will now need to run while MTGA is running instead of being able to just pull data from logs after the fact. Although once the data is successfully logged, MTGA can be shut back down.

jceddy commented 2 years ago

I have been tested the Injected dll today, and now successfully have dumps of player Inventory and deck information to the log file. It is in a slightly different format than before, so I need to make a couple changed still:

1) Add code to DADA to inject the dll. 2) Modify the DADA code to read the info from the log in the new format.

jceddy commented 2 years ago

I've run some tests and am able to dump the data to the log file, and it is picked up correctly by DADA.

I've been testing on Windows 11 and notice some weird UI glitches...not sure whether these are due to Windows 11, or not, so will need to run additional tests in Windows 10.

The scraper that is pulling meta decks down from mtggoldfish does not appear to be working, so I will need to figure that out, too. Not much use pushing an update to the client if the server-side stuff isn't working properly.

My hope right now is to get a new version pushed by the end of this week, and then a goal to hopefully add Alchemy support by the release of the next set (Feb 10). We'll see if I have time to do it all.

jceddy commented 2 years ago

I just pushed a new version 1.0.9.2

Anyone want to give it a test to see if it works for them now?

jceddy commented 2 years ago

Closing this, please comment in #262.