Page MenuHomePhabricator

Old page title is displayed after renaming a page until the page is subsequently edited/null edited
Closed, ResolvedPublic

Description

Hi. Starting from yesterday evening deployment, you can't move pages properly any more.

  1. Open some page.
  2. Move it to a new place.
  3. Open it there.

Expected: The page has a new name.
Got: The page has the old name. [Edit to clarify: the old title is shown on the page]
For example: https://he.wikipedia.org/wiki/User:IKhitron/movetest5.
A nulledit helped to me, but did not to somebody else. Looks like some caching problem. Thank you.

image.png (507×1 px, 38 KB)

Note that when opening the page with the editor it sometimes recognizes the page name correctly:
image.png (624×1 px, 121 KB)

and sometimes does not.


Initial hypothesis: When the ParserCache is updated, the new ParserOutput is generated with the wrong Title object as context.

Event Timeline

IKhitron updated the task description. (Show Details)
Tgr added subscribers: daniel, Tgr.

Probably related to the MCR work on revision rendering.

IKhitron updated the task description. (Show Details)
IKhitron updated the task description. (Show Details)

Confirming that this is broken on master, and worked in wmf.19.

daniel renamed this task from Page moving does not work properly any more to Old page title is displayed after renaming a page.Sep 6 2018, 2:49 PM
daniel claimed this task.
daniel updated the task description. (Show Details)
Jdforrester-WMF renamed this task from Old page title is displayed after renaming a page to Old page title is displayed after renaming a page until the page is subsequently edited/null edited.Sep 6 2018, 3:32 PM

Change 458526 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] Require a Title as context for rendering.

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

Fix is up. When I recently introduced the new RevisionRenderer class, I made it rely on RevisionRecord::getPageAsLinkTarget to get a Title object to give to the parser. This means that the parser would use as context whatever page the revision was loaded from. Which is nearly always the right thing. But not during page moves.

I have changed the signature of the new method to require a Title object to be provided explicitly.

Change 458547 had a related patch set uploaded (by Anomie; owner: Anomie):
[mediawiki/core@master] Provide a RevisionRecord with the correct title after a move

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

Change 458547 merged by jenkins-bot:
[mediawiki/core@master] Provide a RevisionRecord with the correct title after a move

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

Change 458559 had a related patch set uploaded (by Jforrester; owner: Anomie):
[mediawiki/core@wmf/1.32.0-wmf.20] Provide a RevisionRecord with the correct title after a move

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

Change 458559 merged by jenkins-bot:
[mediawiki/core@wmf/1.32.0-wmf.20] Provide a RevisionRecord with the correct title after a move

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

Mentioned in SAL (#wikimedia-operations) [2018-09-06T21:32:26Z] <krinkle@deploy1001> Synchronized php-1.32.0-wmf.20/includes/MovePage.php: T203661 - I9ebdcbc566b (duration: 00m 57s)