getsentry / getsentry/sentry

Add SDK-configurable pre-roll Replay links to User Feedback alerts

Open
#116,491 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Feature Product Area: Replays Replays
Dominant language
Python
Stars
44.8k
Forks
4.9k
Avg merge
21h 23m
Merged PRs (30d)
607

Description

Problem

User Feedback can be associated with Session Replay, but it is still too hard to get directly to the moment that matters from alerts.

When a user submits feedback, product managers, support, QA, and other less technical teammates often want to quickly watch what happened right before the user reported the issue. Today that requires opening Sentry, finding the linked replay, and scrubbing around manually. That extra navigation makes it much less likely that non-engineering teammates will actually use Replay during triage.

What I want is a one-click link from feedback/alert context straight into the relevant Replay moment, ideally starting before the feedback submission time.

Desired behavior

When User Feedback is submitted and a Replay is available, the SDK should generate or attach a timestamped Replay URL that opens before the feedback submission moment.

For example, if feedback is submitted at T, the generated URL should open the replay at:

  • T - 15 seconds
  • T - 20 seconds
  • T - 30 seconds

The pre-roll offset should be configurable in the SDK, likely on feedbackIntegration, because the app team knows the right product/support workflow.

Example API shape:

Sentry.init({
  integrations: [
    Sentry.replayIntegration(),
    Sentry.feedbackIntegration({
      replayPreRollSeconds: 15,
    }),
  ],
});

The exact option name does not matter. The important part is that teams can configure the replay lead-in duration in code when setting up User Feedback.

Alerting / Slack use case

The timestamped Replay URL should also be available outside the Sentry UI so it can be included in alerts, especially Slack alerts.

If the field can be stored as an event tag, or anything else that can be displayed in an alert based on existing Sentry alerting capabilities, that would suffice.

Default behavior / open question

It is an open question whether generating this Replay link should be stored as a tag by default whenever both User Feedback and Replay are enabled, or whether it should require an explicit SDK option such as enableReplayLink: true. Within the UI, the tag section be an awkward place for an internal Sentry link, but it would still be of value in common triage workflows. If it's not desired to make it the default, this maybe an alternative approach:

Sentry.init({
  integrations: [
    Sentry.replayIntegration(),
    Sentry.feedbackIntegration({
      replayPreRollSeconds: 15,
      enableReplayLink: true,
    }),
  ],
});

Either approach would work, but the SDK should support:

  • Generating the Replay link when feedback is submitted and a replay exists
  • Configuring the pre-roll duration, e.g. replayPreRollSeconds: 15
  • Exposing the generated link in a way alerts can use

Dream option

A more ambitious version of this would be a Slack unfurl that shows the actual replay clip directly in Slack, ideally as a shortened video segment covering the configured pre-roll window through the feedback submission moment.

Another version would be a short-lived link, for example expiring after 1 day, to a basic Replay player that does not require full Sentry org membership and does not include the full Sentry UI. This would be useful because many product, support, and business teammates are not comfortable navigating Sentry and probably will not become regular Sentry users. They still need to see what happened to the user.

The minimal version of this feature is still the alert-accessible timestamped Replay link. But the ideal product experience is that a non-technical teammate can open Slack, see the feedback, and immediately watch the relevant user experience with as little Sentry-specific navigation as possible.

Why this matters

Jumping to the exact feedback submission timestamp is often already too late. The important context is usually what happened 15-30 seconds before the user decided to send feedback.

This would make Sentry Replay much more useful for cross-functional product debugging. A PM or support teammate should be able to click one Slack link and immediately watch the relevant part of the session, without understanding the Sentry UI or manually scrubbing through a replay.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the Sentry.init configuration using feedbackIntegration and replayIntegration, then trace how User Feedback and Replay data become alert fields. Determine how a timestamped link, configurable pre-roll, and alert-accessible representation fit the existing SDK and Slack alert flow; done means the behavior and default or opt-in design are specified and covered by tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
observability
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.