Skip to content

feat(status): probe Statuspage summary directly instead of host heuristic - #1510

Merged
BYK merged 4 commits into
mainfrom
issue-1509-status-cname-probe
Sep 4, 2026
Merged

feat(status): probe Statuspage summary directly instead of host heuristic#1510
BYK merged 4 commits into
mainfrom
issue-1509-status-cname-probe

Conversation

@jared-outpost

@jared-outpost jared-outpost Bot commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

follow-up to #1494 addressing BYK's request in #1494 (comment) to stop inferring Statuspage instances from the host name.

what changed

fetchSentryStatus no longer guesses from the hostname whether a URL is a Statuspage instance. instead it probes the target directly:

  • request <url>/api/v2/summary.json
  • if the response is 2xx JSON carrying a status.indicator, treat it as a real Statuspage summary and use it
  • otherwise (non-2xx, non-JSON, missing summary shape, or a network error) fall back to the self-hosted /_health/?full=1 probe

no more host.includes("status") / .statuspage.io inference, so arbitrary self-hosted or regional deployments classify correctly.

testing

  • vitest run test/lib/api/status-page test/commands/status — 11 tests pass (probe-first success on default and arbitrary hosts, 404/non-JSON/non-Statuspage fallbacks, health-probe major/network-error paths)
  • tsc --noEmit clean
  • biome check clean on changed files

Closes #1509

…stic

Replace the loose domain-name heuristic (host.includes("status"),
endsWith(".statuspage.io")) with a direct probe: request
/api/v2/summary.json and use it only when the response is a valid
Statuspage summary, otherwise fall back to the self-hosted
/_health/?full=1 probe. This eliminates host mis-classification and makes
`sentry status` reliable for arbitrary self-hosted or regional
deployments.

Fixes #1509
@vercel

vercel Bot commented Aug 30, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated
cli Ready Ready Preview Sep 4, 2026 10:03am UTC

Request Review

@BYK
BYK marked this pull request as ready for review September 4, 2026 09:45
@github-actions github-actions Bot added the risk: medium PR risk score: medium label Sep 4, 2026
@BYK

BYK commented Sep 4, 2026

Copy link
Copy Markdown
Member

Jared, get the CI green

@jared-outpost

jared-outpost Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor Author

fix-ci: attempt 1 — 2 new silent catches in status-page.ts flagged by check:errors (the probe-first implementation added bare catch { return; } blocks)

@jared-outpost

jared-outpost Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor Author

CI green after adding log.debug on the two Statuspage probe fallbacks (check:errors now passes).

@BYK
BYK merged commit dd1277a into main Sep 4, 2026
34 checks passed
@BYK
BYK deleted the issue-1509-status-cname-probe branch September 4, 2026 13:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk: medium PR risk score: medium

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(status): replace domain heuristic with CNAME or direct Statuspage probe

1 participant