Page MenuHomePhabricator

Remove curid parameter from diff links on watch list and recent changes
Closed, DeclinedPublic

Description

The parameter curid is normally redundant to the title parameter.

The revisions in the parameters oldid and diff have higher priority than the parameter curid.

Event Timeline

Change 303165 had a related patch set uploaded (by Gerrit Patch Uploader):
Remove curid from diff and history links on watch list and recent changes

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

@Fomafix I see that T140915 was closed. Should this one be closed as well?

Change 303165 abandoned by Krinkle:
Remove curid from diff and history links on watch list and recent changes

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

@Fomafix I see that T140915 was closed. Should this one be closed as well?

Fomafix: Could you answer, please? Thanks.

As far as I see are the curid and the title parameter in diff links not necessary. In case of a deleted page the error message differ when the curid is present or not:

https://de.wikipedia.org/w/index.php?title=Zellersee_%28Naturschutzgebiet%29&curid=8448062&diff=135325722&oldid=135325211 shows

Ungültiger Titel

Der Titel der angeforderten Seite ist ungültig, leer oder ein ungültiger Sprachlink von einem anderen Wiki. Möglicherweise enthält er nicht zulässige Sonderzeichen wie zum Beispiel <, >, |, [, ].

https://de.wikipedia.org/w/index.php?title=Zellersee_(Naturschutzgebiet)&diff=135325722&oldid=135325211 shows

Fehler

Eine Version dieser Unterschiedsanzeige (135325211) wurde nicht gefunden.

Dieser Fehler wird normalerweise von einem veralteten Link zur Versionsgeschichte einer Seite verursacht, die zwischenzeitlich gelöscht wurde. Einzelheiten sind im Lösch-Logbuch vorhanden.

The second error message is much better and this can easily achieved by removing in curid in the diff link.

@Fomafix Thanks, but I'm not sure it is okay to remove curid.

Below this, I compare three use cases:

  1. Page exists still, with same title.
  2. Page exists still, with a different title.
  3. Page was deleted.
Page still exists (same title)

An example with the title and curid for the article about Berlin:

Both of these render the same error ("Revision not found" ), and both of them use Page/Discussion tabs relating to "Berlin".

For this use case, it seems curid is not needed, but also not harmful.

Page still exists (different title)

An old/different title ("Test") but the page id for "Berlin".

Both of these render the same error ("Revision not found" ), but only the case with "curid" uses content tabs for "Berlin".

In this case, when linking to an old revision from recent changes, not specifying "curid" would likely cause the user to be interacting with the wrong page.

For example:

  • Page A (page id 1), revision 10: edit
  • Page A (page id 1), revision 11: rename to B, re-create A as a redirect (page id 2).
  • Delete page A, undelete without revision 10.

Here, a link to title=A&diff=10 will show tabs for "A", which is now a different page. An admin trying to use the "Undelete" option will not find revision 2.

A link to title=A&curid=1&diff=10 will show tabs for "B" which is the current name for page id 1 that belongs to revision. An admin can use "Undelete" and find the deleted revision.

Here, we see that curid has priority over title. And if we do not add it to the link, the user is interacting with the wrong page.

Page was deleted

The link with curid shows a strange error about "Bad title". This is a bug because the title is not invalid, however, it seems the title validation is confused by a page ID that does not exist.

Here, the case without curid works better, but only because the title validation is broken.

I recommend we fix that instead, and keep the curid parameter given it helps administrators and new page patrollers when interacting with the page that the revision originally belonged to.

T215696 ("RecentChanges should update entries when user move a page") may help with this.