Page MenuHomePhabricator

Edit link URL gets "oldid" from page URL instead of actual id, where page URL has "oldid" and "direction" values
Closed, ResolvedPublic

Description

Author: mkilianv

Description:
If you go to the history of a page, and click on the version (15:52) you will see this one. If you
then click on "Newer revision", you will see the Version (18:17). And if you now click on edit, you
will not edit the Version (18:17), but version (15:52).

The same bug, if you go to "Older revision".

Martin Vogel


Version: 1.4.x
Severity: major
URL: http://meta.wikimedia.org/w/index.php?title=Trophees_du_Libre&direction=next&oldid=2803

Details

Reference
bz1915

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 21 2014, 8:19 PM
bzimport set Reference to bz1915.
bzimport added a subscriber: Unknown Object (MLST).

Please provide a link to the exact page on the exact wiki you are referring to, or exact step-by-
step directions to reproduce the problem on a fresh mediawiki installation.

Can you also explain what this has to do with Wikimedia's domain name servers? This bug
appears to be filed on the wrong component.

zigger wrote:

I've reproduced this, and identified the problem somewhat, using
[[meta:Trophees_du_Libre]] as an example under v1.4.5. It also occurs in 1.5alpha2.

After following a "Newer revision" link from
http://meta.wikimedia.org/w/index.php?title=Trophees_du_Libre&oldid=2803 , we
get a URL like
http://meta.wikimedia.org/w/index.php?title=Trophees_du_Libre&direction=next&oldid=2803
.

The edit link is now
http://meta.wikimedia.org/w/index.php?title=Trophees_du_Libre&action=edit&oldid=2803
, and seems to be based on the oldid value from the URL, instead of the current
revision id of 4529.

The current revision id is used correctly in the "Older revision" and "Newer
revision" links correctly, and the displayed revision timestamp matches the
retrieved revision. It's just the wrong revision.

magnusrk+wiki wrote:

I thought the previous explanation was a little vague.

You are viewing revision A. The next and previous links use oldid=A and direction=prev/next.
You click one of the links.
Now you're viewing revision B. The next and previous links use oldid=B and direction=prev/next.

Problem: oldid in the url is A
From SkinTemplate.php: $oldid = $wgRequest->getVal( 'oldid' );
Thus the edit button uses oldid=A and you get the revious before/after the one you were watching.

zigger wrote:

*** Bug 3458 has been marked as a duplicate of this bug. ***

gangleri wrote:

please see also

bug 3630: Older revision is triggered by oldid value not by date - probably
historical issue

  • Bug 3674 has been marked as a duplicate of this bug. ***
  • Bug 4079 has been marked as a duplicate of this bug. ***

jylee wrote:

Still a problem, as the edit this page apparently gets from the url rather that
report the previous id;

However, if you add the &direction=prev to the url, it seems to fix it.

From:
http://en.wikipedia.org/w/index.php?title=Template:Did_you_know&direction=prev&oldid=25242342

Edit this page points to:
http://en.wikipedia.org/w/index.php?title=Template:Did_you_know&action=edit&oldid=25242342

Can be easily fixed if you add the &direction=prev

http://en.wikipedia.org/w/index.php?title=Template:Did_you_know&action=edit&direction=prev&oldid=25242342

jylee wrote:

Bug 4035 is related to this bug

Created attachment 1120
Fix for HEAD

  • (bug 1915) Fix edit links when 'direction' used with 'oldid'; using revision ID reported via OutputPage; Skin::editUrlOptions()
  • Remove obsolete 'redirect=no' on some edit links
  • Include oldid for the second revision on edit link on diff view

Committing this; it relies on other recently made changes on CVS HEAD which
propagate the actual viewed revision ID up to OutputPage, so won't apply on
REL1_5.

Attached:

Apperently, the fix for this bug causes an oldid to be included in the edit link
even if you are viewing the current version. I.e. if you click "edit" on a
"normal" page view, you will edit the revision that was current when the page
was rendered, not the version that is current when "edit" is clicked.

This may or may not be The Right Thing... I seems to confuse people and cvause
unintentional reverts. This is especially true for past cahning pages of course

  • like the village pump, etc.

Please re-think this, people in the de:wp are complaining. See
[[de:Wikipedia:Fragen_zur_Wikipedia#Was_ist_denn_jetzt_los??]] (german) for
example. Apperently, this needs further discussion. re-opening.

avarab wrote:

(In reply to comment #11)

Apperently, the fix for this bug causes an oldid to be included in the edit link
even if you are viewing the current version. I.e. if you click "edit" on a
"normal" page view, you will edit the revision that was current when the page
was rendered, not the version that is current when "edit" is clicked.

Changed this back to how it was, marking this as FIXED.

I'm pretty sure I tested that, whoops...