Commit graph

12 commits

Author SHA1 Message Date
7d5dedc0b9 Hide games with no platform info while the platform filter is on (v0.1.10) 2026-08-07 22:19:51 -03:00
b0183b7c20 Add option to filter games not available on the current platform
The new 'Only show games available on this platform' checkbox in the
plugin settings drops games whose platforms don't include the OS
OpenGamepadUI is running on (e.g. Windows-only games on Linux). Games
with no platform info at all (HTML5) are kept since there's nothing to
filter on. The setting is read on every library load, so toggling it
reloads the itch.io library without a restart.
2026-08-07 18:41:39 -03:00
e48a0b501d Emit install/update/uninstall completion and forward install progress to the base Library contract so OGPU's InstallManager and launch menu stop hanging at 0% 2026-08-06 19:13:34 -03:00
b19903e682 Normalize outbound RPC params to ints so cached game dicts (float ids from Godot's JSON parser) don't fail Install.Queue with -32700 2026-08-06 19:08:44 -03:00
e9f25d104b Merge games from the profile's itch.io collections into the library (deduped against owned games) so bookmarked free games show up 2026-08-06 18:52:55 -03:00
9cd4cb32e3 Use itch.io's stillCoverUrl for animated GIF covers so those games still get boxart (Godot can't decode GIFs) 2026-08-06 18:46:02 -03:00
a9371bdbc2 Download itch.io cover art into OGPU's local boxart dir so games show real covers instead of the placeholder 2026-08-06 18:29:47 -03:00
c4fdd2f974 Refresh stale butlerd Fetch.* data (owned keys, caves, uploads) so a cold database doesn't report an empty library or no compatible uploads 2026-08-06 18:11:35 -03:00
e8111f89c2 Persist butler outside the plugin dir so plugin updates don't wipe it
OGPU wipes user://plugins/<id>/ (and everything inside it) whenever a
plugin is updated or re-extracted, so storing butler and butler.db under
user://plugins/itch/assets meant every version bump deleted the binary
and its login session. Store them in persistent user://butler instead,
and migrate any leftover install from the old location.
2026-08-06 17:19:28 -03:00
408991a693 Fix butlerd RPC -32700: normalize integral JSON floats to ints
Godot JSON.parse decodes every JSON number as a float, so integer ids
(7670) round-trip through JSON.stringify as 7670.0, which Go's int64
fields reject with RPC error -32700. Normalize at the parse boundary so
profile/game/upload ids serialize correctly.

Also drop the nonexistent 'fresh' parameter from Fetch.ProfileOwnedKeys.
2026-08-05 22:08:24 -03:00
jose
5d686a5b02 Revert to threaded butlerd client; keep min-api 1.1.0; add InstallLocation stub 2026-08-05 20:43:32 -03:00
3132a5015a Initial commit 2026-08-05 17:27:43 -03:00