Introduce concept of parse errors for quick actions
What does this MR do and why?
See #352001 (closed), #352002 (closed)
This fixes issues with user argument parsing in quick actions (such as assign/unassign) by verifying that we find one user for each argument.
It introduces a mechanism for reporting parameter parse errors in quick actions which aborts processing.
In order to introduce stricter argument validation, some commands that were previously acceptable are now rejected: for example the commands below would work before these changes:
/assign me to #123
/unassign @good_user @bad_user
/unassign @someone /assign @someone_else
Not that they will necessarily do what you want!
Now they will all be rejected, which overall I think is safer, and will result in fewer surprises.
How to set up and validate locally
See linked issues, which include reproduction steps.
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.