I don’t judge people for playing nsfw games.
I’ll look into it when I have the time.
Hi, the game started regularly stuttering for me seemingly for no reason, presumably after an Arch Linux update.
On Steam it was suggested to update the bundled SDL2 library with a newer one provided by flibitijibibo: https://steamcommunity.com/app/504230/discussions/4/4336474207083138770
Unfortunately his link doesn’t work anymore, but it turns out that the issue is fixed by just removing the bundled SDL2 lib entirely and instead letting the game use native libraries (sdl3 with sdl2-compat).
I was gonna leave a comment on that Steam forum thread, but I don’t own the game on Steam, so I’m writing a post here instead. :)
The updates aren’t forced and they’re not automatic, you may get a notification for an update but you need to manually confirm to download and install it. (At least, that’s how it works for now, I plan to add fully automatic updates as an optional feature at some point.)
As for the error notification, it’s better to try to fix it, so I’d like some more details about it if possible.
I could do this, my app installation code was written with multiple possible installers in mind. However, I don’t have root on my phone so I won’t be able to test that method at least.
Next time I get around to working on Mitch, my priority will be to update to a higher SDK level, this will enable automatic APK updates on Android 12 or later without root or any external tools. (I’m open to implementing other methods, for the sake of older Android versions, but as I said, testing might be an issue).
Looks like a problem on their end. They may have signed the newer version with a different key from the older version. So Android refuses to install it. I really don’t think Mitch has any influence over this, but I guess you could try downloading and installing the new APK manually. If that doesn’t work your options are 1) complain to game dev or 2) delete the old version (which might erase the save data!) before installing the new one
Soon(tm). F-Droid takes a while to build packages but it looks like it’s built mine (ua.gardenapple.itchupdater:106 first on the list 😎). Should be published soon.
easier than having to append a query string on every url
You might be thinking of a different thing. The “?exclude=” URL hack is done if you go into the settings and select “Exclude tag from start page”. Meanwhile the filter that’s applied in the “…” menu on the browse page is different, that’s a custom thing that’s done by Mitch on the client-side. Unlike the URL hack it can handle multiple exclusions at once, but yes it gets reset after leaving https://itch.io/games.
if I then view a game’s page and hit back to go back go the browse games list, the exclude filter is reset.
That’s a bit tricky to fix because the “hit back to go back” interaction is handled by the WebView, not by my app. If you load https://itch.io/games by pressing “back”, to me it’s indistinguishable from loading it from some other link. I don’t want to maintain the same filter if you visit the game catalog again from some other link, that would be confusing, which is why I purposefully reset it. I can probably figure out some kinda solution, though.
Because then other, possibly malicious, applications have access to downloaded .apk files and can modify them before you install them.
This is theoretical but still a concern. To be honest I probably should add the option to just give public access to the downloaded .apk anyway, I’ve been putting it off for a long time.
So to be clear, you want Mitch to check if there’s a link to F-Droid on a game’s page, and if so, redirect the user to F-Droid, instead of simply installing it? That would make things more confusing, not less. Not to mention the added code complexity.
I’ve had Mindustry on my phone for quite a while now with numerous updates received through Mitch, and F-Droid never seemed to have trouble with this. I might be wrong but I’m pretty sure F-Droid is smart enough to handle these use cases, as it also often co-exists with Google Play, Aurora Store, and other apps. If not, then as far as I’m concerned, that’s F-Droid’s problem. I know there is a way to check which “app installer” was responsible for installing an app.
On the other hand, most Mitch users probably also have F-Droid installed, so they don’t really need Mitch to perform updates of the games.
The main F-Droid repo can be slow to update. Also certain features might be removed to meet their policies. (granted, these “features” might be things like Google Analytics, but still, in general we can’t assume that the F-Droid version will be equivalent to whatever’s on itch.io)
The possibility of app updates removing stuff from the library is interesting.
There is also a “database cleanup” task that runs every 24 hours which checks if an app is actually installed on the system, and if it’s not installed, it’s removed from the Mitch library menu. Normally that code should never run anyway, because apps should be removed from the library instantly as soon as they are uninstalled. Maybe that “sanity-checking” code triggers a false positive and deletes stuff for no reason. I will look into that a bit later.
I started working on Mitch again, will implement this ~~tomorrow~~ soon, shouldn’t be too difficult. The current plan is:
Not gonna be the most elegant solution but hopefully powerful enough, and not too confusing for users.
I’ve done a bit of investigation but I still haven’t found a way to fix Android filtering on my end. I opened an issue on itch.io’s issue tracker and left a comment on their feeback forum. That’s pretty much all I can do for now.