-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Description
Problem (one or two sentences)
The telemetry system currently doesn't capture when users cancel tasks or terminate operations, making it difficult to understand user behavior patterns, identify friction points, and measure task completion rates versus abandonment.
Context (who is affected and when)
Currently, we can see when tasks start but have no data on whether are abandoned, user course-corrected or terminated mid-flight.
Desired behavior (conceptual, not technical)
The system should automatically record when users cancel ongoing tasks or terminate operations, capturing basic context.
Constraints / preferences (optional)
- Must respect user privacy settings and telemetry opt-out preferences
- Should not impact performance of the cancelation/termination flow
- Data should be anonymized and aggregated for analysis
- Should distinguish between different types of cancelations (user-initiated vs. system errors vs. timeouts)
Request checklist
- I've searched existing Issues and Discussions for duplicates
- This describes a specific problem with clear context and impact
Roo Code Task Links (optional)
No response
Acceptance criteria (optional)
Given a user has an active Roo Code task in progress
When the user cancels the task
Then a telemetry event is logged with task type, elapsed time, and cancelation source
And different cancelation types (user-initiated, error, timeout) are correctly categorized
And no personally identifiable information (PII) is included in the telemetry payload
But no telemetry events are sent if the user has opted out of telemetry collection
Proposed approach (optional)
Add telemetry event hooks to the terminate button handler in the WebUI. The implementation should:
-
Distinguish between termination intents: Track whether the terminate action is:
- First click on a parent task (intent to stop and provide new direction)
- Subsequent clicks to fully exit and create a new task
- Mid-execution correction (user wants to provide additional context to course-correct)
-
Capture context-rich data: Each termination event should include:
- Task hierarchy level (parent vs. subtask)
- Termination click count (1st, 2nd, 3rd+ click)
- Time elapsed since task start
- Current execution stage/state
- Whether user provided follow-up input after termination (indicates course correction vs. full abandonment)
-
Track user intent signals:
- If user terminates then immediately provides new instructions → log as "course correction"
- If user terminates multiple times to reach new task screen → log as "full abandonment"
- If user terminates and provides context during existing task → log as "mid-task guidance"
-
Implementation points:
- Hook into existing terminate button click handler
- Use a short time window (e.g., 30 seconds) after termination to detect follow-up actions
- Create distinct event types:
task_terminated,task_corrected,task_abandoned - Store minimal session context to correlate termination with subsequent actions
Trade-offs / risks (optional)
No response
Metadata
Metadata
Assignees
Labels
Type
Projects
Status