Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Card database updates completely whenever a new set releases #622

Closed
Hunchbakmax opened this issue Apr 4, 2024 · 3 comments
Closed

Card database updates completely whenever a new set releases #622

Hunchbakmax opened this issue Apr 4, 2024 · 3 comments

Comments

@Hunchbakmax
Copy link

The app seems to need to re-download the entire database each time a new set is released, which takes several minutes and occurs very regularly given WoTC's ever increasing release schedule. The app is unusable during this time and exiting the app causes the download to stop. Would it be possible for this process to be done in the background, to continue while the app is not open, to not download older sets, or to not prevent the app from being used while it's happening?

@AEFeinstein
Copy link
Owner

Yeah, this is annoying. Let me break it down.

The app seems to need to re-download the entire database each time a new set is released, which takes several minutes and occurs very regularly given WoTC's ever increasing release schedule.

Not quite. What is happening is that once a week (Tuesday in the morning specifically) patches are regenerated by https://github.com/AEFeinstein/Mtgjson2Familiar/. It's not downloading the entire database, but it is downloading each expansion with a change in it. You'd think that expansions wouldn't change regularly, but legality, translations, IDs, and artist data is constantly being fixed.

The app is unusable during this time and exiting the app causes the download to stop.

Yep. Android's SQLite interface really, really doesn't like having multiple processes open the database at the same time, or at least not in a way that I've found. I made the decision to lock the app behind the database update instead of having database queries randomly fail (which used to happen with some frequency.

Would it be possible for this process to be done in the background, to continue while the app is not open, to not download older sets, or to not prevent the app from being used while it's happening?

Here's the really annoying part, it used to be in the background (as a foreground service with a progress bar in the notification tray), and then Google decided it wasn't compliant! I followed the rules for "Data Sync - Network", appealed, and was deemed non-compliant a second time with no justification. Google sucks sometimes.

image

As for older sets, it's important to me that Familiar has accurate data for all cards, not just new ones, so I'm not going to implement a setting where only newer sets are updated.

You can always reduce the automatic update check frequency in the settings and manually update when it's convenient for you. Sorry that the situation isn't great, but that's the story.

@Hunchbakmax
Copy link
Author

Damn that is annoying, thanks for the response and sorry if you've already covered this stuff a million times as I've seen plenty of people kicking up a stink on the Google reviews - I figured there was likely more at play in the background so I'm not surprised to hear Google are making things difficult

@AEFeinstein
Copy link
Owner

Actually I don't pay much attention to the reviews anymore, haha. I probably should, but I'm not selling anything here, and only doing maintenance as necessary. I do pay attention to Github, and this ticket is good. I can link to it if/when other people ask!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants