Skip to content

[Bug] GJS Update: TypeError parameters.deepUnpack and invocation.return_dbus_error are not functions in gnim/dbus #810

@jarviisha

Description

@jarviisha

Describe the bug

After a recent system update on Arch Linux (which likely updated gjs), AGS throws critical GJS TypeErrors related to D-Bus handling. The errors originate from gnim/dist/dbus.ts.

It appears that:

  1. parameters is no longer treated as a GLib.Variant (or it's already unpacked), so calling .deepUnpack() throws an error.
  2. The error handler then tries to call invocation.return_dbus_error(), which seems to have been removed/deprecated in newer GJS versions (snake_case vs camelCase removal).

Steps to reproduce

  1. Run a fully updated Arch Linux system with the latest gjs.
  2. Install/build the latest aylurs-gtk-shell-git and libastal-git packages.
  3. Start AGS.
  4. The critical errors appear in the terminal/logs when a D-Bus method is invoked.

Logs / Stack Trace

(gjs:42599): ags-CRITICAL **: 11:54:21.781: TypeError: parameters.deepUnpack is not a function
#handleMethodCall@file:///run/user/1000/ags.js:459:23
_init/GLib.MainLoop.prototype.runAsync/</<@resource:///org/gnome/gjs/modules/core/overrides/GLib.js:264:34

(gjs:42599): Gjs-CRITICAL **: 11:54:21.782: JS ERROR: TypeError: invocation.return_dbus_error is not afunction
#returnError@file:///run/user/1000/ags.js:438:25 -> ../../../usr/share/ags/js/node_modules/gnim/dist/dbus.ts:128:31
#handleMethodCall@file:///run/user/1000/ags.js:469:24 -> ../../../usr/share/ags/js/node_modules/gnim/dist/dbus.ts:170:18
_init/GLib.MainLoop.prototype.runAsync/</<@resource:///org/gnome/gjs/modules/core/overrides/GLib.js:264:34

Environment

OS: Arch Linux (Rolling)

AGS Version: aylurs-gtk-shell-git 3.1.1.r0.ge169694-1

Astal Versions: libastal-git r857.eb235f8-1 (and related -git packages)

Installation Method: AUR (yay)

Additional Context

A clean build (yay --cleanbuild) was performed, but the issue persists, indicating this is an upstream compatibility issue with the new GJS environment rather than a local build cache problem. Changing return_dbus_error to the camelCase modern GJS equivalent might be required, alongside adding a check before calling deepUnpack().

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions