Synthesize shell cache spans from RDC enumeration
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 66/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- nextjs, typescript
- Domain
- observability
Research direction
Start in the server-component wrapper and trace how the request work-unit store exposes its resumeDataCache; confirm the cache entries can be enumerated without relying on read interception. Emit synthetic cache.get spans containing each key digest and item age, and document that pages without a dynamic hole remain invisible.
Written by the indexing model from the issue text.
Description
Example:
export default function Page() {
return (<><CachedHeader /> {/* 'use cache', baked into the static shell */}
<Suspense fallback={<Sk/>}><LiveStock /></Suspense></>);
}
A request serves the shell, including the cached header, from the Resume Data Cache before any of our code runs. The handler instrumentation never fires. The trace shows LiveStock and nothing about the cached half of the page.
Solves: "was my cached content used, and how old was it?" for shell-served entries.
Fix idea: from code in the dynamic hole (the server-component wrapper), read the request work-unit store's resumeDataCache, enumerate its entries, and emit synthetic cache.get spans with key digest and item age. Research verified that enumeration works and read interception does not. Pages without a dynamic hole stay invisible. Document that limit instead of fighting it.
- Dominant language
- TypeScript
- Stars
- 8.7k
- Forks
- 1.9k
- Avg merge
- 1d 18h
- Merged PRs (30d)
- 562
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from getsentry/sentry-javascript
-
Browser Waiting for: Product Owner
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
getsentry/sentry-javascript#24577 · 1 comment ·
-
Task
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
getsentry/sentry-javascript#24558 · 1 comment ·
-
Task
Difficulty 1/5 Under an hour Newbie friendliness 90/100
getsentry/sentry-javascript#24557 · 1 comment ·
-
Task
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
getsentry/sentry-javascript#24556 · 1 comment ·
-
Task
Difficulty 1/5 1-3 hours Newbie friendliness 90/100
getsentry/sentry-javascript#24555 · 1 comment ·
All issues in getsentry/sentry-javascript
Similar issues
-
clawsweeper:linked-pr-open clawsweeper:no-new-fix-pr clawsweeper:source-repro impact:message-loss issue-rating: 🦞 diamond lobster maturity:stable P2
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Eynzof/Hermes-CN-Desktop#616 ·
-
ZCode 3.14.3 に対応する Open
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
supermomonga/zcode-acp#24 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
growthbook/growthbook#7100 ·
-
triage
Difficulty 1/5 1-3 hours Newbie friendliness 88/100