Skip to content

v1.12.4

Choose a tag to compare

@github-actions github-actions released this 13 Sep 12:50
· 5 commits to main since this release

Updates no longer stop halfway, or die on DNS

Two silent faults in the built-in updater, both found while looking at something else.

A release was applied file by file, and the updater gave up on the first file it could not write — leaving the plugin half updated, part old code and part new. That is worse than no update at all, and nothing said so beyond one line in a log.

Decky keeps a plugin's top-level directory and its plugin.json owned by root and chowns everything else to you, so overwriting an existing file works while creating a new top-level entry does not. The updater now surveys the whole release before writing anything: a code file it cannot write cancels the update without touching a thing, and names the files; documentation, licences and plugin.json are skipped and the update goes through.

The release check ran once, a few seconds after the plugin starts — which is often before the network is up. Nothing retried, so the plugin stayed on its version until a boot that happened to be luckier. On the machine this was found on, three boots out of four were dying on Temporary failure in name resolution. It now retries while the failure is the network.

And when an update genuinely cannot be applied, the plugin tells you, instead of leaving you on a stale version without knowing it.

Not done, deliberately

Handing the install to Decky's own installer was tried and rejected. That route reports the install to the Decky Store, which does not know a self-distributed plugin, and the request fails with a 404 — after which the flow stops: files written, plugin never reloaded, and a confirmation dialog frozen over the Steam UI. It also leaves the whole plugin directory root-owned, which would stop the plugin updating itself ever again.