Skip to content

platform: error-reporting audit and baseline pass #381

Description

@zgeoff

#328 adopts Bugsink (self-hosted, Sentry-SDK-compatible) as the error backend; this is the audit and baseline pass that makes it useful. Per docs/architecture/error-handling.md, the Sentry SDK backed by Bugsink is the only path to the error backend. The TypeError: immutable proxy crash fixed in #371 existed only as an unstructured stack interleaved in fly logs.

Scope

  • wire the Bugsink DSN in every deployable app: app-web plus the six services (activity, avatar, email, session, user, verification)
  • capture unhandled route/server errors and unhandled rejections at the central hooks (service interceptor, app-web root error boundary) — never captureException where those already cover
  • route alerts somewhere visible
  • audit for swallowed exceptions that should report; confirm the trace id (x-trace-id / withTraceContext) rides on captured events for log correlation

Acceptance

  • a thrown fault in each app appears in Bugsink as a structured event with its trace id
  • an unhandled promise rejection is captured
  • the audit lists any remaining swallow points with a follow-up

Notes

apps/design-reference was removed (#453), so it is not a target. Complements the logging audit (#380) and the trace/metric audit (#432).

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/platformarea: deploy, db hosting, monorepo, CIchoremaintenance / housekeepingp2-mediumpriority: medium

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions