Problem
Preview capture failures can collapse to messages such as Preview snapshot failed. without identifying the target, failed stage, timeout class, or underlying Electron/exporter error. That made the compositor failure in #170 difficult to distinguish from navigation, page, session-binding, and artifact-save failures.
The functional screenshot and recording failures are fixed by #172 and #174. This issue tracks the remaining diagnostic experience as a separate concern.
Desired behavior
When snapshot or recording operations fail, return enough structured, non-sensitive context to act on the failure:
- the logical preview tab ID and requested operation
- the stage that failed, such as capture-surface presentation, native page capture, first-frame wait, encoder initialization, or artifact save
- whether the failure was a bounded timeout or an immediate rejection
- the underlying Electron/exporter message when it is safe to expose
- a stable diagnostic identifier when the detailed cause is only available in host logs
Do not include page contents, pairing tokens, or other sensitive runtime data. Successful responses should remain unchanged.
Acceptance criteria
preview_snapshot reports distinct presentation-timeout, native-capture-timeout, and native-capture-rejection failures.
- recording start, stop, and save failures identify their failing lifecycle stage.
- the agent-facing error includes the requested tab ID rather than only a generic failure string.
- desktop IPC preserves useful cause information without leaking a stack trace by default.
- focused tests cover each failure classification and verify sensitive details are omitted.
Related to #170, #172, and #174.
Written by an agent (T3 Code, gpt-5.6-sol).
Problem
Preview capture failures can collapse to messages such as
Preview snapshot failed.without identifying the target, failed stage, timeout class, or underlying Electron/exporter error. That made the compositor failure in #170 difficult to distinguish from navigation, page, session-binding, and artifact-save failures.The functional screenshot and recording failures are fixed by #172 and #174. This issue tracks the remaining diagnostic experience as a separate concern.
Desired behavior
When snapshot or recording operations fail, return enough structured, non-sensitive context to act on the failure:
Do not include page contents, pairing tokens, or other sensitive runtime data. Successful responses should remain unchanged.
Acceptance criteria
preview_snapshotreports distinct presentation-timeout, native-capture-timeout, and native-capture-rejection failures.Related to #170, #172, and #174.
Written by an agent (T3 Code, gpt-5.6-sol).