Worked through this with an AI. The write up is here.
The extension fails to load on GNOME Shell 48-50 due to the removal of the deprecated Meta.is_wayland_compositor() method. This method was deprecated in GNOME 46 and removed in later versions.
Error message:
TypeError: (intermediate value).is_wayland_compositor is not a function
Affected files:
- lib/uiCoordinator.js (3 occurrences at lines 133, 289, and another)
- lib/components/modalDialog.js (1 occurrence at line 309)
Fix applied:
Replace deprecated Meta.is_wayland_compositor() with:
const isWayland = GLib.getenv("XDG_SESSION_TYPE") === "wayland";
Additional change:
Update metadata.json to add GNOME 48, 49, and 50 to shell-version array.
Testing:
- Verified working on GNOME Shell 50.1 (Ubuntu 26.04, Wayland session)
- Extension state: ACTIVE
- Transcription works correctly with whisper.cpp server
Suggested metadata.json update:
"shell-version": ["46", "47", "48", "49", "50"]
This is a simple replacement that maintains compatibility with both X11 and Wayland sessions. The GLib.getenv("XDG_SESSION_TYPE") approach is the recommended way to detect the session type in modern GNOME Shell versions.
Worked through this with an AI. The write up is here.
The extension fails to load on GNOME Shell 48-50 due to the removal of the deprecated Meta.is_wayland_compositor() method. This method was deprecated in GNOME 46 and removed in later versions.
Error message:
TypeError: (intermediate value).is_wayland_compositor is not a function
Affected files:
Fix applied:
Replace deprecated Meta.is_wayland_compositor() with:
const isWayland = GLib.getenv("XDG_SESSION_TYPE") === "wayland";
Additional change:
Update metadata.json to add GNOME 48, 49, and 50 to shell-version array.
Testing:
Suggested metadata.json update:
"shell-version": ["46", "47", "48", "49", "50"]
This is a simple replacement that maintains compatibility with both X11 and Wayland sessions. The GLib.getenv("XDG_SESSION_TYPE") approach is the recommended way to detect the session type in modern GNOME Shell versions.