[Request] Display more prominently what happened just before an M112 got sent
Is your feature request related to a problem? Please describe.
We often see confusion among OctoPrint's users about OctoPrint sending an M112 in case of certain undiscoverable errors reported by their printer's firmware. Instead of understanding that this was caused by something reported by the printer, they think it is OctoPrint just sending an M112 out of the blue, and get understandably upset about that.
Describe the solution you'd like
I'd like to see more context for the error to be added to the "your printer reported an error" notification, to the serial.log, to octoprint.log, and maybe even to a new modal dialog that the user has to confirm with a log excerpt from what went on with their printer right before the disconnect, and special focus on any errors reported by the firmware. We need to enable users better to diagnose the issue at hand (often times this is MINTEMP errors that probably would deserve their own FAQ entry linked as well).
Describe alternatives you've considered
I'm open for alternative solutions to this issue, however right now I don't see any. There seems to be a disconnect between OctoPrint's mitigation approach vs the actual error that causes it to happen that needs to be resolved for users to be less confused.
Additional context
No response
Implemented a new modal for well known errors that links to an FAQ entry and also provides a log excerpt and some more explanation on the nature of the error:
Will be in 1.10.0
Now improved:
- error information for errors leading to disconnect or cancelling will now be persisted in the printer object until reconnect or print start
- a new REST API endpoint allows fetching that information
- the frontend has be adjusted to fetch that on server connect and relevant events and show an error icon next to the printer state which on click opens the modal
- additionally, the modal will be triggered if an error event is raised
1.10.0 has been released.