Page MenuHomePhabricator

Pressing 'show changes' button shows intermediate changes to other sections as well
Open, LowPublic

Description

Author: zander

Description:
To reproduce;
take a page with multiple sections.
Change a section by pressing edit.

Another user changes another section while the first user has his browser window open.
Going through the edit/save page sequence.

Pressing 'show changes' in the first users window will show the changes he made, but also
the changes the second user committed in the mean time.

I expect my changes to be restricted to the section I am editing.


Version: 1.18.x
Severity: normal
Platform: Other

Details

Reference
bz8171

Event Timeline

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

This is expected behaviour: depending upon whether your changes conflict with the other
editor's, you might or might not get an edit conflict. This is invaluable in certain
circumstances, where for example you want to see if someone else has beaten you to a
correction or a comment.

I'm tempted to close this as "invalid" but others might want to comment further...

zander wrote:

I would expect the behavior if I were editing the whole document; not if both edits
were about _different_ sections.
That, to me, falls in the same category as editing two different pages and I expect to
not see diffs of other pages since I started either.

ayg wrote:

At the very least it needs to note that some changes aren't yours, lest you
suspect yourself of insanity.

zander wrote:

hihi, yeah. Pesonally, I was more concerned I would end up
reverting someone elses changes were I to press save.

It is not expected behavior. Say the page looks like:


A

foo

B

bar

Assume I click edit section for A. Someone immediately after (while I still have the edit window open) changes section B, then saves. The page is now:


A

foo

B

bard

If I now change foo to goo and click Show changes, there is no edit conflict (this is one of the main purposes of editing sections). The only change that should show is foo to goo.

The way to calculate this is simple. The left side of the diff is the last wikitext for the whole page. The right side is formed by taking the left side, then substituting my new section A for the old section A. Only if there is *no* section A on the left should it resort to the current behavior.

If there is no section A in the last saved version, it currently shows your section A being added. However, an edit conflict is forced when you save your changes (which is correct).

trevj wrote:

RE: I'm tempted to close this as "invalid" but others might want to comment further...

It certainly confused me! I inserted some {{clear}} tags in a Wikipedia article by editing the whole document
http://en.wikipedia.org/w/index.php?title=Otto_von_Habsburg&diff=next&oldid=438013162
(typo subsequently corrected)

but was confused by intervening edits to the 'Titles and styles' section
http://en.wikipedia.org/wiki/Otto_von_Habsburg#Titles_and_styles
which I wasn't editing.

Pending further comments here, I'll search to see whether this is documented in the relevant section(s) in Wikipedia's guidance.

Thanks.

joedecker wrote:

Just a comment, we got an OTRS comment on either the same or a very related matter, essentially, start editing some sections in parallel, save changes on a couple, then do a show changes in the remaining window--you can get effects where "show changes" appears to show you'll be reverting the changes to other sections.

I can produce a full test case if anyone is interested, but it looks to be part and parcel of this whole discussion.