Skip to content

v0.4.5 — Games start without waiting on housekeeping

Choose a tag to compare

@github-actions github-actions released this 17 Aug 18:22
· 112 commits to main since this release

v0.4.5 — Games start without waiting on housekeeping

If you have more than one Steam Deck or PC syncing your saves, you may have noticed that
starting a game on a device you had not used for a while could leave you staring at a frozen
launch for the better part of a minute. This release fixes that.

What changed for you

Your game no longer waits for old backups to be tidied up. Before starting a game, the
plugin holds it briefly to make sure your latest save has finished arriving. That check was
also waiting for Syncthing to finish deleting old backup snapshots it no longer needs —
which has nothing to do with whether your save is there. On a device that had been switched
off for a while, that meant the game sat frozen while the only thing happening was cleanup.
One measured launch was held for 52 seconds without a single byte of save data being
transferred: the save had already arrived minutes earlier.

The plugin now waits only for the save itself. If your save is present, the game starts,
even while Syncthing is still clearing out old snapshots in the background.

The status strip stops claiming it is downloading when it is not. During that cleanup it
used to show SYNCTHING DOWNLOADING, which was simply untrue. It now stays quiet and then
reports SYNCTHING COMPLETE.

It still waits when it should. If your save really is missing or still coming down, the
game is still held until it arrives, and it now catches one case it previously missed —
where a file has been partly received but is not yet finished being written. Restoring a
half-arrived save would be far worse than a slow launch, so that check was strengthened
rather than relaxed.

If you turn on Debug Logging

The pre-game part of the plugin used to write nothing to the log at all, which made a slow
launch impossible to explain without inspecting Syncthing directly. It now records what it
is waiting for and why, each time that changes. Device names, file names, and folder paths
are never written to the log.

Security

One build-time dependency advisory was resolved by upgrading rather than by silencing it.
The fix was newer than this project's two-week quarantine on dependency updates, so it was
allowed through as a single pinned version; every other release of that package stays
quarantined and no advisory is ignored. This was never part of the plugin you install.