atlas-engineer / nyxt

Nyxt - the hacker's browser.

Home Page:https://nyxt-browser.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Misplaced hints in zoomed pages

mz-pdm opened this issue · comments

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

  • OS name+version: NixOS 23.11
  • Graphics card and driver:
  • Desktop environment / Window manager name+version: hyprland 0.32.3
  • How you installed Nyxt (Guix pack, package manager, build from source): flatpak
  • Information from show-system-information:
    Nyxt version: 3.11.2
    Renderer: GI-GTK
    Operating system kernel: Linux 6.1.77
    Lisp implementation: SBCL 2.3.10 (Dynamic space size: 3221225472)
    Features: (:NYXT-GI-GTK :NYXT-GTK :NYXT-GI-GTK :NYXT-GTK :NYXT-3.11 :NYXT-3 :NYXT-3.11.2 :CLIPBOARD-CONTENT-METHOD :SWANK :SLYNK :PLUMP-UTF-32 :PARENSCRIPT :NSYMBOLS :FSET-EXT-STRINGS :SBCL+SAFE-STANDARD-READTABLE :NAMED-READTABLES :FLATPAK :GLOBAL-VARS :CL-FAD :LPARALLEL :21BIT-CHARS :CUSTOM-HASH-TABLE-NATIVE :CL-PPCRE-UNICODE :CL-UNICODE :CL-JSON-DOUBLE-FLOAT-IS-SUBSUMED :CL-JSON-SINGLE-FLOAT-IS-SUBSUMED :CHUNGA :FLEXI-STREAMS :CL-PPCRE :WEBKIT2 :WEBKIT-2.42.4 :WEBKIT-2.42 :WEBKIT-2 :WEBKIT2-CORS-ALLOWLIST :WEBKIT2-PASTE-PLAINTEXT :WEBKIT2-TRACKING :WEBKIT2-MUTE :WEBKIT2-EMOJI :WEBKIT2-MEDIA :WEBKIT2-SANDBOXING :GTK-3-22 :GTK-3-20 :GTK-3-18 :GTK-3-16 :GTK-3-14 :GTK-3-12 :GTK-3-10 :GTK-3-8 :GTK-3-6 :GTK-3-4 :GTK :GDK-3-22 :GDK-3-20 :GDK-3-18 :GDK-3-16 :GDK-3-14 :GDK-3-12 :GDK-3-10 :GDK-3-8 :GDK-3-6 :GDK-3-4 :CAIRO-1-10 :CAIRO-1-12 :GDK-PIXBUF :CLOSER-MOP :GLIB-2-30 :GLIB-2-32 :GLIB-2-34 :GLIB-2-36 :GLIB-2-38 :GLIB-2-40 :GLIB-2-42 :GLIB-2-44 :GLIB-2-46 :GLIB-2-48 :GLIB-2-50 :GLIB-2-52 :GLIB-2-54 :GLIB-2-56 :GLIB-2-58 :GLIB :BORDEAUX-THREADS :LPARALLEL.WITH-CLTL2 :LPARALLEL.WITH-CAS :LPARALLEL.WITH-STEALING-SCHEDULER :SPLIT-SEQUENCE CFFI-FEATURES:FLAT-NAMESPACE CFFI-FEATURES:X86-64 CFFI-FEATURES:UNIX :CFFI CFFI-SYS::FLAT-NAMESPACE ALEXANDRIA::SEQUENCE-EMPTYP :FAST-IO-SV :FAST-IO :CL-JSON-CLOS :CL-JSON :SBCL-USES-SB-ROTATE-BYTE CHIPZ-SYSTEM:GRAY-STREAMS :THREAD-SUPPORT :ASDF3.3 :ASDF3.2 :ASDF3.1 :ASDF3 :ASDF2 :ASDF :OS-UNIX :NON-BASE-CHARS-EXIST-P :ASDF-UNICODE :ARENA-ALLOCATOR :X86-64 :GENCGC :64-BIT :ANSI-CL :COMMON-LISP :ELF :IEEE-FLOATING-POINT :LINUX :LITTLE-ENDIAN :PACKAGE-LOCAL-NICKNAMES :SB-LDB :SB-PACKAGE-LOCKS :SB-THREAD :SB-UNICODE :SBCL :UNIX)

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

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

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

I need to investigate a bit further.

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.