Skip to content

Fix GlitchTip error-reporting noise + import-smoke CI#1004

Closed
abrichr wants to merge 2 commits into
feat/deployfrom
fix/glitchtip-error-reporting-noise
Closed

Fix GlitchTip error-reporting noise + import-smoke CI#1004
abrichr wants to merge 2 commits into
feat/deployfrom
fix/glitchtip-error-reporting-noise

Conversation

@abrichr

@abrichr abrichr commented Jun 25, 2026

Copy link
Copy Markdown
Member

Why

GlitchTip (project openadaptai/openadapt, 3798) was dominated by unactionable import-time crashes from automated/headless environments (bot servers admin123-nexus-*, CI, no-display Linux) running OpenAdapt where it structurally can't run. These flood the dashboard and bury real issues. Triaging all 17 unresolved issues (65 events): ~80% of events are environmental noise, several "top bugs" are already fixed on this branch (pywinauto guarded, no declarative_base(bind=)) and recur only from old-release bots.

What

  • error_reporting.before_send_event now drops unsupported-environment errors (no display / $DISPLAY / X connection, wrong platform, No module named 'pywinauto', numpy ABI _ARRAY_API, headless crop_active_window). It also only shows the user alert when a GUI is actually running — previously it popped a QMessageBox on every event inside the Sentry hook (broken/blocking headless).
  • config.ERROR_REPORTING_DSN → live project 3798. Previously 8771, which isn't in the org and is unreachable, so its events were never visible in the dashboard.
  • CI import-smoke step (main.yml): core modules must import cleanly — the dominant GlitchTip error class (same class as openadapt-ml 0.14.1: multiple broken internal imports prevent serve, train, and demo commands #999). TODO left for a Windows matrix (pywinauto path).
  • gitignore *.pem — there was an untracked private key (deploy/omniparser-key.pem) at risk of git add -A.

Validation

Ran the new filter against the 17 live issues: it drops 53/65 events (all the high-volume environmental flood) and keeps the 12-event actionable long tail. At runtime it catches even more (the live hook sees full exception messages).

Not done (deliberate)

  • No try/except around posthog/dictalchemy3/click — they're declared deps (partial-install artifacts ≠ code bugs; posthog is subclassed at module scope). The import-smoke CI is the correct guard.
  • No numpy<2 pin (harmful in 2026; the one stale ABI error is filtered).

Dashboard

Separately muted (status=ignored) the 7 high-volume noise issues (53 events) via the API — ignored not resolved, since old-release bots would reopen resolved.

🤖 Generated with Claude Code

abrichr and others added 2 commits June 25, 2026 12:47
- error_reporting: filter unsupported-environment errors (headless/no-display,
  wrong platform, broken native deps) in before_send_event so CI/automated
  environments stop flooding the dashboard; only show the user alert when a GUI
  is actually running (never headless, never for filtered noise).
- config: point ERROR_REPORTING_DSN at the live project openadaptai/openadapt
  (3798); 8771 was unreachable (not in the org), so its events were never visible.
- CI: add import-smoke step so core modules must import cleanly (the dominant
  GlitchTip error class). TODO: Windows matrix for the pywinauto path.

Validated the filter against the 17 live issues: drops 53/65 events of
environmental noise, keeps the 12-event actionable long tail.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@abrichr

abrichr commented Jun 25, 2026

Copy link
Copy Markdown
Member Author

Superseded by the main-targeted PR. #1004 targeted the abandoned feat/deploy branch (last touched March 2025); main had removed error reporting entirely in the #960 meta-package refactor, so the fix belongs on main, rebuilt for the new architecture. Closing.

@abrichr abrichr closed this Jun 25, 2026
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.

1 participant