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
- Submit a User Feedback item from the JavaScript feedback widget on a self-hosted instance.
- Ensure the outgoing envelope contains
contexts.feedback.url.
- 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.
Environment
Self-hosted Sentry.
Observed on:
26.3.0.dev0+e6739629aa6892f12e737811785916c1eb13945826.2.1We have the self-hosted feedback feature flags enabled, including:
organizations:user-feedback-uiorganizations:user-feedback-ingestorganizations:issue-platformorganizations:feedback-ingestorganizations:feedback-post-process-grouporganizations:feedback-visibleorganizations:user-feedback-replay-clipStorage is also configured:
filestore.backend: "s3"sentry.conf.pySteps to Reproduce
contexts.feedback.url./feedbackUI.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
contexts.feedback.urlbeing present in the envelope yet not being persisted/displayed in feedback details.EventAttachmentrow was created for the inspected feedback submission, but the primary issue here is the missing persisted URL metadata.