Issues

Every error arrives with the session that caused it.

Fingerprinted and grouped, so you fix one problem, not thousands of events.

Read the issues docs
Grouped
One bug, one row
Source-mapped
Your files and line numbers
4 kinds
Runtime, repo, behavioral, visual
Linked
The replay that hit it
  • Clado
  • Olive
  • Codebuff
  • Attensira
  • Assemble
  • Opennote
  • Stratify
  • Gatekeep

Issue list

Grouped, source-mapped, and scoped to what is open.

Runtime errors from the SDK land here fingerprinted and grouped. Status defaults to open, so the list is work to do rather than an archive. Filter by type, environment, and release, or search by title, culprit, and route.

  • Affected users, first seen, and last seen on every issue
  • Source-mapped stack traces from your uploaded maps
  • Resolve, ignore, or mute — muted issues stay findable

Four kinds of problem

Not everything broken throws an exception.

Runtime errors are the tab you open first. The other three catch the failures that never reach a try/catch block.

Runtime

Live product errors captured by the SDK in real browsers — unhandled and handled, with breadcrumbs leading up to each one.

Repo

Static findings from a scan of your connected GitHub repository, so a bug can be caught before a user meets it.

Behavior

Behavioral friction — the rage clicking and dead ends that mean something is broken even though nothing threw.

Visual

Visual defects found in what was actually rendered, not in what the component was supposed to render.

The loop

From a red number to a merged fix.

  1. 01

    Open the issue

    Affected users, first and last seen, and a source-mapped stack trace pointing at your code rather than a bundled line.

  2. 02

    Watch it happen

    Session replays on the detail open Replays scoped to that issue. Watch those before you resolve when the stack alone is unclear.

  3. 03

    Hand it off

    File it to Linear or Jira, or give it to the coding agent, which clones into a sandbox and opens a pull request — never against your default branch.

Details

How grouping works.

Deterministic fingerprints
Errors are fingerprinted from their shape, so the same bug from a thousand users is one issue and a genuinely different bug is not folded into it.
Source maps
Upload maps with the wizard CLI and traces resolve to your original files and line numbers instead of minified bundle offsets.
Releases and environments
Set release and environment in the SDK init and the list filters by them, so a staging spike never masquerades as a production one.
Status, not deletion
Resolve, ignore, and mute all keep the history. A muted issue drops out of Open and stays available under Muted or All.

Keep going

The rest of the platform.

Everything here reads from the same recorded session — there is nothing to stitch together between surfaces.

Stop guessing what happened.

One SDK, one afternoon. We will walk your team through it on a call and leave you with the recording of your own product.