Page MenuHomePhabricator

There is no immediate indicator that email reminder was sent to the sandboxed translator
Closed, ResolvedPublic2 Estimated Story Points

Description

When I send a reminder, with a language filter active, and go back to the list to check the same user, there is no indication that the reminder was sent. This is confusing unless I know about this behavior.

Page: Special:ManageTranslatorSandbox
The following configuration should be set to see this page $wgTranslateUseSandbox = true;, and the user should have the translate-sandboxmanage right.

To reproduce the issue, setup the TwnMainPage extension (https://gerrit.wikimedia.org/r/admin/repos/mediawiki/extensions/TwnMainPage), and open the page: Special:MainPage without being logged in and register. Then when you login as a user with translate-sandboxmanage right you should see the newly registered user on Special:ManageTranslatorSandbox

Event Timeline

bzimport raised the priority of this task from to High.Nov 22 2014, 2:28 AM
bzimport set Reference to bz58572.
bzimport added a subscriber: Unknown Object (MLST).

Basically the issue is that the note about sent reminder disappears when the user info column is re-rendered. A new note appears only after page is refreshed AND the notification has been delivered with the job queue.

Nikerabbit lowered the priority of this task from High to Medium.Jan 29 2015, 6:11 PM
Nikerabbit set the point value for this task to 2.Mar 31 2022, 10:25 AM
Nikerabbit updated the task description. (Show Details)
Nikerabbit removed a subscriber: wikibugs-l-list.
Wangombe changed the task status from Open to In Progress.May 12 2022, 7:03 AM
Wangombe claimed this task.

After some investigation, it appears that there is no way to keep track of reminders sent but not processed by the job queue. Once an admin clicks on 'Send reminder' an email job is sent to the queue through TranslateSandbox::sendMail();. In ManageTranslatorSandboxSpecialPage::makeList() there is a property reminderscount that takes count of the reminders that were successfully processed. The variable is used to display a count against how long ago a reminder was sent as shown below.

image.png (495×1 px, 73 KB)

After a discussion with @abi_, two proposals come to light:

  1. We could keep track of the reminders sent from the browser using browser storage technologies such as cookies or localstorage. This has the obvious limitation that it will not display consistent information if the admin changes computers and logs into TWN.
  2. We could add a counter that keeps track of number of email reminders in job queue. That way, we could use it to display an indicator/message that an email reminder is currently pending on the queue (and will be sent to the sandboxed user).

Additional input is welcome.

We need to keep some kind of counter on the front-end, so that we can render correctly when navigating between entries (or we would need to re-fetch information every time when showing an entry, which would affect user performance.

For the backend, it seems reasonable to increment the counter already when queuing the job.

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

[mediawiki/extensions/Translate@master] Add an indicator that email reminder was sent

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

Change 803392 merged by jenkins-bot:

[mediawiki/extensions/Translate@master] Add an indicator that email reminder was sent

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

abi_ moved this task from In Progress to Done on the Language-Team (Language-2022-April-June) board.

Tested this on translatewiki. Works as expected.