Commit graph

6 commits

Author SHA1 Message Date
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
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
3132a5015a Initial commit 2026-08-05 17:27:43 -03:00