Skip to content

[Fix] Reduce Sentry noise in browser_live environment#2011

Merged
kpal81xd merged 6 commits intomainfrom
fix/sentry-browser-live-tier1
Apr 15, 2026
Merged

[Fix] Reduce Sentry noise in browser_live environment#2011
kpal81xd merged 6 commits intomainfrom
fix/sentry-browser-live-tier1

Conversation

@kpal81xd
Copy link
Copy Markdown
Contributor

What's Changed

Six low-hanging-fruit fixes for the top unresolved Sentry issues in the browser_live environment (~114 events/14d eliminated):

  • PLAY-CANVAS-G3CQ (49 events): Guard RealtimeAsset._onOp when document is unloaded — prevents stale ops from emitting after unload()
  • PLAY-CANVAS-G3DB (15 events): Downgrade missing child entity log.errorconsole.warn — non-fatal race during scene load, user already sees status bar error
  • PLAY-CANVAS-G3AW (10 events): Downgrade asset rename error log.errorconsole.warn — server 400 "invalid characters" already shown to user via status bar
  • PLAY-CANVAS-G3DQ (6 events): Add socket.readyState === WebSocket.OPEN check in relay send() — prevents InvalidStateError when socket is in CLOSING state
  • PLAY-CANVAS-G3D8 (30 events): Downgrade viewport WebGL error log.errorconsole.error — environmental limitation, not a code bug; overlay still shown to user
  • PLAY-CANVAS-G3FT (4 events): Track pending room joins via _pendingRooms Set in relay server — prevents duplicate joinRoom() requests from racing event listeners

Checks

kpal81xd and others added 6 commits April 15, 2026 12:32
Skip emitting asset:op events when the realtime asset document has been
unloaded. Prevents stale ops from propagating after unload() sets
_loaded to false but before the listener is fully detached.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…G3DB)

The missing child entity error is a non-fatal race condition during
scene load. The user already sees a status bar error; downgrade from
log.error (Sentry) to console.warn (local only) to reduce noise.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Server-side 400 "invalid characters" responses already show a status
bar error to the user. Downgrade from log.error (Sentry) to
console.warn (local only) to avoid unnecessary Sentry events.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The _connected flag can be true while the WebSocket is in CLOSING
state, causing InvalidStateError on send(). Add a readyState check
to guard against this race condition.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
WebGL context creation failure is an environmental limitation, not a
code bug. Downgrade from log.error (Sentry) to console.error (local
only). The user still sees the full-screen overlay explaining the issue.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Multiple event listeners (relay:connected, realtime:connected) can
trigger joinRoom() for the same room before the server confirms the
first join. Track pending join requests in a Set and skip duplicates
to prevent "Client already joined room" server rejections.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@kpal81xd kpal81xd self-assigned this Apr 15, 2026
@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 15, 2026

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

Project Deployment Actions Updated (UTC)
editor Ready Ready Preview, Comment Apr 15, 2026 11:38am

Request Review

@kpal81xd kpal81xd merged commit 7dbca4a into main Apr 15, 2026
7 checks passed
@kpal81xd kpal81xd deleted the fix/sentry-browser-live-tier1 branch April 15, 2026 11:39
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