-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Description
Recreated from #2072 per @kamilogorek request.
Important Details
How are you running Sentry?
- Saas (sentry.io)
@sentry/browser@5.2.1
was used.
Description
Consider an example code for manual issue reporting:
Sentry.showReportDialog({ eventId: window.Sentry.captureMessage('test') })
It shows the report dialog, the user fills the fields in, and then this is shown:
User thinks that the report is submitted.
But in fact, nothing was sent anywhere, because at the very first step (during captureMessage
) the POST
request to https://sentry.io/api/***/store/
was blocked by uBlock with net::ERR_BLOCKED_BY_CLIENT
, and Sentry wan't even able to detect that.
||sentry.io/api/*/store/?
is in AdGuard Tracking Protection
list (probably also some more).
Steps to Reproduce
- Add Sentry to an example webpage (client-side)
- Open it in Chrome, install uBlock with fairly default filters (
AdGuard Tracking Protection
), or block those POST requests by other means if that doesn't work. - Try to use
Sentry.showReportDialog
(example code above), the same applies to example directly taken from https://docs.sentry.io/enriching-error-data/user-feedback/
What happens
The user is shown a confirmation that their report has been sent when it actually wasn't.
What you expected to happen
Either of the following:
- the data should be actually sent,
- the final message should indicate that the data could not be sent (not ideal)
- the user should be warned at the very beginning that the report has been blocked by their browser setup
Possible Solution
Detect that the POST has failed and abort the report dialog, possibly replacing it with a corresponding message.
Could be related: getsentry/sentry#2049, #668, StevenBlack/hosts#568