Page MenuHomePhabricator

[TUX] Correcting a "Saving..." translation and saving again discards the correction
Closed, ResolvedPublic

Description

I came across this when setting up a test scenario for page translation on test.wikipedia.org. When a translation is being saved, the editor is opened, the translation is changed and saved again, that change will not be stored, but only the initially submitted value will be stored in the wiki.

The below steps to reproduce require a backend that does not respond "instantly", because that makes it very hard to reproduce. It should take a few seconds before the status changes from "Saving..." to "Saved", otherwise the scenario cannot be run.

Steps to reproduce:

  1. Open URL while logged in to https://test.wikipedia.org.
  2. Open and edit any message.
  3. Click save.

Observed:
I: "Saving..." is displayed.
II: After some time, this changes to "Saved"

  1. Repeat steps 1-3, but immediately repeat the steps again.

Observed:
III: After some time, the change from 2 is displayed.

  1. Refresh the page

Observed:
IV: The change from 2 is displayed.

Expected:
V: The change from 4 is displayed.

I cannot reproduce this consistently because of timing issues, I presume. Rapidly editing the same translatable unit can lead to weirdness.

Not sure if and how this could/should be resolved, but at least it's documented now...


Version: master
Severity: minor
URL: https://test.wikipedia.org/w/index.php?title=Special:Translate&language=jbo&group=page-Bug44865&filter=&action=translate

Details

Reference
bz46567

Event Timeline

bzimport raised the priority of this task from to Low.Nov 22 2014, 1:19 AM
bzimport set Reference to bz46567.

Doesn't this probably depend on bug 45894 or related?

(In reply to comment #1)

Doesn't this probably depend on bug 45894 or related?

No.

This is because of ajax calls returning in random order.

Trying to solve this by avoiding parallel save requests from a message item - Disable save button till previous save is done - Patch If3e85bb64109ed2c2f577f2cc67cd3e4e03e59b4