Skip to content

feat(desktop): add beta enhanced diagnostics#10176

Merged
Git-on-my-level merged 2 commits into
mainfrom
feat/beta-enhanced-diagnostics
Jul 21, 2026
Merged

feat(desktop): add beta enhanced diagnostics#10176
Git-on-my-level merged 2 commits into
mainfrom
feat/beta-enhanced-diagnostics

Conversation

@Git-on-my-level

@Git-on-my-level Git-on-my-level commented Jul 21, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Enable a beta-only enhanced diagnostics trail by default, with a user opt-out in Settings → Advanced.
  • Add typed beta error entries to incident attachments: component, operation, phase, outcome, bounded failure class, error-domain bucket, and bounded error code.
  • Capture transient failures for beta triage while preserving existing Stable behavior.
  • Add a macOS release-note disclosure; onboarding remains unchanged.

Privacy and scope

  • Stable and development bundles never enable this path.
  • The setting removes beta trail entries from future incident attachments immediately.
  • No raw logger message, prompt, transcript, response, URL, path, device name, token, or credential is stored in the beta trail.
  • Existing incident attachment bounds, redaction, and Sentry deduplication remain in effect.

Validation

  • xcrun swift test --package-path Desktop — 2,866 tests passed.
  • ./scripts/swiftlint-wrapper.sh lint
  • python3 scripts/check_desktop_test_quality.py
  • python3 scripts/check-e2e-flow-coverage.py --base origin/main --strict
  • git diff --check

Review in cubic

@Git-on-my-level

Copy link
Copy Markdown
Collaborator Author

@cursor address merge conflict

@cursor

cursor Bot commented Jul 21, 2026

Copy link
Copy Markdown

Resolved the merge conflict and pushed to feat/beta-enhanced-diagnostics.

Conflict: desktop/macos/Desktop/Sources/DesktopDiagnosticsManager.swift — both branches added a method after recordChatFailure:

  • This branch: recordBetaLogError (beta enhanced diagnostics)
  • main: recordVoiceTurnStarted (voice turn telemetry)

Resolution: Kept both methods in that order. The rest of the merge (including DesktopDiagnosticsManagerTests.swift and VoiceTurnCoordinatorTests.swift) auto-merged cleanly.

Commit: b58269d4bemerge: resolve DesktopDiagnosticsManager conflict with main

The PR should be mergeable with main again. Swift tests weren’t run here (Linux VM); CI should cover that on the updated branch.

Open in Web Open in Cursor 

Keep both recordBetaLogError (beta enhanced diagnostics) and
recordVoiceTurnStarted (voice turn telemetry from main).

Co-authored-by: David Zhang <Git-on-my-level@users.noreply.github.com>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d887d64703

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".


// Stable keeps the existing low-volume transient-error behavior. Beta captures
// these typed failures with the expanded diagnostic trail for release triage.
if isNonActionableTransient(error), !enhancedBetaDiagnostics { return }

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Keep beta transient errors on the local trail

On beta builds, errors that isNonActionableTransient classifies as offline/timeouts/cancellations/sign-out races now fall through to the SentrySDK.capture(message:) path instead of returning after the typed trail entry. I checked AppDelegate.shouldDropSentryEvent, and its transient filter only examines exception events, while this path sends a message event with the NSError in context, so common transient loops can create Sentry issues every dedup window rather than just enriching later incident attachments.

Useful? React with 👍 / 👎.

@Git-on-my-level
Git-on-my-level merged commit 9dbd226 into main Jul 21, 2026
29 checks passed
@Git-on-my-level
Git-on-my-level deleted the feat/beta-enhanced-diagnostics branch July 21, 2026 05:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants