Skip to content

Introduce concept of parse errors for quick actions

Alex Kalderimis requested to merge ajk-quick-action-parse-errors into master

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.

Edited by Alex Kalderimis

Merge request reports