Page MenuHomePhabricator

Watching when editing does not work
Closed, InvalidPublic

Description

The following does not work

  • I am editing a page
  • then I realize that I want to watch that page
  • so I click on "watch" (opening in other tab/window)
  • I think, ok, I'm watching that page, so I close that tab/window
  • I am still editing that page, so I go back to the edit form and I click on "save"
  • I notice that I am not watching the page, even after clearing the cache

I tried it several times but this does not work.

Thank you, [[m:User:SPQRobin]].


Version: unspecified
Severity: minor

Details

Reference
bz12395

Event Timeline

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

robert wrote:

I can verify this, however it should be noted that this is of very low priority given that you no longer need\should make the watch page open in a new window as an AJAX-y thing causes you to not even leave the page you are on and still watch the page (so you won't loose any edits you are making).

The cause of this would be that the 'watch this page' checkbox state on the still-open edit page will not have changed. When the save request is submitted, that value (watched or unwatched) will be applied.

I should note that this issue is present without opening a new tab/window as well. Both the AJAX tab action (without leaving the page) and a direct link followed by the back button (eg with no JavaScript or no XmlHttpRequest) will result in the same behavior.

One solution might be to record both the original state at open time and the checked state, only applying the change if there was a change made. This would keep stale checkbox state from overriding things unexpectedly.

(In reply to comment #2)

One solution might be to record both the original state at open time and the
checked state, only applying the change if there was a change made. This would
keep stale checkbox state from overriding things unexpectedly.

We could also have the JavaScript that does the AJAX thingy check the checkbox. That would only break if someone:

  1. Opened an edit form in tab A
  2. Opened the same edit form in tab B
  3. Clicked "watch" in tab A
  4. Submits an edit in tab B

But that's kind of stupid...

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

This is too contrived a scenario to be worth the code changes.

I did tweak AJAX watch in r38512 to update the checkbox however.

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