self-hosted
self-hosted copied to clipboard
Nearly all notification setting subpages produce errors with 404s from the API
Environment
self-hosted (https://develop.sentry.dev/self-hosted/)
Steps to Reproduce
- Log in to self-hosted Sentry.
- Go to Settings -> My Account -> Notifications.
- Click to open any of the following subpages (the API endpoint that returns 404 parenthesized for each):
- Issue Alerts (
/api/0/users/me/notifications/alerts/) - Issue Workflow (
/api/0/users/me/notifications/workflow/) - Deploys (
/api/0/users/me/notifications/deploy/) - Nudges (
/api/0/users/me/notifications/approval/) - Weekly Reports (
/api/0/users/me/notifications/reports/)
- Issue Alerts (
Expected Result
All the subpages open up as they should.
Actual Result
They produce "Oops! Something went wrong" errors, with the browser's inspector producing 404 results from the listed API endpoints.
What works: the "Email Routing" subpage.
PUT requests resulting from changing the values of "My Own Activity" and "Resolve and Auto-Assign" to /api/0/users/me/notifications/ work normally.
The logs for the web container produce this in response to a single failing page load attempt:
sentry-self-hosted-web-1 | 08:04:14 [INFO] sentry.access.api: api.access (method='GET' view='sentry.api.endpoints.catchall.CatchallEndpoint' response=404 user_id='5' is_app='False' token_type='None' is_frontend_request='True' organization_id='None' auth_id='None' path='/api/0/users/me/notifications/alerts/' caller_ip='x.x.x.x' user_agent='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.2.1 Safari/605.1.15' rate_limited='False' rate_limit_category='None' request_duration_seconds=0.09223556518554688 rate_limit_type='DNE' concurrent_limit='None' concurrent_requests='None' reset_time='None' group='None' limit='None' remaining='None')
sentry-self-hosted-web-1 | 08:04:14 [WARNING] django.request: Not Found: /api/0/users/me/notifications/alerts/ (status_code=404 request=<WSGIRequest: GET '/api/0/users/me/notifications/alerts/'>)
sentry-self-hosted-web-1 | 08:04:14 [INFO] sentry.access.api: api.access (method='GET' view='sentry.api.endpoints.user_notification_details.UserNotificationDetailsEndpoint' response=200 user_id='5' is_app='False' token_type='None' is_frontend_request='True' organization_id='None' auth_id='None' path='/api/0/users/me/notifications/' caller_ip='x.x.x.x' user_agent='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.2.1 Safari/605.1.15' rate_limited='False' rate_limit_category='None' request_duration_seconds=0.11344289779663086 rate_limit_type='DNE' concurrent_limit='None' concurrent_requests='None' reset_time='None' group='None' limit='None' remaining='None')
sentry-self-hosted-web-1 | 08:04:14 [INFO] sentry.access.api: api.access (method='GET' view='sentry.api.endpoints.user_emails.UserEmailsEndpoint' response=200 user_id='5' is_app='False' token_type='None' is_frontend_request='True' organization_id='None' auth_id='None' path='/api/0/users/me/emails/' caller_ip='x.x.x.x' user_agent='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.2.1 Safari/605.1.15' rate_limited='False' rate_limit_category='None' request_duration_seconds=0.10629034042358398 rate_limit_type='DNE' concurrent_limit='None' concurrent_requests='None' reset_time='None' group='None' limit='None' remaining='None')
sentry-self-hosted-web-1 | 08:04:15 [INFO] sentry.access.api: api.access (method='GET' view='sentry.api.endpoints.project_index.ProjectIndexEndpoint' response=200 user_id='5' is_app='False' token_type='None' is_frontend_request='True' organization_id='None' auth_id='None' path='/api/0/projects/' caller_ip='x.x.x.x' user_agent='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.2.1 Safari/605.1.15' rate_limited='False' rate_limit_category='None' request_duration_seconds=0.2665131092071533 rate_limit_type='DNE' concurrent_limit='None' concurrent_requests='None' reset_time='None' group='None' limit='None' remaining='None')
If relevant: this is an old Sentry installation, dating back to at least the 8.x or 9.x era, if not earlier. Initially it wasn't even container-based yet, but we've successfully upgraded it all the way to modern versions, and in the Compose era we've always done it with the official documented process, following all mandatory version steps.
The version is not the latest available; we haven't had the chance to upgrade yet. A quick glance over the release notes since 23.11.2 didn't immediately reveal any fixes to this issue in particular, but I may be wrong. (Looks like getsentry/sentry#2695, a previous report of mine, had its fix also land sometime between 23.11.2 and 24.2.0, but did not appear in the Releases page.)
Product Area
Settings
Link
No response
DSN
No response
Version
23.11.2