What is the problem?
Accessing some pages in the PageTriage queue returns:
[9e844a0e-087c-446e-9ba5-b1cef50d2665] /wiki/Conflict-title-0.8208880479427774-I%C3%B1t%C3%ABrn%C3%A2ti%C3%B4n%C3%A0liz%C3%A6ti%C3%B8n TypeError from line 4399 of /srv/mediawiki/php-1.36.0-wmf.18/includes/user/User.php: Argument 1 passed to User::equals() must implement interface MediaWiki\User\UserIdentity, null given, called in /srv/mediawiki/php-1.36.0-wmf.18/extensions/PageTriage/includes/Hooks.php on line 436 Backtrace: #0 /srv/mediawiki/php-1.36.0-wmf.18/extensions/PageTriage/includes/Hooks.php(436): User->equals(NULL) #1 /srv/mediawiki/php-1.36.0-wmf.18/includes/HookContainer/HookContainer.php(333): MediaWiki\Extension\PageTriage\Hooks::onArticleViewFooter(Article, boolean) #2 /srv/mediawiki/php-1.36.0-wmf.18/includes/HookContainer/HookContainer.php(140): MediaWiki\HookContainer\HookContainer->callLegacyHook(string, array, array, array) #3 /srv/mediawiki/php-1.36.0-wmf.18/includes/HookContainer/HookRunner.php(880): MediaWiki\HookContainer\HookContainer->run(string, array) #4 /srv/mediawiki/php-1.36.0-wmf.18/includes/page/Article.php(1127): MediaWiki\HookContainer\HookRunner->onArticleViewFooter(Article, boolean) #5 /srv/mediawiki/php-1.36.0-wmf.18/includes/page/Article.php(811): Article->showViewFooter() #6 /srv/mediawiki/php-1.36.0-wmf.18/includes/actions/ViewAction.php(74): Article->view() #7 /srv/mediawiki/php-1.36.0-wmf.18/includes/MediaWiki.php(532): ViewAction->show() #8 /srv/mediawiki/php-1.36.0-wmf.18/includes/MediaWiki.php(316): MediaWiki->performAction(Article, Title) #9 /srv/mediawiki/php-1.36.0-wmf.18/includes/MediaWiki.php(945): MediaWiki->performRequest() #10 /srv/mediawiki/php-1.36.0-wmf.18/includes/MediaWiki.php(548): MediaWiki->main() #11 /srv/mediawiki/php-1.36.0-wmf.18/index.php(53): MediaWiki->run() #12 /srv/mediawiki/php-1.36.0-wmf.18/index.php(46): wfIndexMain() #13 /srv/mediawiki/w/index.php(3): require(string) #14 {main}
I think it happens when the first revision on a page is deleted.
Line 436 of PageTriage/includes/Hooks.php is:
!$user->equals( $revStore->getFirstRevision( $title )->getUser() )
Steps to reproduce problem
- Login to https://test.wikipedia.org with a user who has PageTriage rights
- Go to https://test.wikipedia.org/wiki/Conflict-title-0.8208880479427774-I%C3%B1t%C3%ABrn%C3%A2ti%C3%B4n%C3%A0liz%C3%A6ti%C3%B8n
Expected behavior: Page loads, shows the PageTriage panel.
Observed behavior: Above exception.
Environment
Wiki(s): https://test.wikipedia.org MediaWiki 1.36.0-wmf.18 (rMW0fecdd29fd41) 00:26, 25 November 2020, PageTriage 0.3.0 (ad84bfe) 07:34, 6 November 2020.