decky-loader icon indicating copy to clipboard operation
decky-loader copied to clipboard

[Request] Automatic Decky & Plugin Updates on Startup

Open Areynslulaust opened this issue 1 year ago • 5 comments

Please confirm

  • [X] I have searched existing issues
  • [X] This issue is not a duplicate of an existing one
  • [X] This is not a request for a plugin

Feature Request Description

Adding Automatic Updates: Making it where a Decky Loader Update will automatically download and startup and apply on Reboot.

Also being able to mark Decky Plugins to Update Automatically in the Background when Available (EX: CSS Loader)

Maybe Tag it as Experimental

I primarily want this for ease of use. I also installed Decky onto my Friend's Steam Deck's and it keeps breaking because they wont know how to update it

Further Description

Ease of Use, starting my Steam Deck and being able to get what i want to be doing and not be annoyed by Updates would be Great. Just like how the Steam Deck's own Updates are automatic.

Areynslulaust avatar Jul 16 '24 19:07 Areynslulaust

Speak of the Devil. Decky Loader is broken again as of the Latest Beta. Its likely still running in the Background when broken because CSS Loader themes are still loaded but nothing else works

Areynslulaust avatar Jul 17 '24 16:07 Areynslulaust

How about we patch SteamClient.Updates.ApplyUpdates to also update Decky Loader, in this way when Steam Updates we make sure Decky is also updated to avoid old version Decky crashing new version Steam.

SteamClient.Updates.ApplyUpdates("CAE=") means client update. The string "CAE=" come from

btoa('\b' + String.fromCharCode(updateType)); // updateType == 1 for client update

I assume the updateType value comes from https://github.com/SteamDatabase/Protobufs/blob/master/steam/enums.proto#L279-L288, since for OS update the base64String will be "CAI=" which is converted when updateType is 2.

However in that case, we may need to worry about k_EUpdaterType_Aggregated which I assume may be any of the combinations of OS, BIOS and client, so client may be updated and may be not. But it's a rare case maybe we just try to update Decky Loader regardless, won't harm.

Also need to be careful about restarting, like if the Decky Loader update runs slower than Steam client update (somehow), we may need to prevent the user from restarting before the Decky Loader update is finished.

AkazaRenn avatar Apr 07 '25 00:04 AkazaRenn

good idea though I'd prefer to show a prompt and we wouldn't do it by patching SteamClient since that tends to jank out a tad

AAGaming00 avatar Apr 07 '25 00:04 AAGaming00

good idea though I'd prefer to show a prompt and we wouldn't do it by patching SteamClient since that tends to jank out a tad

Then it might be easier to do it on start up, maybe at the crash page add a new button for updating Decky and a button to switch channel

AkazaRenn avatar Apr 07 '25 01:04 AkazaRenn

good idea though I'd prefer to show a prompt and we wouldn't do it by patching SteamClient since that tends to jank out a tad

Then it might be easier to do it on start up, maybe at the crash page add a new button for updating Decky and a button to switch channel

ideally both

AAGaming00 avatar Apr 07 '25 01:04 AAGaming00