Nyxt does not accept URLs from system
Describe the bug
On Guix, clicking on a link in a different software while Nyxt is running will attempt to open the link in the running Nyxt, but will not succeed. Instead, an error message appears in the status buffer:
(UNSIGNED-BYTE 8) is not a velid :ELEMENT-TYPE for MAKE-STRING
Precise recipe to reproduce the issue
Enter echo https://gnu.org in any software the linkifies URLs (terminals, IM, emacs, etc.) and attempt to follow the link. Observe the error in the message bar.
Information
- OS name+version: Guix 1.4.0+
- Graphics card and driver: Intel Iris Graphics 6100 (rev 09)
- Desktop environment / Window manager name+version: Hyprland 0.40.0
- Installation method (Flatpak, Guix, package manager, build from source): Guix
- Output of
nyxt --system-information:
Nyxt version: 3.11.7
Renderer: GI-GTK
Operating system kernel: Linux 6.10.7
Lisp implementation: SBCL 2.4.7 (Dynamic space size: 3221225472)
Features: (:NYXT-GI-GTK :NYXT-GTK :NYXT-3.11 :NYXT-3 :NYXT-3.11.7
:CLIPBOARD-CONTENT-METHOD :SWANK :SLYNK :PLUMP-UTF-32 :PARENSCRIPT :NSYMBOLS
:FSET-EXT-STRINGS :NAMED-READTABLES :CL-FAD :LPARALLEL :21BIT-CHARS
:CUSTOM-HASH-TABLE-NATIVE :CL-PPCRE-UNICODE :CL-UNICODE :CHUNGA :FLEXI-STREAMS
:CL-PPCRE :WEBKIT2 :WEBKIT-2.44.1 :WEBKIT-2.44 :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 :GLOBAL-VARS
:ASDF-SYSTEM-CONNECTIONS :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-CORE-COMPRESSION :SB-LDB :SB-PACKAGE-LOCKS
:SB-THREAD :SB-UNICODE :SBCL :UNIX)
ASDF version: 3.3.7
ASDF registries: (NYXT-SOURCE-REGISTRY ENVIRONMENT-SOURCE-REGISTRY USER-SOURCE-REGISTRY
USER-SOURCE-REGISTRY-DIRECTORY
DEFAULT-USER-SOURCE-REGISTRY SYSTEM-SOURCE-REGISTRY
SYSTEM-SOURCE-REGISTRY-DIRECTORY
DEFAULT-SYSTEM-SOURCE-REGISTRY)
Critical dependencies: (/gnu/store/5z1snyx1qcs1d6yzvp65q5f385b5qp25-sbcl-cl-cffi-gtk-3.8.8-3.1700fe6/share/common-lisp/sbcl/cl-cffi-gtk/gtk/cl-cffi-gtk.asd
/gnu/store/1168j4q4y2fniyr7c5w9nlfpr0zm1p8b-cl-gobject-introspection-0.3-4.4908a84/share/common-lisp/source/cl-gobject-introspection/cl-gobject-introspection.asd
/gnu/store/yxqxnpnlyin73l4q97rippdgcvxjb7cm-sbcl-cl-webkit-3.5.10/share/common-lisp/sbcl/cl-webkit/webkit2/cl-webkit2.asd)
Guix version:
@brosasaki thanks for the report.
The issue is similar to #3388.
I've added a patched Guix definition on my own channel - https://github.com/aadcg/aadcg-guix-channel.
I'll send the patch upstream but it may be take time and it's not guaranteed that it will be accepted.
Fixing the alexandria version (as done here) is brittle since this kind of issue may strike again.
d88b380a8839f2f9f3b8f62da68ffc084241ef46 enables build Nyxt for Guix using the git submodules, which accounts for a more robust solution.
I will send the updated package definition upstream in the next release of the 3-series.
Fixed, see https://github.com/atlas-engineer/nyxt/issues/3388#issuecomment-2429107528.