[Task]: Ability to Modify a Pending Rejection Date
Description
Currently unable to change the date of a pending rejection. If the date needs to be changed, the pending rejection must be deleted and a new pending rejection created in its place. Results in a new rejection email to the developer.
Should have the ability use a date picker to modify the pending rejection date, and either:
- Without any additional email, or
- With a new email that explains the extended time frame.
Acceptance Criteria
### Milestones/checkpoints
- [ ] The ability to change the pending rejection date, possibly as an inline action
- [ ] Email handling
Checks
- [X] If the issue is ready to work on, I have removed the "needs:info" label.
- [X] If I have identified that the work is specific to a repository, I have removed "repository:addons-server" or "repository:addons-frontend"
┆Issue is synchronized with this Jira Task
Should the email be optional? Should it be implemented as a inline action (similar to setting due_date or clear pending rejections)?
I think given the fact that different versions can have different due dates at the same time, implementing this might not be as straight forward as we initially thought. To do it correctly, you would somehow have to select the versions first for which you want to change the pending rejection date, similar to what you have to do right now when you want to clear the due date.
In any case, any changes affecting the availability or future ability or an add-on or a version, which changing the pending rejection date definitely is, needs to be communicated to the developer. The main goal here was to reduce the effort for reviewers and also send only one email instead of multiple.
However, given the complications mentioned, I am not sure this is something that can be fixed right now, or at least I am not sure how. We can change underlying logic around whether there can be multiple pending rejections (=different dates), but that seems a larger change that needs more consideration.
Thoughts, @diox @mixedpuppy?
I agree. Maybe we can address just the simplest scenario though, where all pending rejection dates are the same? It would probably be a specific action with the version dropdown then, and a check when the action is triggered that would throw an error if the current pending rejection dates on the selected versions differ.
@wagnerand assigning to you to confirm whether or not my suggestion would solve most cases/be useful enough.
@diox I think that would be sufficient enough for most cases. Let's do that.
@wagnerand can you provide the email template to use ?
I asked Ashley via email for the copy.
I asked Ashley to provide the copy in this issue.
Draft copy is below. Please let me know if you see any issues, or if there are any circumstances where we planned to use this correspondence for which this appears inadequate.
Hello,
As you are aware, your extension {{ Add-on name }} was manually reviewed by the Mozilla Add-ons team, at which point we found a violation of one or more Mozilla add-on policies.
Our previous correspondence indicated that you would be required to correct the violation(s) by {{ old deadline }}. However, after further assessing the circumstances - including the violation itself, the risks it presents, and the steps required to resolve it - we have determined that an alternative timeline is appropriate. Based on that determination, we have updated the deadline, and will now require you to correct your add-on violations no later than {{ new deadline }}.
More information about Mozilla’s add-on policies can be found at https://extensionworkshop.com/documentation/publish/add-on-policies/.
Thank you for your attention.
[{{ cinder_job_id }}]
Mozilla Add-ons Team https://a.m.o/
I have a UI proposal for this that also slightly changes the widget for selecting a pending rejection delay:
- In "Reject multiple versions", change widget to be a date selector instead [^1]. Default that date to be + X days to keep existing functionality.
- Rename "Clear pending rejection" to "Change pending rejection" and re-use the delayed rejection widget there. Dynamically change the "Reject immediately" text to show "Clear pending rejection" instead in that case.
Screenshots:
@wagnerand thoughts ?
[^1]: the reviewer will just select a date, and the time will be automatic. I propose using the time the action was performed at, so that the automatic rejections continue to be spread out in the day as they are now, but it could be fixed to an arbitrary value instead
@diox That all sounds good, thank you. I have actually been wondering for a while whether we should switch to a reviewer specifying an absolute deadline rather than a relative timeline.
One implementation note: Please make sure "Reject immediately" and "Clear pending rejections" are the default actions.
I did not finish my testing but so far it looks good.
- Email is sent when changing the date of a delayed rejection
- no email is sent at clearing pending rejections
email sent when the date is modified
- these are the actions that show up in dev hub and should be ok ✅
-
in case there's a mixed addon or an addon with multiple versions -> emails are sent when dates are changed but as you can see in the screenshot above, versions are not mentioned by the email ❓ example is: https://reviewers.addons-dev.allizom.org/en-US/reviewers/review-listed/635838
-
I could use delay reject with an admin or reviewer admin account. ✅ Addon or content reviewers as set up currently on dev don't seem to be able to delay reject (idk the setup on prod). As an admin I could delay content rejection https://reviewers.addons-dev.allizom.org/en-US/reviewers/review-content/635750
-
the pending rejection queue might not have a correct order after changing dates on existing add-ons in the queue ❓ This is the queue right now https://reviewers.addons-dev.allizom.org/en-US/reviewers/queue/pending_rejection?sort=deadline
in case there's a mixed addon or an addon with multiple versions -> emails are sent when dates are changed but as you can see in the screenshot above, versions are not mentioned by the email
The email copy provided didn't include version numbers so I didn't include them. I don't think this is a big deal since developers should have seen the previous email anyway, but Operations might disagree and provide us with updated copy if they care. /cc @wagnerand
the pending rejection queue might not have a correct order after changing dates on existing add-ons in the queue
We discussed that on Matrix and it's not a bug, the first 2 add-ons at the time this was written have pending rejection dates in the past, which is confusing, but the order is correct. Those add-ons have had versions submitted since so their pending rejections are not being processed until those versions are reviewed.
I believe the missing version numbers was an oversight. @aroybalreid can you clarify whether we should address that in a followup? Thanks!