v1.11.4 — a failed auto-update no longer passes for a success
A one-line correctness fix on the update path, found while investigating the same defect in BoneCast.
Fixed
A failed automatic update was reported as a success. apply() returns a dictionary, and {"ok": False, "error": …} is always truthy in Python. The boot-time auto-updater therefore treated every failure exactly like a success: it restarted Decky as if the new version had landed — and did it again at the next boot, since the installed version had not moved. It now reads the result and logs why it gave up.
The manual update button already checked the result properly, so this only ever affected the silent check at startup.
SkullKey's own file-replacement fallback has been in place since v1.11.2, so the permission failure that made this visible in BoneCast does not apply here.