Skip to content

Drop the 53 declarations GNOME Shell 51 does not have - #155

Merged
JumpLink merged 2 commits into
feat/check-shell-apifrom
fix/stale-declarations
Oct 6, 2026
Merged

JumpLink merged 2 commits into
feat/check-shell-apifrom
fix/stale-declarations

Conversation

@JumpLink

@JumpLink JumpLink commented Oct 6, 2026 •

Copy link
Copy Markdown
Collaborator

Stacked on #154, so the diff is only the two commits here.

check-shell-api (#154) finds 53 declarations that GNOME Shell 51 no longer has, in 17 modules, 18 of them public. This removes all of them, so the baseline is empty. I checked each one against the upstream source: 29 names appear nowhere in js/ at 51.beta, and for the other 24 the only hits are in other modules.

Commit 1: 39 members

module removed
misc/loginManager canSuspend, suspend (they live in systemActions now)
misc/systemActions _loginManager
altTab onDestroy, init (upstream: _onDestroy, _init)
closeDialog _tracked, _onFocusChanged
components _sessionUpdated
dnd 11 members of _Draggable (the drag moved to a gesture)
iconGrid _childAdded, _childRemoved
mpris allowed
popupMenu Switch motion and release vfuncs, ignoreRelease
status/* accessibility, brightness, network, remoteAccess, thunderbolt helpers

Commit 2: classes and a file

Separate because it changes what a consumer can import. None of it exists at 51.beta, so an import only moves its error from runtime to the compiler.

  • animation: Animation and AnimatedIcon are gone. Spinner is a plain St.Widget with play, stop and vfunc_map.
  • components/telepathyClient: dropped upstream, together with its entry in package.json.

Not in here

Replacements. Where upstream moved a handler (the dnd drag, the Switch vfuncs) the new member is not declared. The script finds what was lost, not what was added.

Build, type validation, example and prettier:check pass, and check:shell-api reports nothing at 51.beta.

Found by check-shell-api and each one confirmed absent from the js/
file at 51.beta, and from the whole js/ tree where the name is unique.
Most were dropped in earlier cycles, so no supported shell has them.

  loginManager   canSuspend, suspend on both login managers (now in
                 systemActions)
  systemActions  _loginManager
  altTab         onDestroy, init
  closeDialog    _tracked, _onFocusChanged
  components     _sessionUpdated
  dnd            _Draggable pointer and grab handling, fakeRelease,
                 startDrag (the drag moved to a gesture)
  iconGrid       _childAdded, _childRemoved
  mpris          allowed
  popupMenu      Switch motion and release vfuncs, ignoreRelease
  status/*       accessibility _buildItemExtended, brightness slider
                 members, network connectivity helpers, remoteAccess
                 vfunc_event, thunderbolt _source and _ensureSource

The baseline shrinks to the class and file removals of the next commit.
Three findings were the script's own mistake and are ignored with the
reason: the package's components barrel file, and global and config,
which no js file defines.
Separate from the member removals because this changes what consumers
can import. None of it exists at 51.beta, so an import only moves its
failure from runtime to the compiler.

  animation   Animation and AnimatedIcon are gone; Spinner is a plain
              St.Widget with a constructor, vfunc_map, play and stop
  components  telepathyClient was dropped upstream ("components: Drop
              telepathy client"), with its export in package.json

The baseline is now empty: check-shell-api finds nothing at 51.beta.
@JumpLink
JumpLink requested review from Totto16 and schnz as code owners October 6, 2026 07:24
@JumpLink
JumpLink added this pull request to stack #146 October 6, 2026 07:36
@JumpLink
JumpLink marked this pull request as draft October 6, 2026 09:09
@JumpLink
JumpLink marked this pull request as ready for review October 6, 2026 11:29
@JumpLink
JumpLink merged commit fc5c2e6 into main Oct 6, 2026
1 check passed
@JumpLink
JumpLink deleted the fix/stale-declarations branch October 6, 2026 11:48
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