Skip to content

ref(feedback): Rename Dialog to Form across feedback APIs#5349

Merged
romtsn merged 18 commits intomainfrom
rz/chore/feedback-rename
Apr 30, 2026
Merged

ref(feedback): Rename Dialog to Form across feedback APIs#5349
romtsn merged 18 commits intomainfrom
rz/chore/feedback-rename

Conversation

@romtsn
Copy link
Copy Markdown
Member

@romtsn romtsn commented Apr 29, 2026

Rename SentryUserFeedbackDialog to SentryUserFeedbackForm as the primary feedback UI class. The old SentryUserFeedbackDialog is kept as a deprecated subclass for backward compatibility — existing user code continues to compile and work unchanged.

Public API: Sentry.showUserFeedbackForm()

New Sentry.showUserFeedbackForm() methods replace the deprecated Sentry.showUserFeedbackDialog() overloads, which now delegate to the new ones.

Internal API renames

Internal-only types and methods are renamed directly (no deprecation shim needed): IDialogHandlerIFormHandler, showDialog()showForm(), setDialogHandler()/getDialogHandler()setFormHandler()/getFormHandler(), AndroidUserFeedbackIDialogHandlerAndroidUserFeedbackFormHandler.

Closes #5304

Rename SentryUserFeedbackDialog to SentryUserFeedbackForm as the primary
class. Keep SentryUserFeedbackDialog as a deprecated subclass for backward
compatibility.

Also rename internal APIs to use Form naming consistently:
- IDialogHandler -> IFormHandler
- showDialog -> showForm
- setDialogHandler/getDialogHandler -> setFormHandler/getFormHandler
- AndroidUserFeedbackIDialogHandler -> AndroidUserFeedbackFormHandler

Add deprecated Sentry.showUserFeedbackDialog() overloads that delegate to
the new Sentry.showUserFeedbackForm() methods.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@sentry
Copy link
Copy Markdown

sentry Bot commented Apr 29, 2026

📲 Install Builds

Android

🔗 App Name App ID Version Configuration
SDK Size io.sentry.tests.size 8.40.0 (1) release

⚙️ sentry-android Build Distribution Settings

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 29, 2026

Performance metrics 🚀

  Plain With Sentry Diff
Startup time 369.41 ms 454.37 ms 84.96 ms
Size 0 B 0 B 0 B

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
5865051 324.24 ms 356.02 ms 31.78 ms
b750b96 421.25 ms 444.09 ms 22.84 ms
9139b91 351.35 ms 355.63 ms 4.28 ms
3d205d0 352.15 ms 432.53 ms 80.38 ms
c8125f3 397.65 ms 485.14 ms 87.49 ms
f064536 329.00 ms 395.62 ms 66.62 ms
b750b96 408.98 ms 480.32 ms 71.34 ms
f064536 349.86 ms 417.66 ms 67.80 ms
d15471f 310.26 ms 377.04 ms 66.78 ms
d15471f 294.13 ms 399.49 ms 105.36 ms

App size

Revision Plain With Sentry Diff
5865051 0 B 0 B 0 B
b750b96 1.58 MiB 2.10 MiB 533.20 KiB
9139b91 1.58 MiB 2.13 MiB 559.52 KiB
3d205d0 1.58 MiB 2.10 MiB 532.97 KiB
c8125f3 1.58 MiB 2.10 MiB 532.32 KiB
f064536 1.58 MiB 2.20 MiB 633.90 KiB
b750b96 1.58 MiB 2.10 MiB 533.19 KiB
f064536 1.58 MiB 2.20 MiB 633.90 KiB
d15471f 1.58 MiB 2.13 MiB 559.54 KiB
d15471f 1.58 MiB 2.13 MiB 559.54 KiB

Previous results on branch: rz/chore/feedback-rename

Startup times

Revision Plain With Sentry Diff
5fedd17 290.22 ms 366.63 ms 76.41 ms
5c8c3ea 311.25 ms 333.73 ms 22.48 ms
0038ede 315.91 ms 364.81 ms 48.90 ms
2d1cdb1 374.92 ms 461.06 ms 86.14 ms
e8da1a3 318.98 ms 377.86 ms 58.88 ms

App size

Revision Plain With Sentry Diff
5fedd17 0 B 0 B 0 B
5c8c3ea 0 B 0 B 0 B
0038ede 0 B 0 B 0 B
2d1cdb1 0 B 0 B 0 B
e8da1a3 0 B 0 B 0 B

romtsn and others added 6 commits April 29, 2026 17:01
…onstructors

Use SentryUserFeedbackDialog.OptionsConfiguration as the parameter type
in the deprecated Builder constructors so old compiled code looking for
the original descriptor still resolves correctly.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…name

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@romtsn romtsn marked this pull request as ready for review April 29, 2026 15:47
romtsn and others added 11 commits April 30, 2026 10:07
Introduce IFeedbackApi with showForm() and capture() methods,
accessible via Sentry.feedback(). This consolidates all feedback
operations under a single API entry point.

Deprecate Sentry.showUserFeedbackForm(), Sentry.showUserFeedbackDialog(),
Sentry.captureFeedback(), and Sentry.captureUserFeedback() in favor of the
new Sentry.feedback() API. All deprecated methods will be removed in the
next major version.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add feedback() method to IScopes, matching the pattern used by
logger() and metrics(). FeedbackApi takes an IScopes reference instead
of using Sentry.getCurrentScopes() statically.

Implemented in Scopes, NoOpScopes, NoOpHub, HubAdapter, HubScopesWrapper,
and ScopesAdapter. Sentry.feedback() now delegates to
getCurrentScopes().feedback().

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Since the method is already namespaced under feedback(), the extra
"Form" suffix is redundant. This aligns with the convention used by
logger() and metrics().

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…rFeedbackForm

Deprecate the old `UserFeedback` class and `captureUserFeedback()`
across IScopes, ISentryClient, and all implementations in favor of
`Sentry.feedback().capture()` with the new `Feedback` type.

Delete `Sentry.showUserFeedbackForm()` (3 overloads) as it was never
published.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Deprecated methods don't need to suppress deprecation warnings for
referencing other deprecated types — the deprecation annotation itself
is sufficient.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@romtsn romtsn merged commit 7659fe5 into main Apr 30, 2026
66 checks passed
@romtsn romtsn deleted the rz/chore/feedback-rename branch April 30, 2026 11:07
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.

Feedback: Rename FeedbackWidget to FeedbackForm

2 participants