Razviar / mtgap

Support tool for MTG Arena online game
https://mtgarena.pro/
219 stars 50 forks source link

Collection doesn't sync on MacOS #274

Open heroes182 opened 2 years ago

heroes182 commented 2 years ago

Detailed context (ISSUES WILL NOT BE INVESIGATED WITHOUT IT!):

Your Desktop:

Describe the bug Export collection triggers a CSV download, but the css only has column headers

To Reproduce Steps to reproduce the behavior:

  1. Go to https://mtgarena.pro/collection/
  2. Click the cloud download icon
  3. Click the "MTG Goldfish CSV" button on the modal
  4. Open the resulting collection.csv file
Razviar commented 2 years ago

It's because you don't have synced collection. Our records show that your collection on mtga.pro contain zero cards. MacOS tracker has no collection tracking functions.

dianasnyder commented 2 years ago

Collection syncing was working perfectly fine for mac before the large arena backend update that broke everything. As you can see on my profile (mtga.cc/u/aPlayerofGames) I have cards from AFR showing as owned in my collection and I've never logged in anywhere except for mac. The Rewards page (https://mtgarena.pro/rewards/) also stopped working on Mac around August 22nd.

MacOS tracker has no collection tracking functions.

Does this mean you are officially removing support for collection tracking on Mac or will this eventually be fixed?

Razviar commented 2 years ago

We hope to find the way to apply for macos the fix we have for windows, but we have no eta and significant progress updates.

Razviar commented 2 years ago

If there's any c# devs with macos reading this, your help wanted :) you can contact me via email: admin@mtgarena.pro

Razviar commented 2 years ago

UPDATE: Unfortunately, we are unable to port existing solution for Mac, so there will be no Mac update soon. But there's still a chance that another method we are developing might work. OR WOTC might start rendering collection data in log again. Anyway, it will take unknown amount of time.

jordanyankushev commented 2 years ago

Is there any development with this? I am sooo displeased by not being able to see my collection in a better deck-building web app...

Razviar commented 2 years ago

Sorry, there's no active development for Mac at the moment. Since the project is open source, if anyone is willing to help, effort will be very welcome

mogui commented 1 year ago

HI @Razviar I don't have a lot of time, but I am willing to help. if you guys can direct me on how the project is structured and built and explain the solutions you have in place for windows, I can give it a shot to fix the Mac version. C# not my primary language but i think i can try. The build for mac os is done with Mono?

Razviar commented 1 year ago

@mogui hi! Thanks for your interest! Unfortunately it's il2cpp 😫 that is why we don't have a solution. We need a full stack solution for il2cpp modding or memory reading to make it work

mogui commented 1 year ago

No idea on what il2cpp is :D can you give me some starting point any material or docs to read to have an idea? How the Windows version work? Ho do you cross compile to osx?

Razviar commented 1 year ago

No idea on what il2cpp is :D can you give me some starting point any material or docs to read to have an idea? How the Windows version work? Ho do you cross compile to osx?

il2cpp is basically another way of unity compiling then Mono, it has different mechanics, so we can't inject assembly like we do on Windows, where mtga is mono-based. Windows version works with injection, we use SharpMonoInjector to do an injection. Cross-platform usage is avaliable thanks to Electron, since it's cross-platform in it's core.

mogui commented 1 year ago

can you give me instruction on how the build is made for mac os? So for Windows you inject the MTGA process to read directly the memory to extract infos you cannot obtain by reading the logs, and you don't have a similar way to do the same for the Mac build, something like that?

Razviar commented 1 year ago

can you give me instruction on how the build is made for mac os? So for Windows you inject the MTGA process to read directly the memory to extract infos you cannot obtain by reading the logs, and you don't have a similar way to do the same for the Mac build, something like that?

it's basically the same as for windows: you just clone repo, install packages and do "npm run start", it should work. It already has mac adjustments.

As for injection, basically injection makes the game to write data we need into the log. It doesn't exchange the data with an app directly, just makes data we need accessible from the log.