(2.3) Auto-inject feedback widget - #4370

Merged
antonis merged 6 commits into
antonis/3859-newCaptureFeedbackAPI-Formfrom
antonis/4358-Feedback-Form-Autoinject
Dec 19, 2024
Merged

(2.3) Auto-inject feedback widget#4370
antonis merged 6 commits into
antonis/3859-newCaptureFeedbackAPI-Formfrom
antonis/4358-Feedback-Form-Autoinject

Conversation

@antonis

@antonisantonis commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

📢 Type of change

  • Bugfix
  • New feature
  • Enhancement
  • Refactoring

📜 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

  • 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

@antonisantonis mentioned this pull request Dec 13, 2024
10 tasks
@antonis
antonis marked this pull request as ready for review December 13, 2024 12:33
@github-actions

github-actionsBot commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

Android (legacy) Performance metrics 🚀

PlainWith SentryDiff
Startup time446.77 ms446.50 ms-0.27 ms
Size17.74 MiB20.10 MiB2.37 MiB

Baseline results on branch: antonis/3859-newCaptureFeedbackAPI-Form

Startup times

RevisionPlainWith SentryDiff
03c9048500.96 ms486.65 ms-14.31 ms
561640f461.96 ms458.11 ms-3.85 ms
a3ba405438.16 ms435.78 ms-2.38 ms
50c70c0496.82 ms526.02 ms29.20 ms
cadf235462.20 ms463.34 ms1.14 ms
f4a5053478.22 ms458.35 ms-19.87 ms
1dd8d17399.65 ms393.81 ms-5.84 ms
a06f6ba424.02 ms415.82 ms-8.20 ms
0781f75452.32 ms457.22 ms4.91 ms
e0624b6447.67 ms441.08 ms-6.59 ms

App size

RevisionPlainWith SentryDiff
03c904817.74 MiB20.10 MiB2.37 MiB
561640f17.74 MiB20.09 MiB2.35 MiB
a3ba40517.74 MiB20.09 MiB2.35 MiB
50c70c017.74 MiB20.10 MiB2.36 MiB
cadf23517.74 MiB20.09 MiB2.35 MiB
f4a505317.74 MiB20.10 MiB2.36 MiB
1dd8d1717.74 MiB20.10 MiB2.36 MiB
a06f6ba17.74 MiB20.09 MiB2.35 MiB
0781f7517.74 MiB20.09 MiB2.35 MiB
e0624b617.74 MiB20.10 MiB2.36 MiB

Previous results on branch: antonis/4358-Feedback-Form-Autoinject

Startup times

RevisionPlainWith SentryDiff
4d01eeb478.06 ms464.21 ms-13.85 ms
a511abb442.88 ms434.45 ms-8.43 ms
068e9ea363.11 ms362.36 ms-0.75 ms
c77702e464.66 ms496.83 ms32.17 ms

App size

RevisionPlainWith SentryDiff
4d01eeb17.74 MiB20.10 MiB2.36 MiB
a511abb17.74 MiB20.10 MiB2.36 MiB
068e9ea17.74 MiB20.10 MiB2.36 MiB
c77702e17.74 MiB20.10 MiB2.37 MiB

@github-actions

github-actionsBot commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

iOS (legacy) Performance metrics 🚀

PlainWith SentryDiff
Startup time1235.45 ms1233.39 ms-2.06 ms
Size2.36 MiB3.13 MiB780.47 KiB

Baseline results on branch: antonis/3859-newCaptureFeedbackAPI-Form

Startup times

RevisionPlainWith SentryDiff
50c70c0+dirty1228.06 ms1224.43 ms-3.64 ms
e0624b6+dirty1221.86 ms1226.42 ms4.57 ms
d33790a+dirty1234.19 ms1231.76 ms-2.43 ms
a06f6ba+dirty1230.45 ms1227.09 ms-3.36 ms
27e1bf3+dirty1230.92 ms1232.33 ms1.41 ms
f4a5053+dirty1225.32 ms1231.47 ms6.15 ms
03c9048+dirty1235.37 ms1238.15 ms2.77 ms
561640f+dirty1220.45 ms1227.02 ms6.57 ms
26fc306+dirty1227.25 ms1225.85 ms-1.40 ms
1dd8d17+dirty1235.22 ms1218.96 ms-16.27 ms

App size

RevisionPlainWith SentryDiff
50c70c0+dirty2.36 MiB3.11 MiB760.92 KiB
e0624b6+dirty2.36 MiB3.11 MiB761.16 KiB
d33790a+dirty2.36 MiB3.11 MiB761.06 KiB
a06f6ba+dirty2.36 MiB3.11 MiB761.35 KiB
27e1bf3+dirty2.36 MiB3.11 MiB761.03 KiB
f4a5053+dirty2.36 MiB3.11 MiB761.72 KiB
03c9048+dirty2.36 MiB3.11 MiB761.74 KiB
561640f+dirty2.36 MiB3.11 MiB761.19 KiB
26fc306+dirty2.36 MiB3.11 MiB761.18 KiB
1dd8d17+dirty2.36 MiB3.11 MiB761.66 KiB

Previous results on branch: antonis/4358-Feedback-Form-Autoinject

Startup times

RevisionPlainWith SentryDiff
a511abb+dirty1223.38 ms1225.08 ms1.71 ms
c77702e+dirty1231.92 ms1238.51 ms6.59 ms
068e9ea+dirty1240.31 ms1234.70 ms-5.62 ms
7b29327+dirty1225.31 ms1232.80 ms7.49 ms
4d01eeb+dirty1216.09 ms1223.06 ms6.97 ms

App size

RevisionPlainWith SentryDiff
a511abb+dirty2.36 MiB3.11 MiB761.04 KiB
c77702e+dirty2.36 MiB3.11 MiB761.68 KiB
068e9ea+dirty2.36 MiB3.11 MiB761.04 KiB
7b29327+dirty2.36 MiB3.11 MiB761.82 KiB
4d01eeb+dirty2.36 MiB3.11 MiB761.17 KiB

@github-actions

github-actionsBot commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

Android (new) Performance metrics 🚀

PlainWith SentryDiff
Startup time421.35 ms452.11 ms30.75 ms
Size7.15 MiB8.38 MiB1.23 MiB

Baseline results on branch: antonis/3859-newCaptureFeedbackAPI-Form

Startup times

RevisionPlainWith SentryDiff
a06f6ba+dirty381.50 ms429.77 ms48.27 ms
1dd8d17+dirty383.20 ms432.62 ms49.41 ms
d33790a+dirty404.87 ms473.06 ms68.19 ms
a3ba405+dirty359.67 ms436.86 ms77.19 ms
0781f75+dirty406.72 ms454.80 ms48.08 ms
f4a5053+dirty391.02 ms427.04 ms36.02 ms
03c9048+dirty397.35 ms417.73 ms20.37 ms
50c70c0+dirty385.30 ms433.06 ms47.76 ms
cadf235+dirty455.51 ms451.64 ms-3.87 ms
27e1bf3+dirty398.69 ms439.39 ms40.69 ms

App size

RevisionPlainWith SentryDiff
a06f6ba+dirty7.15 MiB8.37 MiB1.22 MiB
1dd8d17+dirty7.15 MiB8.38 MiB1.23 MiB
d33790a+dirty7.15 MiB8.38 MiB1.23 MiB
a3ba405+dirty7.15 MiB8.37 MiB1.22 MiB
0781f75+dirty7.15 MiB8.37 MiB1.22 MiB
f4a5053+dirty7.15 MiB8.38 MiB1.23 MiB
03c9048+dirty7.15 MiB8.38 MiB1.23 MiB
50c70c0+dirty7.15 MiB8.38 MiB1.23 MiB
cadf235+dirty7.15 MiB8.37 MiB1.22 MiB
27e1bf3+dirty7.15 MiB8.37 MiB1.22 MiB

Previous results on branch: antonis/4358-Feedback-Form-Autoinject

Startup times

RevisionPlainWith SentryDiff
a511abb+dirty376.44 ms431.64 ms55.20 ms
7b29327+dirty385.52 ms414.71 ms29.19 ms
068e9ea+dirty363.19 ms396.49 ms33.30 ms
4d01eeb+dirty380.79 ms405.19 ms24.40 ms
c77702e+dirty448.96 ms498.94 ms49.98 ms

App size

RevisionPlainWith SentryDiff
a511abb+dirty7.15 MiB8.38 MiB1.23 MiB
7b29327+dirty7.15 MiB8.38 MiB1.23 MiB
068e9ea+dirty7.15 MiB8.38 MiB1.23 MiB
4d01eeb+dirty7.15 MiB8.38 MiB1.23 MiB
c77702e+dirty7.15 MiB8.38 MiB1.23 MiB

@github-actions

github-actionsBot commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

iOS (new) Performance metrics 🚀

PlainWith SentryDiff
Startup time1233.19 ms1236.17 ms2.98 ms
Size2.92 MiB3.69 MiB791.84 KiB

Baseline results on branch: antonis/3859-newCaptureFeedbackAPI-Form

Startup times

RevisionPlainWith SentryDiff
50c70c0+dirty1226.61 ms1225.02 ms-1.59 ms
e0624b6+dirty1229.19 ms1232.18 ms3.00 ms
d33790a+dirty1247.14 ms1242.86 ms-4.28 ms
a06f6ba+dirty1235.31 ms1238.76 ms3.45 ms
27e1bf3+dirty1245.78 ms1244.38 ms-1.40 ms
f4a5053+dirty1233.04 ms1240.02 ms6.98 ms
03c9048+dirty1231.52 ms1225.96 ms-5.56 ms
561640f+dirty1237.10 ms1229.59 ms-7.51 ms
26fc306+dirty1229.10 ms1227.88 ms-1.22 ms
1dd8d17+dirty1229.28 ms1224.92 ms-4.36 ms

App size

RevisionPlainWith SentryDiff
50c70c0+dirty2.92 MiB3.67 MiB773.48 KiB
e0624b6+dirty2.92 MiB3.67 MiB773.62 KiB
d33790a+dirty2.92 MiB3.67 MiB773.59 KiB
a06f6ba+dirty2.92 MiB3.67 MiB773.87 KiB
27e1bf3+dirty2.92 MiB3.67 MiB773.54 KiB
f4a5053+dirty2.92 MiB3.67 MiB774.18 KiB
03c9048+dirty2.92 MiB3.67 MiB774.29 KiB
561640f+dirty2.92 MiB3.67 MiB773.72 KiB
26fc306+dirty2.92 MiB3.67 MiB773.77 KiB
1dd8d17+dirty2.92 MiB3.67 MiB774.21 KiB

Previous results on branch: antonis/4358-Feedback-Form-Autoinject

Startup times

RevisionPlainWith SentryDiff
a511abb+dirty1243.58 ms1239.15 ms-4.44 ms
c77702e+dirty1242.35 ms1237.87 ms-4.48 ms
068e9ea+dirty1224.21 ms1225.36 ms1.15 ms
7b29327+dirty1243.00 ms1239.72 ms-3.28 ms
4d01eeb+dirty1248.58 ms1247.53 ms-1.05 ms

App size

RevisionPlainWith SentryDiff
a511abb+dirty2.92 MiB3.67 MiB773.59 KiB
c77702e+dirty2.92 MiB3.67 MiB774.34 KiB
068e9ea+dirty2.92 MiB3.67 MiB773.56 KiB
7b29327+dirty2.92 MiB3.67 MiB774.45 KiB
4d01eeb+dirty2.92 MiB3.67 MiB773.74 KiB

@antonisantonis linked an issue Dec 13, 2024 that may be closed by this pull request
…358-Feedback-Form-Autoinject
# Conflicts:
#	CHANGELOG.md
@krystofwoldrichkrystofwoldrich changed the title Auto-inject feedback widget(2.3) Auto-inject feedback widgetDec 13, 2024
…358-Feedback-Form-Autoinject
# Conflicts:
#	packages/core/src/js/feedback/FeedbackForm.tsx
@antonisantonis mentioned this pull request Dec 16, 2024
10 tasks
…358-Feedback-Form-Autoinject
# Conflicts:
#	packages/core/src/js/feedback/FeedbackForm.tsx

@lucas-zimermanlucas-zimerman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM!

@antonis
antonis merged commit da0e3ea into antonis/3859-newCaptureFeedbackAPI-FormDec 19, 2024
@antonis
antonis deleted the antonis/4358-Feedback-Form-Autoinject branch December 19, 2024 08:29
antonis added a commit that referenced this pull request Jan 10, 2025
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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* Autoinject feedback form (#4370)
* Align changelog entry
* Update changelog
* Revert "Autoinject feedback form (#4370)"
This reverts commit da0e3ea.
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Add default value in doc comment
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* Add a more clear doc comment
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* (2.2) feat: Add Feedback Form UI Branding logo (#4357)
* Adds sentry branding logo as a base64 encoded png
---------
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Apr 7, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Adds missing semicolon in test
* Adds feedback button in expo app
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Apr 14, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Adds system theme tests
* Test dynamically changed theme
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Apr 14, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Show screenshot button UI
* Add screenshot button integration
* Add screenshot icon
* Adds Take a screenshot button in FeedbackWidget
* Updates snapshot tests
* Fix circularDepCheck
* Fix circularDepCheck
* Attache captured screenshot
* Hide the take screenshot button when there is a screenshot
* Convert uint8Array to Base64 on the native side
* Adds snapshot tests
* Disable functionality on the Web
* Add screenshot button in the sample expo app
* Adds system theme tests
* Test dynamically changed theme
* Remove showScreenshotButton and hideScreenshotButton from the exposed api
* Fix function name typo
* Adds enableTakeScreenshot option
* Adds happy flow test
* Make flow tests more granular
* Increate wait time out to fix flakiness on ci
* Reset widget state after each test
* Fix CI flakiness
* Remove flaky test
* Delay capture to allow the button to hide
* Add comment explaining the reasoning of the call
* Define defaultProps in smaller scope
* Define customStyles in smaller scope
* Also check remove screenshot button
* Fixes the name and double negation not null
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Apr 14, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Show screenshot button UI
* Add screenshot button integration
* Add screenshot icon
* Adds Take a screenshot button in FeedbackWidget
* Updates snapshot tests
* Fix circularDepCheck
* Fix circularDepCheck
* Attache captured screenshot
* Hide the take screenshot button when there is a screenshot
* Convert uint8Array to Base64 on the native side
* ref(feedback): Extracts FeedbackWidgetProvider in a separate file
* Updates exposed comments
* Adds snapshot tests
* Disable functionality on the Web
* Add screenshot button in the sample expo app
* Adds system theme tests
* Test dynamically changed theme
* Remove showScreenshotButton and hideScreenshotButton from the exposed api
* Fix function name typo
* Adds enableTakeScreenshot option
* Adds happy flow test
* Make flow tests more granular
* Increate wait time out to fix flakiness on ci
* Reset widget state after each test
* Fix CI flakiness
* Remove flaky test
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Apr 14, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Show screenshot button UI
* Add screenshot button integration
* Add screenshot icon
* Adds Take a screenshot button in FeedbackWidget
* Updates snapshot tests
* Fix circularDepCheck
* Fix circularDepCheck
* Attache captured screenshot
* Hide the take screenshot button when there is a screenshot
* Convert uint8Array to Base64 on the native side
* ref(feedback): Extracts FeedbackWidgetProvider in a separate file
* Updates exposed comments
* Adds snapshot tests
* Disable functionality on the Web
* Add screenshot button in the sample expo app
* Adds system theme tests
* Test dynamically changed theme
* Remove showScreenshotButton and hideScreenshotButton from the exposed api
* Fix function name typo
* Adds enableTakeScreenshot option
* Adds happy flow test
* Make flow tests more granular
* Increate wait time out to fix flakiness on ci
* Reset widget state after each test
* Fix CI flakiness
* Remove flaky test
* fix(feedback): Fixes accessibility issue on iOS
* Add changelog
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request May 9, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add test ids in feedback widget
* Add feedback widget button in test app
* WIP: Add feedback test
* Update snapshot tests with the added test ids
* Android happy path test
* Check field validation
* Scroll if button is not visible
* Adds accessibility labels
* Remove extended initial checks due to flakiness
* Revert "Remove extended initial checks due to flakiness"
This reverts commit fa3bdfc.
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Show screenshot button UI
* Add screenshot button integration
* Add screenshot icon
* Adds Take a screenshot button in FeedbackWidget
* Updates snapshot tests
* Fix circularDepCheck
* Fix circularDepCheck
* Attache captured screenshot
* Hide the take screenshot button when there is a screenshot
* Convert uint8Array to Base64 on the native side
* ref(feedback): Extracts FeedbackWidgetProvider in a separate file
* Updates exposed comments
* Adds snapshot tests
* Disable functionality on the Web
* Add screenshot button in the sample expo app
* Adds system theme tests
* Test dynamically changed theme
* Remove showScreenshotButton and hideScreenshotButton from the exposed api
* Fix function name typo
* Adds enableTakeScreenshot option
* Adds happy flow test
* Make flow tests more granular
* Increate wait time out to fix flakiness on ci
* Reset widget state after each test
* Fix CI flakiness
* Remove flaky test
* fix(feedback): Fixes accessibility issue on iOS
* Add changelog
* Properly wrap root app component
* Handle undefined AppRegistryIntegration.onRunApplication gracefully
* Fix lint issue
* Do not validate all fields for visibility
* Take screenshots for debugging
* Revert "Take screenshots for debugging"
This reverts commit 3e361a1.
* Simplify test scenario
* Try without hiding the keyboard
* Test Feedback button
* Test screenshot capture
* Show an error if screenshot capture fails
* Test error flow
* Revert unneeded change
* Test with latest Maestro
* Revert "Test with latest Maestro"
This reverts commit e7c31bf.
* Revert "Test screenshot capture"
This reverts commit 8913ffc.
* Skip for 0.65.3
* Remove version check
* Use testId for feedback button
* Skip for 0.65.3
* Update snapshots
* Cleanup testIds and accessibility labels
* Enable for all RN versions
* Temp: remove modal supported check
* Do not use native driver for backgroundOpacity animation
* Revert "Temp: remove modal supported check"
This reverts commit e20aff2.
* Do not use native driver for backgroundOpacity animation
* Use text instead of test ids
* Separate iOS and Android tests
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Jun 20, 2025
…4795)
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add test ids in feedback widget
* Add feedback widget button in test app
* WIP: Add feedback test
* Update snapshot tests with the added test ids
* Android happy path test
* Check field validation
* Scroll if button is not visible
* Adds accessibility labels
* Remove extended initial checks due to flakiness
* Revert "Remove extended initial checks due to flakiness"
This reverts commit fa3bdfc.
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Show screenshot button UI
* Add screenshot button integration
* Add screenshot icon
* Adds Take a screenshot button in FeedbackWidget
* Updates snapshot tests
* Fix circularDepCheck
* Fix circularDepCheck
* Attache captured screenshot
* Hide the take screenshot button when there is a screenshot
* Convert uint8Array to Base64 on the native side
* ref(feedback): Extracts FeedbackWidgetProvider in a separate file
* Updates exposed comments
* Adds snapshot tests
* Disable functionality on the Web
* Add screenshot button in the sample expo app
* Adds system theme tests
* Test dynamically changed theme
* Remove showScreenshotButton and hideScreenshotButton from the exposed api
* Fix function name typo
* Adds enableTakeScreenshot option
* Adds happy flow test
* Make flow tests more granular
* Increate wait time out to fix flakiness on ci
* Reset widget state after each test
* Fix CI flakiness
* Remove flaky test
* fix(feedback): Fixes accessibility issue on iOS
* Add changelog
* Properly wrap root app component
* Handle undefined AppRegistryIntegration.onRunApplication gracefully
* Fix lint issue
* Do not validate all fields for visibility
* Take screenshots for debugging
* Revert "Take screenshots for debugging"
This reverts commit 3e361a1.
* Simplify test scenario
* Try without hiding the keyboard
* Test Feedback button
* Test screenshot capture
* Show an error if screenshot capture fails
* Test error flow
* Revert unneeded change
* Test with latest Maestro
* Revert "Test with latest Maestro"
This reverts commit e7c31bf.
* Revert "Test screenshot capture"
This reverts commit 8913ffc.
* Skip for 0.65.3
* Remove version check
* Use testId for feedback button
* Skip for 0.65.3
* Update snapshots
* Cleanup testIds and accessibility labels
* Enable for all RN versions
* Temp: remove modal supported check
* Do not use native driver for backgroundOpacity animation
* Revert "Temp: remove modal supported check"
This reverts commit e20aff2.
* Do not use native driver for backgroundOpacity animation
* Use text instead of test ids
* Separate iOS and Android tests
* test(e2e): Adds Feedback Widget Capture Screenshot Maestro E2E tests
* Update test snapshots
* Hide keyboard by tapping on the sentry logo
* Tap on the title to hide the keyboard on Android
* Tap on email label to hide the keyboard on Android
* Wait for the screen to become visible after the screenshot capture
* Extend wait timeout after taking the screenshot
* increase timeout
* Revert "increase timeout"
This reverts commit 7865f32.
* Revert "Extend wait timeout after taking the screenshot"
This reverts commit 80dea08.
* Tweak the emulator
* Revert "Tweak the emulator"
This reverts commit ff8458c.
* Try Google API emulator
---------
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Sign up for freeto 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.

Autoinject feedback widget

2 participants

@antonis@lucas-zimerman
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

(2.3) Auto-inject feedback widget - #4370

Merged
antonis merged 6 commits into
antonis/3859-newCaptureFeedbackAPI-Formfrom
antonis/4358-Feedback-Form-Autoinject
Dec 19, 2024
Merged

(2.3) Auto-inject feedback widget#4370
antonis merged 6 commits into
antonis/3859-newCaptureFeedbackAPI-Formfrom
antonis/4358-Feedback-Form-Autoinject

Conversation

@antonis

@antonisantonis commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

📢 Type of change

  • Bugfix
  • New feature
  • Enhancement
  • Refactoring

📜 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

  • 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

@antonisantonis mentioned this pull request Dec 13, 2024
10 tasks
@antonis
antonis marked this pull request as ready for review December 13, 2024 12:33
@github-actions

github-actionsBot commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

Android (legacy) Performance metrics 🚀

PlainWith SentryDiff
Startup time446.77 ms446.50 ms-0.27 ms
Size17.74 MiB20.10 MiB2.37 MiB

Baseline results on branch: antonis/3859-newCaptureFeedbackAPI-Form

Startup times

RevisionPlainWith SentryDiff
03c9048500.96 ms486.65 ms-14.31 ms
561640f461.96 ms458.11 ms-3.85 ms
a3ba405438.16 ms435.78 ms-2.38 ms
50c70c0496.82 ms526.02 ms29.20 ms
cadf235462.20 ms463.34 ms1.14 ms
f4a5053478.22 ms458.35 ms-19.87 ms
1dd8d17399.65 ms393.81 ms-5.84 ms
a06f6ba424.02 ms415.82 ms-8.20 ms
0781f75452.32 ms457.22 ms4.91 ms
e0624b6447.67 ms441.08 ms-6.59 ms

App size

RevisionPlainWith SentryDiff
03c904817.74 MiB20.10 MiB2.37 MiB
561640f17.74 MiB20.09 MiB2.35 MiB
a3ba40517.74 MiB20.09 MiB2.35 MiB
50c70c017.74 MiB20.10 MiB2.36 MiB
cadf23517.74 MiB20.09 MiB2.35 MiB
f4a505317.74 MiB20.10 MiB2.36 MiB
1dd8d1717.74 MiB20.10 MiB2.36 MiB
a06f6ba17.74 MiB20.09 MiB2.35 MiB
0781f7517.74 MiB20.09 MiB2.35 MiB
e0624b617.74 MiB20.10 MiB2.36 MiB

Previous results on branch: antonis/4358-Feedback-Form-Autoinject

Startup times

RevisionPlainWith SentryDiff
4d01eeb478.06 ms464.21 ms-13.85 ms
a511abb442.88 ms434.45 ms-8.43 ms
068e9ea363.11 ms362.36 ms-0.75 ms
c77702e464.66 ms496.83 ms32.17 ms

App size

RevisionPlainWith SentryDiff
4d01eeb17.74 MiB20.10 MiB2.36 MiB
a511abb17.74 MiB20.10 MiB2.36 MiB
068e9ea17.74 MiB20.10 MiB2.36 MiB
c77702e17.74 MiB20.10 MiB2.37 MiB

@github-actions

github-actionsBot commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

iOS (legacy) Performance metrics 🚀

PlainWith SentryDiff
Startup time1235.45 ms1233.39 ms-2.06 ms
Size2.36 MiB3.13 MiB780.47 KiB

Baseline results on branch: antonis/3859-newCaptureFeedbackAPI-Form

Startup times

RevisionPlainWith SentryDiff
50c70c0+dirty1228.06 ms1224.43 ms-3.64 ms
e0624b6+dirty1221.86 ms1226.42 ms4.57 ms
d33790a+dirty1234.19 ms1231.76 ms-2.43 ms
a06f6ba+dirty1230.45 ms1227.09 ms-3.36 ms
27e1bf3+dirty1230.92 ms1232.33 ms1.41 ms
f4a5053+dirty1225.32 ms1231.47 ms6.15 ms
03c9048+dirty1235.37 ms1238.15 ms2.77 ms
561640f+dirty1220.45 ms1227.02 ms6.57 ms
26fc306+dirty1227.25 ms1225.85 ms-1.40 ms
1dd8d17+dirty1235.22 ms1218.96 ms-16.27 ms

App size

RevisionPlainWith SentryDiff
50c70c0+dirty2.36 MiB3.11 MiB760.92 KiB
e0624b6+dirty2.36 MiB3.11 MiB761.16 KiB
d33790a+dirty2.36 MiB3.11 MiB761.06 KiB
a06f6ba+dirty2.36 MiB3.11 MiB761.35 KiB
27e1bf3+dirty2.36 MiB3.11 MiB761.03 KiB
f4a5053+dirty2.36 MiB3.11 MiB761.72 KiB
03c9048+dirty2.36 MiB3.11 MiB761.74 KiB
561640f+dirty2.36 MiB3.11 MiB761.19 KiB
26fc306+dirty2.36 MiB3.11 MiB761.18 KiB
1dd8d17+dirty2.36 MiB3.11 MiB761.66 KiB

Previous results on branch: antonis/4358-Feedback-Form-Autoinject

Startup times

RevisionPlainWith SentryDiff
a511abb+dirty1223.38 ms1225.08 ms1.71 ms
c77702e+dirty1231.92 ms1238.51 ms6.59 ms
068e9ea+dirty1240.31 ms1234.70 ms-5.62 ms
7b29327+dirty1225.31 ms1232.80 ms7.49 ms
4d01eeb+dirty1216.09 ms1223.06 ms6.97 ms

App size

RevisionPlainWith SentryDiff
a511abb+dirty2.36 MiB3.11 MiB761.04 KiB
c77702e+dirty2.36 MiB3.11 MiB761.68 KiB
068e9ea+dirty2.36 MiB3.11 MiB761.04 KiB
7b29327+dirty2.36 MiB3.11 MiB761.82 KiB
4d01eeb+dirty2.36 MiB3.11 MiB761.17 KiB

@github-actions

github-actionsBot commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

Android (new) Performance metrics 🚀

PlainWith SentryDiff
Startup time421.35 ms452.11 ms30.75 ms
Size7.15 MiB8.38 MiB1.23 MiB

Baseline results on branch: antonis/3859-newCaptureFeedbackAPI-Form

Startup times

RevisionPlainWith SentryDiff
a06f6ba+dirty381.50 ms429.77 ms48.27 ms
1dd8d17+dirty383.20 ms432.62 ms49.41 ms
d33790a+dirty404.87 ms473.06 ms68.19 ms
a3ba405+dirty359.67 ms436.86 ms77.19 ms
0781f75+dirty406.72 ms454.80 ms48.08 ms
f4a5053+dirty391.02 ms427.04 ms36.02 ms
03c9048+dirty397.35 ms417.73 ms20.37 ms
50c70c0+dirty385.30 ms433.06 ms47.76 ms
cadf235+dirty455.51 ms451.64 ms-3.87 ms
27e1bf3+dirty398.69 ms439.39 ms40.69 ms

App size

RevisionPlainWith SentryDiff
a06f6ba+dirty7.15 MiB8.37 MiB1.22 MiB
1dd8d17+dirty7.15 MiB8.38 MiB1.23 MiB
d33790a+dirty7.15 MiB8.38 MiB1.23 MiB
a3ba405+dirty7.15 MiB8.37 MiB1.22 MiB
0781f75+dirty7.15 MiB8.37 MiB1.22 MiB
f4a5053+dirty7.15 MiB8.38 MiB1.23 MiB
03c9048+dirty7.15 MiB8.38 MiB1.23 MiB
50c70c0+dirty7.15 MiB8.38 MiB1.23 MiB
cadf235+dirty7.15 MiB8.37 MiB1.22 MiB
27e1bf3+dirty7.15 MiB8.37 MiB1.22 MiB

Previous results on branch: antonis/4358-Feedback-Form-Autoinject

Startup times

RevisionPlainWith SentryDiff
a511abb+dirty376.44 ms431.64 ms55.20 ms
7b29327+dirty385.52 ms414.71 ms29.19 ms
068e9ea+dirty363.19 ms396.49 ms33.30 ms
4d01eeb+dirty380.79 ms405.19 ms24.40 ms
c77702e+dirty448.96 ms498.94 ms49.98 ms

App size

RevisionPlainWith SentryDiff
a511abb+dirty7.15 MiB8.38 MiB1.23 MiB
7b29327+dirty7.15 MiB8.38 MiB1.23 MiB
068e9ea+dirty7.15 MiB8.38 MiB1.23 MiB
4d01eeb+dirty7.15 MiB8.38 MiB1.23 MiB
c77702e+dirty7.15 MiB8.38 MiB1.23 MiB

@github-actions

github-actionsBot commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

iOS (new) Performance metrics 🚀

PlainWith SentryDiff
Startup time1233.19 ms1236.17 ms2.98 ms
Size2.92 MiB3.69 MiB791.84 KiB

Baseline results on branch: antonis/3859-newCaptureFeedbackAPI-Form

Startup times

RevisionPlainWith SentryDiff
50c70c0+dirty1226.61 ms1225.02 ms-1.59 ms
e0624b6+dirty1229.19 ms1232.18 ms3.00 ms
d33790a+dirty1247.14 ms1242.86 ms-4.28 ms
a06f6ba+dirty1235.31 ms1238.76 ms3.45 ms
27e1bf3+dirty1245.78 ms1244.38 ms-1.40 ms
f4a5053+dirty1233.04 ms1240.02 ms6.98 ms
03c9048+dirty1231.52 ms1225.96 ms-5.56 ms
561640f+dirty1237.10 ms1229.59 ms-7.51 ms
26fc306+dirty1229.10 ms1227.88 ms-1.22 ms
1dd8d17+dirty1229.28 ms1224.92 ms-4.36 ms

App size

RevisionPlainWith SentryDiff
50c70c0+dirty2.92 MiB3.67 MiB773.48 KiB
e0624b6+dirty2.92 MiB3.67 MiB773.62 KiB
d33790a+dirty2.92 MiB3.67 MiB773.59 KiB
a06f6ba+dirty2.92 MiB3.67 MiB773.87 KiB
27e1bf3+dirty2.92 MiB3.67 MiB773.54 KiB
f4a5053+dirty2.92 MiB3.67 MiB774.18 KiB
03c9048+dirty2.92 MiB3.67 MiB774.29 KiB
561640f+dirty2.92 MiB3.67 MiB773.72 KiB
26fc306+dirty2.92 MiB3.67 MiB773.77 KiB
1dd8d17+dirty2.92 MiB3.67 MiB774.21 KiB

Previous results on branch: antonis/4358-Feedback-Form-Autoinject

Startup times

RevisionPlainWith SentryDiff
a511abb+dirty1243.58 ms1239.15 ms-4.44 ms
c77702e+dirty1242.35 ms1237.87 ms-4.48 ms
068e9ea+dirty1224.21 ms1225.36 ms1.15 ms
7b29327+dirty1243.00 ms1239.72 ms-3.28 ms
4d01eeb+dirty1248.58 ms1247.53 ms-1.05 ms

App size

RevisionPlainWith SentryDiff
a511abb+dirty2.92 MiB3.67 MiB773.59 KiB
c77702e+dirty2.92 MiB3.67 MiB774.34 KiB
068e9ea+dirty2.92 MiB3.67 MiB773.56 KiB
7b29327+dirty2.92 MiB3.67 MiB774.45 KiB
4d01eeb+dirty2.92 MiB3.67 MiB773.74 KiB

@antonisantonis linked an issue Dec 13, 2024 that may be closed by this pull request
…358-Feedback-Form-Autoinject
# Conflicts:
#	CHANGELOG.md
@krystofwoldrichkrystofwoldrich changed the title Auto-inject feedback widget(2.3) Auto-inject feedback widgetDec 13, 2024
…358-Feedback-Form-Autoinject
# Conflicts:
#	packages/core/src/js/feedback/FeedbackForm.tsx
@antonisantonis mentioned this pull request Dec 16, 2024
10 tasks
…358-Feedback-Form-Autoinject
# Conflicts:
#	packages/core/src/js/feedback/FeedbackForm.tsx

@lucas-zimermanlucas-zimerman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM!

@antonis
antonis merged commit da0e3ea into antonis/3859-newCaptureFeedbackAPI-FormDec 19, 2024
@antonis
antonis deleted the antonis/4358-Feedback-Form-Autoinject branch December 19, 2024 08:29
antonis added a commit that referenced this pull request Jan 10, 2025
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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* Autoinject feedback form (#4370)
* Align changelog entry
* Update changelog
* Revert "Autoinject feedback form (#4370)"
This reverts commit da0e3ea.
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Add default value in doc comment
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* Add a more clear doc comment
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* (2.2) feat: Add Feedback Form UI Branding logo (#4357)
* Adds sentry branding logo as a base64 encoded png
---------
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Apr 7, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Adds missing semicolon in test
* Adds feedback button in expo app
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Apr 14, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Adds system theme tests
* Test dynamically changed theme
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Apr 14, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Show screenshot button UI
* Add screenshot button integration
* Add screenshot icon
* Adds Take a screenshot button in FeedbackWidget
* Updates snapshot tests
* Fix circularDepCheck
* Fix circularDepCheck
* Attache captured screenshot
* Hide the take screenshot button when there is a screenshot
* Convert uint8Array to Base64 on the native side
* Adds snapshot tests
* Disable functionality on the Web
* Add screenshot button in the sample expo app
* Adds system theme tests
* Test dynamically changed theme
* Remove showScreenshotButton and hideScreenshotButton from the exposed api
* Fix function name typo
* Adds enableTakeScreenshot option
* Adds happy flow test
* Make flow tests more granular
* Increate wait time out to fix flakiness on ci
* Reset widget state after each test
* Fix CI flakiness
* Remove flaky test
* Delay capture to allow the button to hide
* Add comment explaining the reasoning of the call
* Define defaultProps in smaller scope
* Define customStyles in smaller scope
* Also check remove screenshot button
* Fixes the name and double negation not null
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Apr 14, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Show screenshot button UI
* Add screenshot button integration
* Add screenshot icon
* Adds Take a screenshot button in FeedbackWidget
* Updates snapshot tests
* Fix circularDepCheck
* Fix circularDepCheck
* Attache captured screenshot
* Hide the take screenshot button when there is a screenshot
* Convert uint8Array to Base64 on the native side
* ref(feedback): Extracts FeedbackWidgetProvider in a separate file
* Updates exposed comments
* Adds snapshot tests
* Disable functionality on the Web
* Add screenshot button in the sample expo app
* Adds system theme tests
* Test dynamically changed theme
* Remove showScreenshotButton and hideScreenshotButton from the exposed api
* Fix function name typo
* Adds enableTakeScreenshot option
* Adds happy flow test
* Make flow tests more granular
* Increate wait time out to fix flakiness on ci
* Reset widget state after each test
* Fix CI flakiness
* Remove flaky test
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Apr 14, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Show screenshot button UI
* Add screenshot button integration
* Add screenshot icon
* Adds Take a screenshot button in FeedbackWidget
* Updates snapshot tests
* Fix circularDepCheck
* Fix circularDepCheck
* Attache captured screenshot
* Hide the take screenshot button when there is a screenshot
* Convert uint8Array to Base64 on the native side
* ref(feedback): Extracts FeedbackWidgetProvider in a separate file
* Updates exposed comments
* Adds snapshot tests
* Disable functionality on the Web
* Add screenshot button in the sample expo app
* Adds system theme tests
* Test dynamically changed theme
* Remove showScreenshotButton and hideScreenshotButton from the exposed api
* Fix function name typo
* Adds enableTakeScreenshot option
* Adds happy flow test
* Make flow tests more granular
* Increate wait time out to fix flakiness on ci
* Reset widget state after each test
* Fix CI flakiness
* Remove flaky test
* fix(feedback): Fixes accessibility issue on iOS
* Add changelog
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request May 9, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add test ids in feedback widget
* Add feedback widget button in test app
* WIP: Add feedback test
* Update snapshot tests with the added test ids
* Android happy path test
* Check field validation
* Scroll if button is not visible
* Adds accessibility labels
* Remove extended initial checks due to flakiness
* Revert "Remove extended initial checks due to flakiness"
This reverts commit fa3bdfc.
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Show screenshot button UI
* Add screenshot button integration
* Add screenshot icon
* Adds Take a screenshot button in FeedbackWidget
* Updates snapshot tests
* Fix circularDepCheck
* Fix circularDepCheck
* Attache captured screenshot
* Hide the take screenshot button when there is a screenshot
* Convert uint8Array to Base64 on the native side
* ref(feedback): Extracts FeedbackWidgetProvider in a separate file
* Updates exposed comments
* Adds snapshot tests
* Disable functionality on the Web
* Add screenshot button in the sample expo app
* Adds system theme tests
* Test dynamically changed theme
* Remove showScreenshotButton and hideScreenshotButton from the exposed api
* Fix function name typo
* Adds enableTakeScreenshot option
* Adds happy flow test
* Make flow tests more granular
* Increate wait time out to fix flakiness on ci
* Reset widget state after each test
* Fix CI flakiness
* Remove flaky test
* fix(feedback): Fixes accessibility issue on iOS
* Add changelog
* Properly wrap root app component
* Handle undefined AppRegistryIntegration.onRunApplication gracefully
* Fix lint issue
* Do not validate all fields for visibility
* Take screenshots for debugging
* Revert "Take screenshots for debugging"
This reverts commit 3e361a1.
* Simplify test scenario
* Try without hiding the keyboard
* Test Feedback button
* Test screenshot capture
* Show an error if screenshot capture fails
* Test error flow
* Revert unneeded change
* Test with latest Maestro
* Revert "Test with latest Maestro"
This reverts commit e7c31bf.
* Revert "Test screenshot capture"
This reverts commit 8913ffc.
* Skip for 0.65.3
* Remove version check
* Use testId for feedback button
* Skip for 0.65.3
* Update snapshots
* Cleanup testIds and accessibility labels
* Enable for all RN versions
* Temp: remove modal supported check
* Do not use native driver for backgroundOpacity animation
* Revert "Temp: remove modal supported check"
This reverts commit e20aff2.
* Do not use native driver for backgroundOpacity animation
* Use text instead of test ids
* Separate iOS and Android tests
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Jun 20, 2025
…4795)
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add test ids in feedback widget
* Add feedback widget button in test app
* WIP: Add feedback test
* Update snapshot tests with the added test ids
* Android happy path test
* Check field validation
* Scroll if button is not visible
* Adds accessibility labels
* Remove extended initial checks due to flakiness
* Revert "Remove extended initial checks due to flakiness"
This reverts commit fa3bdfc.
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Show screenshot button UI
* Add screenshot button integration
* Add screenshot icon
* Adds Take a screenshot button in FeedbackWidget
* Updates snapshot tests
* Fix circularDepCheck
* Fix circularDepCheck
* Attache captured screenshot
* Hide the take screenshot button when there is a screenshot
* Convert uint8Array to Base64 on the native side
* ref(feedback): Extracts FeedbackWidgetProvider in a separate file
* Updates exposed comments
* Adds snapshot tests
* Disable functionality on the Web
* Add screenshot button in the sample expo app
* Adds system theme tests
* Test dynamically changed theme
* Remove showScreenshotButton and hideScreenshotButton from the exposed api
* Fix function name typo
* Adds enableTakeScreenshot option
* Adds happy flow test
* Make flow tests more granular
* Increate wait time out to fix flakiness on ci
* Reset widget state after each test
* Fix CI flakiness
* Remove flaky test
* fix(feedback): Fixes accessibility issue on iOS
* Add changelog
* Properly wrap root app component
* Handle undefined AppRegistryIntegration.onRunApplication gracefully
* Fix lint issue
* Do not validate all fields for visibility
* Take screenshots for debugging
* Revert "Take screenshots for debugging"
This reverts commit 3e361a1.
* Simplify test scenario
* Try without hiding the keyboard
* Test Feedback button
* Test screenshot capture
* Show an error if screenshot capture fails
* Test error flow
* Revert unneeded change
* Test with latest Maestro
* Revert "Test with latest Maestro"
This reverts commit e7c31bf.
* Revert "Test screenshot capture"
This reverts commit 8913ffc.
* Skip for 0.65.3
* Remove version check
* Use testId for feedback button
* Skip for 0.65.3
* Update snapshots
* Cleanup testIds and accessibility labels
* Enable for all RN versions
* Temp: remove modal supported check
* Do not use native driver for backgroundOpacity animation
* Revert "Temp: remove modal supported check"
This reverts commit e20aff2.
* Do not use native driver for backgroundOpacity animation
* Use text instead of test ids
* Separate iOS and Android tests
* test(e2e): Adds Feedback Widget Capture Screenshot Maestro E2E tests
* Update test snapshots
* Hide keyboard by tapping on the sentry logo
* Tap on the title to hide the keyboard on Android
* Tap on email label to hide the keyboard on Android
* Wait for the screen to become visible after the screenshot capture
* Extend wait timeout after taking the screenshot
* increase timeout
* Revert "increase timeout"
This reverts commit 7865f32.
* Revert "Extend wait timeout after taking the screenshot"
This reverts commit 80dea08.
* Tweak the emulator
* Revert "Tweak the emulator"
This reverts commit ff8458c.
* Try Google API emulator
---------
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Sign up for freeto 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.

Autoinject feedback widget

2 participants

@antonis@lucas-zimerman
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

(2.3) Auto-inject feedback widget - #4370

Merged
antonis merged 6 commits into
antonis/3859-newCaptureFeedbackAPI-Formfrom
antonis/4358-Feedback-Form-Autoinject
Dec 19, 2024
Merged

(2.3) Auto-inject feedback widget#4370
antonis merged 6 commits into
antonis/3859-newCaptureFeedbackAPI-Formfrom
antonis/4358-Feedback-Form-Autoinject

Conversation

@antonis

@antonisantonis commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

📢 Type of change

  • Bugfix
  • New feature
  • Enhancement
  • Refactoring

📜 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

  • 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

@antonisantonis mentioned this pull request Dec 13, 2024
10 tasks
@antonis
antonis marked this pull request as ready for review December 13, 2024 12:33
@github-actions

github-actionsBot commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

Android (legacy) Performance metrics 🚀

PlainWith SentryDiff
Startup time446.77 ms446.50 ms-0.27 ms
Size17.74 MiB20.10 MiB2.37 MiB

Baseline results on branch: antonis/3859-newCaptureFeedbackAPI-Form

Startup times

RevisionPlainWith SentryDiff
03c9048500.96 ms486.65 ms-14.31 ms
561640f461.96 ms458.11 ms-3.85 ms
a3ba405438.16 ms435.78 ms-2.38 ms
50c70c0496.82 ms526.02 ms29.20 ms
cadf235462.20 ms463.34 ms1.14 ms
f4a5053478.22 ms458.35 ms-19.87 ms
1dd8d17399.65 ms393.81 ms-5.84 ms
a06f6ba424.02 ms415.82 ms-8.20 ms
0781f75452.32 ms457.22 ms4.91 ms
e0624b6447.67 ms441.08 ms-6.59 ms

App size

RevisionPlainWith SentryDiff
03c904817.74 MiB20.10 MiB2.37 MiB
561640f17.74 MiB20.09 MiB2.35 MiB
a3ba40517.74 MiB20.09 MiB2.35 MiB
50c70c017.74 MiB20.10 MiB2.36 MiB
cadf23517.74 MiB20.09 MiB2.35 MiB
f4a505317.74 MiB20.10 MiB2.36 MiB
1dd8d1717.74 MiB20.10 MiB2.36 MiB
a06f6ba17.74 MiB20.09 MiB2.35 MiB
0781f7517.74 MiB20.09 MiB2.35 MiB
e0624b617.74 MiB20.10 MiB2.36 MiB

Previous results on branch: antonis/4358-Feedback-Form-Autoinject

Startup times

RevisionPlainWith SentryDiff
4d01eeb478.06 ms464.21 ms-13.85 ms
a511abb442.88 ms434.45 ms-8.43 ms
068e9ea363.11 ms362.36 ms-0.75 ms
c77702e464.66 ms496.83 ms32.17 ms

App size

RevisionPlainWith SentryDiff
4d01eeb17.74 MiB20.10 MiB2.36 MiB
a511abb17.74 MiB20.10 MiB2.36 MiB
068e9ea17.74 MiB20.10 MiB2.36 MiB
c77702e17.74 MiB20.10 MiB2.37 MiB

@github-actions

github-actionsBot commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

iOS (legacy) Performance metrics 🚀

PlainWith SentryDiff
Startup time1235.45 ms1233.39 ms-2.06 ms
Size2.36 MiB3.13 MiB780.47 KiB

Baseline results on branch: antonis/3859-newCaptureFeedbackAPI-Form

Startup times

RevisionPlainWith SentryDiff
50c70c0+dirty1228.06 ms1224.43 ms-3.64 ms
e0624b6+dirty1221.86 ms1226.42 ms4.57 ms
d33790a+dirty1234.19 ms1231.76 ms-2.43 ms
a06f6ba+dirty1230.45 ms1227.09 ms-3.36 ms
27e1bf3+dirty1230.92 ms1232.33 ms1.41 ms
f4a5053+dirty1225.32 ms1231.47 ms6.15 ms
03c9048+dirty1235.37 ms1238.15 ms2.77 ms
561640f+dirty1220.45 ms1227.02 ms6.57 ms
26fc306+dirty1227.25 ms1225.85 ms-1.40 ms
1dd8d17+dirty1235.22 ms1218.96 ms-16.27 ms

App size

RevisionPlainWith SentryDiff
50c70c0+dirty2.36 MiB3.11 MiB760.92 KiB
e0624b6+dirty2.36 MiB3.11 MiB761.16 KiB
d33790a+dirty2.36 MiB3.11 MiB761.06 KiB
a06f6ba+dirty2.36 MiB3.11 MiB761.35 KiB
27e1bf3+dirty2.36 MiB3.11 MiB761.03 KiB
f4a5053+dirty2.36 MiB3.11 MiB761.72 KiB
03c9048+dirty2.36 MiB3.11 MiB761.74 KiB
561640f+dirty2.36 MiB3.11 MiB761.19 KiB
26fc306+dirty2.36 MiB3.11 MiB761.18 KiB
1dd8d17+dirty2.36 MiB3.11 MiB761.66 KiB

Previous results on branch: antonis/4358-Feedback-Form-Autoinject

Startup times

RevisionPlainWith SentryDiff
a511abb+dirty1223.38 ms1225.08 ms1.71 ms
c77702e+dirty1231.92 ms1238.51 ms6.59 ms
068e9ea+dirty1240.31 ms1234.70 ms-5.62 ms
7b29327+dirty1225.31 ms1232.80 ms7.49 ms
4d01eeb+dirty1216.09 ms1223.06 ms6.97 ms

App size

RevisionPlainWith SentryDiff
a511abb+dirty2.36 MiB3.11 MiB761.04 KiB
c77702e+dirty2.36 MiB3.11 MiB761.68 KiB
068e9ea+dirty2.36 MiB3.11 MiB761.04 KiB
7b29327+dirty2.36 MiB3.11 MiB761.82 KiB
4d01eeb+dirty2.36 MiB3.11 MiB761.17 KiB

@github-actions

github-actionsBot commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

Android (new) Performance metrics 🚀

PlainWith SentryDiff
Startup time421.35 ms452.11 ms30.75 ms
Size7.15 MiB8.38 MiB1.23 MiB

Baseline results on branch: antonis/3859-newCaptureFeedbackAPI-Form

Startup times

RevisionPlainWith SentryDiff
a06f6ba+dirty381.50 ms429.77 ms48.27 ms
1dd8d17+dirty383.20 ms432.62 ms49.41 ms
d33790a+dirty404.87 ms473.06 ms68.19 ms
a3ba405+dirty359.67 ms436.86 ms77.19 ms
0781f75+dirty406.72 ms454.80 ms48.08 ms
f4a5053+dirty391.02 ms427.04 ms36.02 ms
03c9048+dirty397.35 ms417.73 ms20.37 ms
50c70c0+dirty385.30 ms433.06 ms47.76 ms
cadf235+dirty455.51 ms451.64 ms-3.87 ms
27e1bf3+dirty398.69 ms439.39 ms40.69 ms

App size

RevisionPlainWith SentryDiff
a06f6ba+dirty7.15 MiB8.37 MiB1.22 MiB
1dd8d17+dirty7.15 MiB8.38 MiB1.23 MiB
d33790a+dirty7.15 MiB8.38 MiB1.23 MiB
a3ba405+dirty7.15 MiB8.37 MiB1.22 MiB
0781f75+dirty7.15 MiB8.37 MiB1.22 MiB
f4a5053+dirty7.15 MiB8.38 MiB1.23 MiB
03c9048+dirty7.15 MiB8.38 MiB1.23 MiB
50c70c0+dirty7.15 MiB8.38 MiB1.23 MiB
cadf235+dirty7.15 MiB8.37 MiB1.22 MiB
27e1bf3+dirty7.15 MiB8.37 MiB1.22 MiB

Previous results on branch: antonis/4358-Feedback-Form-Autoinject

Startup times

RevisionPlainWith SentryDiff
a511abb+dirty376.44 ms431.64 ms55.20 ms
7b29327+dirty385.52 ms414.71 ms29.19 ms
068e9ea+dirty363.19 ms396.49 ms33.30 ms
4d01eeb+dirty380.79 ms405.19 ms24.40 ms
c77702e+dirty448.96 ms498.94 ms49.98 ms

App size

RevisionPlainWith SentryDiff
a511abb+dirty7.15 MiB8.38 MiB1.23 MiB
7b29327+dirty7.15 MiB8.38 MiB1.23 MiB
068e9ea+dirty7.15 MiB8.38 MiB1.23 MiB
4d01eeb+dirty7.15 MiB8.38 MiB1.23 MiB
c77702e+dirty7.15 MiB8.38 MiB1.23 MiB

@github-actions

github-actionsBot commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

iOS (new) Performance metrics 🚀

PlainWith SentryDiff
Startup time1233.19 ms1236.17 ms2.98 ms
Size2.92 MiB3.69 MiB791.84 KiB

Baseline results on branch: antonis/3859-newCaptureFeedbackAPI-Form

Startup times

RevisionPlainWith SentryDiff
50c70c0+dirty1226.61 ms1225.02 ms-1.59 ms
e0624b6+dirty1229.19 ms1232.18 ms3.00 ms
d33790a+dirty1247.14 ms1242.86 ms-4.28 ms
a06f6ba+dirty1235.31 ms1238.76 ms3.45 ms
27e1bf3+dirty1245.78 ms1244.38 ms-1.40 ms
f4a5053+dirty1233.04 ms1240.02 ms6.98 ms
03c9048+dirty1231.52 ms1225.96 ms-5.56 ms
561640f+dirty1237.10 ms1229.59 ms-7.51 ms
26fc306+dirty1229.10 ms1227.88 ms-1.22 ms
1dd8d17+dirty1229.28 ms1224.92 ms-4.36 ms

App size

RevisionPlainWith SentryDiff
50c70c0+dirty2.92 MiB3.67 MiB773.48 KiB
e0624b6+dirty2.92 MiB3.67 MiB773.62 KiB
d33790a+dirty2.92 MiB3.67 MiB773.59 KiB
a06f6ba+dirty2.92 MiB3.67 MiB773.87 KiB
27e1bf3+dirty2.92 MiB3.67 MiB773.54 KiB
f4a5053+dirty2.92 MiB3.67 MiB774.18 KiB
03c9048+dirty2.92 MiB3.67 MiB774.29 KiB
561640f+dirty2.92 MiB3.67 MiB773.72 KiB
26fc306+dirty2.92 MiB3.67 MiB773.77 KiB
1dd8d17+dirty2.92 MiB3.67 MiB774.21 KiB

Previous results on branch: antonis/4358-Feedback-Form-Autoinject

Startup times

RevisionPlainWith SentryDiff
a511abb+dirty1243.58 ms1239.15 ms-4.44 ms
c77702e+dirty1242.35 ms1237.87 ms-4.48 ms
068e9ea+dirty1224.21 ms1225.36 ms1.15 ms
7b29327+dirty1243.00 ms1239.72 ms-3.28 ms
4d01eeb+dirty1248.58 ms1247.53 ms-1.05 ms

App size

RevisionPlainWith SentryDiff
a511abb+dirty2.92 MiB3.67 MiB773.59 KiB
c77702e+dirty2.92 MiB3.67 MiB774.34 KiB
068e9ea+dirty2.92 MiB3.67 MiB773.56 KiB
7b29327+dirty2.92 MiB3.67 MiB774.45 KiB
4d01eeb+dirty2.92 MiB3.67 MiB773.74 KiB

@antonisantonis linked an issue Dec 13, 2024 that may be closed by this pull request
…358-Feedback-Form-Autoinject
# Conflicts:
#	CHANGELOG.md
@krystofwoldrichkrystofwoldrich changed the title Auto-inject feedback widget(2.3) Auto-inject feedback widgetDec 13, 2024
…358-Feedback-Form-Autoinject
# Conflicts:
#	packages/core/src/js/feedback/FeedbackForm.tsx
@antonisantonis mentioned this pull request Dec 16, 2024
10 tasks
…358-Feedback-Form-Autoinject
# Conflicts:
#	packages/core/src/js/feedback/FeedbackForm.tsx

@lucas-zimermanlucas-zimerman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM!

@antonis
antonis merged commit da0e3ea into antonis/3859-newCaptureFeedbackAPI-FormDec 19, 2024
@antonis
antonis deleted the antonis/4358-Feedback-Form-Autoinject branch December 19, 2024 08:29
antonis added a commit that referenced this pull request Jan 10, 2025
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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* Autoinject feedback form (#4370)
* Align changelog entry
* Update changelog
* Revert "Autoinject feedback form (#4370)"
This reverts commit da0e3ea.
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Add default value in doc comment
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* Add a more clear doc comment
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* (2.2) feat: Add Feedback Form UI Branding logo (#4357)
* Adds sentry branding logo as a base64 encoded png
---------
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Apr 7, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Adds missing semicolon in test
* Adds feedback button in expo app
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Apr 14, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Adds system theme tests
* Test dynamically changed theme
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Apr 14, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Show screenshot button UI
* Add screenshot button integration
* Add screenshot icon
* Adds Take a screenshot button in FeedbackWidget
* Updates snapshot tests
* Fix circularDepCheck
* Fix circularDepCheck
* Attache captured screenshot
* Hide the take screenshot button when there is a screenshot
* Convert uint8Array to Base64 on the native side
* Adds snapshot tests
* Disable functionality on the Web
* Add screenshot button in the sample expo app
* Adds system theme tests
* Test dynamically changed theme
* Remove showScreenshotButton and hideScreenshotButton from the exposed api
* Fix function name typo
* Adds enableTakeScreenshot option
* Adds happy flow test
* Make flow tests more granular
* Increate wait time out to fix flakiness on ci
* Reset widget state after each test
* Fix CI flakiness
* Remove flaky test
* Delay capture to allow the button to hide
* Add comment explaining the reasoning of the call
* Define defaultProps in smaller scope
* Define customStyles in smaller scope
* Also check remove screenshot button
* Fixes the name and double negation not null
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Apr 14, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Show screenshot button UI
* Add screenshot button integration
* Add screenshot icon
* Adds Take a screenshot button in FeedbackWidget
* Updates snapshot tests
* Fix circularDepCheck
* Fix circularDepCheck
* Attache captured screenshot
* Hide the take screenshot button when there is a screenshot
* Convert uint8Array to Base64 on the native side
* ref(feedback): Extracts FeedbackWidgetProvider in a separate file
* Updates exposed comments
* Adds snapshot tests
* Disable functionality on the Web
* Add screenshot button in the sample expo app
* Adds system theme tests
* Test dynamically changed theme
* Remove showScreenshotButton and hideScreenshotButton from the exposed api
* Fix function name typo
* Adds enableTakeScreenshot option
* Adds happy flow test
* Make flow tests more granular
* Increate wait time out to fix flakiness on ci
* Reset widget state after each test
* Fix CI flakiness
* Remove flaky test
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Apr 14, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Show screenshot button UI
* Add screenshot button integration
* Add screenshot icon
* Adds Take a screenshot button in FeedbackWidget
* Updates snapshot tests
* Fix circularDepCheck
* Fix circularDepCheck
* Attache captured screenshot
* Hide the take screenshot button when there is a screenshot
* Convert uint8Array to Base64 on the native side
* ref(feedback): Extracts FeedbackWidgetProvider in a separate file
* Updates exposed comments
* Adds snapshot tests
* Disable functionality on the Web
* Add screenshot button in the sample expo app
* Adds system theme tests
* Test dynamically changed theme
* Remove showScreenshotButton and hideScreenshotButton from the exposed api
* Fix function name typo
* Adds enableTakeScreenshot option
* Adds happy flow test
* Make flow tests more granular
* Increate wait time out to fix flakiness on ci
* Reset widget state after each test
* Fix CI flakiness
* Remove flaky test
* fix(feedback): Fixes accessibility issue on iOS
* Add changelog
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request May 9, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add test ids in feedback widget
* Add feedback widget button in test app
* WIP: Add feedback test
* Update snapshot tests with the added test ids
* Android happy path test
* Check field validation
* Scroll if button is not visible
* Adds accessibility labels
* Remove extended initial checks due to flakiness
* Revert "Remove extended initial checks due to flakiness"
This reverts commit fa3bdfc.
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Show screenshot button UI
* Add screenshot button integration
* Add screenshot icon
* Adds Take a screenshot button in FeedbackWidget
* Updates snapshot tests
* Fix circularDepCheck
* Fix circularDepCheck
* Attache captured screenshot
* Hide the take screenshot button when there is a screenshot
* Convert uint8Array to Base64 on the native side
* ref(feedback): Extracts FeedbackWidgetProvider in a separate file
* Updates exposed comments
* Adds snapshot tests
* Disable functionality on the Web
* Add screenshot button in the sample expo app
* Adds system theme tests
* Test dynamically changed theme
* Remove showScreenshotButton and hideScreenshotButton from the exposed api
* Fix function name typo
* Adds enableTakeScreenshot option
* Adds happy flow test
* Make flow tests more granular
* Increate wait time out to fix flakiness on ci
* Reset widget state after each test
* Fix CI flakiness
* Remove flaky test
* fix(feedback): Fixes accessibility issue on iOS
* Add changelog
* Properly wrap root app component
* Handle undefined AppRegistryIntegration.onRunApplication gracefully
* Fix lint issue
* Do not validate all fields for visibility
* Take screenshots for debugging
* Revert "Take screenshots for debugging"
This reverts commit 3e361a1.
* Simplify test scenario
* Try without hiding the keyboard
* Test Feedback button
* Test screenshot capture
* Show an error if screenshot capture fails
* Test error flow
* Revert unneeded change
* Test with latest Maestro
* Revert "Test with latest Maestro"
This reverts commit e7c31bf.
* Revert "Test screenshot capture"
This reverts commit 8913ffc.
* Skip for 0.65.3
* Remove version check
* Use testId for feedback button
* Skip for 0.65.3
* Update snapshots
* Cleanup testIds and accessibility labels
* Enable for all RN versions
* Temp: remove modal supported check
* Do not use native driver for backgroundOpacity animation
* Revert "Temp: remove modal supported check"
This reverts commit e20aff2.
* Do not use native driver for backgroundOpacity animation
* Use text instead of test ids
* Separate iOS and Android tests
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Jun 20, 2025
…4795)
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add test ids in feedback widget
* Add feedback widget button in test app
* WIP: Add feedback test
* Update snapshot tests with the added test ids
* Android happy path test
* Check field validation
* Scroll if button is not visible
* Adds accessibility labels
* Remove extended initial checks due to flakiness
* Revert "Remove extended initial checks due to flakiness"
This reverts commit fa3bdfc.
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Show screenshot button UI
* Add screenshot button integration
* Add screenshot icon
* Adds Take a screenshot button in FeedbackWidget
* Updates snapshot tests
* Fix circularDepCheck
* Fix circularDepCheck
* Attache captured screenshot
* Hide the take screenshot button when there is a screenshot
* Convert uint8Array to Base64 on the native side
* ref(feedback): Extracts FeedbackWidgetProvider in a separate file
* Updates exposed comments
* Adds snapshot tests
* Disable functionality on the Web
* Add screenshot button in the sample expo app
* Adds system theme tests
* Test dynamically changed theme
* Remove showScreenshotButton and hideScreenshotButton from the exposed api
* Fix function name typo
* Adds enableTakeScreenshot option
* Adds happy flow test
* Make flow tests more granular
* Increate wait time out to fix flakiness on ci
* Reset widget state after each test
* Fix CI flakiness
* Remove flaky test
* fix(feedback): Fixes accessibility issue on iOS
* Add changelog
* Properly wrap root app component
* Handle undefined AppRegistryIntegration.onRunApplication gracefully
* Fix lint issue
* Do not validate all fields for visibility
* Take screenshots for debugging
* Revert "Take screenshots for debugging"
This reverts commit 3e361a1.
* Simplify test scenario
* Try without hiding the keyboard
* Test Feedback button
* Test screenshot capture
* Show an error if screenshot capture fails
* Test error flow
* Revert unneeded change
* Test with latest Maestro
* Revert "Test with latest Maestro"
This reverts commit e7c31bf.
* Revert "Test screenshot capture"
This reverts commit 8913ffc.
* Skip for 0.65.3
* Remove version check
* Use testId for feedback button
* Skip for 0.65.3
* Update snapshots
* Cleanup testIds and accessibility labels
* Enable for all RN versions
* Temp: remove modal supported check
* Do not use native driver for backgroundOpacity animation
* Revert "Temp: remove modal supported check"
This reverts commit e20aff2.
* Do not use native driver for backgroundOpacity animation
* Use text instead of test ids
* Separate iOS and Android tests
* test(e2e): Adds Feedback Widget Capture Screenshot Maestro E2E tests
* Update test snapshots
* Hide keyboard by tapping on the sentry logo
* Tap on the title to hide the keyboard on Android
* Tap on email label to hide the keyboard on Android
* Wait for the screen to become visible after the screenshot capture
* Extend wait timeout after taking the screenshot
* increase timeout
* Revert "increase timeout"
This reverts commit 7865f32.
* Revert "Extend wait timeout after taking the screenshot"
This reverts commit 80dea08.
* Tweak the emulator
* Revert "Tweak the emulator"
This reverts commit ff8458c.
* Try Google API emulator
---------
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Sign up for freeto 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.

Autoinject feedback widget

2 participants

@antonis@lucas-zimerman
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

(2.3) Auto-inject feedback widget - #4370

Merged
antonis merged 6 commits into
antonis/3859-newCaptureFeedbackAPI-Formfrom
antonis/4358-Feedback-Form-Autoinject
Dec 19, 2024
Merged

(2.3) Auto-inject feedback widget#4370
antonis merged 6 commits into
antonis/3859-newCaptureFeedbackAPI-Formfrom
antonis/4358-Feedback-Form-Autoinject

Conversation

@antonis

@antonisantonis commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

📢 Type of change

  • Bugfix
  • New feature
  • Enhancement
  • Refactoring

📜 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

  • 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

@antonisantonis mentioned this pull request Dec 13, 2024
10 tasks
@antonis
antonis marked this pull request as ready for review December 13, 2024 12:33
@github-actions

github-actionsBot commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

Android (legacy) Performance metrics 🚀

PlainWith SentryDiff
Startup time446.77 ms446.50 ms-0.27 ms
Size17.74 MiB20.10 MiB2.37 MiB

Baseline results on branch: antonis/3859-newCaptureFeedbackAPI-Form

Startup times

RevisionPlainWith SentryDiff
03c9048500.96 ms486.65 ms-14.31 ms
561640f461.96 ms458.11 ms-3.85 ms
a3ba405438.16 ms435.78 ms-2.38 ms
50c70c0496.82 ms526.02 ms29.20 ms
cadf235462.20 ms463.34 ms1.14 ms
f4a5053478.22 ms458.35 ms-19.87 ms
1dd8d17399.65 ms393.81 ms-5.84 ms
a06f6ba424.02 ms415.82 ms-8.20 ms
0781f75452.32 ms457.22 ms4.91 ms
e0624b6447.67 ms441.08 ms-6.59 ms

App size

RevisionPlainWith SentryDiff
03c904817.74 MiB20.10 MiB2.37 MiB
561640f17.74 MiB20.09 MiB2.35 MiB
a3ba40517.74 MiB20.09 MiB2.35 MiB
50c70c017.74 MiB20.10 MiB2.36 MiB
cadf23517.74 MiB20.09 MiB2.35 MiB
f4a505317.74 MiB20.10 MiB2.36 MiB
1dd8d1717.74 MiB20.10 MiB2.36 MiB
a06f6ba17.74 MiB20.09 MiB2.35 MiB
0781f7517.74 MiB20.09 MiB2.35 MiB
e0624b617.74 MiB20.10 MiB2.36 MiB

Previous results on branch: antonis/4358-Feedback-Form-Autoinject

Startup times

RevisionPlainWith SentryDiff
4d01eeb478.06 ms464.21 ms-13.85 ms
a511abb442.88 ms434.45 ms-8.43 ms
068e9ea363.11 ms362.36 ms-0.75 ms
c77702e464.66 ms496.83 ms32.17 ms

App size

RevisionPlainWith SentryDiff
4d01eeb17.74 MiB20.10 MiB2.36 MiB
a511abb17.74 MiB20.10 MiB2.36 MiB
068e9ea17.74 MiB20.10 MiB2.36 MiB
c77702e17.74 MiB20.10 MiB2.37 MiB

@github-actions

github-actionsBot commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

iOS (legacy) Performance metrics 🚀

PlainWith SentryDiff
Startup time1235.45 ms1233.39 ms-2.06 ms
Size2.36 MiB3.13 MiB780.47 KiB

Baseline results on branch: antonis/3859-newCaptureFeedbackAPI-Form

Startup times

RevisionPlainWith SentryDiff
50c70c0+dirty1228.06 ms1224.43 ms-3.64 ms
e0624b6+dirty1221.86 ms1226.42 ms4.57 ms
d33790a+dirty1234.19 ms1231.76 ms-2.43 ms
a06f6ba+dirty1230.45 ms1227.09 ms-3.36 ms
27e1bf3+dirty1230.92 ms1232.33 ms1.41 ms
f4a5053+dirty1225.32 ms1231.47 ms6.15 ms
03c9048+dirty1235.37 ms1238.15 ms2.77 ms
561640f+dirty1220.45 ms1227.02 ms6.57 ms
26fc306+dirty1227.25 ms1225.85 ms-1.40 ms
1dd8d17+dirty1235.22 ms1218.96 ms-16.27 ms

App size

RevisionPlainWith SentryDiff
50c70c0+dirty2.36 MiB3.11 MiB760.92 KiB
e0624b6+dirty2.36 MiB3.11 MiB761.16 KiB
d33790a+dirty2.36 MiB3.11 MiB761.06 KiB
a06f6ba+dirty2.36 MiB3.11 MiB761.35 KiB
27e1bf3+dirty2.36 MiB3.11 MiB761.03 KiB
f4a5053+dirty2.36 MiB3.11 MiB761.72 KiB
03c9048+dirty2.36 MiB3.11 MiB761.74 KiB
561640f+dirty2.36 MiB3.11 MiB761.19 KiB
26fc306+dirty2.36 MiB3.11 MiB761.18 KiB
1dd8d17+dirty2.36 MiB3.11 MiB761.66 KiB

Previous results on branch: antonis/4358-Feedback-Form-Autoinject

Startup times

RevisionPlainWith SentryDiff
a511abb+dirty1223.38 ms1225.08 ms1.71 ms
c77702e+dirty1231.92 ms1238.51 ms6.59 ms
068e9ea+dirty1240.31 ms1234.70 ms-5.62 ms
7b29327+dirty1225.31 ms1232.80 ms7.49 ms
4d01eeb+dirty1216.09 ms1223.06 ms6.97 ms

App size

RevisionPlainWith SentryDiff
a511abb+dirty2.36 MiB3.11 MiB761.04 KiB
c77702e+dirty2.36 MiB3.11 MiB761.68 KiB
068e9ea+dirty2.36 MiB3.11 MiB761.04 KiB
7b29327+dirty2.36 MiB3.11 MiB761.82 KiB
4d01eeb+dirty2.36 MiB3.11 MiB761.17 KiB

@github-actions

github-actionsBot commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

Android (new) Performance metrics 🚀

PlainWith SentryDiff
Startup time421.35 ms452.11 ms30.75 ms
Size7.15 MiB8.38 MiB1.23 MiB

Baseline results on branch: antonis/3859-newCaptureFeedbackAPI-Form

Startup times

RevisionPlainWith SentryDiff
a06f6ba+dirty381.50 ms429.77 ms48.27 ms
1dd8d17+dirty383.20 ms432.62 ms49.41 ms
d33790a+dirty404.87 ms473.06 ms68.19 ms
a3ba405+dirty359.67 ms436.86 ms77.19 ms
0781f75+dirty406.72 ms454.80 ms48.08 ms
f4a5053+dirty391.02 ms427.04 ms36.02 ms
03c9048+dirty397.35 ms417.73 ms20.37 ms
50c70c0+dirty385.30 ms433.06 ms47.76 ms
cadf235+dirty455.51 ms451.64 ms-3.87 ms
27e1bf3+dirty398.69 ms439.39 ms40.69 ms

App size

RevisionPlainWith SentryDiff
a06f6ba+dirty7.15 MiB8.37 MiB1.22 MiB
1dd8d17+dirty7.15 MiB8.38 MiB1.23 MiB
d33790a+dirty7.15 MiB8.38 MiB1.23 MiB
a3ba405+dirty7.15 MiB8.37 MiB1.22 MiB
0781f75+dirty7.15 MiB8.37 MiB1.22 MiB
f4a5053+dirty7.15 MiB8.38 MiB1.23 MiB
03c9048+dirty7.15 MiB8.38 MiB1.23 MiB
50c70c0+dirty7.15 MiB8.38 MiB1.23 MiB
cadf235+dirty7.15 MiB8.37 MiB1.22 MiB
27e1bf3+dirty7.15 MiB8.37 MiB1.22 MiB

Previous results on branch: antonis/4358-Feedback-Form-Autoinject

Startup times

RevisionPlainWith SentryDiff
a511abb+dirty376.44 ms431.64 ms55.20 ms
7b29327+dirty385.52 ms414.71 ms29.19 ms
068e9ea+dirty363.19 ms396.49 ms33.30 ms
4d01eeb+dirty380.79 ms405.19 ms24.40 ms
c77702e+dirty448.96 ms498.94 ms49.98 ms

App size

RevisionPlainWith SentryDiff
a511abb+dirty7.15 MiB8.38 MiB1.23 MiB
7b29327+dirty7.15 MiB8.38 MiB1.23 MiB
068e9ea+dirty7.15 MiB8.38 MiB1.23 MiB
4d01eeb+dirty7.15 MiB8.38 MiB1.23 MiB
c77702e+dirty7.15 MiB8.38 MiB1.23 MiB

@github-actions

github-actionsBot commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

iOS (new) Performance metrics 🚀

PlainWith SentryDiff
Startup time1233.19 ms1236.17 ms2.98 ms
Size2.92 MiB3.69 MiB791.84 KiB

Baseline results on branch: antonis/3859-newCaptureFeedbackAPI-Form

Startup times

RevisionPlainWith SentryDiff
50c70c0+dirty1226.61 ms1225.02 ms-1.59 ms
e0624b6+dirty1229.19 ms1232.18 ms3.00 ms
d33790a+dirty1247.14 ms1242.86 ms-4.28 ms
a06f6ba+dirty1235.31 ms1238.76 ms3.45 ms
27e1bf3+dirty1245.78 ms1244.38 ms-1.40 ms
f4a5053+dirty1233.04 ms1240.02 ms6.98 ms
03c9048+dirty1231.52 ms1225.96 ms-5.56 ms
561640f+dirty1237.10 ms1229.59 ms-7.51 ms
26fc306+dirty1229.10 ms1227.88 ms-1.22 ms
1dd8d17+dirty1229.28 ms1224.92 ms-4.36 ms

App size

RevisionPlainWith SentryDiff
50c70c0+dirty2.92 MiB3.67 MiB773.48 KiB
e0624b6+dirty2.92 MiB3.67 MiB773.62 KiB
d33790a+dirty2.92 MiB3.67 MiB773.59 KiB
a06f6ba+dirty2.92 MiB3.67 MiB773.87 KiB
27e1bf3+dirty2.92 MiB3.67 MiB773.54 KiB
f4a5053+dirty2.92 MiB3.67 MiB774.18 KiB
03c9048+dirty2.92 MiB3.67 MiB774.29 KiB
561640f+dirty2.92 MiB3.67 MiB773.72 KiB
26fc306+dirty2.92 MiB3.67 MiB773.77 KiB
1dd8d17+dirty2.92 MiB3.67 MiB774.21 KiB

Previous results on branch: antonis/4358-Feedback-Form-Autoinject

Startup times

RevisionPlainWith SentryDiff
a511abb+dirty1243.58 ms1239.15 ms-4.44 ms
c77702e+dirty1242.35 ms1237.87 ms-4.48 ms
068e9ea+dirty1224.21 ms1225.36 ms1.15 ms
7b29327+dirty1243.00 ms1239.72 ms-3.28 ms
4d01eeb+dirty1248.58 ms1247.53 ms-1.05 ms

App size

RevisionPlainWith SentryDiff
a511abb+dirty2.92 MiB3.67 MiB773.59 KiB
c77702e+dirty2.92 MiB3.67 MiB774.34 KiB
068e9ea+dirty2.92 MiB3.67 MiB773.56 KiB
7b29327+dirty2.92 MiB3.67 MiB774.45 KiB
4d01eeb+dirty2.92 MiB3.67 MiB773.74 KiB

@antonisantonis linked an issue Dec 13, 2024 that may be closed by this pull request
…358-Feedback-Form-Autoinject
# Conflicts:
#	CHANGELOG.md
@krystofwoldrichkrystofwoldrich changed the title Auto-inject feedback widget(2.3) Auto-inject feedback widgetDec 13, 2024
…358-Feedback-Form-Autoinject
# Conflicts:
#	packages/core/src/js/feedback/FeedbackForm.tsx
@antonisantonis mentioned this pull request Dec 16, 2024
10 tasks
…358-Feedback-Form-Autoinject
# Conflicts:
#	packages/core/src/js/feedback/FeedbackForm.tsx

@lucas-zimermanlucas-zimerman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM!

@antonis
antonis merged commit da0e3ea into antonis/3859-newCaptureFeedbackAPI-FormDec 19, 2024
@antonis
antonis deleted the antonis/4358-Feedback-Form-Autoinject branch December 19, 2024 08:29
antonis added a commit that referenced this pull request Jan 10, 2025
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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* Autoinject feedback form (#4370)
* Align changelog entry
* Update changelog
* Revert "Autoinject feedback form (#4370)"
This reverts commit da0e3ea.
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Add default value in doc comment
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* Add a more clear doc comment
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* (2.2) feat: Add Feedback Form UI Branding logo (#4357)
* Adds sentry branding logo as a base64 encoded png
---------
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Apr 7, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Adds missing semicolon in test
* Adds feedback button in expo app
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Apr 14, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Adds system theme tests
* Test dynamically changed theme
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Apr 14, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Show screenshot button UI
* Add screenshot button integration
* Add screenshot icon
* Adds Take a screenshot button in FeedbackWidget
* Updates snapshot tests
* Fix circularDepCheck
* Fix circularDepCheck
* Attache captured screenshot
* Hide the take screenshot button when there is a screenshot
* Convert uint8Array to Base64 on the native side
* Adds snapshot tests
* Disable functionality on the Web
* Add screenshot button in the sample expo app
* Adds system theme tests
* Test dynamically changed theme
* Remove showScreenshotButton and hideScreenshotButton from the exposed api
* Fix function name typo
* Adds enableTakeScreenshot option
* Adds happy flow test
* Make flow tests more granular
* Increate wait time out to fix flakiness on ci
* Reset widget state after each test
* Fix CI flakiness
* Remove flaky test
* Delay capture to allow the button to hide
* Add comment explaining the reasoning of the call
* Define defaultProps in smaller scope
* Define customStyles in smaller scope
* Also check remove screenshot button
* Fixes the name and double negation not null
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Apr 14, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Show screenshot button UI
* Add screenshot button integration
* Add screenshot icon
* Adds Take a screenshot button in FeedbackWidget
* Updates snapshot tests
* Fix circularDepCheck
* Fix circularDepCheck
* Attache captured screenshot
* Hide the take screenshot button when there is a screenshot
* Convert uint8Array to Base64 on the native side
* ref(feedback): Extracts FeedbackWidgetProvider in a separate file
* Updates exposed comments
* Adds snapshot tests
* Disable functionality on the Web
* Add screenshot button in the sample expo app
* Adds system theme tests
* Test dynamically changed theme
* Remove showScreenshotButton and hideScreenshotButton from the exposed api
* Fix function name typo
* Adds enableTakeScreenshot option
* Adds happy flow test
* Make flow tests more granular
* Increate wait time out to fix flakiness on ci
* Reset widget state after each test
* Fix CI flakiness
* Remove flaky test
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Apr 14, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Show screenshot button UI
* Add screenshot button integration
* Add screenshot icon
* Adds Take a screenshot button in FeedbackWidget
* Updates snapshot tests
* Fix circularDepCheck
* Fix circularDepCheck
* Attache captured screenshot
* Hide the take screenshot button when there is a screenshot
* Convert uint8Array to Base64 on the native side
* ref(feedback): Extracts FeedbackWidgetProvider in a separate file
* Updates exposed comments
* Adds snapshot tests
* Disable functionality on the Web
* Add screenshot button in the sample expo app
* Adds system theme tests
* Test dynamically changed theme
* Remove showScreenshotButton and hideScreenshotButton from the exposed api
* Fix function name typo
* Adds enableTakeScreenshot option
* Adds happy flow test
* Make flow tests more granular
* Increate wait time out to fix flakiness on ci
* Reset widget state after each test
* Fix CI flakiness
* Remove flaky test
* fix(feedback): Fixes accessibility issue on iOS
* Add changelog
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request May 9, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add test ids in feedback widget
* Add feedback widget button in test app
* WIP: Add feedback test
* Update snapshot tests with the added test ids
* Android happy path test
* Check field validation
* Scroll if button is not visible
* Adds accessibility labels
* Remove extended initial checks due to flakiness
* Revert "Remove extended initial checks due to flakiness"
This reverts commit fa3bdfc.
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Show screenshot button UI
* Add screenshot button integration
* Add screenshot icon
* Adds Take a screenshot button in FeedbackWidget
* Updates snapshot tests
* Fix circularDepCheck
* Fix circularDepCheck
* Attache captured screenshot
* Hide the take screenshot button when there is a screenshot
* Convert uint8Array to Base64 on the native side
* ref(feedback): Extracts FeedbackWidgetProvider in a separate file
* Updates exposed comments
* Adds snapshot tests
* Disable functionality on the Web
* Add screenshot button in the sample expo app
* Adds system theme tests
* Test dynamically changed theme
* Remove showScreenshotButton and hideScreenshotButton from the exposed api
* Fix function name typo
* Adds enableTakeScreenshot option
* Adds happy flow test
* Make flow tests more granular
* Increate wait time out to fix flakiness on ci
* Reset widget state after each test
* Fix CI flakiness
* Remove flaky test
* fix(feedback): Fixes accessibility issue on iOS
* Add changelog
* Properly wrap root app component
* Handle undefined AppRegistryIntegration.onRunApplication gracefully
* Fix lint issue
* Do not validate all fields for visibility
* Take screenshots for debugging
* Revert "Take screenshots for debugging"
This reverts commit 3e361a1.
* Simplify test scenario
* Try without hiding the keyboard
* Test Feedback button
* Test screenshot capture
* Show an error if screenshot capture fails
* Test error flow
* Revert unneeded change
* Test with latest Maestro
* Revert "Test with latest Maestro"
This reverts commit e7c31bf.
* Revert "Test screenshot capture"
This reverts commit 8913ffc.
* Skip for 0.65.3
* Remove version check
* Use testId for feedback button
* Skip for 0.65.3
* Update snapshots
* Cleanup testIds and accessibility labels
* Enable for all RN versions
* Temp: remove modal supported check
* Do not use native driver for backgroundOpacity animation
* Revert "Temp: remove modal supported check"
This reverts commit e20aff2.
* Do not use native driver for backgroundOpacity animation
* Use text instead of test ids
* Separate iOS and Android tests
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Jun 20, 2025
…4795)
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add test ids in feedback widget
* Add feedback widget button in test app
* WIP: Add feedback test
* Update snapshot tests with the added test ids
* Android happy path test
* Check field validation
* Scroll if button is not visible
* Adds accessibility labels
* Remove extended initial checks due to flakiness
* Revert "Remove extended initial checks due to flakiness"
This reverts commit fa3bdfc.
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Show screenshot button UI
* Add screenshot button integration
* Add screenshot icon
* Adds Take a screenshot button in FeedbackWidget
* Updates snapshot tests
* Fix circularDepCheck
* Fix circularDepCheck
* Attache captured screenshot
* Hide the take screenshot button when there is a screenshot
* Convert uint8Array to Base64 on the native side
* ref(feedback): Extracts FeedbackWidgetProvider in a separate file
* Updates exposed comments
* Adds snapshot tests
* Disable functionality on the Web
* Add screenshot button in the sample expo app
* Adds system theme tests
* Test dynamically changed theme
* Remove showScreenshotButton and hideScreenshotButton from the exposed api
* Fix function name typo
* Adds enableTakeScreenshot option
* Adds happy flow test
* Make flow tests more granular
* Increate wait time out to fix flakiness on ci
* Reset widget state after each test
* Fix CI flakiness
* Remove flaky test
* fix(feedback): Fixes accessibility issue on iOS
* Add changelog
* Properly wrap root app component
* Handle undefined AppRegistryIntegration.onRunApplication gracefully
* Fix lint issue
* Do not validate all fields for visibility
* Take screenshots for debugging
* Revert "Take screenshots for debugging"
This reverts commit 3e361a1.
* Simplify test scenario
* Try without hiding the keyboard
* Test Feedback button
* Test screenshot capture
* Show an error if screenshot capture fails
* Test error flow
* Revert unneeded change
* Test with latest Maestro
* Revert "Test with latest Maestro"
This reverts commit e7c31bf.
* Revert "Test screenshot capture"
This reverts commit 8913ffc.
* Skip for 0.65.3
* Remove version check
* Use testId for feedback button
* Skip for 0.65.3
* Update snapshots
* Cleanup testIds and accessibility labels
* Enable for all RN versions
* Temp: remove modal supported check
* Do not use native driver for backgroundOpacity animation
* Revert "Temp: remove modal supported check"
This reverts commit e20aff2.
* Do not use native driver for backgroundOpacity animation
* Use text instead of test ids
* Separate iOS and Android tests
* test(e2e): Adds Feedback Widget Capture Screenshot Maestro E2E tests
* Update test snapshots
* Hide keyboard by tapping on the sentry logo
* Tap on the title to hide the keyboard on Android
* Tap on email label to hide the keyboard on Android
* Wait for the screen to become visible after the screenshot capture
* Extend wait timeout after taking the screenshot
* increase timeout
* Revert "increase timeout"
This reverts commit 7865f32.
* Revert "Extend wait timeout after taking the screenshot"
This reverts commit 80dea08.
* Tweak the emulator
* Revert "Tweak the emulator"
This reverts commit ff8458c.
* Try Google API emulator
---------
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Sign up for freeto 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.

Autoinject feedback widget

2 participants

@antonis@lucas-zimerman
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

(2.3) Auto-inject feedback widget - #4370

Merged
antonis merged 6 commits into
antonis/3859-newCaptureFeedbackAPI-Formfrom
antonis/4358-Feedback-Form-Autoinject
Dec 19, 2024
Merged

(2.3) Auto-inject feedback widget#4370
antonis merged 6 commits into
antonis/3859-newCaptureFeedbackAPI-Formfrom
antonis/4358-Feedback-Form-Autoinject

Conversation

@antonis

@antonisantonis commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

📢 Type of change

  • Bugfix
  • New feature
  • Enhancement
  • Refactoring

📜 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

  • 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

@antonisantonis mentioned this pull request Dec 13, 2024
10 tasks
@antonis
antonis marked this pull request as ready for review December 13, 2024 12:33
@github-actions

github-actionsBot commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

Android (legacy) Performance metrics 🚀

PlainWith SentryDiff
Startup time446.77 ms446.50 ms-0.27 ms
Size17.74 MiB20.10 MiB2.37 MiB

Baseline results on branch: antonis/3859-newCaptureFeedbackAPI-Form

Startup times

RevisionPlainWith SentryDiff
03c9048500.96 ms486.65 ms-14.31 ms
561640f461.96 ms458.11 ms-3.85 ms
a3ba405438.16 ms435.78 ms-2.38 ms
50c70c0496.82 ms526.02 ms29.20 ms
cadf235462.20 ms463.34 ms1.14 ms
f4a5053478.22 ms458.35 ms-19.87 ms
1dd8d17399.65 ms393.81 ms-5.84 ms
a06f6ba424.02 ms415.82 ms-8.20 ms
0781f75452.32 ms457.22 ms4.91 ms
e0624b6447.67 ms441.08 ms-6.59 ms

App size

RevisionPlainWith SentryDiff
03c904817.74 MiB20.10 MiB2.37 MiB
561640f17.74 MiB20.09 MiB2.35 MiB
a3ba40517.74 MiB20.09 MiB2.35 MiB
50c70c017.74 MiB20.10 MiB2.36 MiB
cadf23517.74 MiB20.09 MiB2.35 MiB
f4a505317.74 MiB20.10 MiB2.36 MiB
1dd8d1717.74 MiB20.10 MiB2.36 MiB
a06f6ba17.74 MiB20.09 MiB2.35 MiB
0781f7517.74 MiB20.09 MiB2.35 MiB
e0624b617.74 MiB20.10 MiB2.36 MiB

Previous results on branch: antonis/4358-Feedback-Form-Autoinject

Startup times

RevisionPlainWith SentryDiff
4d01eeb478.06 ms464.21 ms-13.85 ms
a511abb442.88 ms434.45 ms-8.43 ms
068e9ea363.11 ms362.36 ms-0.75 ms
c77702e464.66 ms496.83 ms32.17 ms

App size

RevisionPlainWith SentryDiff
4d01eeb17.74 MiB20.10 MiB2.36 MiB
a511abb17.74 MiB20.10 MiB2.36 MiB
068e9ea17.74 MiB20.10 MiB2.36 MiB
c77702e17.74 MiB20.10 MiB2.37 MiB

@github-actions

github-actionsBot commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

iOS (legacy) Performance metrics 🚀

PlainWith SentryDiff
Startup time1235.45 ms1233.39 ms-2.06 ms
Size2.36 MiB3.13 MiB780.47 KiB

Baseline results on branch: antonis/3859-newCaptureFeedbackAPI-Form

Startup times

RevisionPlainWith SentryDiff
50c70c0+dirty1228.06 ms1224.43 ms-3.64 ms
e0624b6+dirty1221.86 ms1226.42 ms4.57 ms
d33790a+dirty1234.19 ms1231.76 ms-2.43 ms
a06f6ba+dirty1230.45 ms1227.09 ms-3.36 ms
27e1bf3+dirty1230.92 ms1232.33 ms1.41 ms
f4a5053+dirty1225.32 ms1231.47 ms6.15 ms
03c9048+dirty1235.37 ms1238.15 ms2.77 ms
561640f+dirty1220.45 ms1227.02 ms6.57 ms
26fc306+dirty1227.25 ms1225.85 ms-1.40 ms
1dd8d17+dirty1235.22 ms1218.96 ms-16.27 ms

App size

RevisionPlainWith SentryDiff
50c70c0+dirty2.36 MiB3.11 MiB760.92 KiB
e0624b6+dirty2.36 MiB3.11 MiB761.16 KiB
d33790a+dirty2.36 MiB3.11 MiB761.06 KiB
a06f6ba+dirty2.36 MiB3.11 MiB761.35 KiB
27e1bf3+dirty2.36 MiB3.11 MiB761.03 KiB
f4a5053+dirty2.36 MiB3.11 MiB761.72 KiB
03c9048+dirty2.36 MiB3.11 MiB761.74 KiB
561640f+dirty2.36 MiB3.11 MiB761.19 KiB
26fc306+dirty2.36 MiB3.11 MiB761.18 KiB
1dd8d17+dirty2.36 MiB3.11 MiB761.66 KiB

Previous results on branch: antonis/4358-Feedback-Form-Autoinject

Startup times

RevisionPlainWith SentryDiff
a511abb+dirty1223.38 ms1225.08 ms1.71 ms
c77702e+dirty1231.92 ms1238.51 ms6.59 ms
068e9ea+dirty1240.31 ms1234.70 ms-5.62 ms
7b29327+dirty1225.31 ms1232.80 ms7.49 ms
4d01eeb+dirty1216.09 ms1223.06 ms6.97 ms

App size

RevisionPlainWith SentryDiff
a511abb+dirty2.36 MiB3.11 MiB761.04 KiB
c77702e+dirty2.36 MiB3.11 MiB761.68 KiB
068e9ea+dirty2.36 MiB3.11 MiB761.04 KiB
7b29327+dirty2.36 MiB3.11 MiB761.82 KiB
4d01eeb+dirty2.36 MiB3.11 MiB761.17 KiB

@github-actions

github-actionsBot commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

Android (new) Performance metrics 🚀

PlainWith SentryDiff
Startup time421.35 ms452.11 ms30.75 ms
Size7.15 MiB8.38 MiB1.23 MiB

Baseline results on branch: antonis/3859-newCaptureFeedbackAPI-Form

Startup times

RevisionPlainWith SentryDiff
a06f6ba+dirty381.50 ms429.77 ms48.27 ms
1dd8d17+dirty383.20 ms432.62 ms49.41 ms
d33790a+dirty404.87 ms473.06 ms68.19 ms
a3ba405+dirty359.67 ms436.86 ms77.19 ms
0781f75+dirty406.72 ms454.80 ms48.08 ms
f4a5053+dirty391.02 ms427.04 ms36.02 ms
03c9048+dirty397.35 ms417.73 ms20.37 ms
50c70c0+dirty385.30 ms433.06 ms47.76 ms
cadf235+dirty455.51 ms451.64 ms-3.87 ms
27e1bf3+dirty398.69 ms439.39 ms40.69 ms

App size

RevisionPlainWith SentryDiff
a06f6ba+dirty7.15 MiB8.37 MiB1.22 MiB
1dd8d17+dirty7.15 MiB8.38 MiB1.23 MiB
d33790a+dirty7.15 MiB8.38 MiB1.23 MiB
a3ba405+dirty7.15 MiB8.37 MiB1.22 MiB
0781f75+dirty7.15 MiB8.37 MiB1.22 MiB
f4a5053+dirty7.15 MiB8.38 MiB1.23 MiB
03c9048+dirty7.15 MiB8.38 MiB1.23 MiB
50c70c0+dirty7.15 MiB8.38 MiB1.23 MiB
cadf235+dirty7.15 MiB8.37 MiB1.22 MiB
27e1bf3+dirty7.15 MiB8.37 MiB1.22 MiB

Previous results on branch: antonis/4358-Feedback-Form-Autoinject

Startup times

RevisionPlainWith SentryDiff
a511abb+dirty376.44 ms431.64 ms55.20 ms
7b29327+dirty385.52 ms414.71 ms29.19 ms
068e9ea+dirty363.19 ms396.49 ms33.30 ms
4d01eeb+dirty380.79 ms405.19 ms24.40 ms
c77702e+dirty448.96 ms498.94 ms49.98 ms

App size

RevisionPlainWith SentryDiff
a511abb+dirty7.15 MiB8.38 MiB1.23 MiB
7b29327+dirty7.15 MiB8.38 MiB1.23 MiB
068e9ea+dirty7.15 MiB8.38 MiB1.23 MiB
4d01eeb+dirty7.15 MiB8.38 MiB1.23 MiB
c77702e+dirty7.15 MiB8.38 MiB1.23 MiB

@github-actions

github-actionsBot commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

iOS (new) Performance metrics 🚀

PlainWith SentryDiff
Startup time1233.19 ms1236.17 ms2.98 ms
Size2.92 MiB3.69 MiB791.84 KiB

Baseline results on branch: antonis/3859-newCaptureFeedbackAPI-Form

Startup times

RevisionPlainWith SentryDiff
50c70c0+dirty1226.61 ms1225.02 ms-1.59 ms
e0624b6+dirty1229.19 ms1232.18 ms3.00 ms
d33790a+dirty1247.14 ms1242.86 ms-4.28 ms
a06f6ba+dirty1235.31 ms1238.76 ms3.45 ms
27e1bf3+dirty1245.78 ms1244.38 ms-1.40 ms
f4a5053+dirty1233.04 ms1240.02 ms6.98 ms
03c9048+dirty1231.52 ms1225.96 ms-5.56 ms
561640f+dirty1237.10 ms1229.59 ms-7.51 ms
26fc306+dirty1229.10 ms1227.88 ms-1.22 ms
1dd8d17+dirty1229.28 ms1224.92 ms-4.36 ms

App size

RevisionPlainWith SentryDiff
50c70c0+dirty2.92 MiB3.67 MiB773.48 KiB
e0624b6+dirty2.92 MiB3.67 MiB773.62 KiB
d33790a+dirty2.92 MiB3.67 MiB773.59 KiB
a06f6ba+dirty2.92 MiB3.67 MiB773.87 KiB
27e1bf3+dirty2.92 MiB3.67 MiB773.54 KiB
f4a5053+dirty2.92 MiB3.67 MiB774.18 KiB
03c9048+dirty2.92 MiB3.67 MiB774.29 KiB
561640f+dirty2.92 MiB3.67 MiB773.72 KiB
26fc306+dirty2.92 MiB3.67 MiB773.77 KiB
1dd8d17+dirty2.92 MiB3.67 MiB774.21 KiB

Previous results on branch: antonis/4358-Feedback-Form-Autoinject

Startup times

RevisionPlainWith SentryDiff
a511abb+dirty1243.58 ms1239.15 ms-4.44 ms
c77702e+dirty1242.35 ms1237.87 ms-4.48 ms
068e9ea+dirty1224.21 ms1225.36 ms1.15 ms
7b29327+dirty1243.00 ms1239.72 ms-3.28 ms
4d01eeb+dirty1248.58 ms1247.53 ms-1.05 ms

App size

RevisionPlainWith SentryDiff
a511abb+dirty2.92 MiB3.67 MiB773.59 KiB
c77702e+dirty2.92 MiB3.67 MiB774.34 KiB
068e9ea+dirty2.92 MiB3.67 MiB773.56 KiB
7b29327+dirty2.92 MiB3.67 MiB774.45 KiB
4d01eeb+dirty2.92 MiB3.67 MiB773.74 KiB

@antonisantonis linked an issue Dec 13, 2024 that may be closed by this pull request
…358-Feedback-Form-Autoinject
# Conflicts:
#	CHANGELOG.md
@krystofwoldrichkrystofwoldrich changed the title Auto-inject feedback widget(2.3) Auto-inject feedback widgetDec 13, 2024
…358-Feedback-Form-Autoinject
# Conflicts:
#	packages/core/src/js/feedback/FeedbackForm.tsx
@antonisantonis mentioned this pull request Dec 16, 2024
10 tasks
…358-Feedback-Form-Autoinject
# Conflicts:
#	packages/core/src/js/feedback/FeedbackForm.tsx

@lucas-zimermanlucas-zimerman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM!

@antonis
antonis merged commit da0e3ea into antonis/3859-newCaptureFeedbackAPI-FormDec 19, 2024
@antonis
antonis deleted the antonis/4358-Feedback-Form-Autoinject branch December 19, 2024 08:29
antonis added a commit that referenced this pull request Jan 10, 2025
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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* Autoinject feedback form (#4370)
* Align changelog entry
* Update changelog
* Revert "Autoinject feedback form (#4370)"
This reverts commit da0e3ea.
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Add default value in doc comment
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* Add a more clear doc comment
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* (2.2) feat: Add Feedback Form UI Branding logo (#4357)
* Adds sentry branding logo as a base64 encoded png
---------
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Apr 7, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Adds missing semicolon in test
* Adds feedback button in expo app
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Apr 14, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Adds system theme tests
* Test dynamically changed theme
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Apr 14, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Show screenshot button UI
* Add screenshot button integration
* Add screenshot icon
* Adds Take a screenshot button in FeedbackWidget
* Updates snapshot tests
* Fix circularDepCheck
* Fix circularDepCheck
* Attache captured screenshot
* Hide the take screenshot button when there is a screenshot
* Convert uint8Array to Base64 on the native side
* Adds snapshot tests
* Disable functionality on the Web
* Add screenshot button in the sample expo app
* Adds system theme tests
* Test dynamically changed theme
* Remove showScreenshotButton and hideScreenshotButton from the exposed api
* Fix function name typo
* Adds enableTakeScreenshot option
* Adds happy flow test
* Make flow tests more granular
* Increate wait time out to fix flakiness on ci
* Reset widget state after each test
* Fix CI flakiness
* Remove flaky test
* Delay capture to allow the button to hide
* Add comment explaining the reasoning of the call
* Define defaultProps in smaller scope
* Define customStyles in smaller scope
* Also check remove screenshot button
* Fixes the name and double negation not null
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Apr 14, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Show screenshot button UI
* Add screenshot button integration
* Add screenshot icon
* Adds Take a screenshot button in FeedbackWidget
* Updates snapshot tests
* Fix circularDepCheck
* Fix circularDepCheck
* Attache captured screenshot
* Hide the take screenshot button when there is a screenshot
* Convert uint8Array to Base64 on the native side
* ref(feedback): Extracts FeedbackWidgetProvider in a separate file
* Updates exposed comments
* Adds snapshot tests
* Disable functionality on the Web
* Add screenshot button in the sample expo app
* Adds system theme tests
* Test dynamically changed theme
* Remove showScreenshotButton and hideScreenshotButton from the exposed api
* Fix function name typo
* Adds enableTakeScreenshot option
* Adds happy flow test
* Make flow tests more granular
* Increate wait time out to fix flakiness on ci
* Reset widget state after each test
* Fix CI flakiness
* Remove flaky test
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Apr 14, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Show screenshot button UI
* Add screenshot button integration
* Add screenshot icon
* Adds Take a screenshot button in FeedbackWidget
* Updates snapshot tests
* Fix circularDepCheck
* Fix circularDepCheck
* Attache captured screenshot
* Hide the take screenshot button when there is a screenshot
* Convert uint8Array to Base64 on the native side
* ref(feedback): Extracts FeedbackWidgetProvider in a separate file
* Updates exposed comments
* Adds snapshot tests
* Disable functionality on the Web
* Add screenshot button in the sample expo app
* Adds system theme tests
* Test dynamically changed theme
* Remove showScreenshotButton and hideScreenshotButton from the exposed api
* Fix function name typo
* Adds enableTakeScreenshot option
* Adds happy flow test
* Make flow tests more granular
* Increate wait time out to fix flakiness on ci
* Reset widget state after each test
* Fix CI flakiness
* Remove flaky test
* fix(feedback): Fixes accessibility issue on iOS
* Add changelog
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request May 9, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add test ids in feedback widget
* Add feedback widget button in test app
* WIP: Add feedback test
* Update snapshot tests with the added test ids
* Android happy path test
* Check field validation
* Scroll if button is not visible
* Adds accessibility labels
* Remove extended initial checks due to flakiness
* Revert "Remove extended initial checks due to flakiness"
This reverts commit fa3bdfc.
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Show screenshot button UI
* Add screenshot button integration
* Add screenshot icon
* Adds Take a screenshot button in FeedbackWidget
* Updates snapshot tests
* Fix circularDepCheck
* Fix circularDepCheck
* Attache captured screenshot
* Hide the take screenshot button when there is a screenshot
* Convert uint8Array to Base64 on the native side
* ref(feedback): Extracts FeedbackWidgetProvider in a separate file
* Updates exposed comments
* Adds snapshot tests
* Disable functionality on the Web
* Add screenshot button in the sample expo app
* Adds system theme tests
* Test dynamically changed theme
* Remove showScreenshotButton and hideScreenshotButton from the exposed api
* Fix function name typo
* Adds enableTakeScreenshot option
* Adds happy flow test
* Make flow tests more granular
* Increate wait time out to fix flakiness on ci
* Reset widget state after each test
* Fix CI flakiness
* Remove flaky test
* fix(feedback): Fixes accessibility issue on iOS
* Add changelog
* Properly wrap root app component
* Handle undefined AppRegistryIntegration.onRunApplication gracefully
* Fix lint issue
* Do not validate all fields for visibility
* Take screenshots for debugging
* Revert "Take screenshots for debugging"
This reverts commit 3e361a1.
* Simplify test scenario
* Try without hiding the keyboard
* Test Feedback button
* Test screenshot capture
* Show an error if screenshot capture fails
* Test error flow
* Revert unneeded change
* Test with latest Maestro
* Revert "Test with latest Maestro"
This reverts commit e7c31bf.
* Revert "Test screenshot capture"
This reverts commit 8913ffc.
* Skip for 0.65.3
* Remove version check
* Use testId for feedback button
* Skip for 0.65.3
* Update snapshots
* Cleanup testIds and accessibility labels
* Enable for all RN versions
* Temp: remove modal supported check
* Do not use native driver for backgroundOpacity animation
* Revert "Temp: remove modal supported check"
This reverts commit e20aff2.
* Do not use native driver for backgroundOpacity animation
* Use text instead of test ids
* Separate iOS and Android tests
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Jun 20, 2025
…4795)
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add test ids in feedback widget
* Add feedback widget button in test app
* WIP: Add feedback test
* Update snapshot tests with the added test ids
* Android happy path test
* Check field validation
* Scroll if button is not visible
* Adds accessibility labels
* Remove extended initial checks due to flakiness
* Revert "Remove extended initial checks due to flakiness"
This reverts commit fa3bdfc.
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Show screenshot button UI
* Add screenshot button integration
* Add screenshot icon
* Adds Take a screenshot button in FeedbackWidget
* Updates snapshot tests
* Fix circularDepCheck
* Fix circularDepCheck
* Attache captured screenshot
* Hide the take screenshot button when there is a screenshot
* Convert uint8Array to Base64 on the native side
* ref(feedback): Extracts FeedbackWidgetProvider in a separate file
* Updates exposed comments
* Adds snapshot tests
* Disable functionality on the Web
* Add screenshot button in the sample expo app
* Adds system theme tests
* Test dynamically changed theme
* Remove showScreenshotButton and hideScreenshotButton from the exposed api
* Fix function name typo
* Adds enableTakeScreenshot option
* Adds happy flow test
* Make flow tests more granular
* Increate wait time out to fix flakiness on ci
* Reset widget state after each test
* Fix CI flakiness
* Remove flaky test
* fix(feedback): Fixes accessibility issue on iOS
* Add changelog
* Properly wrap root app component
* Handle undefined AppRegistryIntegration.onRunApplication gracefully
* Fix lint issue
* Do not validate all fields for visibility
* Take screenshots for debugging
* Revert "Take screenshots for debugging"
This reverts commit 3e361a1.
* Simplify test scenario
* Try without hiding the keyboard
* Test Feedback button
* Test screenshot capture
* Show an error if screenshot capture fails
* Test error flow
* Revert unneeded change
* Test with latest Maestro
* Revert "Test with latest Maestro"
This reverts commit e7c31bf.
* Revert "Test screenshot capture"
This reverts commit 8913ffc.
* Skip for 0.65.3
* Remove version check
* Use testId for feedback button
* Skip for 0.65.3
* Update snapshots
* Cleanup testIds and accessibility labels
* Enable for all RN versions
* Temp: remove modal supported check
* Do not use native driver for backgroundOpacity animation
* Revert "Temp: remove modal supported check"
This reverts commit e20aff2.
* Do not use native driver for backgroundOpacity animation
* Use text instead of test ids
* Separate iOS and Android tests
* test(e2e): Adds Feedback Widget Capture Screenshot Maestro E2E tests
* Update test snapshots
* Hide keyboard by tapping on the sentry logo
* Tap on the title to hide the keyboard on Android
* Tap on email label to hide the keyboard on Android
* Wait for the screen to become visible after the screenshot capture
* Extend wait timeout after taking the screenshot
* increase timeout
* Revert "increase timeout"
This reverts commit 7865f32.
* Revert "Extend wait timeout after taking the screenshot"
This reverts commit 80dea08.
* Tweak the emulator
* Revert "Tweak the emulator"
This reverts commit ff8458c.
* Try Google API emulator
---------
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Sign up for freeto 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.

Autoinject feedback widget

2 participants

@antonis@lucas-zimerman
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

(2.3) Auto-inject feedback widget - #4370

Merged
antonis merged 6 commits into
antonis/3859-newCaptureFeedbackAPI-Formfrom
antonis/4358-Feedback-Form-Autoinject
Dec 19, 2024
Merged

(2.3) Auto-inject feedback widget#4370
antonis merged 6 commits into
antonis/3859-newCaptureFeedbackAPI-Formfrom
antonis/4358-Feedback-Form-Autoinject

Conversation

@antonis

@antonisantonis commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

📢 Type of change

  • Bugfix
  • New feature
  • Enhancement
  • Refactoring

📜 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

  • 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

@antonisantonis mentioned this pull request Dec 13, 2024
10 tasks
@antonis
antonis marked this pull request as ready for review December 13, 2024 12:33
@github-actions

github-actionsBot commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

Android (legacy) Performance metrics 🚀

PlainWith SentryDiff
Startup time446.77 ms446.50 ms-0.27 ms
Size17.74 MiB20.10 MiB2.37 MiB

Baseline results on branch: antonis/3859-newCaptureFeedbackAPI-Form

Startup times

RevisionPlainWith SentryDiff
03c9048500.96 ms486.65 ms-14.31 ms
561640f461.96 ms458.11 ms-3.85 ms
a3ba405438.16 ms435.78 ms-2.38 ms
50c70c0496.82 ms526.02 ms29.20 ms
cadf235462.20 ms463.34 ms1.14 ms
f4a5053478.22 ms458.35 ms-19.87 ms
1dd8d17399.65 ms393.81 ms-5.84 ms
a06f6ba424.02 ms415.82 ms-8.20 ms
0781f75452.32 ms457.22 ms4.91 ms
e0624b6447.67 ms441.08 ms-6.59 ms

App size

RevisionPlainWith SentryDiff
03c904817.74 MiB20.10 MiB2.37 MiB
561640f17.74 MiB20.09 MiB2.35 MiB
a3ba40517.74 MiB20.09 MiB2.35 MiB
50c70c017.74 MiB20.10 MiB2.36 MiB
cadf23517.74 MiB20.09 MiB2.35 MiB
f4a505317.74 MiB20.10 MiB2.36 MiB
1dd8d1717.74 MiB20.10 MiB2.36 MiB
a06f6ba17.74 MiB20.09 MiB2.35 MiB
0781f7517.74 MiB20.09 MiB2.35 MiB
e0624b617.74 MiB20.10 MiB2.36 MiB

Previous results on branch: antonis/4358-Feedback-Form-Autoinject

Startup times

RevisionPlainWith SentryDiff
4d01eeb478.06 ms464.21 ms-13.85 ms
a511abb442.88 ms434.45 ms-8.43 ms
068e9ea363.11 ms362.36 ms-0.75 ms
c77702e464.66 ms496.83 ms32.17 ms

App size

RevisionPlainWith SentryDiff
4d01eeb17.74 MiB20.10 MiB2.36 MiB
a511abb17.74 MiB20.10 MiB2.36 MiB
068e9ea17.74 MiB20.10 MiB2.36 MiB
c77702e17.74 MiB20.10 MiB2.37 MiB

@github-actions

github-actionsBot commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

iOS (legacy) Performance metrics 🚀

PlainWith SentryDiff
Startup time1235.45 ms1233.39 ms-2.06 ms
Size2.36 MiB3.13 MiB780.47 KiB

Baseline results on branch: antonis/3859-newCaptureFeedbackAPI-Form

Startup times

RevisionPlainWith SentryDiff
50c70c0+dirty1228.06 ms1224.43 ms-3.64 ms
e0624b6+dirty1221.86 ms1226.42 ms4.57 ms
d33790a+dirty1234.19 ms1231.76 ms-2.43 ms
a06f6ba+dirty1230.45 ms1227.09 ms-3.36 ms
27e1bf3+dirty1230.92 ms1232.33 ms1.41 ms
f4a5053+dirty1225.32 ms1231.47 ms6.15 ms
03c9048+dirty1235.37 ms1238.15 ms2.77 ms
561640f+dirty1220.45 ms1227.02 ms6.57 ms
26fc306+dirty1227.25 ms1225.85 ms-1.40 ms
1dd8d17+dirty1235.22 ms1218.96 ms-16.27 ms

App size

RevisionPlainWith SentryDiff
50c70c0+dirty2.36 MiB3.11 MiB760.92 KiB
e0624b6+dirty2.36 MiB3.11 MiB761.16 KiB
d33790a+dirty2.36 MiB3.11 MiB761.06 KiB
a06f6ba+dirty2.36 MiB3.11 MiB761.35 KiB
27e1bf3+dirty2.36 MiB3.11 MiB761.03 KiB
f4a5053+dirty2.36 MiB3.11 MiB761.72 KiB
03c9048+dirty2.36 MiB3.11 MiB761.74 KiB
561640f+dirty2.36 MiB3.11 MiB761.19 KiB
26fc306+dirty2.36 MiB3.11 MiB761.18 KiB
1dd8d17+dirty2.36 MiB3.11 MiB761.66 KiB

Previous results on branch: antonis/4358-Feedback-Form-Autoinject

Startup times

RevisionPlainWith SentryDiff
a511abb+dirty1223.38 ms1225.08 ms1.71 ms
c77702e+dirty1231.92 ms1238.51 ms6.59 ms
068e9ea+dirty1240.31 ms1234.70 ms-5.62 ms
7b29327+dirty1225.31 ms1232.80 ms7.49 ms
4d01eeb+dirty1216.09 ms1223.06 ms6.97 ms

App size

RevisionPlainWith SentryDiff
a511abb+dirty2.36 MiB3.11 MiB761.04 KiB
c77702e+dirty2.36 MiB3.11 MiB761.68 KiB
068e9ea+dirty2.36 MiB3.11 MiB761.04 KiB
7b29327+dirty2.36 MiB3.11 MiB761.82 KiB
4d01eeb+dirty2.36 MiB3.11 MiB761.17 KiB

@github-actions

github-actionsBot commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

Android (new) Performance metrics 🚀

PlainWith SentryDiff
Startup time421.35 ms452.11 ms30.75 ms
Size7.15 MiB8.38 MiB1.23 MiB

Baseline results on branch: antonis/3859-newCaptureFeedbackAPI-Form

Startup times

RevisionPlainWith SentryDiff
a06f6ba+dirty381.50 ms429.77 ms48.27 ms
1dd8d17+dirty383.20 ms432.62 ms49.41 ms
d33790a+dirty404.87 ms473.06 ms68.19 ms
a3ba405+dirty359.67 ms436.86 ms77.19 ms
0781f75+dirty406.72 ms454.80 ms48.08 ms
f4a5053+dirty391.02 ms427.04 ms36.02 ms
03c9048+dirty397.35 ms417.73 ms20.37 ms
50c70c0+dirty385.30 ms433.06 ms47.76 ms
cadf235+dirty455.51 ms451.64 ms-3.87 ms
27e1bf3+dirty398.69 ms439.39 ms40.69 ms

App size

RevisionPlainWith SentryDiff
a06f6ba+dirty7.15 MiB8.37 MiB1.22 MiB
1dd8d17+dirty7.15 MiB8.38 MiB1.23 MiB
d33790a+dirty7.15 MiB8.38 MiB1.23 MiB
a3ba405+dirty7.15 MiB8.37 MiB1.22 MiB
0781f75+dirty7.15 MiB8.37 MiB1.22 MiB
f4a5053+dirty7.15 MiB8.38 MiB1.23 MiB
03c9048+dirty7.15 MiB8.38 MiB1.23 MiB
50c70c0+dirty7.15 MiB8.38 MiB1.23 MiB
cadf235+dirty7.15 MiB8.37 MiB1.22 MiB
27e1bf3+dirty7.15 MiB8.37 MiB1.22 MiB

Previous results on branch: antonis/4358-Feedback-Form-Autoinject

Startup times

RevisionPlainWith SentryDiff
a511abb+dirty376.44 ms431.64 ms55.20 ms
7b29327+dirty385.52 ms414.71 ms29.19 ms
068e9ea+dirty363.19 ms396.49 ms33.30 ms
4d01eeb+dirty380.79 ms405.19 ms24.40 ms
c77702e+dirty448.96 ms498.94 ms49.98 ms

App size

RevisionPlainWith SentryDiff
a511abb+dirty7.15 MiB8.38 MiB1.23 MiB
7b29327+dirty7.15 MiB8.38 MiB1.23 MiB
068e9ea+dirty7.15 MiB8.38 MiB1.23 MiB
4d01eeb+dirty7.15 MiB8.38 MiB1.23 MiB
c77702e+dirty7.15 MiB8.38 MiB1.23 MiB

@github-actions

github-actionsBot commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

iOS (new) Performance metrics 🚀

PlainWith SentryDiff
Startup time1233.19 ms1236.17 ms2.98 ms
Size2.92 MiB3.69 MiB791.84 KiB

Baseline results on branch: antonis/3859-newCaptureFeedbackAPI-Form

Startup times

RevisionPlainWith SentryDiff
50c70c0+dirty1226.61 ms1225.02 ms-1.59 ms
e0624b6+dirty1229.19 ms1232.18 ms3.00 ms
d33790a+dirty1247.14 ms1242.86 ms-4.28 ms
a06f6ba+dirty1235.31 ms1238.76 ms3.45 ms
27e1bf3+dirty1245.78 ms1244.38 ms-1.40 ms
f4a5053+dirty1233.04 ms1240.02 ms6.98 ms
03c9048+dirty1231.52 ms1225.96 ms-5.56 ms
561640f+dirty1237.10 ms1229.59 ms-7.51 ms
26fc306+dirty1229.10 ms1227.88 ms-1.22 ms
1dd8d17+dirty1229.28 ms1224.92 ms-4.36 ms

App size

RevisionPlainWith SentryDiff
50c70c0+dirty2.92 MiB3.67 MiB773.48 KiB
e0624b6+dirty2.92 MiB3.67 MiB773.62 KiB
d33790a+dirty2.92 MiB3.67 MiB773.59 KiB
a06f6ba+dirty2.92 MiB3.67 MiB773.87 KiB
27e1bf3+dirty2.92 MiB3.67 MiB773.54 KiB
f4a5053+dirty2.92 MiB3.67 MiB774.18 KiB
03c9048+dirty2.92 MiB3.67 MiB774.29 KiB
561640f+dirty2.92 MiB3.67 MiB773.72 KiB
26fc306+dirty2.92 MiB3.67 MiB773.77 KiB
1dd8d17+dirty2.92 MiB3.67 MiB774.21 KiB

Previous results on branch: antonis/4358-Feedback-Form-Autoinject

Startup times

RevisionPlainWith SentryDiff
a511abb+dirty1243.58 ms1239.15 ms-4.44 ms
c77702e+dirty1242.35 ms1237.87 ms-4.48 ms
068e9ea+dirty1224.21 ms1225.36 ms1.15 ms
7b29327+dirty1243.00 ms1239.72 ms-3.28 ms
4d01eeb+dirty1248.58 ms1247.53 ms-1.05 ms

App size

RevisionPlainWith SentryDiff
a511abb+dirty2.92 MiB3.67 MiB773.59 KiB
c77702e+dirty2.92 MiB3.67 MiB774.34 KiB
068e9ea+dirty2.92 MiB3.67 MiB773.56 KiB
7b29327+dirty2.92 MiB3.67 MiB774.45 KiB
4d01eeb+dirty2.92 MiB3.67 MiB773.74 KiB

@antonisantonis linked an issue Dec 13, 2024 that may be closed by this pull request
…358-Feedback-Form-Autoinject
# Conflicts:
#	CHANGELOG.md
@krystofwoldrichkrystofwoldrich changed the title Auto-inject feedback widget(2.3) Auto-inject feedback widgetDec 13, 2024
…358-Feedback-Form-Autoinject
# Conflicts:
#	packages/core/src/js/feedback/FeedbackForm.tsx
@antonisantonis mentioned this pull request Dec 16, 2024
10 tasks
…358-Feedback-Form-Autoinject
# Conflicts:
#	packages/core/src/js/feedback/FeedbackForm.tsx

@lucas-zimermanlucas-zimerman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM!

@antonis
antonis merged commit da0e3ea into antonis/3859-newCaptureFeedbackAPI-FormDec 19, 2024
@antonis
antonis deleted the antonis/4358-Feedback-Form-Autoinject branch December 19, 2024 08:29
antonis added a commit that referenced this pull request Jan 10, 2025
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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* Autoinject feedback form (#4370)
* Align changelog entry
* Update changelog
* Revert "Autoinject feedback form (#4370)"
This reverts commit da0e3ea.
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Add default value in doc comment
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* Add a more clear doc comment
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* (2.2) feat: Add Feedback Form UI Branding logo (#4357)
* Adds sentry branding logo as a base64 encoded png
---------
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Apr 7, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Adds missing semicolon in test
* Adds feedback button in expo app
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Apr 14, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Adds system theme tests
* Test dynamically changed theme
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Apr 14, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Show screenshot button UI
* Add screenshot button integration
* Add screenshot icon
* Adds Take a screenshot button in FeedbackWidget
* Updates snapshot tests
* Fix circularDepCheck
* Fix circularDepCheck
* Attache captured screenshot
* Hide the take screenshot button when there is a screenshot
* Convert uint8Array to Base64 on the native side
* Adds snapshot tests
* Disable functionality on the Web
* Add screenshot button in the sample expo app
* Adds system theme tests
* Test dynamically changed theme
* Remove showScreenshotButton and hideScreenshotButton from the exposed api
* Fix function name typo
* Adds enableTakeScreenshot option
* Adds happy flow test
* Make flow tests more granular
* Increate wait time out to fix flakiness on ci
* Reset widget state after each test
* Fix CI flakiness
* Remove flaky test
* Delay capture to allow the button to hide
* Add comment explaining the reasoning of the call
* Define defaultProps in smaller scope
* Define customStyles in smaller scope
* Also check remove screenshot button
* Fixes the name and double negation not null
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Apr 14, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Show screenshot button UI
* Add screenshot button integration
* Add screenshot icon
* Adds Take a screenshot button in FeedbackWidget
* Updates snapshot tests
* Fix circularDepCheck
* Fix circularDepCheck
* Attache captured screenshot
* Hide the take screenshot button when there is a screenshot
* Convert uint8Array to Base64 on the native side
* ref(feedback): Extracts FeedbackWidgetProvider in a separate file
* Updates exposed comments
* Adds snapshot tests
* Disable functionality on the Web
* Add screenshot button in the sample expo app
* Adds system theme tests
* Test dynamically changed theme
* Remove showScreenshotButton and hideScreenshotButton from the exposed api
* Fix function name typo
* Adds enableTakeScreenshot option
* Adds happy flow test
* Make flow tests more granular
* Increate wait time out to fix flakiness on ci
* Reset widget state after each test
* Fix CI flakiness
* Remove flaky test
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Apr 14, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Show screenshot button UI
* Add screenshot button integration
* Add screenshot icon
* Adds Take a screenshot button in FeedbackWidget
* Updates snapshot tests
* Fix circularDepCheck
* Fix circularDepCheck
* Attache captured screenshot
* Hide the take screenshot button when there is a screenshot
* Convert uint8Array to Base64 on the native side
* ref(feedback): Extracts FeedbackWidgetProvider in a separate file
* Updates exposed comments
* Adds snapshot tests
* Disable functionality on the Web
* Add screenshot button in the sample expo app
* Adds system theme tests
* Test dynamically changed theme
* Remove showScreenshotButton and hideScreenshotButton from the exposed api
* Fix function name typo
* Adds enableTakeScreenshot option
* Adds happy flow test
* Make flow tests more granular
* Increate wait time out to fix flakiness on ci
* Reset widget state after each test
* Fix CI flakiness
* Remove flaky test
* fix(feedback): Fixes accessibility issue on iOS
* Add changelog
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request May 9, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add test ids in feedback widget
* Add feedback widget button in test app
* WIP: Add feedback test
* Update snapshot tests with the added test ids
* Android happy path test
* Check field validation
* Scroll if button is not visible
* Adds accessibility labels
* Remove extended initial checks due to flakiness
* Revert "Remove extended initial checks due to flakiness"
This reverts commit fa3bdfc.
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Show screenshot button UI
* Add screenshot button integration
* Add screenshot icon
* Adds Take a screenshot button in FeedbackWidget
* Updates snapshot tests
* Fix circularDepCheck
* Fix circularDepCheck
* Attache captured screenshot
* Hide the take screenshot button when there is a screenshot
* Convert uint8Array to Base64 on the native side
* ref(feedback): Extracts FeedbackWidgetProvider in a separate file
* Updates exposed comments
* Adds snapshot tests
* Disable functionality on the Web
* Add screenshot button in the sample expo app
* Adds system theme tests
* Test dynamically changed theme
* Remove showScreenshotButton and hideScreenshotButton from the exposed api
* Fix function name typo
* Adds enableTakeScreenshot option
* Adds happy flow test
* Make flow tests more granular
* Increate wait time out to fix flakiness on ci
* Reset widget state after each test
* Fix CI flakiness
* Remove flaky test
* fix(feedback): Fixes accessibility issue on iOS
* Add changelog
* Properly wrap root app component
* Handle undefined AppRegistryIntegration.onRunApplication gracefully
* Fix lint issue
* Do not validate all fields for visibility
* Take screenshots for debugging
* Revert "Take screenshots for debugging"
This reverts commit 3e361a1.
* Simplify test scenario
* Try without hiding the keyboard
* Test Feedback button
* Test screenshot capture
* Show an error if screenshot capture fails
* Test error flow
* Revert unneeded change
* Test with latest Maestro
* Revert "Test with latest Maestro"
This reverts commit e7c31bf.
* Revert "Test screenshot capture"
This reverts commit 8913ffc.
* Skip for 0.65.3
* Remove version check
* Use testId for feedback button
* Skip for 0.65.3
* Update snapshots
* Cleanup testIds and accessibility labels
* Enable for all RN versions
* Temp: remove modal supported check
* Do not use native driver for backgroundOpacity animation
* Revert "Temp: remove modal supported check"
This reverts commit e20aff2.
* Do not use native driver for backgroundOpacity animation
* Use text instead of test ids
* Separate iOS and Android tests
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Jun 20, 2025
…4795)
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add test ids in feedback widget
* Add feedback widget button in test app
* WIP: Add feedback test
* Update snapshot tests with the added test ids
* Android happy path test
* Check field validation
* Scroll if button is not visible
* Adds accessibility labels
* Remove extended initial checks due to flakiness
* Revert "Remove extended initial checks due to flakiness"
This reverts commit fa3bdfc.
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Show screenshot button UI
* Add screenshot button integration
* Add screenshot icon
* Adds Take a screenshot button in FeedbackWidget
* Updates snapshot tests
* Fix circularDepCheck
* Fix circularDepCheck
* Attache captured screenshot
* Hide the take screenshot button when there is a screenshot
* Convert uint8Array to Base64 on the native side
* ref(feedback): Extracts FeedbackWidgetProvider in a separate file
* Updates exposed comments
* Adds snapshot tests
* Disable functionality on the Web
* Add screenshot button in the sample expo app
* Adds system theme tests
* Test dynamically changed theme
* Remove showScreenshotButton and hideScreenshotButton from the exposed api
* Fix function name typo
* Adds enableTakeScreenshot option
* Adds happy flow test
* Make flow tests more granular
* Increate wait time out to fix flakiness on ci
* Reset widget state after each test
* Fix CI flakiness
* Remove flaky test
* fix(feedback): Fixes accessibility issue on iOS
* Add changelog
* Properly wrap root app component
* Handle undefined AppRegistryIntegration.onRunApplication gracefully
* Fix lint issue
* Do not validate all fields for visibility
* Take screenshots for debugging
* Revert "Take screenshots for debugging"
This reverts commit 3e361a1.
* Simplify test scenario
* Try without hiding the keyboard
* Test Feedback button
* Test screenshot capture
* Show an error if screenshot capture fails
* Test error flow
* Revert unneeded change
* Test with latest Maestro
* Revert "Test with latest Maestro"
This reverts commit e7c31bf.
* Revert "Test screenshot capture"
This reverts commit 8913ffc.
* Skip for 0.65.3
* Remove version check
* Use testId for feedback button
* Skip for 0.65.3
* Update snapshots
* Cleanup testIds and accessibility labels
* Enable for all RN versions
* Temp: remove modal supported check
* Do not use native driver for backgroundOpacity animation
* Revert "Temp: remove modal supported check"
This reverts commit e20aff2.
* Do not use native driver for backgroundOpacity animation
* Use text instead of test ids
* Separate iOS and Android tests
* test(e2e): Adds Feedback Widget Capture Screenshot Maestro E2E tests
* Update test snapshots
* Hide keyboard by tapping on the sentry logo
* Tap on the title to hide the keyboard on Android
* Tap on email label to hide the keyboard on Android
* Wait for the screen to become visible after the screenshot capture
* Extend wait timeout after taking the screenshot
* increase timeout
* Revert "increase timeout"
This reverts commit 7865f32.
* Revert "Extend wait timeout after taking the screenshot"
This reverts commit 80dea08.
* Tweak the emulator
* Revert "Tweak the emulator"
This reverts commit ff8458c.
* Try Google API emulator
---------
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Sign up for freeto 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.

Autoinject feedback widget

2 participants

@antonis@lucas-zimerman
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

(2.3) Auto-inject feedback widget - #4370

Merged
antonis merged 6 commits into
antonis/3859-newCaptureFeedbackAPI-Formfrom
antonis/4358-Feedback-Form-Autoinject
Dec 19, 2024
Merged

(2.3) Auto-inject feedback widget#4370
antonis merged 6 commits into
antonis/3859-newCaptureFeedbackAPI-Formfrom
antonis/4358-Feedback-Form-Autoinject

Conversation

@antonis

@antonisantonis commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

📢 Type of change

  • Bugfix
  • New feature
  • Enhancement
  • Refactoring

📜 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

  • 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

@antonisantonis mentioned this pull request Dec 13, 2024
10 tasks
@antonis
antonis marked this pull request as ready for review December 13, 2024 12:33
@github-actions

github-actionsBot commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

Android (legacy) Performance metrics 🚀

PlainWith SentryDiff
Startup time446.77 ms446.50 ms-0.27 ms
Size17.74 MiB20.10 MiB2.37 MiB

Baseline results on branch: antonis/3859-newCaptureFeedbackAPI-Form

Startup times

RevisionPlainWith SentryDiff
03c9048500.96 ms486.65 ms-14.31 ms
561640f461.96 ms458.11 ms-3.85 ms
a3ba405438.16 ms435.78 ms-2.38 ms
50c70c0496.82 ms526.02 ms29.20 ms
cadf235462.20 ms463.34 ms1.14 ms
f4a5053478.22 ms458.35 ms-19.87 ms
1dd8d17399.65 ms393.81 ms-5.84 ms
a06f6ba424.02 ms415.82 ms-8.20 ms
0781f75452.32 ms457.22 ms4.91 ms
e0624b6447.67 ms441.08 ms-6.59 ms

App size

RevisionPlainWith SentryDiff
03c904817.74 MiB20.10 MiB2.37 MiB
561640f17.74 MiB20.09 MiB2.35 MiB
a3ba40517.74 MiB20.09 MiB2.35 MiB
50c70c017.74 MiB20.10 MiB2.36 MiB
cadf23517.74 MiB20.09 MiB2.35 MiB
f4a505317.74 MiB20.10 MiB2.36 MiB
1dd8d1717.74 MiB20.10 MiB2.36 MiB
a06f6ba17.74 MiB20.09 MiB2.35 MiB
0781f7517.74 MiB20.09 MiB2.35 MiB
e0624b617.74 MiB20.10 MiB2.36 MiB

Previous results on branch: antonis/4358-Feedback-Form-Autoinject

Startup times

RevisionPlainWith SentryDiff
4d01eeb478.06 ms464.21 ms-13.85 ms
a511abb442.88 ms434.45 ms-8.43 ms
068e9ea363.11 ms362.36 ms-0.75 ms
c77702e464.66 ms496.83 ms32.17 ms

App size

RevisionPlainWith SentryDiff
4d01eeb17.74 MiB20.10 MiB2.36 MiB
a511abb17.74 MiB20.10 MiB2.36 MiB
068e9ea17.74 MiB20.10 MiB2.36 MiB
c77702e17.74 MiB20.10 MiB2.37 MiB

@github-actions

github-actionsBot commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

iOS (legacy) Performance metrics 🚀

PlainWith SentryDiff
Startup time1235.45 ms1233.39 ms-2.06 ms
Size2.36 MiB3.13 MiB780.47 KiB

Baseline results on branch: antonis/3859-newCaptureFeedbackAPI-Form

Startup times

RevisionPlainWith SentryDiff
50c70c0+dirty1228.06 ms1224.43 ms-3.64 ms
e0624b6+dirty1221.86 ms1226.42 ms4.57 ms
d33790a+dirty1234.19 ms1231.76 ms-2.43 ms
a06f6ba+dirty1230.45 ms1227.09 ms-3.36 ms
27e1bf3+dirty1230.92 ms1232.33 ms1.41 ms
f4a5053+dirty1225.32 ms1231.47 ms6.15 ms
03c9048+dirty1235.37 ms1238.15 ms2.77 ms
561640f+dirty1220.45 ms1227.02 ms6.57 ms
26fc306+dirty1227.25 ms1225.85 ms-1.40 ms
1dd8d17+dirty1235.22 ms1218.96 ms-16.27 ms

App size

RevisionPlainWith SentryDiff
50c70c0+dirty2.36 MiB3.11 MiB760.92 KiB
e0624b6+dirty2.36 MiB3.11 MiB761.16 KiB
d33790a+dirty2.36 MiB3.11 MiB761.06 KiB
a06f6ba+dirty2.36 MiB3.11 MiB761.35 KiB
27e1bf3+dirty2.36 MiB3.11 MiB761.03 KiB
f4a5053+dirty2.36 MiB3.11 MiB761.72 KiB
03c9048+dirty2.36 MiB3.11 MiB761.74 KiB
561640f+dirty2.36 MiB3.11 MiB761.19 KiB
26fc306+dirty2.36 MiB3.11 MiB761.18 KiB
1dd8d17+dirty2.36 MiB3.11 MiB761.66 KiB

Previous results on branch: antonis/4358-Feedback-Form-Autoinject

Startup times

RevisionPlainWith SentryDiff
a511abb+dirty1223.38 ms1225.08 ms1.71 ms
c77702e+dirty1231.92 ms1238.51 ms6.59 ms
068e9ea+dirty1240.31 ms1234.70 ms-5.62 ms
7b29327+dirty1225.31 ms1232.80 ms7.49 ms
4d01eeb+dirty1216.09 ms1223.06 ms6.97 ms

App size

RevisionPlainWith SentryDiff
a511abb+dirty2.36 MiB3.11 MiB761.04 KiB
c77702e+dirty2.36 MiB3.11 MiB761.68 KiB
068e9ea+dirty2.36 MiB3.11 MiB761.04 KiB
7b29327+dirty2.36 MiB3.11 MiB761.82 KiB
4d01eeb+dirty2.36 MiB3.11 MiB761.17 KiB

@github-actions

github-actionsBot commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

Android (new) Performance metrics 🚀

PlainWith SentryDiff
Startup time421.35 ms452.11 ms30.75 ms
Size7.15 MiB8.38 MiB1.23 MiB

Baseline results on branch: antonis/3859-newCaptureFeedbackAPI-Form

Startup times

RevisionPlainWith SentryDiff
a06f6ba+dirty381.50 ms429.77 ms48.27 ms
1dd8d17+dirty383.20 ms432.62 ms49.41 ms
d33790a+dirty404.87 ms473.06 ms68.19 ms
a3ba405+dirty359.67 ms436.86 ms77.19 ms
0781f75+dirty406.72 ms454.80 ms48.08 ms
f4a5053+dirty391.02 ms427.04 ms36.02 ms
03c9048+dirty397.35 ms417.73 ms20.37 ms
50c70c0+dirty385.30 ms433.06 ms47.76 ms
cadf235+dirty455.51 ms451.64 ms-3.87 ms
27e1bf3+dirty398.69 ms439.39 ms40.69 ms

App size

RevisionPlainWith SentryDiff
a06f6ba+dirty7.15 MiB8.37 MiB1.22 MiB
1dd8d17+dirty7.15 MiB8.38 MiB1.23 MiB
d33790a+dirty7.15 MiB8.38 MiB1.23 MiB
a3ba405+dirty7.15 MiB8.37 MiB1.22 MiB
0781f75+dirty7.15 MiB8.37 MiB1.22 MiB
f4a5053+dirty7.15 MiB8.38 MiB1.23 MiB
03c9048+dirty7.15 MiB8.38 MiB1.23 MiB
50c70c0+dirty7.15 MiB8.38 MiB1.23 MiB
cadf235+dirty7.15 MiB8.37 MiB1.22 MiB
27e1bf3+dirty7.15 MiB8.37 MiB1.22 MiB

Previous results on branch: antonis/4358-Feedback-Form-Autoinject

Startup times

RevisionPlainWith SentryDiff
a511abb+dirty376.44 ms431.64 ms55.20 ms
7b29327+dirty385.52 ms414.71 ms29.19 ms
068e9ea+dirty363.19 ms396.49 ms33.30 ms
4d01eeb+dirty380.79 ms405.19 ms24.40 ms
c77702e+dirty448.96 ms498.94 ms49.98 ms

App size

RevisionPlainWith SentryDiff
a511abb+dirty7.15 MiB8.38 MiB1.23 MiB
7b29327+dirty7.15 MiB8.38 MiB1.23 MiB
068e9ea+dirty7.15 MiB8.38 MiB1.23 MiB
4d01eeb+dirty7.15 MiB8.38 MiB1.23 MiB
c77702e+dirty7.15 MiB8.38 MiB1.23 MiB

@github-actions

github-actionsBot commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

iOS (new) Performance metrics 🚀

PlainWith SentryDiff
Startup time1233.19 ms1236.17 ms2.98 ms
Size2.92 MiB3.69 MiB791.84 KiB

Baseline results on branch: antonis/3859-newCaptureFeedbackAPI-Form

Startup times

RevisionPlainWith SentryDiff
50c70c0+dirty1226.61 ms1225.02 ms-1.59 ms
e0624b6+dirty1229.19 ms1232.18 ms3.00 ms
d33790a+dirty1247.14 ms1242.86 ms-4.28 ms
a06f6ba+dirty1235.31 ms1238.76 ms3.45 ms
27e1bf3+dirty1245.78 ms1244.38 ms-1.40 ms
f4a5053+dirty1233.04 ms1240.02 ms6.98 ms
03c9048+dirty1231.52 ms1225.96 ms-5.56 ms
561640f+dirty1237.10 ms1229.59 ms-7.51 ms
26fc306+dirty1229.10 ms1227.88 ms-1.22 ms
1dd8d17+dirty1229.28 ms1224.92 ms-4.36 ms

App size

RevisionPlainWith SentryDiff
50c70c0+dirty2.92 MiB3.67 MiB773.48 KiB
e0624b6+dirty2.92 MiB3.67 MiB773.62 KiB
d33790a+dirty2.92 MiB3.67 MiB773.59 KiB
a06f6ba+dirty2.92 MiB3.67 MiB773.87 KiB
27e1bf3+dirty2.92 MiB3.67 MiB773.54 KiB
f4a5053+dirty2.92 MiB3.67 MiB774.18 KiB
03c9048+dirty2.92 MiB3.67 MiB774.29 KiB
561640f+dirty2.92 MiB3.67 MiB773.72 KiB
26fc306+dirty2.92 MiB3.67 MiB773.77 KiB
1dd8d17+dirty2.92 MiB3.67 MiB774.21 KiB

Previous results on branch: antonis/4358-Feedback-Form-Autoinject

Startup times

RevisionPlainWith SentryDiff
a511abb+dirty1243.58 ms1239.15 ms-4.44 ms
c77702e+dirty1242.35 ms1237.87 ms-4.48 ms
068e9ea+dirty1224.21 ms1225.36 ms1.15 ms
7b29327+dirty1243.00 ms1239.72 ms-3.28 ms
4d01eeb+dirty1248.58 ms1247.53 ms-1.05 ms

App size

RevisionPlainWith SentryDiff
a511abb+dirty2.92 MiB3.67 MiB773.59 KiB
c77702e+dirty2.92 MiB3.67 MiB774.34 KiB
068e9ea+dirty2.92 MiB3.67 MiB773.56 KiB
7b29327+dirty2.92 MiB3.67 MiB774.45 KiB
4d01eeb+dirty2.92 MiB3.67 MiB773.74 KiB

@antonisantonis linked an issue Dec 13, 2024 that may be closed by this pull request
…358-Feedback-Form-Autoinject
# Conflicts:
#	CHANGELOG.md
@krystofwoldrichkrystofwoldrich changed the title Auto-inject feedback widget(2.3) Auto-inject feedback widgetDec 13, 2024
…358-Feedback-Form-Autoinject
# Conflicts:
#	packages/core/src/js/feedback/FeedbackForm.tsx
@antonisantonis mentioned this pull request Dec 16, 2024
10 tasks
…358-Feedback-Form-Autoinject
# Conflicts:
#	packages/core/src/js/feedback/FeedbackForm.tsx

@lucas-zimermanlucas-zimerman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM!

@antonis
antonis merged commit da0e3ea into antonis/3859-newCaptureFeedbackAPI-FormDec 19, 2024
@antonis
antonis deleted the antonis/4358-Feedback-Form-Autoinject branch December 19, 2024 08:29
antonis added a commit that referenced this pull request Jan 10, 2025
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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* Autoinject feedback form (#4370)
* Align changelog entry
* Update changelog
* Revert "Autoinject feedback form (#4370)"
This reverts commit da0e3ea.
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Add default value in doc comment
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* Add a more clear doc comment
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* (2.2) feat: Add Feedback Form UI Branding logo (#4357)
* Adds sentry branding logo as a base64 encoded png
---------
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Apr 7, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Adds missing semicolon in test
* Adds feedback button in expo app
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Apr 14, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Adds system theme tests
* Test dynamically changed theme
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Apr 14, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Show screenshot button UI
* Add screenshot button integration
* Add screenshot icon
* Adds Take a screenshot button in FeedbackWidget
* Updates snapshot tests
* Fix circularDepCheck
* Fix circularDepCheck
* Attache captured screenshot
* Hide the take screenshot button when there is a screenshot
* Convert uint8Array to Base64 on the native side
* Adds snapshot tests
* Disable functionality on the Web
* Add screenshot button in the sample expo app
* Adds system theme tests
* Test dynamically changed theme
* Remove showScreenshotButton and hideScreenshotButton from the exposed api
* Fix function name typo
* Adds enableTakeScreenshot option
* Adds happy flow test
* Make flow tests more granular
* Increate wait time out to fix flakiness on ci
* Reset widget state after each test
* Fix CI flakiness
* Remove flaky test
* Delay capture to allow the button to hide
* Add comment explaining the reasoning of the call
* Define defaultProps in smaller scope
* Define customStyles in smaller scope
* Also check remove screenshot button
* Fixes the name and double negation not null
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Apr 14, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Show screenshot button UI
* Add screenshot button integration
* Add screenshot icon
* Adds Take a screenshot button in FeedbackWidget
* Updates snapshot tests
* Fix circularDepCheck
* Fix circularDepCheck
* Attache captured screenshot
* Hide the take screenshot button when there is a screenshot
* Convert uint8Array to Base64 on the native side
* ref(feedback): Extracts FeedbackWidgetProvider in a separate file
* Updates exposed comments
* Adds snapshot tests
* Disable functionality on the Web
* Add screenshot button in the sample expo app
* Adds system theme tests
* Test dynamically changed theme
* Remove showScreenshotButton and hideScreenshotButton from the exposed api
* Fix function name typo
* Adds enableTakeScreenshot option
* Adds happy flow test
* Make flow tests more granular
* Increate wait time out to fix flakiness on ci
* Reset widget state after each test
* Fix CI flakiness
* Remove flaky test
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Apr 14, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Show screenshot button UI
* Add screenshot button integration
* Add screenshot icon
* Adds Take a screenshot button in FeedbackWidget
* Updates snapshot tests
* Fix circularDepCheck
* Fix circularDepCheck
* Attache captured screenshot
* Hide the take screenshot button when there is a screenshot
* Convert uint8Array to Base64 on the native side
* ref(feedback): Extracts FeedbackWidgetProvider in a separate file
* Updates exposed comments
* Adds snapshot tests
* Disable functionality on the Web
* Add screenshot button in the sample expo app
* Adds system theme tests
* Test dynamically changed theme
* Remove showScreenshotButton and hideScreenshotButton from the exposed api
* Fix function name typo
* Adds enableTakeScreenshot option
* Adds happy flow test
* Make flow tests more granular
* Increate wait time out to fix flakiness on ci
* Reset widget state after each test
* Fix CI flakiness
* Remove flaky test
* fix(feedback): Fixes accessibility issue on iOS
* Add changelog
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request May 9, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add test ids in feedback widget
* Add feedback widget button in test app
* WIP: Add feedback test
* Update snapshot tests with the added test ids
* Android happy path test
* Check field validation
* Scroll if button is not visible
* Adds accessibility labels
* Remove extended initial checks due to flakiness
* Revert "Remove extended initial checks due to flakiness"
This reverts commit fa3bdfc.
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Show screenshot button UI
* Add screenshot button integration
* Add screenshot icon
* Adds Take a screenshot button in FeedbackWidget
* Updates snapshot tests
* Fix circularDepCheck
* Fix circularDepCheck
* Attache captured screenshot
* Hide the take screenshot button when there is a screenshot
* Convert uint8Array to Base64 on the native side
* ref(feedback): Extracts FeedbackWidgetProvider in a separate file
* Updates exposed comments
* Adds snapshot tests
* Disable functionality on the Web
* Add screenshot button in the sample expo app
* Adds system theme tests
* Test dynamically changed theme
* Remove showScreenshotButton and hideScreenshotButton from the exposed api
* Fix function name typo
* Adds enableTakeScreenshot option
* Adds happy flow test
* Make flow tests more granular
* Increate wait time out to fix flakiness on ci
* Reset widget state after each test
* Fix CI flakiness
* Remove flaky test
* fix(feedback): Fixes accessibility issue on iOS
* Add changelog
* Properly wrap root app component
* Handle undefined AppRegistryIntegration.onRunApplication gracefully
* Fix lint issue
* Do not validate all fields for visibility
* Take screenshots for debugging
* Revert "Take screenshots for debugging"
This reverts commit 3e361a1.
* Simplify test scenario
* Try without hiding the keyboard
* Test Feedback button
* Test screenshot capture
* Show an error if screenshot capture fails
* Test error flow
* Revert unneeded change
* Test with latest Maestro
* Revert "Test with latest Maestro"
This reverts commit e7c31bf.
* Revert "Test screenshot capture"
This reverts commit 8913ffc.
* Skip for 0.65.3
* Remove version check
* Use testId for feedback button
* Skip for 0.65.3
* Update snapshots
* Cleanup testIds and accessibility labels
* Enable for all RN versions
* Temp: remove modal supported check
* Do not use native driver for backgroundOpacity animation
* Revert "Temp: remove modal supported check"
This reverts commit e20aff2.
* Do not use native driver for backgroundOpacity animation
* Use text instead of test ids
* Separate iOS and Android tests
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Jun 20, 2025
…4795)
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add test ids in feedback widget
* Add feedback widget button in test app
* WIP: Add feedback test
* Update snapshot tests with the added test ids
* Android happy path test
* Check field validation
* Scroll if button is not visible
* Adds accessibility labels
* Remove extended initial checks due to flakiness
* Revert "Remove extended initial checks due to flakiness"
This reverts commit fa3bdfc.
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Show screenshot button UI
* Add screenshot button integration
* Add screenshot icon
* Adds Take a screenshot button in FeedbackWidget
* Updates snapshot tests
* Fix circularDepCheck
* Fix circularDepCheck
* Attache captured screenshot
* Hide the take screenshot button when there is a screenshot
* Convert uint8Array to Base64 on the native side
* ref(feedback): Extracts FeedbackWidgetProvider in a separate file
* Updates exposed comments
* Adds snapshot tests
* Disable functionality on the Web
* Add screenshot button in the sample expo app
* Adds system theme tests
* Test dynamically changed theme
* Remove showScreenshotButton and hideScreenshotButton from the exposed api
* Fix function name typo
* Adds enableTakeScreenshot option
* Adds happy flow test
* Make flow tests more granular
* Increate wait time out to fix flakiness on ci
* Reset widget state after each test
* Fix CI flakiness
* Remove flaky test
* fix(feedback): Fixes accessibility issue on iOS
* Add changelog
* Properly wrap root app component
* Handle undefined AppRegistryIntegration.onRunApplication gracefully
* Fix lint issue
* Do not validate all fields for visibility
* Take screenshots for debugging
* Revert "Take screenshots for debugging"
This reverts commit 3e361a1.
* Simplify test scenario
* Try without hiding the keyboard
* Test Feedback button
* Test screenshot capture
* Show an error if screenshot capture fails
* Test error flow
* Revert unneeded change
* Test with latest Maestro
* Revert "Test with latest Maestro"
This reverts commit e7c31bf.
* Revert "Test screenshot capture"
This reverts commit 8913ffc.
* Skip for 0.65.3
* Remove version check
* Use testId for feedback button
* Skip for 0.65.3
* Update snapshots
* Cleanup testIds and accessibility labels
* Enable for all RN versions
* Temp: remove modal supported check
* Do not use native driver for backgroundOpacity animation
* Revert "Temp: remove modal supported check"
This reverts commit e20aff2.
* Do not use native driver for backgroundOpacity animation
* Use text instead of test ids
* Separate iOS and Android tests
* test(e2e): Adds Feedback Widget Capture Screenshot Maestro E2E tests
* Update test snapshots
* Hide keyboard by tapping on the sentry logo
* Tap on the title to hide the keyboard on Android
* Tap on email label to hide the keyboard on Android
* Wait for the screen to become visible after the screenshot capture
* Extend wait timeout after taking the screenshot
* increase timeout
* Revert "increase timeout"
This reverts commit 7865f32.
* Revert "Extend wait timeout after taking the screenshot"
This reverts commit 80dea08.
* Tweak the emulator
* Revert "Tweak the emulator"
This reverts commit ff8458c.
* Try Google API emulator
---------
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Sign up for freeto 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.

Autoinject feedback widget

2 participants

@antonis@lucas-zimerman
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

(2.3) Auto-inject feedback widget - #4370

Merged
antonis merged 6 commits into
antonis/3859-newCaptureFeedbackAPI-Formfrom
antonis/4358-Feedback-Form-Autoinject
Dec 19, 2024
Merged

(2.3) Auto-inject feedback widget#4370
antonis merged 6 commits into
antonis/3859-newCaptureFeedbackAPI-Formfrom
antonis/4358-Feedback-Form-Autoinject

Conversation

@antonis

@antonisantonis commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

📢 Type of change

  • Bugfix
  • New feature
  • Enhancement
  • Refactoring

📜 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

  • 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

@antonisantonis mentioned this pull request Dec 13, 2024
10 tasks
@antonis
antonis marked this pull request as ready for review December 13, 2024 12:33
@github-actions

github-actionsBot commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

Android (legacy) Performance metrics 🚀

PlainWith SentryDiff
Startup time446.77 ms446.50 ms-0.27 ms
Size17.74 MiB20.10 MiB2.37 MiB

Baseline results on branch: antonis/3859-newCaptureFeedbackAPI-Form

Startup times

RevisionPlainWith SentryDiff
03c9048500.96 ms486.65 ms-14.31 ms
561640f461.96 ms458.11 ms-3.85 ms
a3ba405438.16 ms435.78 ms-2.38 ms
50c70c0496.82 ms526.02 ms29.20 ms
cadf235462.20 ms463.34 ms1.14 ms
f4a5053478.22 ms458.35 ms-19.87 ms
1dd8d17399.65 ms393.81 ms-5.84 ms
a06f6ba424.02 ms415.82 ms-8.20 ms
0781f75452.32 ms457.22 ms4.91 ms
e0624b6447.67 ms441.08 ms-6.59 ms

App size

RevisionPlainWith SentryDiff
03c904817.74 MiB20.10 MiB2.37 MiB
561640f17.74 MiB20.09 MiB2.35 MiB
a3ba40517.74 MiB20.09 MiB2.35 MiB
50c70c017.74 MiB20.10 MiB2.36 MiB
cadf23517.74 MiB20.09 MiB2.35 MiB
f4a505317.74 MiB20.10 MiB2.36 MiB
1dd8d1717.74 MiB20.10 MiB2.36 MiB
a06f6ba17.74 MiB20.09 MiB2.35 MiB
0781f7517.74 MiB20.09 MiB2.35 MiB
e0624b617.74 MiB20.10 MiB2.36 MiB

Previous results on branch: antonis/4358-Feedback-Form-Autoinject

Startup times

RevisionPlainWith SentryDiff
4d01eeb478.06 ms464.21 ms-13.85 ms
a511abb442.88 ms434.45 ms-8.43 ms
068e9ea363.11 ms362.36 ms-0.75 ms
c77702e464.66 ms496.83 ms32.17 ms

App size

RevisionPlainWith SentryDiff
4d01eeb17.74 MiB20.10 MiB2.36 MiB
a511abb17.74 MiB20.10 MiB2.36 MiB
068e9ea17.74 MiB20.10 MiB2.36 MiB
c77702e17.74 MiB20.10 MiB2.37 MiB

@github-actions

github-actionsBot commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

iOS (legacy) Performance metrics 🚀

PlainWith SentryDiff
Startup time1235.45 ms1233.39 ms-2.06 ms
Size2.36 MiB3.13 MiB780.47 KiB

Baseline results on branch: antonis/3859-newCaptureFeedbackAPI-Form

Startup times

RevisionPlainWith SentryDiff
50c70c0+dirty1228.06 ms1224.43 ms-3.64 ms
e0624b6+dirty1221.86 ms1226.42 ms4.57 ms
d33790a+dirty1234.19 ms1231.76 ms-2.43 ms
a06f6ba+dirty1230.45 ms1227.09 ms-3.36 ms
27e1bf3+dirty1230.92 ms1232.33 ms1.41 ms
f4a5053+dirty1225.32 ms1231.47 ms6.15 ms
03c9048+dirty1235.37 ms1238.15 ms2.77 ms
561640f+dirty1220.45 ms1227.02 ms6.57 ms
26fc306+dirty1227.25 ms1225.85 ms-1.40 ms
1dd8d17+dirty1235.22 ms1218.96 ms-16.27 ms

App size

RevisionPlainWith SentryDiff
50c70c0+dirty2.36 MiB3.11 MiB760.92 KiB
e0624b6+dirty2.36 MiB3.11 MiB761.16 KiB
d33790a+dirty2.36 MiB3.11 MiB761.06 KiB
a06f6ba+dirty2.36 MiB3.11 MiB761.35 KiB
27e1bf3+dirty2.36 MiB3.11 MiB761.03 KiB
f4a5053+dirty2.36 MiB3.11 MiB761.72 KiB
03c9048+dirty2.36 MiB3.11 MiB761.74 KiB
561640f+dirty2.36 MiB3.11 MiB761.19 KiB
26fc306+dirty2.36 MiB3.11 MiB761.18 KiB
1dd8d17+dirty2.36 MiB3.11 MiB761.66 KiB

Previous results on branch: antonis/4358-Feedback-Form-Autoinject

Startup times

RevisionPlainWith SentryDiff
a511abb+dirty1223.38 ms1225.08 ms1.71 ms
c77702e+dirty1231.92 ms1238.51 ms6.59 ms
068e9ea+dirty1240.31 ms1234.70 ms-5.62 ms
7b29327+dirty1225.31 ms1232.80 ms7.49 ms
4d01eeb+dirty1216.09 ms1223.06 ms6.97 ms

App size

RevisionPlainWith SentryDiff
a511abb+dirty2.36 MiB3.11 MiB761.04 KiB
c77702e+dirty2.36 MiB3.11 MiB761.68 KiB
068e9ea+dirty2.36 MiB3.11 MiB761.04 KiB
7b29327+dirty2.36 MiB3.11 MiB761.82 KiB
4d01eeb+dirty2.36 MiB3.11 MiB761.17 KiB

@github-actions

github-actionsBot commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

Android (new) Performance metrics 🚀

PlainWith SentryDiff
Startup time421.35 ms452.11 ms30.75 ms
Size7.15 MiB8.38 MiB1.23 MiB

Baseline results on branch: antonis/3859-newCaptureFeedbackAPI-Form

Startup times

RevisionPlainWith SentryDiff
a06f6ba+dirty381.50 ms429.77 ms48.27 ms
1dd8d17+dirty383.20 ms432.62 ms49.41 ms
d33790a+dirty404.87 ms473.06 ms68.19 ms
a3ba405+dirty359.67 ms436.86 ms77.19 ms
0781f75+dirty406.72 ms454.80 ms48.08 ms
f4a5053+dirty391.02 ms427.04 ms36.02 ms
03c9048+dirty397.35 ms417.73 ms20.37 ms
50c70c0+dirty385.30 ms433.06 ms47.76 ms
cadf235+dirty455.51 ms451.64 ms-3.87 ms
27e1bf3+dirty398.69 ms439.39 ms40.69 ms

App size

RevisionPlainWith SentryDiff
a06f6ba+dirty7.15 MiB8.37 MiB1.22 MiB
1dd8d17+dirty7.15 MiB8.38 MiB1.23 MiB
d33790a+dirty7.15 MiB8.38 MiB1.23 MiB
a3ba405+dirty7.15 MiB8.37 MiB1.22 MiB
0781f75+dirty7.15 MiB8.37 MiB1.22 MiB
f4a5053+dirty7.15 MiB8.38 MiB1.23 MiB
03c9048+dirty7.15 MiB8.38 MiB1.23 MiB
50c70c0+dirty7.15 MiB8.38 MiB1.23 MiB
cadf235+dirty7.15 MiB8.37 MiB1.22 MiB
27e1bf3+dirty7.15 MiB8.37 MiB1.22 MiB

Previous results on branch: antonis/4358-Feedback-Form-Autoinject

Startup times

RevisionPlainWith SentryDiff
a511abb+dirty376.44 ms431.64 ms55.20 ms
7b29327+dirty385.52 ms414.71 ms29.19 ms
068e9ea+dirty363.19 ms396.49 ms33.30 ms
4d01eeb+dirty380.79 ms405.19 ms24.40 ms
c77702e+dirty448.96 ms498.94 ms49.98 ms

App size

RevisionPlainWith SentryDiff
a511abb+dirty7.15 MiB8.38 MiB1.23 MiB
7b29327+dirty7.15 MiB8.38 MiB1.23 MiB
068e9ea+dirty7.15 MiB8.38 MiB1.23 MiB
4d01eeb+dirty7.15 MiB8.38 MiB1.23 MiB
c77702e+dirty7.15 MiB8.38 MiB1.23 MiB

@github-actions

github-actionsBot commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

iOS (new) Performance metrics 🚀

PlainWith SentryDiff
Startup time1233.19 ms1236.17 ms2.98 ms
Size2.92 MiB3.69 MiB791.84 KiB

Baseline results on branch: antonis/3859-newCaptureFeedbackAPI-Form

Startup times

RevisionPlainWith SentryDiff
50c70c0+dirty1226.61 ms1225.02 ms-1.59 ms
e0624b6+dirty1229.19 ms1232.18 ms3.00 ms
d33790a+dirty1247.14 ms1242.86 ms-4.28 ms
a06f6ba+dirty1235.31 ms1238.76 ms3.45 ms
27e1bf3+dirty1245.78 ms1244.38 ms-1.40 ms
f4a5053+dirty1233.04 ms1240.02 ms6.98 ms
03c9048+dirty1231.52 ms1225.96 ms-5.56 ms
561640f+dirty1237.10 ms1229.59 ms-7.51 ms
26fc306+dirty1229.10 ms1227.88 ms-1.22 ms
1dd8d17+dirty1229.28 ms1224.92 ms-4.36 ms

App size

RevisionPlainWith SentryDiff
50c70c0+dirty2.92 MiB3.67 MiB773.48 KiB
e0624b6+dirty2.92 MiB3.67 MiB773.62 KiB
d33790a+dirty2.92 MiB3.67 MiB773.59 KiB
a06f6ba+dirty2.92 MiB3.67 MiB773.87 KiB
27e1bf3+dirty2.92 MiB3.67 MiB773.54 KiB
f4a5053+dirty2.92 MiB3.67 MiB774.18 KiB
03c9048+dirty2.92 MiB3.67 MiB774.29 KiB
561640f+dirty2.92 MiB3.67 MiB773.72 KiB
26fc306+dirty2.92 MiB3.67 MiB773.77 KiB
1dd8d17+dirty2.92 MiB3.67 MiB774.21 KiB

Previous results on branch: antonis/4358-Feedback-Form-Autoinject

Startup times

RevisionPlainWith SentryDiff
a511abb+dirty1243.58 ms1239.15 ms-4.44 ms
c77702e+dirty1242.35 ms1237.87 ms-4.48 ms
068e9ea+dirty1224.21 ms1225.36 ms1.15 ms
7b29327+dirty1243.00 ms1239.72 ms-3.28 ms
4d01eeb+dirty1248.58 ms1247.53 ms-1.05 ms

App size

RevisionPlainWith SentryDiff
a511abb+dirty2.92 MiB3.67 MiB773.59 KiB
c77702e+dirty2.92 MiB3.67 MiB774.34 KiB
068e9ea+dirty2.92 MiB3.67 MiB773.56 KiB
7b29327+dirty2.92 MiB3.67 MiB774.45 KiB
4d01eeb+dirty2.92 MiB3.67 MiB773.74 KiB

@antonisantonis linked an issue Dec 13, 2024 that may be closed by this pull request
…358-Feedback-Form-Autoinject
# Conflicts:
#	CHANGELOG.md
@krystofwoldrichkrystofwoldrich changed the title Auto-inject feedback widget(2.3) Auto-inject feedback widgetDec 13, 2024
…358-Feedback-Form-Autoinject
# Conflicts:
#	packages/core/src/js/feedback/FeedbackForm.tsx
@antonisantonis mentioned this pull request Dec 16, 2024
10 tasks
…358-Feedback-Form-Autoinject
# Conflicts:
#	packages/core/src/js/feedback/FeedbackForm.tsx

@lucas-zimermanlucas-zimerman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM!

@antonis
antonis merged commit da0e3ea into antonis/3859-newCaptureFeedbackAPI-FormDec 19, 2024
@antonis
antonis deleted the antonis/4358-Feedback-Form-Autoinject branch December 19, 2024 08:29
antonis added a commit that referenced this pull request Jan 10, 2025
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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* Autoinject feedback form (#4370)
* Align changelog entry
* Update changelog
* Revert "Autoinject feedback form (#4370)"
This reverts commit da0e3ea.
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Add default value in doc comment
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* Add a more clear doc comment
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* (2.2) feat: Add Feedback Form UI Branding logo (#4357)
* Adds sentry branding logo as a base64 encoded png
---------
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Apr 7, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Adds missing semicolon in test
* Adds feedback button in expo app
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Apr 14, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Adds system theme tests
* Test dynamically changed theme
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Apr 14, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Show screenshot button UI
* Add screenshot button integration
* Add screenshot icon
* Adds Take a screenshot button in FeedbackWidget
* Updates snapshot tests
* Fix circularDepCheck
* Fix circularDepCheck
* Attache captured screenshot
* Hide the take screenshot button when there is a screenshot
* Convert uint8Array to Base64 on the native side
* Adds snapshot tests
* Disable functionality on the Web
* Add screenshot button in the sample expo app
* Adds system theme tests
* Test dynamically changed theme
* Remove showScreenshotButton and hideScreenshotButton from the exposed api
* Fix function name typo
* Adds enableTakeScreenshot option
* Adds happy flow test
* Make flow tests more granular
* Increate wait time out to fix flakiness on ci
* Reset widget state after each test
* Fix CI flakiness
* Remove flaky test
* Delay capture to allow the button to hide
* Add comment explaining the reasoning of the call
* Define defaultProps in smaller scope
* Define customStyles in smaller scope
* Also check remove screenshot button
* Fixes the name and double negation not null
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Apr 14, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Show screenshot button UI
* Add screenshot button integration
* Add screenshot icon
* Adds Take a screenshot button in FeedbackWidget
* Updates snapshot tests
* Fix circularDepCheck
* Fix circularDepCheck
* Attache captured screenshot
* Hide the take screenshot button when there is a screenshot
* Convert uint8Array to Base64 on the native side
* ref(feedback): Extracts FeedbackWidgetProvider in a separate file
* Updates exposed comments
* Adds snapshot tests
* Disable functionality on the Web
* Add screenshot button in the sample expo app
* Adds system theme tests
* Test dynamically changed theme
* Remove showScreenshotButton and hideScreenshotButton from the exposed api
* Fix function name typo
* Adds enableTakeScreenshot option
* Adds happy flow test
* Make flow tests more granular
* Increate wait time out to fix flakiness on ci
* Reset widget state after each test
* Fix CI flakiness
* Remove flaky test
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Apr 14, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Show screenshot button UI
* Add screenshot button integration
* Add screenshot icon
* Adds Take a screenshot button in FeedbackWidget
* Updates snapshot tests
* Fix circularDepCheck
* Fix circularDepCheck
* Attache captured screenshot
* Hide the take screenshot button when there is a screenshot
* Convert uint8Array to Base64 on the native side
* ref(feedback): Extracts FeedbackWidgetProvider in a separate file
* Updates exposed comments
* Adds snapshot tests
* Disable functionality on the Web
* Add screenshot button in the sample expo app
* Adds system theme tests
* Test dynamically changed theme
* Remove showScreenshotButton and hideScreenshotButton from the exposed api
* Fix function name typo
* Adds enableTakeScreenshot option
* Adds happy flow test
* Make flow tests more granular
* Increate wait time out to fix flakiness on ci
* Reset widget state after each test
* Fix CI flakiness
* Remove flaky test
* fix(feedback): Fixes accessibility issue on iOS
* Add changelog
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request May 9, 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 <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add test ids in feedback widget
* Add feedback widget button in test app
* WIP: Add feedback test
* Update snapshot tests with the added test ids
* Android happy path test
* Check field validation
* Scroll if button is not visible
* Adds accessibility labels
* Remove extended initial checks due to flakiness
* Revert "Remove extended initial checks due to flakiness"
This reverts commit fa3bdfc.
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Show screenshot button UI
* Add screenshot button integration
* Add screenshot icon
* Adds Take a screenshot button in FeedbackWidget
* Updates snapshot tests
* Fix circularDepCheck
* Fix circularDepCheck
* Attache captured screenshot
* Hide the take screenshot button when there is a screenshot
* Convert uint8Array to Base64 on the native side
* ref(feedback): Extracts FeedbackWidgetProvider in a separate file
* Updates exposed comments
* Adds snapshot tests
* Disable functionality on the Web
* Add screenshot button in the sample expo app
* Adds system theme tests
* Test dynamically changed theme
* Remove showScreenshotButton and hideScreenshotButton from the exposed api
* Fix function name typo
* Adds enableTakeScreenshot option
* Adds happy flow test
* Make flow tests more granular
* Increate wait time out to fix flakiness on ci
* Reset widget state after each test
* Fix CI flakiness
* Remove flaky test
* fix(feedback): Fixes accessibility issue on iOS
* Add changelog
* Properly wrap root app component
* Handle undefined AppRegistryIntegration.onRunApplication gracefully
* Fix lint issue
* Do not validate all fields for visibility
* Take screenshots for debugging
* Revert "Take screenshots for debugging"
This reverts commit 3e361a1.
* Simplify test scenario
* Try without hiding the keyboard
* Test Feedback button
* Test screenshot capture
* Show an error if screenshot capture fails
* Test error flow
* Revert unneeded change
* Test with latest Maestro
* Revert "Test with latest Maestro"
This reverts commit e7c31bf.
* Revert "Test screenshot capture"
This reverts commit 8913ffc.
* Skip for 0.65.3
* Remove version check
* Use testId for feedback button
* Skip for 0.65.3
* Update snapshots
* Cleanup testIds and accessibility labels
* Enable for all RN versions
* Temp: remove modal supported check
* Do not use native driver for backgroundOpacity animation
* Revert "Temp: remove modal supported check"
This reverts commit e20aff2.
* Do not use native driver for backgroundOpacity animation
* Use text instead of test ids
* Separate iOS and Android tests
---------
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
antonis added a commit that referenced this pull request Jun 20, 2025
…4795)
* 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 <lucas-zimerman1@hotmail.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Update CHANGELOG.md
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* 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 <31292499+krystofwoldrich@users.noreply.github.com>
* Use defaultProps
* Correct defaultProps
* Adds test to verify when getUser is called
* Use smaller image
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
* 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 <lucas-zimerman1@hotmail.com>
* 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
* Add test ids in feedback widget
* Add feedback widget button in test app
* WIP: Add feedback test
* Update snapshot tests with the added test ids
* Android happy path test
* Check field validation
* Scroll if button is not visible
* Adds accessibility labels
* Remove extended initial checks due to flakiness
* Revert "Remove extended initial checks due to flakiness"
This reverts commit fa3bdfc.
* Add hardcoded dark and light color themes
* Rename theme options
* Update snapshot tests
* Include in the feedback integration
* Fix circular dependency
* Add theme integration options
* Adds changelog
* Add comment note
* Align with JS api
* Remove unneeded line
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
* Place widget button below the feedback widget shadow
* Expose showFeedbackButton/hideFeedbackButton methods
* Add dummy integration for tracking usage
* Adds button border
* Fixes tests
* Add accentBackground and accentForeground colors
* Extract integration getter in a helper function
* Adds dynamic theming support
* Add snapshot tests
* Show screenshot button UI
* Add screenshot button integration
* Add screenshot icon
* Adds Take a screenshot button in FeedbackWidget
* Updates snapshot tests
* Fix circularDepCheck
* Fix circularDepCheck
* Attache captured screenshot
* Hide the take screenshot button when there is a screenshot
* Convert uint8Array to Base64 on the native side
* ref(feedback): Extracts FeedbackWidgetProvider in a separate file
* Updates exposed comments
* Adds snapshot tests
* Disable functionality on the Web
* Add screenshot button in the sample expo app
* Adds system theme tests
* Test dynamically changed theme
* Remove showScreenshotButton and hideScreenshotButton from the exposed api
* Fix function name typo
* Adds enableTakeScreenshot option
* Adds happy flow test
* Make flow tests more granular
* Increate wait time out to fix flakiness on ci
* Reset widget state after each test
* Fix CI flakiness
* Remove flaky test
* fix(feedback): Fixes accessibility issue on iOS
* Add changelog
* Properly wrap root app component
* Handle undefined AppRegistryIntegration.onRunApplication gracefully
* Fix lint issue
* Do not validate all fields for visibility
* Take screenshots for debugging
* Revert "Take screenshots for debugging"
This reverts commit 3e361a1.
* Simplify test scenario
* Try without hiding the keyboard
* Test Feedback button
* Test screenshot capture
* Show an error if screenshot capture fails
* Test error flow
* Revert unneeded change
* Test with latest Maestro
* Revert "Test with latest Maestro"
This reverts commit e7c31bf.
* Revert "Test screenshot capture"
This reverts commit 8913ffc.
* Skip for 0.65.3
* Remove version check
* Use testId for feedback button
* Skip for 0.65.3
* Update snapshots
* Cleanup testIds and accessibility labels
* Enable for all RN versions
* Temp: remove modal supported check
* Do not use native driver for backgroundOpacity animation
* Revert "Temp: remove modal supported check"
This reverts commit e20aff2.
* Do not use native driver for backgroundOpacity animation
* Use text instead of test ids
* Separate iOS and Android tests
* test(e2e): Adds Feedback Widget Capture Screenshot Maestro E2E tests
* Update test snapshots
* Hide keyboard by tapping on the sentry logo
* Tap on the title to hide the keyboard on Android
* Tap on email label to hide the keyboard on Android
* Wait for the screen to become visible after the screenshot capture
* Extend wait timeout after taking the screenshot
* increase timeout
* Revert "increase timeout"
This reverts commit 7865f32.
* Revert "Extend wait timeout after taking the screenshot"
This reverts commit 80dea08.
* Tweak the emulator
* Revert "Tweak the emulator"
This reverts commit ff8458c.
* Try Google API emulator
---------
Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
Co-authored-by: Krystof Woldrich <31292499+krystofwoldrich@users.noreply.github.com>
Sign up for freeto 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.

Autoinject feedback widget

2 participants

@antonis@lucas-zimerman