Skip to content

[self-hosted] User Feedback drops persisted url metadata and shows URL not found #4272

@joyceli839

Description

@joyceli839

Environment

Self-hosted Sentry.

Observed on:

  • Sentry web: 26.3.0.dev0+e6739629aa6892f12e737811785916c1eb139458
  • Relay: 26.2.1

We have the self-hosted feedback feature flags enabled, including:

  • organizations:user-feedback-ui
  • organizations:user-feedback-ingest
  • organizations:issue-platform
  • organizations:feedback-ingest
  • organizations:feedback-post-process-group
  • organizations:feedback-visible
  • organizations:user-feedback-replay-clip

Storage is also configured:

  • filestore.backend: "s3"
  • replay storage configured in sentry.conf.py

Steps to Reproduce

  1. Submit a User Feedback item from the JavaScript feedback widget on a self-hosted instance.
  2. Ensure the outgoing envelope contains contexts.feedback.url.
  3. Open the feedback item in the Sentry /feedback UI.

Expected Result

The feedback detail page should display the URL from contexts.feedback.url.

Actual Result

The feedback item is created successfully, but the detail page shows URL not found.

Evidence

The raw outgoing feedback envelope contains the URL correctly:

{"contexts":{"feedback":{"contact_email":"<email>","name":"<email>","message":"test","url":"<site_url>","source":"widget"},"bug_report":{"pathname":"/organizations","current_page":"<site_url>"}},"type":"feedback","tags":{"pathname":"/organizations","page_url":"<site_url>"},"request":{"url":"<site_url>"}}

The feedback is ingested and a group is created successfully.
From the backend, the created group looks like:

{
  'id': 181,
  'project_id': 2,
  'short_id': 115,
  'message': 'User Feedback: test <site_url> user',
  'level': 20,
  'type': 6001,
  'culprit': 'user',
  'data_keys': ['culprit', 'last_received', 'location', 'metadata', 'title', 'type']
}

Stored group metadata is:

{
  'culprit': 'user',
  'last_received': '2026-04-07T01:10:12.467000Z',
  'location': None,
  'metadata': {
    'contact_email': '<email>',
    'initial_priority': 50,
    'message': 'test',
    'name': '<email>',
    'sdk': {'name': 'sentry.javascript.react', 'name_normalized': 'sentry.javascript.react'},
    'source': 'new_feedback_envelope',
    'summary': 'test',
    'title': 'User Feedback: test',
    'value': 'test'
  },
  'title': 'User Feedback: test',
  'type': 'generic'
}

Notably, the persisted metadata does not contain the feedback URL, even though the incoming envelope did.
That appears to be why the UI shows URL not found.

Additional Notes

  • This feels related to the self-hosted feedback bugs previously discussed in #70136, but this issue is specifically about contexts.feedback.url being present in the envelope yet not being persisted/displayed in feedback details.
  • We also observed that no EventAttachment row was created for the inspected feedback submission, but the primary issue here is the missing persisted URL metadata.

Metadata

Metadata

Assignees

No one assigned
    No fields configured for issues without a type.

    Projects

    Status

    No status

    Status

    Waiting for: Product Owner

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions