@dc42 said in DWC doesn't clear state.messageBox mode=1:
@pfn M292 was designed intended solely for user interfaces to acknowledge blocking M292 messages. I am aware that some users were using it for other purposes, and as @chrishamm says this gave rise to race conditions.
...
Please clarify the conditions under which you want to clear a non-blocking message. From what you've said so far, it's something to do with "old" errors, so a mechanism to cancel current messages isn't what you need anyway.
There are non-blocking messages sent and stored in state.messageBox, e.g. printer paused due to filament runout (as referenced by the previous thread).
These messages are never cleared and always reappear when DWC is reloaded until it is cleared by using M292 or another message preempts it. The message remains even though it is out of context: the print job has already completed and no longer running, the user still receives the message upon loading DWC. This causes user confusion and has come up multiple times.
Either the message should be made blocking, non-blocking messages shouldn't be eligible for persistence through state.messageBox, or we need an alternative method to clear non-blocking messages that are presented in state.messageBox.