Skip to content
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

feat(feedback): Feedback Widget Drop 2 #4726

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from
Draft

feat(feedback): Feedback Widget Drop 2 #4726

wants to merge 2 commits into from

Conversation

antonis
Copy link
Collaborator

@antonis antonis commented Apr 7, 2025

📢 Type of change

  • Bugfix
  • New feature
  • Enhancement
  • Refactoring

📜 Description

This PR contains reviewed PRs for the feedback widget:

Documentation

⚠️ TODO

💡 Motivation and Context

Fixes #4302

💚 How did you test it?

CI and manual testing of individual PRs

📝 Checklist

  • I added tests to verify 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.
  • All tests passing
  • No breaking changes

🔮 Next steps

#skip-changelog

antonis and others added 2 commits April 7, 2025 13:01
* Update the client implementation to use the new capture feedback js api

* Updates SDK API

* Adds new feedback button in the sample

* Adds changelog

* Removes unused mock

* Update CHANGELOG.md

Co-authored-by: Krystof Woldrich <[email protected]>

* Directly use captureFeedback from sentry/core

* Use import from core

* Fixes imports order lint issue

* Fixes build issue

* Adds captureFeedback tests from sentry-javascript

* Update CHANGELOG.md

* Only deprecate client captureUserFeedback

* Add simple form UI

* Adds basic form functionality

* Update imports

* Update imports

* Remove useState hook to avoid multiple react instances issues

* Move types and styles in different files

* Removes attachment button to be added back separately along with the implementation

* Add basic field validation

* Adds changelog

* Updates changelog

* Updates changelog

* Trim whitespaces from the submitted feedback

* Adds tests

* Renames FeedbackFormScreen to FeedbackForm

* Add beta label

* Extract default text to constants

* Moves constant to a separate file and aligns naming with JS

* Adds input text labels

* Close screen before sending the feedback to minimise wait time

Co-authored-by: LucasZF <[email protected]>

* Rename file for consistency

* Flatten configuration hierarchy and clean up

* Align required values with JS

* Use Sentry user email and name when set

* Simplifies email validation

* Show success alert message

* Aligns naming with JS and unmounts the form by default

* Use the minimum config without props in the changelog

* Adds development not for unimplemented function

* Show email and name conditionally

* Adds sentry branding (png logo)

* Adds sentry logo resource

* Add assets in module exports

* Revert "Add assets in module exports"

This reverts commit 5292475.

* Revert "Adds sentry logo resource"

This reverts commit d6e9229.

* Revert "Adds sentry branding (png logo)"

This reverts commit 8c56753.

* Add last event id

* Mock lastEventId

* Adds beta note in the changelog

* Autoinject feedback form

* Updates changelog

* Align colors with JS

* Update CHANGELOG.md

Co-authored-by: Krystof Woldrich <[email protected]>

* Update CHANGELOG.md

Co-authored-by: Krystof Woldrich <[email protected]>

* Update CHANGELOG.md

Co-authored-by: Krystof Woldrich <[email protected]>

* Use regular fonts for both buttons

* Handle keyboard properly

* Adds an option on whether the email should be validated

* Merge properties only once

* Loads current user data on form construction

* Remove unneeded extra padding

* Fix background color issue

* Adds feedback button

* Updates the changelog

* Fixes changelog typo

* Updates styles background color

Co-authored-by: Krystof Woldrich <[email protected]>

* Use defaultProps

* Correct defaultProps

* Adds test to verify when getUser is called

* Use smaller image

Co-authored-by: LucasZF <[email protected]>

* Add margin next to the icon

* Adds bottom spacing in the ErrorScreen so that the feedback button does not hide the scrollview buttons

* (2.2) feat: Add Feedback Form UI Branding logo (#4357)

* Adds sentry branding logo as a base64 encoded png

---------

Co-authored-by: LucasZF <[email protected]>

* Autoinject feedback form (#4370)

* Align changelog entry

* Update changelog

* Disable bouncing

* Add modal ui appearance

* Update snapshot tests

* Fix bottom margin

* Fix sheet height

* Remove extra modal border

* Do not expose modal styles

* Animate background color

* Avoid keyboard in modal

* Update changelog

* Fix changelog

* Updates comment

* Extract FeedbackButtonProps

* Add public function description to satisfy lint check

* Adds tests

* Fix tests

* Include in the feedback integration

* Fix circular dependency

* Remove unneeded line

Co-authored-by: Krystof Woldrich <[email protected]>

* Place widget button below the feedback widget shadow

* Expose showFeedbackButton/hideFeedbackButton methods

* Add dummy integration for tracking usage

* Adds button border

* Fixes tests

* Rename FeedbackButtonProps in tests for clarity

* Add missing function call in test

Co-authored-by: Krystof Woldrich <[email protected]>

* Adds missing semicolon in test

* Adds feedback button in expo app

---------

Co-authored-by: Krystof Woldrich <[email protected]>
Co-authored-by: LucasZF <[email protected]>
# Conflicts:
#	CHANGELOG.md
Copy link
Contributor

github-actions bot commented Apr 7, 2025

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

Generated by 🚫 dangerJS against cd6bf1f

Copy link
Contributor

github-actions bot commented Apr 7, 2025

Android (new) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 394.19 ms 378.08 ms -16.11 ms
Size 7.15 MiB 8.40 MiB 1.25 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
025d490+dirty 393.10 ms 402.53 ms 9.43 ms
ac41368+dirty 395.91 ms 451.17 ms 55.26 ms
48ad514+dirty 419.34 ms 441.48 ms 22.14 ms
2dc8f22+dirty 373.17 ms 400.42 ms 27.25 ms
40c35c5+dirty 394.43 ms 427.24 ms 32.80 ms
94fc925+dirty 365.44 ms 422.74 ms 57.30 ms
f32b22a+dirty 525.40 ms 540.49 ms 15.09 ms
34aba08+dirty 331.79 ms 376.69 ms 44.91 ms
5e5c392+dirty 360.23 ms 347.88 ms -12.35 ms
ad6c299+dirty 336.47 ms 362.89 ms 26.42 ms

App size

Revision Plain With Sentry Diff
025d490+dirty 7.15 MiB 8.39 MiB 1.23 MiB
ac41368+dirty 7.15 MiB 8.39 MiB 1.24 MiB
48ad514+dirty 7.15 MiB 8.39 MiB 1.23 MiB
2dc8f22+dirty 7.15 MiB 8.38 MiB 1.23 MiB
40c35c5+dirty 7.15 MiB 8.38 MiB 1.23 MiB
94fc925+dirty 7.15 MiB 8.38 MiB 1.23 MiB
f32b22a+dirty 7.15 MiB 8.40 MiB 1.25 MiB
34aba08+dirty 7.15 MiB 8.07 MiB 946.13 KiB
5e5c392+dirty 7.15 MiB 8.39 MiB 1.23 MiB
ad6c299+dirty 7.15 MiB 8.04 MiB 912.17 KiB

Copy link
Contributor

github-actions bot commented Apr 7, 2025

iOS (legacy) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 1231.82 ms 1240.18 ms 8.36 ms
Size 2.63 MiB 3.77 MiB 1.14 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
00354a7+dirty 1224.31 ms 1222.84 ms -1.47 ms
dadc233+dirty 1223.20 ms 1236.88 ms 13.68 ms
5852d77+dirty 1210.16 ms 1222.60 ms 12.44 ms
0eacc98+dirty 1232.69 ms 1234.67 ms 1.97 ms
27ef4ee+dirty 1293.52 ms 1296.08 ms 2.56 ms
83f6f6c+dirty 1218.33 ms 1220.27 ms 1.93 ms
700cbf4+dirty 1234.59 ms 1227.71 ms -6.88 ms
8f0282e+dirty 1215.46 ms 1219.64 ms 4.18 ms
73fc872+dirty 1236.16 ms 1237.15 ms 0.99 ms
9de3d45+dirty 1229.16 ms 1229.58 ms 0.42 ms

App size

Revision Plain With Sentry Diff
00354a7+dirty 2.63 MiB 3.76 MiB 1.13 MiB
dadc233+dirty 2.36 MiB 2.84 MiB 486.85 KiB
5852d77+dirty 2.63 MiB 3.74 MiB 1.11 MiB
0eacc98+dirty 2.63 MiB 3.69 MiB 1.05 MiB
27ef4ee+dirty 2.36 MiB 2.85 MiB 500.03 KiB
83f6f6c+dirty 2.36 MiB 3.10 MiB 759.79 KiB
700cbf4+dirty 2.36 MiB 3.08 MiB 734.22 KiB
8f0282e+dirty 2.63 MiB 3.76 MiB 1.13 MiB
73fc872+dirty 2.63 MiB 3.76 MiB 1.13 MiB
9de3d45+dirty 2.63 MiB 3.77 MiB 1.13 MiB

Copy link
Contributor

github-actions bot commented Apr 7, 2025

iOS (new) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 1226.76 ms 1233.13 ms 6.37 ms
Size 3.19 MiB 4.33 MiB 1.15 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
00354a7+dirty 1223.86 ms 1221.92 ms -1.94 ms
dadc233+dirty 1266.52 ms 1282.55 ms 16.03 ms
5852d77+dirty 1226.88 ms 1236.38 ms 9.50 ms
0eacc98+dirty 1223.85 ms 1233.12 ms 9.27 ms
27ef4ee+dirty 1236.41 ms 1244.90 ms 8.49 ms
83f6f6c+dirty 1232.02 ms 1229.15 ms -2.87 ms
700cbf4+dirty 1233.96 ms 1228.27 ms -5.69 ms
8f0282e+dirty 1225.33 ms 1229.92 ms 4.59 ms
73fc872+dirty 1235.27 ms 1228.18 ms -7.08 ms
9de3d45+dirty 1228.37 ms 1231.79 ms 3.42 ms

App size

Revision Plain With Sentry Diff
00354a7+dirty 3.19 MiB 4.33 MiB 1.14 MiB
dadc233+dirty 2.92 MiB 3.40 MiB 492.53 KiB
5852d77+dirty 3.19 MiB 4.30 MiB 1.12 MiB
0eacc98+dirty 3.19 MiB 4.25 MiB 1.07 MiB
27ef4ee+dirty 2.92 MiB 3.41 MiB 503.72 KiB
83f6f6c+dirty 2.92 MiB 3.67 MiB 772.37 KiB
700cbf4+dirty 2.92 MiB 3.64 MiB 740.57 KiB
8f0282e+dirty 3.19 MiB 4.33 MiB 1.14 MiB
73fc872+dirty 3.19 MiB 4.33 MiB 1.14 MiB
9de3d45+dirty 3.19 MiB 4.33 MiB 1.14 MiB

Copy link
Contributor

github-actions bot commented Apr 8, 2025

Android (legacy) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 435.80 ms 432.63 ms -3.17 ms
Size 17.75 MiB 20.13 MiB 2.39 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
73fc872 468.12 ms 483.07 ms 14.95 ms
ddc0552 472.92 ms 460.66 ms -12.26 ms
5852d77 415.81 ms 421.02 ms 5.21 ms
903a444 431.60 ms 473.09 ms 41.49 ms
cdf2bdf 448.42 ms 443.42 ms -5.00 ms
d197b5c+dirty 338.94 ms 354.87 ms 15.93 ms
9433f35 347.64 ms 356.22 ms 8.58 ms
acadc0f+dirty 373.24 ms 381.51 ms 8.27 ms
6c56eb1 453.81 ms 434.83 ms -18.98 ms
c314a21 446.24 ms 439.98 ms -6.26 ms

App size

Revision Plain With Sentry Diff
73fc872 17.75 MiB 20.13 MiB 2.38 MiB
ddc0552 17.74 MiB 20.09 MiB 2.35 MiB
5852d77 17.75 MiB 20.11 MiB 2.36 MiB
903a444 17.75 MiB 20.13 MiB 2.38 MiB
cdf2bdf 17.74 MiB 20.10 MiB 2.36 MiB
d197b5c+dirty 17.73 MiB 20.04 MiB 2.31 MiB
9433f35 17.73 MiB 19.81 MiB 2.08 MiB
acadc0f+dirty 17.73 MiB 19.75 MiB 2.01 MiB
6c56eb1 17.74 MiB 20.09 MiB 2.35 MiB
c314a21 17.75 MiB 20.12 MiB 2.37 MiB

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.

[EPIC] Feedback Widget for React Native
1 participant