If you use an account, you should be able to exclude NSFW apps from search by going into your account settings. I did not realize that there is no tag for adult games, so I probably should add “genre” exclusion at some point.
gardenapple
Creator of
Recent community posts
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:
- Have two filters:
- A “primary filter” using this hack that pkcheap found
- This can be specified through the Settings menu
- Will apply only to the main page, and only if the main page is set to Android games or web games
- “Secondary filters” on the client-side
- Can be applied anytime on https://itch.io/games but can not be saved
- Only works with genres instead of tags
- A “primary filter” using this hack that pkcheap found
- When/if itch.io adds proper filtering functionality on the server-side, the two filters will be merged.
- I will not support filters for anything besides games
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.
It used to be possible, with some hackery, to filter library games by operating system using some hidden HTML. Basically there was some unused code for OS icons, with some client-side scripting it was possible to hide all games that had a (hidden) Windows icon, for example. My Mitch app relied on this to show owned Android games, but this has been broken for some time now.
Some proper filtering would allow me to see owned mobile games again without relying on dirty hacks like that.
It looks like itch.io doesn’t provide platform information anymore for the library. It used to be hidden within https://itch.io/my-purchases, there was some unused HTML for displaying Android, Windows, Linux etc icons, and I relied on that hidden HTML for filtering. But it looks like it has been removed now (and the way they load thumbnails has changed so that’s broken too).
Thumbnails are an easy fix but sadly the Android filter will be much harder or even impossible to fix.
I’d looked at the code earlier and it didn’t seem like a great solution to me, I’d rather have genre exclusion as a separate option so users could disable any genre(s), not just visual novels, and not just for Android.
I didn’t know that there was even a way to exclude stuff with the URL query so that’s cool, I have to thank you for that! But I’m probably gonna implement it in a slightly different way, sorry.
I don’t use any APIs for search, I just use their web pages, if the web page does not show needed information then I can’t use it for filtering.
The list does display a genre for a game, in theory I could filter out some games using that, but that’s not a great solution because games actually have multiple genres (e.g. Action/Adventure) which are not shown.