atlas-engineer / nyxt

Nyxt - the hacker's browser.
https://nyxt-browser.com/
9.64k stars 404 forks source link

Misplaced hints in zoomed pages #3339

Closed mz-pdm closed 3 months ago

mz-pdm commented 4 months ago

Describe the bug

When a page is zoomed, hints in follow-hint are misplaced.

This is a regression, it worked fine in 3.9 and got broken in 3.10.

Precise recipe to reproduce the issue

  1. Open https://nyxt.atlas.engineer/.
  2. Run zoom-page.
  3. Run follow-hint.

The hints are not attached to the corresponding places, they are misplaced.

Information

ASDF version: 3.3.1 ASDF registries: (NYXT-SOURCE-REGISTRY ENVIRONMENT-SOURCE-REGISTRY) Critical dependencies: (/run/build/nyxt/_build/cl-cffi-gtk/gtk/cl-cffi-gtk.asd /run/build/nyxt/_build/cl-gobject-introspection/cl-gobject-introspection.asd /run/build/nyxt/_build/cl-webkit/webkit2/cl-webkit2.asd)

Output when started from a shell

(sbcl:2): Gdk-WARNING **: 10:01:19.760: Failed to read portal settings: GDBus.Error:org.freedesktop.DBus .Error.UnknownMethod: No such interface “org.freedesktop.portal.Settings” on object at path /org/freedes ktop/portal/desktop
Nyxt version 3.11.2

[10:01:19] Source location: #P"/app/share/nyxt/" [10:01:19] Profile: "nofile" (nyxt:2): Gtk-WARNING **: 10:01:20.142: Loading IM context type 'xim' failed (nyxt:2): Gtk-WARNING **: 10:01:20.142: Loading IM context type 'xim' failed (nyxt:2): Gtk-WARNING **: 10:01:20.143: Loading IM context type 'xim' failed (nyxt:2): Gtk-WARNING **: 10:01:20.143: Loading IM context type 'xim' failed Could not determine the accessibility bus address (WebKitWebProcess:2): Gdk-WARNING **: 10:01:20.743: Failed to read portal settings: GDBus.Error:org.free desktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.portal.Settings” on object at path /org/freedesktop/portal/desktop (nyxt:2): Gtk-WARNING **: 10:01:21.083: Loading IM context type 'xim' failed (nyxt:2): Gtk-WARNING **: 10:01:21.179: Loading IM context type 'xim' failed (WebKitWebProcess:2): Gdk-WARNING **: 10:01:21.319: Failed to read portal settings: GDBus.Error:org.free desktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.portal.Settings” on object at path /org/freedesktop/portal/desktop (WebKitWebProcess:2): Gdk-WARNING **: 10:01:21.447: Failed to read portal settings: GDBus.Error:org.free desktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.portal.Settings” on object at path /org/freedesktop/portal/desktop [10:01:22] Loading "https://nyxt.atlas.engineer/". (WebKitWebProcess:2): Gdk-WARNING **: 10:01:22.571: Failed to read portal settings: GDBus.Error:org.free desktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.portal.Settings” on object at path /org/freedesktop/portal/desktop [10:01:27] Finished loading "https://nyxt.atlas.engineer/". (nyxt:2): Gtk-WARNING **: 10:01:27.824: Loading IM context type 'xim' failed (WebKitWebProcess:2): Gdk-WARNING **: 10:01:35.447: Failed to read portal settings: GDBus.Error:org.free desktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.portal.Settings” on object at path /org/freedesktop/portal/desktop
port19x commented 4 months ago

I can reproduce this issue on Arch Linux, Nyxt 3.11.1

Site to reproduce: https://wiki.archlinux.org

Normal zoom works

normalzoom

Zoomed out

zoomout

aadcg commented 4 months ago

The culprit is commit 6f3f34665, which was a good move and a way to fix #3261.

I need to investigate a bit further.

aadcg commented 4 months ago

This bug needs to be fixed ASAP but I can only do it for the 3.11.4 release (ETA March 4).

In the meantime, if you're zooming all pages because you use high resolution screens, I'd recommend starting Nyxt via GDK_SCALE=2 nyxt.