Page MenuHomePhabricator

IP Masking does not work when edit form starts with preview/diff (for category pages, undo diffs or setting default user option "previewonfirst" to true)
Closed, ResolvedPublicBUG REPORT

Description

Steps to replicate the issue (include links if applicable):

  • Enable IP Masking with $wgAutoCreateTempUser['enabled'] = true;
  • Enable the user option "Show preview when starting to edit" as default option with $wgDefaultUserOptions['previewonfirst'] = 1;
  • Go to action=edit of any page (without having done a edit before)

This also happen for any category page as this is part of wgPreviewOnOpenNamespaces by default.
This also happen when just pressing "undo" on the history page

What happens?:

MWException: Can't use the request user for preview with IP masking enabled

Backtrace:

from includes\editpage\EditPage.php(941)
#0 includes\editpage\EditPage.php(4558): MediaWiki\EditPage\EditPage->getUserForPreview()
#1 includes\editpage\EditPage.php(4473): MediaWiki\EditPage\EditPage->doPreviewParse(WikitextContent)
#2 includes\editpage\EditPage.php(3199): MediaWiki\EditPage\EditPage->getPreviewText()
#3 includes\editpage\EditPage.php(828): MediaWiki\EditPage\EditPage->showEditForm()
#4 includes\actions\EditAction.php(74): MediaWiki\EditPage\EditPage->edit()
#5 includes\MediaWiki.php(555): EditAction->show()
#6 includes\MediaWiki.php(332): MediaWiki->performAction(Article, Title)
#7 includes\MediaWiki.php(919): MediaWiki->performRequest()
#8 includes\MediaWiki.php(575): MediaWiki->main()
#9 index.php(50): MediaWiki->run()
#10 index.php(46): wfIndexMain()
#11 {main}

What should have happened instead?:
Edit form should be shown

Software version (skip for WMF-hosted wikis like Wikipedia):

Other information (browser name/version, screenshots, etc.):

Event Timeline

Change 909390 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/core@master] Acquire temp user on action=edit for preview on open

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

Change 909390 merged by jenkins-bot:

[mediawiki/core@master] Use temp user placeholder on action=edit for preview on open

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