Skip to content

Fix all 14 open Sentry issues - #379

Merged
owens1127 merged 2 commits into
mainfrom
fix/sentry-all-open-issues
Jun 23, 2026
Merged

Fix all 14 open Sentry issues#379
owens1127 merged 2 commits into
mainfrom
fix/sentry-all-open-issues

Conversation

@owens1127

Copy link
Copy Markdown
Contributor

Summary

Root-cause fixes for all 14 unresolved website issues — no policy-only silencing.

Issue Fix
WEBSITE-4 Reject malformed /profile/:id URLs with notFound() before render (fixes hydration React #329)
WEBSITE-1F Reject non-numeric /clan/:groupId + Bungie code 7 handling
WEBSITE-3C Sanitize invalid navigator.languages before locale matching on /faq
WEBSITE-35 Catch abort/timeout on server linked-profile fetch → notFound()
WEBSITE-1A Retry Bungie HTML 502/522/524 once in client + server Bungie clients
WEBSITE-2C Treat Bungie 1626 as expected on optional clan-for-member lookups
WEBSITE-33 Retry truncated clan fetch responses in useClan
WEBSITE-39 Retry RaidHub instance-finder 500s + user-facing outage message
WEBSITE-34 pointer-events: none on SVG dot children so clicks hit the <Link href>
WEBSITE-38 SVGAElement target setter shim for Tampermonkey userscripts
WEBSITE-3B webkit.messageHandlers stub for in-app browser injected scripts
WEBSITE-3A/36/37 Dexie unhandled-rejection recovery + broader storage error detection

Test plan

  • bun run lint + bun tsc
  • CI green
  • After deploy: is:unresolved project:website → 0
  • Deploy sync resolves all 14 in APP_VERSION
  • Smoke: /profile/4611686018488107374, /clan/5257651, /faq, invalid /profile/foo → not found

Made with Cursor

Validate profile/clan route params, harden LocaleManager and Dexie, retry transient Bungie HTML and RaidHub 500s, route dot clicks through anchor href, and shim embedded-browser/userscript incompatibilities.

Fixes WEBSITE-3C
Fixes WEBSITE-3B
Fixes WEBSITE-38
Fixes WEBSITE-4
Fixes WEBSITE-3A
Fixes WEBSITE-37
Fixes WEBSITE-36
Fixes WEBSITE-39
Fixes WEBSITE-1A
Fixes WEBSITE-33
Fixes WEBSITE-2C
Fixes WEBSITE-35
Fixes WEBSITE-34
Fixes WEBSITE-1F

Co-authored-by: Cursor <cursoragent@cursor.com>
@vercel

vercel Bot commented Jun 23, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
raid-hub Ready Ready Preview Jun 23, 2026 11:41pm

Request Review

Comment on lines 67 to 73
console.error(err)
if (
err instanceof BungiePlatformError &&
ServerBungieClient.RetryableErrorCodes.has(err.ErrorCode)
ServerBungieClient.RetryableErrorCodes.has(err.ErrorCode) &&
!url.searchParams.has("retry")
) {
url.searchParams.set("retry", err.cause.ErrorStatus)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: The retry logic for error code 1626 in ServerBungieClient is unreachable because the error is also listed in ExpectedErrorCodes, causing the check to fail.
Severity: MEDIUM

Suggested Fix

Refactor the conditional logic in ServerBungieClient.handle(). The check for ExpectedErrorCodes should not prevent the retry logic from being evaluated. Consider moving the retry blocks outside of the ExpectedErrorCodes guard so that retryable errors are handled before being dismissed as expected.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent. Verify if this is a real issue. If it is, propose a fix; if not, explain why it's
not valid.

Location: src/services/bungie/ServerBungieClient.ts#L67-L73

Potential issue: In `ServerBungieClient.ts`, the error handling logic for retries is
nested inside a condition that explicitly skips errors found in `ExpectedErrorCodes`.
The new code adds error code 1626 to both `RetryableErrorCodes` and
`ExpectedErrorCodes`. As a result, when a `BungiePlatformError` with code 1626 occurs,
the outer condition `!(err instanceof BungiePlatformError &&
ServerBungieClient.ExpectedErrorCodes.has(err.ErrorCode))` evaluates to false. This
prevents the retry logic from ever being executed for this error on the server, and the
error is immediately re-thrown. This defeats the purpose of making the error retryable
and creates an inconsistency where the client-side `ClientBungieClient` would retry, but
the server-side would not.

Also affects:

  • src/services/bungie/BungieClient.ts:83~106

Did we get this right? 👍 / 👎 to inform future reviews.

Co-authored-by: Cursor <cursoragent@cursor.com>
@owens1127
owens1127 merged commit 07e1039 into main Jun 23, 2026
6 of 7 checks passed
@owens1127
owens1127 deleted the fix/sentry-all-open-issues branch June 23, 2026 23:43
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