-
-
Notifications
You must be signed in to change notification settings - Fork 341
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature: User Feedback #629
Comments
Didnt know about that tab! The important thing though would be that a) events and crashes can be associated with a certain feedback and b) the report interface can be completely customized and is not generated by the SDK itself. |
@eaigner we just opened up a PR #805 for manually capturing user feedback like this let userFeedback = UserFeedack(eventId: eventId)
userFeedback.comments = "It broke on macOS-Swift. I don't know why, but this happens."
userFeedback.email = "john@me.com"
userFeedback.name = "John Me"
SentrySDK.capture(userFeedback: userFeedback) So you could already manually take care of attaching user feedback to an event. We have plans on adding a proper way to attach that on crashes in a user-friendly way. Still, you could already do something like this now: SentrySDK.start { options in
options.beforeSend = { event in
if (event.level == .fatal) {
displayUserFeedback(eventId: event.eventId)
}
return event
}
}
// Not a sentry function. Only wraps call to user feedback
func displayUserFeedback(eventId: SentryId) {
// Display UI and get feedback from the user.
// Then send feedback to Sentry
let userFeedback = UserFeedack(eventId: eventId)
feedback.comments = "It broke"
feedback.name = "John Smith"
feedback.email = "john@smith.com"
SentrySDK.capture(userFeedback: feedback)
} Any feedback on this is appreciated. |
We are currently working on a callback for crashes in #808. Together with user feedback, it would look like this: SentrySDK.start { options in
// ...
options.onCrashedLastRun = { eventId in
self.displayUserFeedback(eventId: eventId)
}
}
// Not a sentry function. Only wraps call to user feedback
func displayUserFeedback(eventId: SentryId) {
// Display UI and get feedback from the user.
// Then send feedback to Sentry
let feedback = SentryUserFeedback(eventId: eventId)
feedback.comments = "It broke"
feedback.name = "John Smith"
feedback.email = "john@smith.com"
SentrySDK.capture(feedback: feedback)
} Do you maybe have any inputs on this @eaigner ? |
I think what would give Sentry a huge edge would be the option to include user feedback. For instance, I have some crashes that I have no idea how to reproduce unless a user actually tells me what he did. Those traces are mostly from Apples system frameworks without any line of my apps code.
Here is my proposal:
In the config callback, let the user provide a
reportDelegate
like soThe delegate looks something like this
Now if this delegate was provided by the user, it is called when Sentry tries to upload a new crash report.
The
SentryCrashReport
s interface looks basically like thisIf the
userFeedback
field was set, it could be attached as the last breadcrumb.The text was updated successfully, but these errors were encountered: