Page MenuHomePhabricator

Add a page where translators can see a list of all groups that they are subscribed to
Closed, ResolvedPublic8 Estimated Story Points

Description

In its most basic form, the page should:

  • List all groups that users are subscribed to
  • Allow them to unsubscribe from a particular group

Some relevant discussions:

Current plan

Develop a user interface similar to what we have for Special:EditWatchlist:

image.png (2×1 px, 415 KB)

Some inputs from Pau:

There are a couple of small adjustments that we can consider:

  • The default tab seems to be about "viewing and editing". However, for editing, it is actually focused on removing items. We can consider (a) show a brief text indicating how to add message groups (e.g., search for message group and select the "watch" option or edit the raw list to add them manually), or (b) adjust the tab label to make it more explicit about the tab being about "view and unsubscribe".
  • The "Remove action" makes more sense to be active only when there is at least something selected. We can consider when Javascript is available to disable the button while there is an empty selection. If this complicates things technically, we can just keep it as it is with the Watchlist.

For the labels, I can imagine using the following (illustrating the option (a) above):

Edit subscriptions

View and edit subscriptions | Edit raw subscriptions list | Clear all subscriptions
••••••••••••••••••••

Subscribe to message groups
You can use the "watch" option from any message group page, or [edit the raw list] to add them manually.

*Unsubscribe from message groups**
The message groups you are subscribed to are shown below. To unsubscribe for one or more items, check the boxes next to them and use the "Unsubscribe" option at the bottom. You can also [edit the raw list].

(...List...)

[Unsubscribe]

Event Timeline

I’d avoid using Vue.js if possible: it doesn’t work without JavaScript, which means one cannot get rid of the notifications without JS (e.g. if they leave the project exactly because they cannot contribute anymore due to their browser falling out of support and not getting any JS anymore).

Suggestion: Add a "watchlist star" to each group in Special:LanguageStats. Possibly this page can also be sorted to show your favourites (i.e. watched groups) first?

abi_ triaged this task as Medium priority.May 2 2024, 8:15 AM
abi_ moved this task from Backlog to tux on the MediaWiki-extensions-Translate board.
This comment was removed by abi_.

Suggestion: Add a "watchlist star" to each group in Special:LanguageStats. Possibly this page can also be sorted to show your favourites (i.e. watched groups) first?

I think it makes sense to think how the notion of subscriptions can be reflected in different of the existing pages where translation groups are present:

  • Special:LanguageStats can include an option to watch, and may need a way to:
    • Filter the list to show only the groups they are watching to simplify access and managing them.
    • Maybe support searching for a specific group to watch/unwatch it (this may be covered by the general group search)
  • For pages with message groups selectors such as Special:MessageGroupStats or the selector at the main translation view (Special:Translate) can benefit from supporting quick access to the groups the user has subscribed to.

Special:LanguageStats is a tree, not a plain (one-dimensional) list, which means it cannot be fully sorted or filtered to highlight watched message groups – there will likely be a parent in the tree that’s not watched. So while adding the watchlist stars would probably be beneficial for those who use that page anyway, I don’t think it’s a substitute for a Special:EditWatchlist-style list.

  • For pages with message groups selectors such as Special:MessageGroupStats or the selector at the main translation view (Special:Translate) can benefit from supporting quick access to the groups the user has subscribed to.

I think this suggestions should be a ticket on it's own as it's likely beyond the scope of this task.

Wangombe changed the task status from Open to In Progress.May 29 2024, 6:31 AM
Wangombe claimed this task.

Change #1042245 had a related patch set uploaded (by Wangombe; author: Wangombe):

[mediawiki/extensions/Translate@master] Watched message groups: list under message group selector

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

Change #1046132 had a related patch set uploaded (by Wangombe; author: Wangombe):

[mediawiki/extensions/Translate@master] MessageGroupSelector: add tab to list watched message groups

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

Change #1042245 merged by jenkins-bot:

[mediawiki/extensions/Translate@master] QueryMessageGroupSubscriptionApi: Get user's group subscriptions

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

Starting with a page Special:ManageMessageGroupSubscriptions to simply list all groups that a user is subscribed to.

In my understanding the raw list option mostly exists for people who have so many pages on the watchlist that managing the list becomes too slow. It seems unlikely that this would be an issue with message groups. It may still be useful for people to "mass subscribe" things by pasting text there, but that feels like niche use case. Maybe we could not have the raw version at first (unless we can reuse code that would provide it for free)?

Unlike the watchlist, message group subscriptions currently cannot be initiated without JavaScript. (Translating is also quite inconvenient without JS, but if one manages to find out which messages belong to a given group, they can manually edit them one-by-one using action=edit.) For this reason, I find it even more important to have the raw list option.

What I don’t find that useful is the clear option: it’s the same as going to the raw watchlist, pressing Ctrl+A in the textbox and saving.

Change #1073319 had a related patch set uploaded (by Wangombe; author: Wangombe):

[mediawiki/extensions/Translate@master] ManageMessageGroupSubscriptionsSpecialPage: Create new page

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

Some screenshots of current state of this ticket:

image.png (1×3 px, 296 KB)

image.png (2×3 px, 312 KB)

image.png (1×3 px, 218 KB)

image.png (1×3 px, 238 KB)

Change #1073319 merged by jenkins-bot:

[mediawiki/extensions/Translate@master] Special:ManageMessageGroupSubscriptions: Create page

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

Change #1082739 had a related patch set uploaded (by Wangombe; author: Wangombe):

[mediawiki/extensions/Translate@master] Special:ManageMessageGroupSubscriptions: Show User namrspace items

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

Change #1082739 merged by jenkins-bot:

[mediawiki/extensions/Translate@master] Special:ManageMessageGroupSubscriptions: Fix namespace grouping

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

Some screenshots after deployment:

image.png (1×3 px, 439 KB)
image.png (2×3 px, 439 KB)