-
-
Notifications
You must be signed in to change notification settings - Fork 342
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
(2.3) Auto-inject feedback widget #4370
Merged
antonis
merged 6 commits into
antonis/3859-newCaptureFeedbackAPI-Form
from
antonis/4358-Feedback-Form-Autoinject
Dec 19, 2024
Merged
(2.3) Auto-inject feedback widget #4370
antonis
merged 6 commits into
antonis/3859-newCaptureFeedbackAPI-Form
from
antonis/4358-Feedback-Form-Autoinject
Dec 19, 2024
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
10 tasks
antonis
requested review from
krystofwoldrich and
lucas-zimerman
as code owners
December 13, 2024 12:33
Android (legacy) Performance metrics 🚀
|
Revision | Plain | With Sentry | Diff |
---|---|---|---|
03c9048 | 500.96 ms | 486.65 ms | -14.31 ms |
561640f | 461.96 ms | 458.11 ms | -3.85 ms |
a3ba405 | 438.16 ms | 435.78 ms | -2.38 ms |
50c70c0 | 496.82 ms | 526.02 ms | 29.20 ms |
cadf235 | 462.20 ms | 463.34 ms | 1.14 ms |
f4a5053 | 478.22 ms | 458.35 ms | -19.87 ms |
1dd8d17 | 399.65 ms | 393.81 ms | -5.84 ms |
a06f6ba | 424.02 ms | 415.82 ms | -8.20 ms |
0781f75 | 452.32 ms | 457.22 ms | 4.91 ms |
e0624b6 | 447.67 ms | 441.08 ms | -6.59 ms |
App size
Revision | Plain | With Sentry | Diff |
---|---|---|---|
03c9048 | 17.74 MiB | 20.10 MiB | 2.37 MiB |
561640f | 17.74 MiB | 20.09 MiB | 2.35 MiB |
a3ba405 | 17.74 MiB | 20.09 MiB | 2.35 MiB |
50c70c0 | 17.74 MiB | 20.10 MiB | 2.36 MiB |
cadf235 | 17.74 MiB | 20.09 MiB | 2.35 MiB |
f4a5053 | 17.74 MiB | 20.10 MiB | 2.36 MiB |
1dd8d17 | 17.74 MiB | 20.10 MiB | 2.36 MiB |
a06f6ba | 17.74 MiB | 20.09 MiB | 2.35 MiB |
0781f75 | 17.74 MiB | 20.09 MiB | 2.35 MiB |
e0624b6 | 17.74 MiB | 20.10 MiB | 2.36 MiB |
Previous results on branch: antonis/4358-Feedback-Form-Autoinject
Startup times
Revision | Plain | With Sentry | Diff |
---|---|---|---|
4d01eeb | 478.06 ms | 464.21 ms | -13.85 ms |
a511abb | 442.88 ms | 434.45 ms | -8.43 ms |
068e9ea | 363.11 ms | 362.36 ms | -0.75 ms |
c77702e | 464.66 ms | 496.83 ms | 32.17 ms |
App size
Revision | Plain | With Sentry | Diff |
---|---|---|---|
4d01eeb | 17.74 MiB | 20.10 MiB | 2.36 MiB |
a511abb | 17.74 MiB | 20.10 MiB | 2.36 MiB |
068e9ea | 17.74 MiB | 20.10 MiB | 2.36 MiB |
c77702e | 17.74 MiB | 20.10 MiB | 2.37 MiB |
iOS (legacy) Performance metrics 🚀
|
Revision | Plain | With Sentry | Diff |
---|---|---|---|
50c70c0+dirty | 1228.06 ms | 1224.43 ms | -3.64 ms |
e0624b6+dirty | 1221.86 ms | 1226.42 ms | 4.57 ms |
d33790a+dirty | 1234.19 ms | 1231.76 ms | -2.43 ms |
a06f6ba+dirty | 1230.45 ms | 1227.09 ms | -3.36 ms |
27e1bf3+dirty | 1230.92 ms | 1232.33 ms | 1.41 ms |
f4a5053+dirty | 1225.32 ms | 1231.47 ms | 6.15 ms |
03c9048+dirty | 1235.37 ms | 1238.15 ms | 2.77 ms |
561640f+dirty | 1220.45 ms | 1227.02 ms | 6.57 ms |
26fc306+dirty | 1227.25 ms | 1225.85 ms | -1.40 ms |
1dd8d17+dirty | 1235.22 ms | 1218.96 ms | -16.27 ms |
App size
Revision | Plain | With Sentry | Diff |
---|---|---|---|
50c70c0+dirty | 2.36 MiB | 3.11 MiB | 760.92 KiB |
e0624b6+dirty | 2.36 MiB | 3.11 MiB | 761.16 KiB |
d33790a+dirty | 2.36 MiB | 3.11 MiB | 761.06 KiB |
a06f6ba+dirty | 2.36 MiB | 3.11 MiB | 761.35 KiB |
27e1bf3+dirty | 2.36 MiB | 3.11 MiB | 761.03 KiB |
f4a5053+dirty | 2.36 MiB | 3.11 MiB | 761.72 KiB |
03c9048+dirty | 2.36 MiB | 3.11 MiB | 761.74 KiB |
561640f+dirty | 2.36 MiB | 3.11 MiB | 761.19 KiB |
26fc306+dirty | 2.36 MiB | 3.11 MiB | 761.18 KiB |
1dd8d17+dirty | 2.36 MiB | 3.11 MiB | 761.66 KiB |
Previous results on branch: antonis/4358-Feedback-Form-Autoinject
Startup times
Revision | Plain | With Sentry | Diff |
---|---|---|---|
a511abb+dirty | 1223.38 ms | 1225.08 ms | 1.71 ms |
c77702e+dirty | 1231.92 ms | 1238.51 ms | 6.59 ms |
068e9ea+dirty | 1240.31 ms | 1234.70 ms | -5.62 ms |
7b29327+dirty | 1225.31 ms | 1232.80 ms | 7.49 ms |
4d01eeb+dirty | 1216.09 ms | 1223.06 ms | 6.97 ms |
App size
Revision | Plain | With Sentry | Diff |
---|---|---|---|
a511abb+dirty | 2.36 MiB | 3.11 MiB | 761.04 KiB |
c77702e+dirty | 2.36 MiB | 3.11 MiB | 761.68 KiB |
068e9ea+dirty | 2.36 MiB | 3.11 MiB | 761.04 KiB |
7b29327+dirty | 2.36 MiB | 3.11 MiB | 761.82 KiB |
4d01eeb+dirty | 2.36 MiB | 3.11 MiB | 761.17 KiB |
Android (new) Performance metrics 🚀
|
Revision | Plain | With Sentry | Diff |
---|---|---|---|
a06f6ba+dirty | 381.50 ms | 429.77 ms | 48.27 ms |
1dd8d17+dirty | 383.20 ms | 432.62 ms | 49.41 ms |
d33790a+dirty | 404.87 ms | 473.06 ms | 68.19 ms |
a3ba405+dirty | 359.67 ms | 436.86 ms | 77.19 ms |
0781f75+dirty | 406.72 ms | 454.80 ms | 48.08 ms |
f4a5053+dirty | 391.02 ms | 427.04 ms | 36.02 ms |
03c9048+dirty | 397.35 ms | 417.73 ms | 20.37 ms |
50c70c0+dirty | 385.30 ms | 433.06 ms | 47.76 ms |
cadf235+dirty | 455.51 ms | 451.64 ms | -3.87 ms |
27e1bf3+dirty | 398.69 ms | 439.39 ms | 40.69 ms |
App size
Revision | Plain | With Sentry | Diff |
---|---|---|---|
a06f6ba+dirty | 7.15 MiB | 8.37 MiB | 1.22 MiB |
1dd8d17+dirty | 7.15 MiB | 8.38 MiB | 1.23 MiB |
d33790a+dirty | 7.15 MiB | 8.38 MiB | 1.23 MiB |
a3ba405+dirty | 7.15 MiB | 8.37 MiB | 1.22 MiB |
0781f75+dirty | 7.15 MiB | 8.37 MiB | 1.22 MiB |
f4a5053+dirty | 7.15 MiB | 8.38 MiB | 1.23 MiB |
03c9048+dirty | 7.15 MiB | 8.38 MiB | 1.23 MiB |
50c70c0+dirty | 7.15 MiB | 8.38 MiB | 1.23 MiB |
cadf235+dirty | 7.15 MiB | 8.37 MiB | 1.22 MiB |
27e1bf3+dirty | 7.15 MiB | 8.37 MiB | 1.22 MiB |
Previous results on branch: antonis/4358-Feedback-Form-Autoinject
Startup times
Revision | Plain | With Sentry | Diff |
---|---|---|---|
a511abb+dirty | 376.44 ms | 431.64 ms | 55.20 ms |
7b29327+dirty | 385.52 ms | 414.71 ms | 29.19 ms |
068e9ea+dirty | 363.19 ms | 396.49 ms | 33.30 ms |
4d01eeb+dirty | 380.79 ms | 405.19 ms | 24.40 ms |
c77702e+dirty | 448.96 ms | 498.94 ms | 49.98 ms |
App size
Revision | Plain | With Sentry | Diff |
---|---|---|---|
a511abb+dirty | 7.15 MiB | 8.38 MiB | 1.23 MiB |
7b29327+dirty | 7.15 MiB | 8.38 MiB | 1.23 MiB |
068e9ea+dirty | 7.15 MiB | 8.38 MiB | 1.23 MiB |
4d01eeb+dirty | 7.15 MiB | 8.38 MiB | 1.23 MiB |
c77702e+dirty | 7.15 MiB | 8.38 MiB | 1.23 MiB |
iOS (new) Performance metrics 🚀
|
Revision | Plain | With Sentry | Diff |
---|---|---|---|
50c70c0+dirty | 1226.61 ms | 1225.02 ms | -1.59 ms |
e0624b6+dirty | 1229.19 ms | 1232.18 ms | 3.00 ms |
d33790a+dirty | 1247.14 ms | 1242.86 ms | -4.28 ms |
a06f6ba+dirty | 1235.31 ms | 1238.76 ms | 3.45 ms |
27e1bf3+dirty | 1245.78 ms | 1244.38 ms | -1.40 ms |
f4a5053+dirty | 1233.04 ms | 1240.02 ms | 6.98 ms |
03c9048+dirty | 1231.52 ms | 1225.96 ms | -5.56 ms |
561640f+dirty | 1237.10 ms | 1229.59 ms | -7.51 ms |
26fc306+dirty | 1229.10 ms | 1227.88 ms | -1.22 ms |
1dd8d17+dirty | 1229.28 ms | 1224.92 ms | -4.36 ms |
App size
Revision | Plain | With Sentry | Diff |
---|---|---|---|
50c70c0+dirty | 2.92 MiB | 3.67 MiB | 773.48 KiB |
e0624b6+dirty | 2.92 MiB | 3.67 MiB | 773.62 KiB |
d33790a+dirty | 2.92 MiB | 3.67 MiB | 773.59 KiB |
a06f6ba+dirty | 2.92 MiB | 3.67 MiB | 773.87 KiB |
27e1bf3+dirty | 2.92 MiB | 3.67 MiB | 773.54 KiB |
f4a5053+dirty | 2.92 MiB | 3.67 MiB | 774.18 KiB |
03c9048+dirty | 2.92 MiB | 3.67 MiB | 774.29 KiB |
561640f+dirty | 2.92 MiB | 3.67 MiB | 773.72 KiB |
26fc306+dirty | 2.92 MiB | 3.67 MiB | 773.77 KiB |
1dd8d17+dirty | 2.92 MiB | 3.67 MiB | 774.21 KiB |
Previous results on branch: antonis/4358-Feedback-Form-Autoinject
Startup times
Revision | Plain | With Sentry | Diff |
---|---|---|---|
a511abb+dirty | 1243.58 ms | 1239.15 ms | -4.44 ms |
c77702e+dirty | 1242.35 ms | 1237.87 ms | -4.48 ms |
068e9ea+dirty | 1224.21 ms | 1225.36 ms | 1.15 ms |
7b29327+dirty | 1243.00 ms | 1239.72 ms | -3.28 ms |
4d01eeb+dirty | 1248.58 ms | 1247.53 ms | -1.05 ms |
App size
Revision | Plain | With Sentry | Diff |
---|---|---|---|
a511abb+dirty | 2.92 MiB | 3.67 MiB | 773.59 KiB |
c77702e+dirty | 2.92 MiB | 3.67 MiB | 774.34 KiB |
068e9ea+dirty | 2.92 MiB | 3.67 MiB | 773.56 KiB |
7b29327+dirty | 2.92 MiB | 3.67 MiB | 774.45 KiB |
4d01eeb+dirty | 2.92 MiB | 3.67 MiB | 773.74 KiB |
…358-Feedback-Form-Autoinject # Conflicts: # CHANGELOG.md
krystofwoldrich
changed the title
Auto-inject feedback widget
(2.3) Auto-inject feedback widget
Dec 13, 2024
…358-Feedback-Form-Autoinject # Conflicts: # packages/core/src/js/feedback/FeedbackForm.tsx
10 tasks
…358-Feedback-Form-Autoinject
…358-Feedback-Form-Autoinject # Conflicts: # packages/core/src/js/feedback/FeedbackForm.tsx
lucas-zimerman
approved these changes
Dec 18, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
…358-Feedback-Form-Autoinject
antonis
merged commit Dec 19, 2024
da0e3ea
into
antonis/3859-newCaptureFeedbackAPI-Form
65 of 66 checks passed
antonis
added a commit
that referenced
this pull request
Jan 10, 2025
* 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 * 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 * 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 * (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 * Revert "Autoinject feedback form (#4370)" This reverts commit da0e3ea. --------- Co-authored-by: Krystof Woldrich <[email protected]> Co-authored-by: LucasZF <[email protected]>
antonis
added a commit
that referenced
this pull request
Jan 16, 2025
* 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 * Adds attachment button UI * Adds changelog * Add attachment handling based on the client implementation * Reduce render method complexity * Adds test for attachment button visibility * Format code * Pick image with react-native-image-picker * Convert base64 string to Uint8Array before sending * Updates changelog * 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 * Remove changelog * Reverse unrelated change * Adds beta note in the changelog * 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 * 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 * Add default value in doc comment Co-authored-by: LucasZF <[email protected]> * Add a more clear doc comment Co-authored-by: LucasZF <[email protected]> * (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 * Use AddScreenshot naming * Allow only Uint8Array for screenshots * Rename callback parameter * Adds snapshot tests for screenshot button * Rename screenshot button for clarity * Use a library to get the Uint8Array --------- Co-authored-by: Krystof Woldrich <[email protected]> Co-authored-by: LucasZF <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
📢 Type of change
📜 Description
Exports a
showFeedbackForm
method that can be used to show the form directly💡 Motivation and Context
Fixes #4358
💚 How did you test it?
Manual testing with the 'Feedback form (autoinject)' buton in the sample app
📝 Checklist
sendDefaultPII
is enabled🔮 Next steps
#skip-changelog