Firefox window height too short under wayland fractional scaling on second monitor

Hi! I’m running a laptop whose main display in 1920x1080, and I have a second monitor attached which is 3840x2160. I’ve set the second monitor to 125% scaling using the Settings / Display control panel, and haven’t messed with the gnome settings much besides that.

Everything is basically working great but there’s one issue that is a constant annoyance. When I open a new Firefox window on the larger monitor it is always too short - I haven’t measured it, but I’m guessing it’s 1080 pixels high so as to be able to fit comfortably on either screen. Anyways, the upshot is that every time I open a new window I then have to drag the bottom edge down so it’s a reasonable size for that monitor.

This would be annoying enough on its own, but in addition, whenever gnome locks the screen due to inactivity, every Firefox window on both monitors shrinks in height so it is 1080 pixels high, so after unlocking I need to go back through every Firefox windows and resize it.

This happens in both Firefox 92.0.1 and in Thunderbird 91.1.1. I haven’t seen the same behavior from Chrome or any other X application. Settings / About shows Gnome version 40.4.0, windowing system “Wayland”.

I’ve read the HiDPI and Firefox pages in the Arch wiki but didn’t see any mention of this, and couldn’t find anything in an initial search of the Firefox bugzilla. Anyone else seeing this?

❯ sudo inxi -F

System:    Host: xxxxx Kernel: 5.14.7-2-MANJARO x86_64 bits: 64 Console: tty pts/0 Distro: Manjaro Linux 
Machine:   Type: Laptop System: LENOVO product: 20TH001GUS v: ThinkPad P1 Gen 3 serial: xxxxx 
           Mobo: LENOVO model: 20TH001GUS v: SDK0T08861 WIN serial: xxxxx UEFI: LENOVO v: N2VET32W (1.17 ) 
           date: 06/24/2021 
Battery:   ID-1: BAT0 charge: 80.6 Wh (96.2%) condition: 83.8/80.4 Wh (104.2%) 
CPU:       Info: 8-Core model: Intel Core i9-10885H bits: 64 type: MT MCP cache: L2: 16 MiB 
           Speed: 800 MHz min/max: 800/5300 MHz Core speeds (MHz): 1: 800 2: 800 3: 800 4: 800 5: 800 6: 800 7: 800 
           8: 801 9: 799 10: 800 11: 800 12: 800 13: 799 14: 800 15: 800 16: 800 
Graphics:  Device-1: Intel CometLake-H GT2 [UHD Graphics] driver: i915 v: kernel 
           Device-2: IMC Networks Integrated Camera type: USB driver: uvcvideo 
           Display: server: 1.20.13 driver: loaded: i915 note: n/a (using device driver) 
           resolution: <missing: xdpyinfo> 
           OpenGL: renderer: Mesa Intel UHD Graphics (CML GT2) v: 4.6 Mesa 21.2.2 
Audio:     Device-1: Intel Comet Lake PCH cAVS driver: sof-audio-pci-intel-cnl 
           Sound Server-1: ALSA v: k5.14.7-2-MANJARO running: yes 
           Sound Server-2: PulseAudio v: 15.0 running: yes 
Network:   Device-1: Intel Comet Lake PCH CNVi WiFi driver: iwlwifi 
           IF: wlp0s20f3 state: up mac: 20:1e:88:23:cb:61 
           Device-2: Realtek RTL8153 Gigabit Ethernet Adapter type: USB driver: r8152 
           IF: enp44s0u2u4 state: down mac: xxxxx
           IF-ID-1: docker0 state: down mac: xxxxx
Bluetooth: Device-1: Intel AX201 Bluetooth type: USB driver: btusb 
           Report: rfkill ID: hci0 state: up address: see --recommends 
Drives:    Local Storage: total: 953.87 GiB used: 124.43 GiB (13.0%) 
           ID-1: /dev/nvme0n1 vendor: Samsung model: MZVLB1T0HBLR-000L7 size: 953.87 GiB 
Partition: ID-1: / size: 829.13 GiB used: 124.43 GiB (15.0%) fs: ext4 dev: /dev/dm-0 
           ID-2: /boot/efi size: 511 MiB used: 440 KiB (0.1%) fs: vfat dev: /dev/nvme0n1p5 
Swap:      ID-1: swap-1 type: partition size: 31.25 GiB used: 0 KiB (0.0%) dev: /dev/nvme0n1p6 
Sensors:   System Temperatures: cpu: 39.0 C mobo: N/A 
           Fan Speeds (RPM): fan-1: 2573 fan-2: 2379 
Info:      Processes: 398 Uptime: 19m Memory: 30.99 GiB used: 10.12 GiB (32.7%) Shell: Zsh inxi: 3.3.06