Skip to content

fix: degrade mixed CrUX failures to no-data#31

Draft
cursor[bot] wants to merge 1 commit intomainfrom
cursor/sentry-issue-regression-1b89
Draft

fix: degrade mixed CrUX failures to no-data#31
cursor[bot] wants to merge 1 commit intomainfrom
cursor/sentry-issue-regression-1b89

Conversation

@cursor
Copy link
Copy Markdown

@cursor cursor Bot commented Apr 14, 2026

Description

Fixes a regression in WEBVITALS-2Q.

  • Root cause: getRealWorldPerformance treated any upstream CrUX fetch error as fatal when no usable metrics were returned, even if another requested device completed successfully but legitimately had no CrUX field data.
  • Regression vector: Release 3dad06a481817bc715ba83934de828125c64fb2c still shipped the strict fatal gate, so transient Google CrUX 500s reopened the issue whenever the other device response produced no usable metrics. I could not identify a resolving commit/PR from the Sentry MCP activity payload.
  • Fix: Only throw when every requested device fetch fails. Mixed error + no-data outcomes now degrade to hasData: false, which preserves the existing empty-state UI/workflow path instead of surfacing a workflow error.

Type of Change

  • Bug fix
  • New feature
  • Documentation
  • Refactoring

Sentry Context

  • Issue: https://sentry.sentry.io/issues/7272648133/
  • Regressed in release: 3dad06a481817bc715ba83934de828125c64fb2c
  • Previously resolved by: Not available from the Sentry MCP issue payload / no matching repo commit found

Verification

  • pnpm check-types passes.
  • pnpm lint still fails because of pre-existing repo-wide Biome violations unrelated to this change.
  • Replayed the affected request locally with POST /api/chat for https://dbavc-ca.vercel.app; the route now returns 200 OK with a workflow run ID instead of bubbling the CrUX failure.
  • Resumed that workflow in a headless browser and verified the UI renders the existing No CrUX data available empty state rather than crashing.
  • Screenshot captured during local verification (automation environment does not support attaching the image directly in this PR body).

Checklist

  • Tested locally
  • Types pass (pnpm check-types)
  • Linting passes (pnpm lint)

Test plan

  • Type checker passes
  • Linter passes (blocked by pre-existing repo issues unrelated to this fix)
  • Affected code path manually verified in browser
Open in Web View Automation 

When one requested device errors but another request completes without\nusable CrUX metrics, the workflow should take the existing no-data\npath instead of raising a tool exception. Keep hard failures for cases\nwhere every requested device fetch fails.\n\nFixes WEBVITALS-2Q\nCo-Authored-By: Claude <noreply@anthropic.com>

Co-authored-by: Sergiy Dybskiy <s@serg.tech>
@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 14, 2026

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

Project Deployment Actions Updated (UTC)
webvitals-com Ready Ready Preview, Comment Apr 14, 2026 6:43pm

Request Review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant