Skip to content

Add GNOME Shell 50 support and harden sensor/menu compatibility#528

Open
NicksLameCode wants to merge 1 commit intocorecoding:developfrom
NicksLameCode:gnome50-linux7-fixes
Open

Add GNOME Shell 50 support and harden sensor/menu compatibility#528
NicksLameCode wants to merge 1 commit intocorecoding:developfrom
NicksLameCode:gnome50-linux7-fixes

Conversation

@NicksLameCode
Copy link

Summary

This updates Vitals for GNOME Shell 50 and hardens several fragile runtime paths without broad refactoring.

Changes

  • add "50" to shell-version in metadata.json
  • replace brittle shell-facing .actor assumptions with compatibility helpers in extension.js
  • replace fragile menu closing paths with a safer _closeMenu() helper
  • update popup menu delegation in menuItem.js to work with both direct actors and actor-backed items
  • harden sensor parsing and math in sensors.js to avoid propagating undefined, NaN, or Infinity
  • fix first-sample and zero-dwell network speed handling in values.js
  • update README commands for modern GNOME extension and nested-shell workflows

Why

GNOME 50 itself did not require a major rewrite here, but Vitals was blocked by:

  • missing "50" in extension metadata
  • brittle menu/item actor assumptions in shell integration code
  • unsafe numeric handling in several sensor paths, especially with malformed or partial system data

These changes keep the patch small and aim to preserve compatibility with GNOME 45–49.

Validation

  • git diff --check
  • glib-compile-schemas --strict schemas/
  • verified live installed metadata.json contains "50"
  • nested GNOME 50 validation via dbus-run-session -- gnome-shell --devkit --wayland completed without Vitals-specific JS errors
  • host-session validation confirms the extension is discovered, active, and prefs opens successfully

Notes

This PR targets develop.

Private panel placement logic was intentionally left unchanged because it was not the GNOME 50 blocker.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant