Skip to content

New User Feedback Widget #4450

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

Merged
merged 49 commits into from
Jun 17, 2025
Merged

New User Feedback Widget #4450

merged 49 commits into from
Jun 17, 2025

Conversation

stefanosiano
Copy link
Member

📜 Description

Added SentryUserFeedbackWidget, with styles and icon
MainActivity sendFeedback reverted to call API, with new widget to open dialog
Added widget ui tests

💡 Motivation and Context

Implements last part of #3613

💚 How did you test it?

UI tests

📝 Checklist

  • I added tests to verify the changes.
  • No new PII added or SDK only sends newly added PII if sendDefaultPII is enabled.
  • I updated the docs if needed.
  • I updated the wizard if needed.
  • Review from the native team if needed.
  • No breaking change or entry added to the changelog.
  • No breaking change for hybrid SDKs or communicated to hybrid SDKs.

🔮 Next steps

Added Scopes.captureFeedback API

Changed the MainActivity sample app to use the new API
captureFeedback does not update scope lastEventId anymore
added SentryOptions.beforeSendFeedback
implemented SentryClient.captureFeedback
# Conflicts:
#	CHANGELOG.md
#	sentry/api/sentry.api
#	sentry/src/main/java/io/sentry/SentryClient.java
added first draft of SentryUserFeedbackDialog
added feedbackOptions to SentryOptions
added callbacks to SentryUserFeedbackDialog
added feedback message truncation
SentryClient doesn't check for backfillable feedbacks anymore
added dialog theme to sample app
MainActivity "send user feedback" button now opens feedback dialog instead of sending feedback
# Conflicts:
#	sentry-samples/sentry-samples-android/src/main/java/io/sentry/samples/android/MainActivity.java
#	sentry/api/sentry.api
#	sentry/src/main/java/io/sentry/HubAdapter.java
#	sentry/src/main/java/io/sentry/HubScopesWrapper.java
#	sentry/src/main/java/io/sentry/IScopes.java
#	sentry/src/main/java/io/sentry/NoOpHub.java
#	sentry/src/main/java/io/sentry/NoOpScopes.java
#	sentry/src/main/java/io/sentry/Scopes.java
#	sentry/src/main/java/io/sentry/ScopesAdapter.java
#	sentry/src/main/java/io/sentry/SentryClient.java
#	sentry/src/main/java/io/sentry/transport/RateLimiter.java
fixed feedback form behaviour
added manifest options
updated changelog
updated changelog
added delegate listener to avoid user overwriting our OnDismissListener for the feedback dialog
Copy link
Contributor

github-actions bot commented May 26, 2025

Messages
📖 Do not forget to update Sentry-docs with your feature once the pull request gets approved.

Generated by 🚫 dangerJS against b504f79

Copy link
Contributor

github-actions bot commented May 26, 2025

Performance metrics 🚀

  Plain With Sentry Diff
Startup time 389.31 ms 422.42 ms 33.11 ms
Size 1.58 MiB 2.12 MiB 550.52 KiB

Previous results on branch: feat/user-feedback-button

Startup times

Revision Plain With Sentry Diff
2797e56 381.71 ms 412.46 ms 30.74 ms
028a1a6 425.28 ms 436.12 ms 10.84 ms
ccf0e60 433.57 ms 468.52 ms 34.95 ms
d715551 409.58 ms 436.84 ms 27.26 ms
3b384b2 487.09 ms 575.53 ms 88.44 ms

App size

Revision Plain With Sentry Diff
2797e56 1.58 MiB 2.12 MiB 550.08 KiB
028a1a6 1.58 MiB 2.12 MiB 549.40 KiB
ccf0e60 1.58 MiB 2.12 MiB 549.78 KiB
d715551 1.58 MiB 2.12 MiB 550.08 KiB
3b384b2 1.58 MiB 2.12 MiB 549.54 KiB

@stefanosiano stefanosiano marked this pull request as ready for review May 27, 2025 15:14
added SentryUserFeedbackDialog.Builder, allowing a configuration being passed for the current dialog options
added SentryFeedbackOptions copy constructor
# Conflicts:
#	sentry-android-core/api/sentry-android-core.api
#	sentry-samples/sentry-samples-android/src/main/java/io/sentry/samples/android/MainActivity.java
Base automatically changed from feat/user-feedback-widget to main June 13, 2025 15:40
# Conflicts:
#	CHANGELOG.md
#	sentry-android-core/api/sentry-android-core.api
#	sentry-android-core/src/main/res/layout/sentry_dialog_user_feedback.xml
#	sentry-android-integration-tests/sentry-uitest-android/src/androidTest/java/io/sentry/uitest/android/UserFeedbackUiTest.kt
#	sentry-samples/sentry-samples-android/src/main/java/io/sentry/samples/android/MainActivity.java
renamed asset files to sentry_...
Copy link
Member

@markushi markushi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, just left a few nits around naming 😅

Copy link
Member

@romtsn romtsn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, not for this PR but I guess we should also provide something for Compose

@stefanosiano stefanosiano merged commit 58769f0 into main Jun 17, 2025
34 checks passed
@stefanosiano stefanosiano deleted the feat/user-feedback-button branch June 17, 2025 11:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants