[Request] include who / what cancelled a print in the `PrintCancelled` event (name of plugin)
Is your feature request related to a problem? Please describe.
No response
Describe the solution you'd like
When a print job has been cancelled by a plugin or the API rather than by a user via the OP UI, it'd be useful if the PrintCancelled and PrintCancelling events included the name of the plugin, or whether it was through the API.
I noticed that before the state was changed to Cancelling, the log outputs; Cancelling job on behalf of plugin {name of plugin} https://github.com/OctoPrint/OctoPrint/blob/260a1aef11432c421246019e25b6b744abbaed60/src/octoprint/util/comm.py#L1698, so it seems there is already some logic in place, determining who or what cancelled the job.
Adding a cancelledBy item in the dict, that could maybe be user, plugin or api, and a separate item being plugin: name_of_plugin if the print was cancelled by a plugin.
This would make troubleshooting a bit easier, for plugins utilizing OctoPrint, in cases of a cancel that the user didn't want to happen - this way the "sinner" could be displayed.
It would also be rather useful within the OctoPrint UI, to have just a little line of text saying Print was cancelled by {x} in the "State" card or in the file info of a file, below or as a part of "Last printed".
Describe alternatives you've considered
No response
Additional context
No response
Source: OctoPrint/OctoPrint