Am 12/04/2024 um 16:15 schrieb Friedrich Weber: > Implement a new "guest stop" confirmation message box which first > checks if there is an active shutdown task for the same guest that is > visible to the logged-in user. If there is at least one, the dialog > displays an additional default-on checkbox for overruling active > shutdown tasks. If the user confirms and the checkbox is checked, the > UI sends a guest stop API request with the `overrule-shutdown` > parameter set to 1. If there are no active shutdown tasks, or the > checkbox is unchecked, the UI sends a guest stop API request without > `overrule-shutdown`. > > To avoid an additional API request for querying active shutdown tasks, > check the UI's current view of cluster tasks instead, which is fetched > from the `pve-cluster-tasks` store. > > As the UI might hold an outdated task list, there are some > opportunities for races, e.g., the UI may miss a new shutdown task or > consider a shutdown task active even though it has already terminated. > These races either result in a surviving shutdown task that the user > still needs to abort manually, or a superfluous `override-shutdown=1` > parameter that does not actually abort any tasks. Since "stop > overrules shutdown" is merely a convenience feature, both outcomes > seem bearable. > > The confirmation message box is now always marked as dangerous (with a > warning sign icon), whereas previously it was only marked dangerous if > the stop issued from the guest panel, but not when issued from the > resource tree command menu. > > Signed-off-by: Friedrich Weber <f.we...@proxmox.com> > --- > > Notes: > changes v2 -> v3: > - aligned permission checks with changed backend logic > - replace access of `this.vm` with `me.vm` > > changes v1 -> v2: > - instead of a second modal dialog that offers to overrule shutdown > tasks, display an additional checkbox in the "guest stop" > confirmation dialog if there is a running matching shutdown task > - spin out pve-cluster-tasks store fix into its own patch > > www/manager6/Makefile | 1 + > www/manager6/lxc/CmdMenu.js | 8 +++- > www/manager6/lxc/Config.js | 8 ++-- > www/manager6/qemu/CmdMenu.js | 8 +++- > www/manager6/qemu/Config.js | 8 ++-- > www/manager6/window/GuestStop.js | 79 ++++++++++++++++++++++++++++++++ > 6 files changed, 104 insertions(+), 8 deletions(-) > create mode 100644 www/manager6/window/GuestStop.js > >
applied, with some smaller style nits squashed in directly and a follow-up that changed this to be shown more often, mostly because the UI task state can be dated (slightly more rationale in the commit message), thanks! _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel