Delayed event management: split endpoints, no auth (#5066)
* Delayed event management: split endpoints, no auth
Add dedicated endpoints for each of the cancel/restart/send actions for
updating a delayed event, and make them unauthenticated.
Also keep support for the original endpoint where the update action is
in the request body, and make the split-endpoint versions fall back to
it if they are unsupported by the homeserver.
* Don't @link parameters in method docstrings
as TypeDoc doesn't support that
* Reduce code duplication
* Reduce code duplication again
* Add a little more test coverage
* Use split delayed event management for widgets
* Specify which eslint rule to ignore
Co-authored-by: Will Hunt <2072976+Half-Shot@users.noreply.github.com>
* Restore embedded non-split delay evt update method
Keep supporting it to not break widgets that currently use it.
Also add back the test for it.
* Deprecate the non-split delay evt update methods
* Comment to explain fallback to non-split endpoint
* Add backwards compatibility with authed endpoints
* Comment backwards compatibility helper method
* Await returned promises
because `return await promise` is at least as fast as `return promise`
---------
Co-authored-by: Will Hunt <2072976+Half-Shot@users.noreply.github.com>