Animeboynz / Mihon-Backup-Viewer

A tool to explore and edit your Mihon / Tachiyomi Backups
https://tachibk.netlify.app/
GNU General Public License v2.0
8 stars 3 forks source link

Only include edited entries in exported `.tachibk` #49

Open BrutuZ opened 2 weeks ago

BrutuZ commented 2 weeks ago

Assumption is average user will be loading a backup out of the app anyways. If we encode the whole thing again we're mostly spitting out the same thing while potentially corrupting saved app settings, but it will also take a long time to restore a full backup (we're talking in the scale of tens of minutes here) as opposed to a near instant restore of just a few edited entries

Animeboynz commented 2 weeks ago

I think we should not eliminate the possibility that they might want to redownload the full backup. They might want to edit a few things before they switch phones or switch between forks.

But I get what you are saying. Backup times on large libraries can be annoying. But I think it should definately be a option we present the user. For eg. When they press the download button we prompt them if they want to download the full backup or just the changes.

BrutuZ commented 2 weeks ago

The thing that brought it up was the app settings fields, I couldn't find a way to properly decode those.

NGB-Was-Taken commented 2 weeks ago

After looking at Mihon's code for about 40 minutes, I still can't figure out how a simple boolean value false (in the preferences.xml file) gets converted into whatever this is image This is what it looks in the xml file btw: image

BrutuZ commented 2 weeks ago

The protobuf is serialized from the objects, and the Preferences are stored in a weird polymorphic one that handles all different types (sauce) but I can't figure out if there's even a way to translate that for the schema.

btw, XML? What heresy is that?! 😨

NGB-Was-Taken commented 2 weeks ago

btw, XML? What heresy is that?! 😨

EVERYTHING is XML. Active downloads? XML. Chapter delete queue? XML. Tracking queue? XML. App preferences? XML. Source preferences? XML. Stored under /data/data/<app-package-name>/shared-prefs (requires rooted phone to view) image

Animeboynz commented 2 weeks ago

I haven't rooted my phone in like 8 years. I can't lose google pay.