getsentry / sentry

Developer-first error tracking and performance monitoring
https://sentry.io
Other
38.49k stars 4.11k forks source link

[User feedback] Allow defining additional context such as Extras, Context, and Environment #61313

Closed sentry-io[bot] closed 7 months ago

sentry-io[bot] commented 9 months ago

Sentry Issue: JAVASCRIPT-2Q36

Allow applying Scope and all its fields to feedback

Original feedback

Allow defining additional context such as Tags, Extras and Context.

Another use case:

I would use this to tag app version from which the feedback was sent, for example.

sentry-io[bot] commented 8 months ago

Sentry issue: JAVASCRIPT-2Q90

flexchar commented 8 months ago

This is basically a must for it to be truly useful. :)

sentry-io[bot] commented 8 months ago

Sentry issue: JAVASCRIPT-2QBK

bruno-garcia commented 8 months ago

This is basically a must for it to be truly useful. :)

could you share some use cases where this can help you unblock? I've been using the product a lot without this feature so trying to understand what other uses this can help out with

flexchar commented 8 months ago

Totally Bruno.

I develop Chrome extension that augments chat interface with AI suggestions. As anything with AI, it does everything but what we want. There are instances where users will report that messages are not up-to date, or they belong to another chat, or extension is not loading, or [any type of bug] in other means.

If it's an error in the code, I get amazing reporting with rich context where I know exactly what account, what chat, what messages, etc. I can look up and easily reproduce.

But when people report in other forms, I must trust what they say but I have no context. Sentry feedback seemed super easy win. I just registered integration and it worked from the first attempt - how nice! However because it's only a sole message with few browser details, it's not any better than someone texting me and saying "hey, it doesn't work".

Hope that gives an idea.

Perhaps I could clarify why I said what I did. I see Sentry as an error tracking service. Some errors are a typo or reading x on undefined, others are unmet user expectations. They both stem ƒrom the same place and greatly benefit knowing what the user was doing.

I also noticed that form submit requests contain all the extra information so hopefully it's easy to display it as on the classic errors.

getsantry[bot] commented 8 months ago

Routing to @getsentry/product-owners-replays for triage ⏲️

bruno-garcia commented 8 months ago

Thank you for the context @flexchar ! That's helpful. Curious if you've tried Session Replay already. With it, you can see up to 30 seconds of the user leading up to them filing the feedback. This hopefully will be more helpful than any tags.

That said this issue is open for us to figure out adding tag support, before we GA the product

flexchar commented 8 months ago

Actually I did @bruno-garcia try unfortunately with no success. It would just not work, no errors, nothing. I started out with attempt to plug in performance tracing/profiling. I wanted a simple tracking for how long it takes a user to get AI responses (the final ultimate latency). I could not get that to work. I also never seen session replay.

I suppose it's because Chrome extensions run in rather isolated runtimes. Even though they augment website's UI, they are not the website and they are actually blank on their own. Furthermore, I chose Plasmo framework for building extension which may further contribute to limited access to the runtime initialisation.

However both work well in a typical web app. Session replay magically worked upon setup on my VueJS based app.

bruno-garcia commented 8 months ago

I suppose it's because Chrome extensions run in rather isolated runtimes.

Right in general these tools are built to run on the final site, and not on Chrome Extensions.

However both work well in a typical web app. Session replay magically worked upon setup on my VueJS based app.

Glad to hear that!

jas-kas commented 8 months ago

Update on how this works today:

Our SDK does send client level tags for User Feedback (what you have set with Sentry.setTag); however, you cannot set tags specifically for the User Feedback event itself.

Our Tags list you see on our User Feedback Details page is a defined list of any user tags with lots of specific context values (like OS version, browser name, SDK version, etc), so custom tags won't appear there today. However, you can search feedback submissions attached to a certain custom tag value with our search bar (despite them not appearing in the dropdown list of search conditions).

bruno-garcia commented 7 months ago

Worth clarifying my comment about Replay missed the point we're talking about a Chrome extension. We have it on the docs that this isn't something we support: https://docs.sentry.io/platforms/javascript/session-replay/troubleshooting/#replay-on-my-browser-extension-doesnt-work

Right in general these tools are built to run on the final site, and not on Chrome Extensions.

This is what I tried to explain through this but worth being more clear.

flexchar commented 7 months ago

Cheers Bruno! It was very clear but it's never too bad to clarify for tinkerers around.

PS. I got an email from Jazmin that tags have been published and they're now showing up on the interface, super nice & extra useful! 🤝

billyvg commented 7 months ago

Moving into this UI project as there's nothing to do for SDK right now. Feedback events are already sending scope data.

jas-kas commented 7 months ago

The behaviour now is that all custom tags show up in the User Feedback Details UI and you can search for them in our dedicated User Feedback view. Closing this as resolved as that serves our users' use-cases.