SteamDeckHomebrew / decky-loader

A plugin loader for the Steam Deck.
https://decky.xyz
GNU General Public License v2.0
4.53k stars 156 forks source link

[Request] Plugins provide a min supported version of Decky Loader #682

Open TrainDoctor opened 1 month ago

TrainDoctor commented 1 month ago

Please confirm

Feature Request Description

Plugins can specify a minimum supported version number (in strict semver) in their plugin.json that decky will expose in the store UI (shows current decky version and min supported version) that will flash an error if the min supported version is not met but will still allow users to download the plugin. If the plugin does not support the current version of decky it will show an error beside the plugin's name in the plugin management UI as well. The plugin store would need to add a new field for min plugin version so that could be surfaced to Decky Loader's Store UI. As suggested I'd also like to integrate a min SteamOS version for Decky to use and for plugins to use. Decky would only need to check it's supported version against the installed version but another field in plugin.json and on the plugin store would be needed to perform checks for the SteamOS version plugins support.

Further Description

Further details of the feature should be limited to helping ensure that users know which version of decky a plugin supports with a min. version check alongside other upcoming planned features.

Tormak9970 commented 1 month ago

Min version is a good idea, as then we could, for example, release the new tabmaster update and set it to 3.6.8, and not have to worry about stable users installing it until 3.6.8 comes to stable

As we discussed on discord, I think another great addition would be a mandatory minimum SteamOS version field. As per the quote above, this would be useful for continuing to develop after making a bug fix for the beta channel. Things to keep in mind:

moraroy commented 1 month ago

To also piggyback further since the .json would be getting updated, i would like to also suggest to expose a small field in there for a 'Patch Notes' field. This will help the devs and the users to understand what the fixes are in the store front as well give them the knowledge to choose which version of that plugin is best for them if they are on Stable, Beta or Pre of SteamOS.

If the current UI design stays the same then maybe once the user clicks on the drop down menu for the different "versions".. then perhaps a new button can be pressed... maybe down on the bottom it can say in the footer.. "X" Patch Notes.... then another modal pops up simply with the patch notes information. And as the user scrolls down that version number list , the new modal on the right simply shows that patch note info for each version. Just a thought! Personally though, as far as ui design i would rather have the patch notes presented in the front of the main store where the plugin itself is downloaded but i know its tight space for a lot of info tbh so im not sure.

Tormak9970 commented 1 month ago

@moraroy that's a great idea. Only input I have is that it would make more sense imo to just have a "View Changelog" button that shows the patch notes for each release, versus tied to each version in the dropdown.

Perhaps the patch notes for the update could pop up when the user clicks the update button, with a confirm and cancel button on the modal.

moraroy commented 1 month ago

@Tormak9970 true! Yeah UI wise, there alot of ways to go about it .im not too good on ui haha But defintely an area in the .json for changelog/patch notes, it would help everyone i think with immediate information about what they are downloading.