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/tutorial.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -55,18 +55,18 @@ Note: `-` produces a `direction: 'vertical'` split (panes stack top/bottom = hor
55
55
56
56
### Section 2 — Alert and TODO (6 items)
57
57
58
-
The detector subscribes to `subscribeToActivity()` and tracks per-id `(status, todo)` transitions.
58
+
The detector subscribes to `subscribeToActivity()` and tracks per-id `(status, watchingEnabled, todo)` transitions.
59
59
60
60
| ID | Title | Detection |
61
61
|---|---|---|
62
-
|`al-enable`| Enable WATCHING on a pane (click bell or `a`) |status transitions away from `WATCHING_DISABLED`|
62
+
|`al-enable`| Enable WATCHING on a pane (click bell or `a`) |`watchingEnabled` transitions `false → true`|
63
63
|`al-busy`| Watch the bell tilt while a task runs | status enters `BUSY`, `MIGHT_BE_BUSY`, or `OSC_NOTIF_BUSY`|
64
64
|`al-ring`| Bell rings on completion | status enters `ALERT_RINGING`|
65
65
|`al-todo-auto`| TODO appears when you dismiss the ringing alert |`todo` transitions `false → true` while previous status was `ALERT_RINGING`|
66
66
|`al-todo-clear`| Press passthrough Enter to clear the TODO |`todo` transitions `true → false`|
67
67
|`al-todo-manual`| Manually add a TODO (`t` or right-click) |`todo` transitions `false → true` while previous status was NOT `ALERT_RINGING`|
68
68
69
-
The detector remembers the most recent pane whose WATCHING track was enabled. The Alert section view shows a runner-local instruction: "Press `s` here to start a fake busy task." `s` is **not** a real MouseTerm shortcut; it is intercepted by `TutRunner` only while the Alert section is open. When pressed, the runner does two things:
69
+
The detector remembers the most recent pane whose `watchingEnabled` flag is true, even when projected `status` is currently owned by protocol or command-exit alert tracks. The Alert section view shows a runner-local instruction: "Press `s` here to start a fake busy task." `s` is **not** a real MouseTerm shortcut; it is intercepted by `TutRunner` only while the Alert section is open. When pressed, the runner does two things:
70
70
71
71
1. Resolves that pane to its current PTY session id, then calls `adapter.pumpActivity(sessionId, BUSY_DEMO_DURATION_MS, 800)` — drives the alert-manager's activity monitor on the same WATCHING-enabled session with **no text output**, so the bell tilts to BUSY without scrolling any scenario text. The session id is resolved at trigger time so `Cmd/Ctrl+Arrow` swaps do not leave the tutorial pumping an old pane id. If no WATCHING-enabled pane is known, the runner falls back to `PANE_BOXED` (the changelog pane). `BUSY_DEMO_DURATION_MS` is `cfg.alert.userAttention + 250` so silence begins after the attention idle window has expired, with a small scheduler-jitter guard; otherwise the "user is looking at this pane" check inside `ActivityMonitor.startNeedsAttentionConfirmTimer` would suppress the ring rather than let it fire.
72
72
2. Animates a countdown in-place where the "Press s…" hint was: `⠋ Fake task will finish in N seconds.` ticking down to 1, then a static `✓ Fake task finished. Press s to start another one.` once the activity stops. Detection is purely timing-based via the existing `ActivityMonitor`, so no shell integration is required.
0 commit comments