Page MenuHomePhabricator

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

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:

Event Timeline

ifried created this task.Apr 14 2020, 5:35 PM
Restricted Application added a project: archived--TCB-Team. · View Herald TranscriptApr 14 2020, 5:35 PM
Restricted Application added a subscriber: Aklapper. · View Herald Transcript
ifried updated the task description. (Show Details)Apr 14 2020, 5:36 PM
He7d3r added a subscriber: He7d3r.Apr 14 2020, 5:52 PM
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)
ifried updated the task description. (Show Details)Apr 14 2020, 9:40 PM
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 To Be Estimated/Discussed to Estimated on the Community-Tech board.
MusikAnimal removed MusikAnimal as the assignee of this task.May 13 2020, 5:03 PM
MusikAnimal added a subscriber: MusikAnimal.

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:
  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?
ifried added a comment.EditedMay 19 2020, 2:02 AM

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.

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.:

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:

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:

Sometimes, they are separate entries, such as:

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.

ifried closed this task as Resolved.Jun 30 2020, 11:42 PM
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.