Page MenuHomePhabricator

Watchlist Expiry: Add UI behavior in Special:Watchlist [medium]
Closed, ResolvedPublic

Assigned To
Authored By
ifried
Apr 14 2020, 5:35 PM
Referenced Files
F31912168: Screen Shot 2020-06-30 at 6.53.24 PM.png
Jun 30 2020, 10:55 PM
F31910366: not_grouped.png
Jun 29 2020, 7:52 AM
F31910364: grouped.png
Jun 29 2020, 7:52 AM
F31905436: logged_action.png
Jun 25 2020, 2:47 PM
F31861204: watchlist.png
Jun 11 2020, 8:50 AM
F31836107: Screen Shot 2020-05-21 at 14.02.16.png
May 21 2020, 7:03 PM
F31828549: semicolon.png
May 18 2020, 5:53 AM
F31756656: Special_Watchlist.png
Apr 14 2020, 5:36 PM

Description

As a Watchlist Expiry user, I want to be able to identify which items are being temporarily watched and find their expiration date when viewing my watchlist, so that I can see the status of all items and determine if any modifications must be made to the watch period.

Acceptance Criteria:

  • Indicate when a page is being watched temporarily
    • Display clock icon (to the right of the page name) when page is being temporarily
    • Keep remaining behavior for pages that are being watched permanently
  • Indicate the remaining time period for temporarily watched pages
    • When user hovers over the clock icon, the remaining time for the watch period should be diplayed as a tooltip
    • Use the following language in tooltip: "expires in XX days"

Visual Example:

Special_Watchlist.png (355×1 px, 193 KB)

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript
ifried renamed this task from Watchlist Expiry: Add support in Special:Watchlist to Watchlist Expiry: Add UI behavior in Special:Watchlist.Apr 14 2020, 8:27 PM
ifried updated the task description. (Show Details)
ifried updated the task description. (Show Details)
ARamirez_WMF renamed this task from Watchlist Expiry: Add UI behavior in Special:Watchlist to Watchlist Expiry: Add UI behavior in Special:Watchlist [medium].Apr 14 2020, 11:42 PM
ARamirez_WMF moved this task from Needs Discussion to Up Next (June 3-21) on the Community-Tech board.

Change 596540 had a related patch set uploaded (by Samwilson; owner: Samwilson):
[mediawiki/core@master] Add clock icon to expiring items in Special:Watchlist

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

This is mostly done, but I have four questions for @ifried and @Prtksxna:

Display clock icon (to the right of the page name) when page is being temporarily

  1. Should it be before or after the semi-colon (in the non-grouped display)? The screenshot above has it for Wikidata items, which have the WD ID in between, but for others it'll be something like this:
    semicolon.png (72×340 px, 7 KB)
  2. The grey icon usually means 'disabled'; is it okay to use the same colour here for a non-disabled element? (it sets the opacity to 0.51; we could duplicate that, and not call it disabled, but we'll probably still want to use @opacity-base--disabled, or should it be something different?).
  3. Should the clock icon be added to the watchlist 'List of abbreviations'? The exclamation mark is listed there, for instance.

Use the following language in tooltip: "expires in XX days"

  1. There's been some discussion about the tooltip on the watch star; is this language still correct?

Thanks for bringing up these questions, Sam! I'm curious to hear @Prtksxna's opinions, but here are some preliminary thoughts:

  • Clock placement: Perhaps it's better if the clock is before the semi-colon since: a) it's more noticeable & distinct, and b) if it's after the semi-colon, it may be mistakenly assumed to be connected to the time (for example, 4:09), which comes directly after the semi-colon.
  • Clock Color: Yeah, I was wondering if the grey seemed too inactive/unnoticeable. But I also wondered if the subtlety was good, because it may be irritable to users to have the temporary status indicator be more flashy (when temporarily watched pages tend to be lower interest/priority for many users). Something to think about...
  • List of abbreviations: Yes, I think that's a great idea. If we want to add that, do you think it should be in this ticket or a separate ticket? I'm fine with either approach. We can label it "Temporarily watched page" in the abbreviations area.
  • Language: Thanks for bringing this up. Let's keep "Expires in X days" for the watchlist, for now, but I'll discuss this with Prateek in our next meeting and we'll try to make a more definitive decision around language.

Thanks!

Note: @Prtksxna and I have discussed the question of language standardization (XX days left vs. Expires in XX days). We want the language to be standardized, clear, translatable, and friendly-sounding (rather than more removed or corporate). For this reason, we're proposing potentially updating the language to be "XX days left in your watchlist." This can be tackled in a separate ticket (T253135). Thanks!

Thanks @ifried. I've added the legend entry, and sorted out the other stuff.

I've also added labels and roles to the clock icons, following ARIA guidelines. I wasn't quite sure if the legend label could serve as the same label for the in-list icons, so I've kept them separate for now.

I have a question about this ticket: should the clock icon appear when there are multiple changes on the same day in a temporarily watched page? I have been testing this patch and the clock icon does not appear on temporarily watched pages with more than one edit in a day.

Screen Shot 2020-05-21 at 14.02.16.png (210×807 px, 64 KB)

It looks like the output should be added to the table entry for the page rather than just the rows outputted for a single change, in "EnhancedRecentChanges". Good catch, @Scardenasmolinar

@ifried @Prtksxna In the ungrouped, enhanced form of the watchlist, should there be a space before the semicolon that normally is after the page title? e.g.:

watchlist.png (75×682 px, 7 KB)

DannyS712 points out in the patch that the semicolon might look a bit odd with a space in front of it. In some contexts, e.g. French, it might be fine.

The semicolon is added by the code that does the timestamp, not by that which does the page title. We could probably remove it entirely when the clock is present.

Thanks for bringing this up! I have discussed this with @Prtksxna. The reason why we originally kept the semi-colon was that we didn't want the user to think the clock icon was related to the time afterward. However, we agree that the semi-colon can look a bit awkward or confusing in this context. For this reason, we think it makes sense to replace the semi-colon with the the two dots (..), if there is a clock icon. Thanks!

Change 596540 merged by jenkins-bot:
[mediawiki/core@master] Add clock icon to expiring items in Special:Watchlist

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

@ifried I am guessing we should only show the clock icon for entries that are page creations or page edits, but not logged actions (or other types of entries, although I don't know the full list, it can vary based on which extensions/integrations are installed).

E.g. this shows a page edit and two logged actions against the same page:

logged_action.png (126×1 px, 33 KB)

Ah, interesting. Thanks for pointing this out. I'll also ping @Prtksxna to get his opinion.

Here are my thoughts: I think it makes sense to show the clock icon whenever the page name is displayed, even if it is for logged actions. This is because the user may still be performing the same basic checks when reviewing the watchlist & seeing logged actions (i.e., looking at what changes were made and assessing if any changes need to be made to the watch period as a result), if they hover over the clock. Furthermore, it may be confusing to users if the clock icon is displayed in some scenarios (such as when a page is edited) and not in other (such as when the page is moved).

  • Indicate when a page is being watched temporarily
    • Display clock icon (to the right of the page name) when page is being temporarily

This is true for new pages and edits to existing pages.

It is also true when a temporarily watched entry is added dynamically to the page via "Live Updates".

  • Keep remaining behavior for pages that are being watched permanently

The appear as they did before.

For regression purposes, I set $wgWatchlistExpiry = false. Special:Watchlist appeared fine and there were no errors in the logs.

  • Indicate the remaining time period for temporarily watched pages
    • When user hovers over the clock icon, the remaining time for the watch period should be diplayed as a tooltip

Yep.

  • Use the following language in tooltip: "expires in XX days"

Language is: "XX days left in your watchlist". This is determined by the respective *.json translation file, so easily changed.

Similarly to action=watch, when there is less than 24 hours remaining it says "0 days left on your watchlist".

There are a couple of variations on how watched items are displayed. In some cases, edits on the same day are grouped together in a dropdown, such as:

grouped.png (103×708 px, 19 KB)

Sometimes, they are separate entries, such as:

not_grouped.png (110×653 px, 22 KB)

I am not sure what determines this difference. Is it a wiki-wide setting or something in Special:Preferences (changing things in Special:Preferences does not seem to make a difference)?

@Samwilson Do you know how the logic determines the grouping of pages, as seen in Dom's comment above?

As for the general functionality, I have tested this and it looks good (see screenshot example below). Once I hear back from Sam, I'll mark this as Done.

Screen Shot 2020-06-30 at 6.53.24 PM.png (342×743 px, 100 KB)

ifried moved this task from Product sign-off to Done on the Community-Tech (Kanban-2019-20-Q4) board.

Just chatted with Sam about the above question. We have kept the existing logic and behavior behind the grouping of pages, so I'm marking this work as Done.