You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/specs/alert.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -307,6 +307,8 @@ The command-exit track is intentionally stricter than WATCHING. It exists for th
307
307
|`IDLE`| watched command is still running and attention expires or is explicitly lost |`COMMAND_EXIT_ARMED`| Store `attentionLostAt`. |
308
308
|`COMMAND_EXIT_ARMED`| same command finishes, runtime is at least `T_USER_ATTENTION`, and Session lacks attention |`ALERT_RINGING`| Create generated command-exit notification, set `todo = true`, and ring. |
309
309
|`COMMAND_EXIT_ARMED`| same command finishes too quickly |`IDLE`| Clear without ringing. |
310
+
|`COMMAND_EXIT_ARMED`| PTY exits before a command-finish semantic event, runtime is at least `T_USER_ATTENTION`, and Session lacks attention |`ALERT_RINGING`| Treat process exit as the fallback finish event for commands such as `exec <long command>` or shells that exit before emitting a finish marker. |
311
+
|`IDLE`| PTY exits before a command-finish semantic event |`IDLE`| Clear any stored `commandExitWatch`; a dead process must not become armed later. |
310
312
|`COMMAND_EXIT_ARMED`| Session regains attention before finish |`IDLE`| Clear the arm; the user is watching again. |
311
313
| any | a different command starts |`IDLE`| Replace the watch with the new command if it is eligible. |
312
314
|`ALERT_RINGING`| explicit attention boundary / dismiss / TODO clear |`IDLE`| Public status falls back to the other tracks. |
0 commit comments