getsentry / getsentry/sentry-javascript

Reconnect pageload and serving request under `cacheComponents`

未关闭
#24,298 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
javascript
主要语言
TypeScript
星标
8.7k
派生
1.8k
平均合并
1 天 17 小时
30 天内合并 PR
523

描述

*Example:* any `cacheComponents` page. The browser records pageload trace X, the server records request trace Y, and they never meet. The SDK currently disables the `sentry-trace` meta tags. because the shell HTML is cached and baked-in context would replay one stale trace to every visitor. Result: two orphan traces per visit. A slow pageload cannot be followed into its server work.

*Solves:* the incomplete-traces complaint. This is the gap users notice first.

*Fix idea:* carry trace context only in the part of the response that is never cached. For example, a small component rendered inside a dynamic hole streams the meta tag or script with trace Y's context, and the browser SDK picks it up. The prerendered shell stays context-free. This sketch has no prototype behind it yet - research this first.

贡献指南

打开贡献指南

调研方向

No files or tests are named. Start by locating the cacheComponents handling and the browser/server trace-context entry points, then inspect how cached shell HTML and dynamic holes are rendered. Done means pageload trace X and server trace Y reconnect without replaying stale context from the cached shell, with coverage for a cacheComponents page.

由索引模型根据 Issue 内容生成。

评估

技术栈
typescript
领域
observability, web-dev
Issue 类型
功能
难度
5/5
预计耗时
一周以上
活跃度
活跃
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。