getsentry / getsentry/sentry-javascript

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

Aberta
#9,490 11 comentários 1 reação 0 responsáveis Ver no GitHub
Browser Improvement Replays
Linguagem predominante
TypeScript
Estrelas
8.7k
Forks
1.8k
Merge médio
1d 18h
PRs com merge (30d)
541

Descrição

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

Guia de contribuição

Abrir o guia de contribuição

Direção de pesquisa

Comece revisando a integração existente do NextJS e o snippet proposto para templates HTML renderizados no servidor. A issue não especifica arquivos do repositório nem testes; primeiro esclareça quais integrações de frameworks e qual comportamento de replay estão no escopo e, em seguida, defina testes para tracing, propagação de baggage, buffering entre páginas e replay de exceções do backend.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
django, express, javascript, laravel, nextjs, spring, typescript
Domínio
backend, frontend
Tipo de issue
Funcionalidade
Dificuldade
5/5
Tempo estimado
Mais de uma semana
Status de atividade
Estagnada
Clareza
Precisa de esclarecimento
Facilidade para iniciantes
25/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.