When the window closes, irreversibility must be explicit
Aliases: undo expiry · irreversible after timeout · fuzzy transition
What it is
When a short undo ends, the act is either still recoverable through another layer such as trash, or it is truly irreversible from then on. Expiry has to say which of those it became. The undo bar must not fade while the rest of the surface still looks as it did when undo was possible. A fuzzy transition makes people hunt for the button after it is gone, or believe permanent destroy already happened. This entry is about announcing state at the moment of expiry. It is not about how the countdown looks, or what order the stack uses.
Why it happens
The window makes “reversible” a temporary property. When the property vanishes with no new state sentence, working memory keeps the old property and people plan as if undo still exists. A bar disappearing is negative space, not an announcement. An explicit transition does two things: remove the control that has died, and replace it with a present-tense result (“Deleted; recoverable in Deleted until this date” or “Permanently deleted”). Those two results are nothing like each other and cannot share the single visual of “the toast went away.” The transition also has to be immediate; do not leave an undo that clicks and does nothing after the bar is gone.
Where it stops holding
If expiry only moves from a short bar to a manually discoverable trash, irreversibility has not occurred; the announcement is “the entry changed place,” not “cannot be recovered.” Permanent destroy (retention passed, user emptied, legally erased) is when “permanent” is spoken. An animation that slides the bar away without changing copy is still a fuzzy transition. When expiry times disagree across devices, the end that can actually restore is the source of truth, and both ends use the same sentence.
Applying it
- When the window ends, replace the result copy: if still recoverable, point at the new entry and the deadline; if not, write permanent and remove the undo control.
- Remove or disable the dead undo immediately and say why; forbid a click that does nothing.
- Do not express the state change only by letting a toast time out.
- Verify by watching the result at the second the window ends, then asking “how can I put this back now.” If they think the button is still there, or cannot say whether it is permanent or on another layer, the transition is fuzzy.
Related
- Within the group: H3.12.1 The undo window needs a visible countdown · H3.12.2 Batch undo must say whether it is all-or-nothing · H3.12.3 Multi-step undo follows last-in, first-out
- Adjacent: H3.08 Soft delete and trash · H3.04 Undo over confirm · E6.12 When notices dismiss
- Search terms:
undo expiry·irreversible·state transition