On 13/03/2024 09:44, Friedrich Weber wrote: > Currently, after adding a storage to a pool, opening any edit window > will send a GET request with a superfluous `poolid` parameter and > cause a parameter verification error in the GUI. This breaks all edit > windows of the current session. A workaround is to reload the current > browser session. > > This happens because the `PVE.pool.AddStorage` component inadvertently > adds `poolid` to an `extraRequestParams` object that is shared by all > instances of `Proxmox.window.Edit`, affecting all edit windows in the > current session. Fix this by instead creating a new object that is > local to the component. > > Fixes: cd731902b7a724b1ab747276f9c6343734f1d8cb > Signed-off-by: Friedrich Weber <f.we...@proxmox.com> > --- > > Notes: > To check if we have this problem at other places, I did a quick search > for `extraRequestParams` in PVE+PBS: Seems like for all other usages, > the object is created fresh already.
Small correction (as spotted by Aaron off-list): In `AddVM` in the same file [1], we also have a line 22 me.extraRequestParams.poolid = me.pool; This one does not break any edit windows, because the `extraRequestParams` object is created a few lines above that in the `Ext.define`, so it is not shared between all `Proxmox.window.Edit` instances: 9 extraRequestParams: { 10 'allow-move': 1, 11 }, ... but if I understand correctly, it *is* shared between all `AddVM` instances. Again, I think this shouldn't break anything because we reset `poolid` every time `initComponent` is called, but the pattern is somewhat error-prone. It might be better to change line 22 to: 22 me.extraRequestParams = { 'allow-move': 1, 'poolid': me.pool }; ... and remove lines 9-11, to always create a new object in `initComponent`. What do you think? [1] https://git.proxmox.com/?p=pve-manager.git;a=blob;f=www/manager6/grid/PoolMembers.js;h=75f20cab;hb=385f48fb#l22 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel