Docs
Set up Uncaught
Uncaught speaks the Sentry protocol, so there's no new library to learn. Install the official Sentry SDK for your app, point its DSN at Uncaught, and errors start showing up as grouped issues.
How it works
- Create a project. Each app (or each part of one, like a Rails API and its React front end) gets its own project in your organization.
-
Copy its DSN.
The project's setup page shows it. It looks like
https://<key>@uncaught.thistinct.tools/<project-id>. - Initialize the Sentry SDK with it. Follow the guide for your platform below. Errors, and transactions for Performance if you turn tracing on, go to Uncaught from then on.
Guides
Ruby on Rails
sentry-rails for controllers, jobs, mailers and the runner.
Ruby
sentry-ruby for Sinatra, Hanami, Rack apps, workers and scripts.
JavaScript
@sentry/browser and framework SDKs, plus source maps.
React Native
@sentry/react-native for iOS and Android, with Hermes source maps.
Node.js
@sentry/node for Express, Fastify, Koa, Nest and workers.
Python
sentry-sdk for Django, Flask, FastAPI and Celery.
PHP
Laravel, Symfony and plain PHP with the Sentry packages.
Releases and sentry-cli
API tokens, releases and source map uploads from CI.
What Uncaught supports
- Errors from any Sentry SDK that sends envelopes or the older store endpoint, grouped by type and in-app frames. Ruby, JavaScript, Node.js, Python and PHP are tested against the real SDKs, and React Native against the events its SDK builds.
- Local variables on each frame, which the Python SDK sends by default and the Node SDK sends with
includeLocalVariables. - Releases and environments, from the SDK's
releaseandenvironmentoptions. - Users, tags and breadcrumbs, as set with
Sentry.set_user,Sentry.set_tagsand the SDK's breadcrumb loggers. - Performance from transactions, when
traces_sample_rateis above zero. - Device, OS and app details from mobile SDKs, shown on the issue page.
- Source maps for JavaScript and React Native (Metro and Hermes), uploaded from the project page or with
sentry-cli.
Session replays, profiles, cron monitors and attachments aren't stored. SDKs that send them keep working, and Uncaught ignores those parts.