getsentry / getsentry/sentry-javascript

Improve Session Replay integration with server rendered HTML pages (MPAs)

Open
#9,490 11 comments 1 reaction 0 assignees View on GitHub
Browser Improvement Replays
Dominant language
TypeScript
Stars
8.7k
Forks
1.8k
Avg merge
1d 17h
Merged PRs (30d)
523

Description

We're working on onboarding for backend project to include browser support. Similar to how we have NextJS, Remix, we want to onboarding for Laravel, ASP.NET, Django, Express, Spring, etc to include a snippet to be added to their `html` template. Enabling an experience to a single framework such as NextJS:

I was talking to @mydea and a few ideas came up:

* Tracing end to end
* Release from trace baggage (to make it easier to onboard with the loader, uses same release version as backend)
* If exception happens on the backend, we want to replay to sample.
* Pass event_Id to the frontend so replay can send it. We could also define the `replay_id` on the backend so the error includes
* Could be done by setting the replay_id on the baggage given by the BE to the FE when rendering
* but for that to make sense we need the buffer to persist page loads
* Needs: remove minFlushDelay
* Keep last 30 seconds buffer for on error somehow?
* Shared worker?
* In the compression worker have an opt-in to store data in the worker in indexDB.

Also:
* https://github.com/getsentry/sentry-javascript/issues/9756

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the existing NextJS integration and the proposed snippet for server-rendered HTML templates. The issue names no repository files or tests; first clarify which framework integrations and replay behavior are in scope, then define tests for tracing, baggage propagation, cross-page buffering, and backend exception replay.

Written by the indexing model from the issue text.

Assessment

Tech stack
django, express, javascript, laravel, nextjs, spring, typescript
Domain
backend, frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.