Skip to content

feat(ui): display Sentry User Feedback events - #1346

Merged
BYK merged 2 commits into
mainfrom
issue-1343-feedback-panel
Aug 7, 2026
Merged

feat(ui): display Sentry User Feedback events#1346
BYK merged 2 commits into
mainfrom
issue-1343-feedback-panel

Conversation

@jared-outpost

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

Copy link
Copy Markdown
Contributor

Resolves the "User Feedback events received but not displayed" part of #1343.

Problem

Sentry User Feedback (envelope item type feedback, sent by the browser SDK's feedbackIntegration) reaches the sidecar /stream fine, but the overlay never renders it. Two gaps:

  1. feedback was not in SUPPORTED_EVENT_TYPES, so envelopesSlice.pushEnvelope silently dropped these items and never called pushEvent.
  2. Even if stored, there was no panel/renderer for feedback — the Errors tab only lists events with an exception.

Change

  • Recognize feedback: add FEEDBACK_EVENT_TYPES and include it in SUPPORTED_EVENT_TYPES so feedback items flow into the store like any other event.
  • Types: add FeedbackContext, SentryFeedbackEvent (in the SentryEvent union), and an isFeedbackEvent guard. isErrorEvent already requires an exception, so feedback stays out of the Errors tab.
  • UI: new Feedback tab (FeedbackList + FeedbackDetails), a route in TelemetryView, and a sidebar link with a live count. Detail view shows message, name, email, url, source, and links back to the associated error/trace when present.
  • Test: feedback.spec.ts asserts a feedback envelope item is ingested via pushEnvelope and retrievable as a feedback event.

Not included

The issue's first item (sidecar crash ctx.req.query().toString) is already fixed on main in commit 5bbaa0f, which changed the self-instrumentation span to new URL(ctx.req.url).searchParams.toString(). The reporter is on released 4.11.8, which predates that fix. No code change needed there.

Testing

  • vitest run — new feedback test passes; all previously-passing UI/store tests still pass. (21 failures in server/utils/__tests__/docker-compose.test.ts are pre-existing on main and unrelated.)
  • tsc --noEmit — zero new type errors in the touched files (the repo has ~110 pre-existing errors on main).
  • biome check — clean on all touched files.
Implementation plan
  • constants/sentry.ts: FEEDBACK_EVENT_TYPES + add to SUPPORTED_EVENT_TYPES.
  • types.ts: FeedbackContext, Contexts.feedback, SentryFeedbackEvent, union update.
  • utils/sentry.ts: isFeedbackEvent.
  • components/feedback/FeedbackList.tsx, components/feedback/FeedbackDetails.tsx, tabs/FeedbackTab.tsx.
  • components/TelemetryView.tsx: route + feedbackCount.
  • components/TelemetrySidebar.tsx: nav link + prop.
  • store/slices/feedback.spec.ts: ingestion test.

Feedback envelope items (type "feedback", sent by the SDK's
feedbackIntegration) were delivered to the sidecar but never rendered:
"feedback" was not in SUPPORTED_EVENT_TYPES, so pushEnvelope dropped
them, and there was no panel to show them.

- recognize "feedback" as a supported event type so it reaches the store
- add SentryFeedbackEvent type + isFeedbackEvent guard
- add a Feedback tab (list + detail) with sidebar link and count
- link feedback back to its associated error/trace when present

Fixes #1343
@vercel

vercel Bot commented Aug 7, 2026

Copy link
Copy Markdown

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

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
spotlightjs Skipped Skipped Aug 7, 2026 2:44pm

Request Review

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Codecov Results 📊

✅ Patch coverage is 100.00%. Project has 1211 uncovered lines.


Generated by Codecov Action

@BYK
BYK marked this pull request as ready for review August 7, 2026 14:40
Comment thread packages/spotlight/src/ui/telemetry/utils/sentry.ts
@BYK
BYK merged commit e9ce56d into main Aug 7, 2026
25 checks passed
@BYK
BYK deleted the issue-1343-feedback-panel branch August 7, 2026 14:57
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