Did some more troubleshooting and took a look at your commit about the radio button. I understand the bug you were talking about now. This is what I've seen so far as I trace down my specific issue.
- I verified the setting in my settings shown in the screen shots above.
- Cleared local storage.
- Logged in. Set local scaling option. Opened console. Scaling remained off.
- Logged out and back in. Verified setting, Opened console, scaling still off.
- Before and after clearing the storage there was no key:value pair saved in local storage for novnc-scaling
- Opened a guest VM console window.
- Local scaling showed off as in the above screenshots.
- Manually set scaling to local.
- A new key:value pair was created in local storage but not in the same format as the other pairs.
- I closed and reopened the guest console window.
- The scaling option was reverted back to Off
- The key:value pair remained set as resize: "scale"
- Manually switching scaling between local and off changed the key:value to the respective setting.
- Manually added a key:value pair of novnc-scaling: "scale"
- No change in console scaling behavior
- Manually added key:value pair using the saved username entry as a template.
- ext-novnc-scaling: s%3Ascale
- Console behavior is now acting as expected.
- Scaling is defaulted on.
- Persists between logins.
- Entry:
- Parsed:
- This is where things get interesting. I go back to My Settings and set scaling to Off.
- Key:value pair gets updated as expected.
- Scaling on new console windows is Off as expected.
- My Settings now displays the dual radio button selection bug you mentioned.
- At this point If I then turn the setting back to Local Scaling.
- Key:Value remains set to off.
- The dual radio button selection bug remains in my settings.
- Scaling is defaulted to off on new windows.
- I reset the environment.
- Logged out.
- Cleared Local Storage.
- I logged in and changed local scaling setting to Off.
- The key:value pair was created by the browser without me having to do it manually this time.
- The dual radio button selection bug appears in my settings.
- Scaling is defaulted to off on new windows.
- I change the Scaling setting back to Local.
- Key:Value remains set to off.
- The dual radio button selection bug remains in my settings.
- Scaling is defaulted to off on new windows.
- I manually change the value to scale.
- The settings radio button reverts back to only Local Scaling selected (Expected Behavior).
- Scaling is defaulted to local on new windows (Expected Behavior).
Since the Key:Value pair will get created if I set it to off I do not think it is a local storage permissions issue. Other settings such as remember username and the WebInterface settings are creating and storing their values properly as well. Manually changing the key is a good workaround for me but I wanted to provide you will all the info I collected tracking it down in the event it could be an edge case bug and not some configuration on my endpoint. I'm getting the same behavior on all three nodes WebGui's in my cluster. I also used a user with Proxmox authentication and a user from Linux Pam authentication just to be thorough. I did the in depth testing on my Arch Linux box with it's info below but am also seeing the same behavior in Firefox and Official Chrome on a W10 laptop.
Main testing machine:
Arch Linux
Kernel 5.15.14-1-LTS (64-bit)
KDE Plasma: 5.23.5
KDE Frameworks: 5.90.0
Chromium 97.0.4692.71 (Official Build) Arch Linux (64-bit) - No Extensions Installed
Mozilla Firefox for Arch Linux 96.0 (64-bit) - All Extensions disabled for WebGUI
ProxMox Host Info:
proxmox-ve: 7.1-1 (running kernel: 5.13.19-2-pve)
pve-manager: 7.1-8 (running version: 7.1-8/5b267f33)
pve-kernel-helper: 7.1-6
pve-kernel-5.13: 7.1-5
pve-kernel-5.11: 7.0-10
pve-kernel-5.13.19-2-pve: 5.13.19-4
pve-kernel-5.13.19-1-pve: 5.13.19-3
pve-kernel-5.11.22-7-pve: 5.11.22-12
pve-kernel-5.11.22-1-pve: 5.11.22-2
ceph: 16.2.7
ceph-fuse: 16.2.7
corosync: 3.1.5-pve2
criu: 3.15-1+pve-1
glusterfs-client: 9.2-1
ifupdown2: 3.1.0-1+pmx3
ksm-control-daemon: 1.4-1
libjs-extjs: 7.0.0-1
libknet1: 1.22-pve2
libproxmox-acme-perl: 1.4.0
libproxmox-backup-qemu0: 1.2.0-1
libpve-access-control: 7.1-5
libpve-apiclient-perl: 3.2-1
libpve-common-perl: 7.0-14
libpve-guest-common-perl: 4.0-3
libpve-http-server-perl: 4.0-4
libpve-storage-perl: 7.0-15
libspice-server1: 0.14.3-2.1
lvm2: 2.03.11-2.1
lxc-pve: 4.0.11-1
lxcfs: 4.0.11-pve1
novnc-pve: 1.3.0-1
openvswitch-switch: 2.15.0+ds1-2
proxmox-backup-client: 2.1.2-1
proxmox-backup-file-restore: 2.1.2-1
proxmox-mini-journalreader: 1.3-1
proxmox-widget-toolkit: 3.4-4
pve-cluster: 7.1-3
pve-container: 4.1-3
pve-docs: 7.1-2
pve-edk2-firmware: 3.20210831-2
pve-firewall: 4.2-5
pve-firmware: 3.3-4
pve-ha-manager: 3.3-1
pve-i18n: 2.6-2
pve-qemu-kvm: 6.1.0-3
pve-xtermjs: 4.12.0-1
qemu-server: 7.1-4
smartmontools: 7.2-1
spiceterm: 3.2-2
swtpm: 0.7.0~rc1+2
vncterm: 1.7-1
zfsutils-linux: 2.1.1-pve3