Page MenuHomePhabricator

AbortMove hook is removed without proper deprecation
Closed, ResolvedPublic

Description

After T272770: Error while usurping an account I decided to write some scripts to find hook handlers that actually don't have a runner. I found AbortMove hook which is actively being used in four different extensions actually was removed in 1.25 (why this is in "Bug fixes" section?)

Its usages need to move to another hook.

Event Timeline

I think the handlers can all just be removed actually. I split the AbortMove hook into two different hooks, the MovePageIsValidMove and MovePageCheckPermissions hooks.

Out of the extensions in codesearch:

  • JsonConfig has MovePageIsValidMove
  • WikiLexicalData has NamespaceIsMovable
  • LiquidThreads has MovePageIsValidMove
  • WikimediaIncubator has MovePageIsValidMove

fwiw, we didn't have a real deprecation policy until 1.29.

Change 664008 had a related patch set uploaded (by Reedy; owner: Reedy):
[mediawiki/extensions/WikimediaIncubator@master] Remove AbortMove hook subscriber

https://gerrit.wikimedia.org/r/664008

Change 664011 had a related patch set uploaded (by Reedy; owner: Reedy):
[mediawiki/extensions/LiquidThreads@master] Remove AbortMove hook subscriber

https://gerrit.wikimedia.org/r/664011

Change 664009 had a related patch set uploaded (by Reedy; owner: Reedy):
[mediawiki/extensions/JsonConfig@master] Remove AbortMove hook subscriber

https://gerrit.wikimedia.org/r/664009

Change 664011 merged by jenkins-bot:
[mediawiki/extensions/LiquidThreads@master] Remove AbortMove hook subscriber

https://gerrit.wikimedia.org/r/664011

Change 664009 merged by jenkins-bot:
[mediawiki/extensions/JsonConfig@master] Remove AbortMove hook subscriber

https://gerrit.wikimedia.org/r/664009

Change 664008 merged by jenkins-bot:
[mediawiki/extensions/WikimediaIncubator@master] Remove AbortMove hook subscriber

https://gerrit.wikimedia.org/r/664008

@Ladsgroup With all these patches merged, can this task be closed? Or am I missing something?

Pppery subscribed.

Only use other than ReleaseNotes is:

					// Old code (which was used with the AbortMove hook, which
					// no longer exists in core):
					//$error .= wfMessage( 'spamregex-move' )->parse() . wfMessage( 'word_separator' )->escaped();

While I don't like the practice of commenting out code instead of deleting it this looks resolved