Page MenuHomePhabricator

Edit history is based on timestamp while diff prev/next links are based on revision id
Closed, ResolvedPublic

Description

Author: hardy

Description:
I just edited [[St. Louis Park, Minnesota]]. The edit history shows this:

# (cur) (last)  20:47, 21 July 2005 Michael Hardy (→Education)

# (cur) (last) 20:46, 21 July 2005 Michael Hardy (attempting to fix a mangled link)

The ostensibly last edit is summarized by the word "Education", that being the
section heading. Clicking on "last" informs me that the edit consisted of changing

the [[U.S. Department of Education]]

to

[[the U.S. Department of Education]].

In reality, my summary for the last edit, NOT the one BEFORE that, said
"attempting to fix mangled link", and in fact in that edit I changed

[[the U.S. Department of Education]]

to

the [[U.S. Department of Education]].

Version: unspecified
Severity: normal
See Also:
https://bugzilla.wikimedia.org/show_bug.cgi?id=42296

Event Timeline

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

simonell wrote:

Another aspect, in the diff-view
(http://en.wikipedia.org/w/index.php?title=St._Louis_Park%2C_Minnesota&diff=19325761&oldid=19282350):
Clicking on next edit doesnt show the Edit summarized with Education

gangleri wrote:

Hallo!

Please see
http://en.wikipedia.org/w/index.php?title=St._Louis_Park%2C_Minnesota&action=history&limit=20&offset=20050730000001

(cur) (last) 21:54, 21 July 2005 Michael Hardy (Trying to force this thing to

reload despite an apparent software bug.)
http://en.wikipedia.org/w/index.php?title=St._Louis_Park%2C_Minnesota&oldid=19326248

(cur) (last) 21:47, 21 July 2005 Michael Hardy (→Education)

http://en.wikipedia.org/w/index.php?title=St._Louis_Park%2C_Minnesota&oldid=19325673
*oldid* is out of order

(cur) (last) 21:46, 21 July 2005 Michael Hardy (attempting to fix a mangled link)

http://en.wikipedia.org/w/index.php?title=St._Louis_Park%2C_Minnesota&oldid=19325761

(cur) (last) 06:35, 21 July 2005 C.e.worthington (Added Educational Information)

http://en.wikipedia.org/w/index.php?title=St._Louis_Park%2C_Minnesota&oldid=19282350

Marking
Bug 3630: Inconsistency between "Earliest" revision, action=history and
"Previous diff" / "Next diff" navigation
as a duplicate of this bug and changing summary
Please read bug 3630 comment 3

best regards reinhardt [[user:gangleri]]

gangleri wrote:

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

gangleri wrote:

*note*
A multiple sort key is required here:
first "timespamp", then "pageid" / "page_id" (?)

marking
Bug 2880: Page history gets mixed up if entries were created the same minute
as a duplicate of this bug

best regards reinhardt [[user:gangleri]]

gangleri wrote:

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

gangleri wrote:

(In reply to comment #4)

*note*
A multiple sort key is required here:
first "timespamp", then "pageid" / "page_id" (?)

The multiple sort criteria first "timestamp", then "pageid" / "page_id" (?) at
history/diff should be the same as at "Special:Contributions/foo" and
[[Special:Recentchanges]].

The links at Special:Contributions/foo are using diff=prev&oldid=<oldid_no>.
The links at Special:Recentchanges are using
curid=<curid_no>&diff=<diff_no>&oldid=<oldid_no>.
Both seems to be sorted by timestamp and <diff_no>.

best regards reinhardt [[user:gangleri]]

*note*
history/diff is not mentioned at
Bug 2468: The code that generates the namespace form for Special:Contributions,
Special:Allpages and Special:Recentchanges should be merged
but I think that sort criterias should be the same exept for Special:Allpages

dbenbenn wrote:

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

dbenbenn wrote:

I have another example of the "Next diff", "Prev diff" links not working right. See
http://commons.wikimedia.org/w/index.php?title=Template:Description&diff=next&oldid=246447
That link is supposed to show the difference between revision 246447
and the chronologically next revision. Instead, it shows the difference between
246447 and the ''previous'' revision, 246448. Apparently the diff view assumes
that page ID numbers are in chronological order, when they really aren't.

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

Probably the same problem appears here:
http://ksh.wikipedia.org/w/index.php?title=User_talk:Purodha&direction=next&oldid=6719
the "Newer revision→" links to:
http://ksh.wikipedia.org/w/index.php?title=User_talk:Purodha&direction=next&oldid=6720
, following the link does not display the next newer revision, but the most current as of today.

Reason being most likely the oldid's not being in date/time order.
Here, the revisions newer than oldid=6720 have been created before all the older versions up to and including
oldid=6720 were created via Special:Import. As of now, no newer revisions have been made since.

gangleri wrote:

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

  • Bug 8355 has been marked as a duplicate of this bug. ***
  • Bug 11286 has been marked as a duplicate of this bug. ***
  • Bug 8062 has been marked as a duplicate of this bug. ***
  • Bug 6551 has been marked as a duplicate of this bug. ***

matthew.britton wrote:

Changing summary, confusing to say "the edit history is wrong" when sorting based on timestamp is the expected behaviour from a user's perspective, making the edit history 'correct' and diff links 'wrong'.

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

EN.WP.ST47 wrote:

Per Gurch, the issue is not that the edit history is wrong, but that the timestamps are wrong. This isn't MediaWiki's fault, if anything it's either a WikiMedia server cluster bug or it's that we should be using something other than timestamps to sort edits. There be dragons, in my opinion, with using something other than timestamp to sort because then users get confused, and short of buying a few atomic clocks there's no way to improve timestamp accuracy, as I presume each cluster is NTPing together. Is there anything to be done on this bug or can it be closed?

I don't think it's relevant whether the timestamps are right or wrong. There will be valid reasons where sorting by ID and by timestamp give different results (e.g. transwiki imports, or article merges). The problem is that the sorting is done by timestamps in one place (revision list), and IDs in another ('diff with previous' link).

All sorting of revisions should be done by timestamp, then ID, in all cases. This would remove inconsistencies within the various user interfaces where revisions are displayed/used.

Problems on the cluster that result in incorrect timestamps (if they exist) are a completely separate issue, and should be handled by a different bug.

The effects of this bug have changed a bit since the MediaWiki 1.18 update. The "diff prev"/"diff next" links are still sorted by revision ID, but the number of intermediate revisions found above the diff is now calculated by date rather than revision ID. See sections 3 and 4 of:
http://en.wikipedia.org/wiki/User:Graham87/Page_history_observations#Strange_times_reported_in_diffs

  • Bug 2219 has been marked as a duplicate of this bug. ***
  • Bug 1919 has been marked as a duplicate of this bug. ***
  • Bug 6871 has been marked as a duplicate of this bug. ***
  • Bug 24671 has been marked as a duplicate of this bug. ***
Anomie set Security to None.

The function that is incorrectly calculating the previous / next revision ID is DifferenceEngine::mapDiffPrevNext, which is called from DifferenceEngine::loadRevisionIds and Article::showDiffPage.

Change 349501 had a related patch set uploaded (by Bartosz Dziewoński; owner: Anomie):
[mediawiki/core@master] Have Title::get(Next|Previous)RevisionID sort by timestamp

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

Change 349501 merged by jenkins-bot:
[mediawiki/core@master] Have Title::get(Next|Previous)RevisionID sort by timestamp

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

matmarex assigned this task to Anomie.
matmarex removed a project: Patch-For-Review.