Skip to content

fix(dashboard): Send the detail version in a custom header - #2687

Merged
BYK merged 1 commit into
mainfrom
fix/detail-version-header
Nov 4, 2026
Merged

BYK merged 1 commit into
mainfrom
fix/detail-version-header

Conversation

@sentry-junior

@sentry-junior sentry-junior Bot commented Nov 4, 2026

Copy link
Copy Markdown
Contributor

Follow-up to #2655. The version-gated 304 never fires in production.

Evidence (Sentry project junior, http.server GET /api/conversations/<id> detail reads):

  • 0.276.0 (24h): 3,150 server responses, all 200. 0.277.0 (first ~20 min): 160 server responses, all 200.
  • 7 days: the only server-side 304s came from local dev (sentry-cli-local).
  • Browser http.client spans for the same URLs do show 304s: 614 of ~1,580 between 17:00 and 20:15Z. Their p50 was ~500ms, slower than the 200s (~340ms).
  • The usage query (cab9c71d57e8180d) ran about once per detail read.

So the function builds the full report on every poll. Then something in front of it, most likely the Vercel CDN, answers ETag / If-None-Match itself. That is an inference: the CDN behavior is not confirmed from Vercel docs. Either way, the route never sees a validator that matches.

This change sends the token in x-junior-detail-version, both on the response and on the next poll. The route compares that header before it builds the report. Mock reporting uses the same header. The token is unchanged except for the W/"…" wrapper, which no longer applies.

To verify after deploy, server-side http.response.status_code:304 should appear on detail reads, and usage query spans per detail read should drop below 1.

via @BYK.

--

View Session in Sentry

In production the detail route never returned 304. Browser spans show
304s, but every server span was a 200 that built the full report, so the
Vercel CDN answered ETag / If-None-Match itself after the function ran.

Carry the version token in x-junior-detail-version in both directions so
the route can compare it before it builds the report.

Co-Authored-By: BYK <126780+BYK@users.noreply.github.com>
@vercel

vercel Bot commented Nov 4, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
junior-docs Ready Ready Preview Nov 4, 2026 8:50pm UTC

Request Review

@BYK
BYK enabled auto-merge (squash) November 4, 2026 20:54
@github-actions

github-actions Bot commented Nov 4, 2026

Copy link
Copy Markdown
Contributor

7 screenshot changes — 7 changed · 0 added · 0 removed

Review screenshots in Frameshift

Automation Page · Desktop
Automation Page · Desktop
Changed
Conversation Attachment · Desktop
Conversation Attachment · Desktop
Changed
Conversation Attachment · Mobile
Conversation Attachment · Mobile
Changed
Conversation Attachment Modal · Desktop
Conversation Attachment Modal · Desktop
Changed
Conversation Share Details · Desktop
Conversation Share Details · Desktop
Changed
Settings Mcp · Desktop
Settings Mcp · Desktop
Changed
Show 1 more changed screenshot
System Cache Missing · Desktop
System Cache Missing · Desktop
Changed

@BYK
BYK merged commit ea270c1 into main Nov 4, 2026
65 of 67 checks passed
@BYK
BYK deleted the fix/detail-version-header branch November 4, 2026 21:01

This branch was successfully deployed

1 active deployment
Preview – junior-docs — 6cd3bdf9 Deployed Nov 4, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk: high PR risk score: high

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant