Page MenuHomePhabricator

Special:Notifications page filter should load the "unread" filter when clicked
Open, Needs TriagePublic

Description

Consider the following scenario:

  • A user has 2 unread notifications for their User_talk page. Both of those notifications are in the "distant" past, so, say, they are in page 3 of the results.
  • The page filter on the sidebar shows the User_talk page with [ 2 ] counter on it (correctly)
  • The user is currently looking at the general local notification list, with "all" filter marked (so both read and unread messages show)
  • The user clicks on the page filter on the sidebar, expecting to see 2 unread notifications
  • Because the two notifications are buried in page 3, the user actually gets a list of read notifications, and they can't really see that the 2 notifications indicated are in the following pages, unless they click on the "unread" filter.

So, suggestion: It seems to me that, when clicking on the page filter in the sidebar, the user should expect to first see the unread messages that the filter refers to. In that case, we could state that a click on the sidebar loads the notifications related to the page but also changes the filter to 'unread'.

The user then automatically sees unread notifications first (relevant to their click) and they have the option to then click on "all" or "unread" if they wish to see all notifications that pertain to that particular page.

Pinging @Pginer-WMF and @jmatazzoni for behavior on this

Event Timeline

Changing the filters automatically for the user has the risk of generating confusion. We cannot always anticipate the user intent, so I think it is better to provide clear primitives the user combines depending on the task at hand. For example:

I'm interested on the recent activity (read or unread) about different topics. So I'll go through a list of pages in the filters. If the filter is changed automatically, I may be given a view of unread items from last week, and I have to correct the system every single time (change the filter to "all"), which can become annoying to do every time.