Correct way to update a snap from interface

Hello there,

We need our user to manually update their snap, with this feature :

  • checking if there is an update
  • apply the update

This is what we plan to do :

  • Since we cannot snapctl refresh yet, we plan to set snap to refresh every 5m (Is this a good idea for performance and offline use ?)

  • We will set the snap to refresh - endure/skip-refresh so the app does not abruptely close to refresh itself

  • We plan to use the recent feature snapctl refresh-app-awareness to check if an update is pending and display it for the user (Can anybody link to correct documentation of this ? is this still a beta feature ?)

  • Then we will provide a snap restart button that the user can use if an update is pending

----> This way we can have a “check for update” button and a “restart to apply update” button in our graphical interface.

Is this the correct way to go ?

Also is it possible (or is it in the roadmap) to enable the user to change channel or track ? edge / beta / stable for example ?

All the best,