Page MenuHomePhabricator

Properly inform users when a page’s been moved
Closed, ResolvedPublicSpike


Derived from T269447#6796080, see @Sharvaniharan’s comment.

This is how it’s currently handled:

If the edit itself is not a regular edit [Moved, deleted, protected] that edit item will NOT be clickable. However, If it is a regular edit but the page is deleted, it will be clickable but will result in an error feedback shown to the user

Screenshot_20210202-183404.png (2×1 px, 28 KB)

This needs to be adressed in a better way. Design needs to look at proper UI copy to educate people and possibly support it with an illustration (similar to a 404 page on the Web)

The technical question to answer is: how do we detect if the page has been moved from only a specific watchlist entry (diff) that happened prior to the page having been moved?

Also, what kind of UX should we provide for the user to remove a page from their watchlist that has been moved?

Event Timeline

LGoto triaged this task as Low priority.Feb 4 2021, 5:40 PM
LGoto added a project: Spike.
LGoto added a subscriber: LGoto.

This will be treated initially as a spike for investigation. (Actually development will depend on results of spike.)

Restricted Application changed the subtype of this task from "Task" to "Spike". · View Herald TranscriptFeb 4 2021, 5:40 PM

Few notes from the spike:

When a page is 'Moved':
1.The particular edit that moved the page is grayed out and is not clickable:

moved.png (2×1 px, 205 KB)

  1. However, the previous edits from that page are show in the list, but when we click them, we just show the common message that the page has been moved, but we do not attempt to get that diff details. This is because, for a moved page, the revision details are not returned correctly. For a regular page, when we request details about a particular revision[edit], api returns an olderRevisionId and a newerRevisionId, which represent the previous and next edits. However, for a moved page, the olderRevisionId is always returned as '0'. Since we know that it will result in a 404, we do not make the call at all.. So a user sees a screen like this: [which is slight improvement to what we see in the description of this task, where previously we were making the call anyway and it would result in a common error view being shown]

movedPage.png (2×1 px, 63 KB)

I have marked a test page for deletion and will update this ticket with findings once it is deleted.

We do not have any issues with deleted pages, as only the deleted edit is shown and is disabled and unclickable. So this spike is complete with following info:
For moved pages, the comment informs the users to where it was moved to , and no diff is shown. I also do not see a very obvious way for us to know that a particular 'regular edit' is of a moved page.
For deleted pages, the current behavior is sufficient.
@schoenbaechler @JTannerWMF Lmk if it looks good for now.

How about this (specific) example on my Watchlist @Sharvaniharan:

This page:

Has been moved to:ädie/Muriel_Staub

During the time I had it on my Watchlist. It now displays this error when I tap on it:

Is there a way to mark this as MOVED as well? See Zeplin:


@schoenbaechler This looks a bit different from what I have tested. We might need to discuss this on a call. Are you sure you were using the latest build for the video?

ABorbaWMF added a subscriber: ABorbaWMF.

I believe this is good to go on 2.7.50343-alpha-2021-02-26