Page MenuHomePhabricator

Page editnotices displayed outside of the standard edit form resolve magic words like {{PAGENAME}} incorrectly
Closed, ResolvedPublic

Description

Page editnotices displayed outside of the standard edit form resolve magic words like {{PAGENAME}} incorrectly. They refer to the title in the global context, whatever it is, rather than the title of the page.


You can see this problem on MassMessage pages on Meta-Wiki, for example:

  1. Visit https://meta.wikimedia.org/wiki/User:DannyS712/Mass_message_page_testing
  2. Click edit → https://meta.wikimedia.org/wiki/Special:EditMassMessageList/User:DannyS712/Mass_message_page_testing
  3. Note weird link at the top:
    image.png (2×3 px, 241 KB)

This broken editnotice is generated by https://meta.wikimedia.org/w/index.php?title=MediaWiki:Editnotice-2&action=edit when it tries to transclude {{FULLPAGENAME}}/Editnotice, but {{FULLPAGENAME}} actually refers to "Special:EditMassMessageList", so it can't be transcluded.


Similar issue would affect VisualEditor, but there is a "dirty hack" in place to prevent it: https://github.com/wikimedia/mediawiki-extensions-VisualEditor/blob/b94265acc30e546ce4762d4f328002b43c45b3da/includes/ApiVisualEditor.php#L165-L169

Event Timeline

Change 757522 had a related patch set uploaded (by Bartosz Dziewoński; author: Bartosz Dziewoński):

[mediawiki/core@master] Title: Set context page for `{{PAGENAME}}` etc. in getEditNotices()

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

Change 757524 had a related patch set uploaded (by Bartosz Dziewoński; author: Bartosz Dziewoński):

[mediawiki/core@master] LogEventsList: Set context page for `{{PAGENAME}}` etc. in showLogExtract()

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

Change 757525 had a related patch set uploaded (by Bartosz Dziewoński; author: Bartosz Dziewoński):

[mediawiki/extensions/VisualEditor@master] ApiVisualEditor: Remove $wgTitle hack, set page for `{{PAGENAME}}` when needed

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

Change 757522 merged by jenkins-bot:

[mediawiki/core@master] Title: Set context page for `{{PAGENAME}}` etc. in getEditNotices()

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

Change 757524 merged by jenkins-bot:

[mediawiki/core@master] LogEventsList: Set context page for `{{PAGENAME}}` etc. in showLogExtract()

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

Change 757525 merged by jenkins-bot:

[mediawiki/extensions/VisualEditor@master] ApiVisualEditor: Remove $wgTitle hack, set page for `{{PAGENAME}}` when needed

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

QA note: please also check that edit notices in VE and in DT new topic tool are displaying as expected.

ppelberg claimed this task.