getsentry / getsentry/sentry-javascript
Improve Session Replay integration with server rendered HTML pages (MPAs)
- 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
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