Reset a status light after cancelling a task
Status Light is a physical signal device that needs software integration to reflect a task's lifecycle. Cancelling a task raises a different question from finishing it successfully: should the display retain the cancellation, return to a verified idle state or move to another selected task? Define that choice explicitly. Simply clearing the previous colour can erase useful context without establishing what happens next.
Has the source confirmed cancellation?
Distinguish a cancellation request from the source's confirmed terminal state. A task may still be stopping, or the request may fail. Until the source reports the relevant outcome, avoid presenting the work as already ended merely because a button was pressed.
Follow the task's stable identifier and attempt. If a replacement run starts immediately, keep it distinct from the cancelled attempt. An update referring to the old run should not decide the state of the new one just because they share a name.
What should cancellation look like?
Choose a meaning supported by your display convention and the hardware's confirmed controls. Cancellation is neither proof of success nor necessarily an execution failure. If the available colours cannot explain the difference alone, pair the signal with a text status or a link to the task record.
Document whether cancellation remains visible until acknowledged or is replaced by a new task selection. Keep that rule consistent across sources where practical. A user should not need to guess whether a quiet lamp means cancelled, idle, disconnected or merely forgotten by the integration.
How do you handle late events?
Retain enough task state to recognise an update from the cancelled attempt. Apply the source's documented ordering and lifecycle semantics before allowing a late running event to revive the old display. Do not discard every later event blindly, because some sources can provide authoritative corrections or additional terminal details.
If event ordering is unclear, fetch the source's current record when possible. Keep the display uncertain if that check fails rather than substituting a convenient success state. The lamp should summarise established information, not resolve an ambiguous lifecycle by guessing.
What should a reset action do?
Separate clearing a local notification from cancelling work at the source. A reset button can acknowledge the displayed outcome without making another remote change, if that is how you design it. Label the action so the user understands its actual scope.
Test cancellation during active work, a failed cancellation request and a replacement run starting afterward. The Status Light listing describes the physical unit; cancellation and reset behaviour must be implemented deliberately in the software that assigns meaning to its output.