Repository navigation
MAUI: Add User Feedback support through a Widget #3964
Description
Sentry has a User Feedback feature that is able to show the feedback collected from a user following an error, or simply initiated by a user (without the need to be connected to an error/event).
The feedback collection allows attaching trace information as well as Session Replay. In addition to other context like tags.
In terms of SDK support, in JS we added a web widget, that's easy to add to the screen:
The goal is to add a similar capability to mobile SDKs.
Note
We might be able to wrap/reuse the functionality from the Android/iOS SDKs here... the Cocoa and Java SDKs both already have a widget... on the other hand, it might be easier to implement this ourselves directly in MAUI (do it once rather than multiple separate bridges to native implementations that need maintaining)
This SDK already has a function called CaptureUserFeedback which requires an event_id to work. This is the 'original' support for feedback that required an event to tie the feedback to. It didn't allow attachments, or tags as those would go on the error anyway.
The new protocol allows for the feedback itself to be self contained.
The SDKs have a new method that represnets this new protocol: CaptureFeedback. The old one should be deprecated in favor of the new one
See:
- https://develop.sentry.dev/application-architecture/feedback-architecture/
- feat: User Feedback widget/form sentry-cocoa#4187
The widget has been added to the iOS SDK with quite a few features already. And is also being added to the other major SDKs:
- [EPIC] Feedback Widget for React Native sentry-react-native#4302
- User Feedback UI widget sentry-cocoa#4270
- Implement new user feedback widget sentry-java#3613
- User Feedback Widget sentry-godot#170
- User Feedback Widget sentry-unreal#893
- User Feedback Widget through Prefab sentry-unity#928
- https://github.com/getsentry/sentry-dart/blob/7954fb356f96f17127c41230af433bc9ce01233c/flutter/lib/src/feedback/sentry_feedback_widget.dart#L55
Some ideas are new and are not aligned across all SDKs, for example:
- Show user feedback dialog when a screenshot is detected sentry-dart#2541
But ideally we have a similar behavior/look/feel as much as that makes sense. Things should be idiomatic (e.g: swiping down in the modal removes the feedback widget for example)
Metadata
Metadata
Assignees
Labels
Projects
- StatusShow more project fieldsNo status
Activity
jamescrosswell commentedon Feb 26, 2025
@bruno-garcia the new API to capture feedback has been implemented in #3981.
The widget is a trickier in .NET though. I built a UI into a couple of the samples:
But there are all kinds of ways people could be building their UI in .NET (Blazor, ASP.NET Core MVC, AJAX, SPA front ends, native Android/iOS UI, WinForms, UWP, WinUI, WPF, MAUI etc.).
Maybe we just contain the scope of this issue to building Widgets for MAUI and ASP.NET Core? Even those two, I think, will keep us busy with people requesting ways to style them and customise them etc.
bruno-garcia commentedon Mar 4, 2025
I wouldn't worry about UI for ASP.NET (other than the sample you did). For web, users should use the JS SDK's Widget.
Makes sense on MAUI IMO. Possibly WPF(Avalonia?) - WinUI - WinForms
[-]Add User Feedback support through a Widget[/-][+]MAUI: Add User Feedback support through a Widget[/+]