Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(1) feat: Add Feedback Form Component #4328

Open
wants to merge 87 commits into
base: main
Choose a base branch
from

Conversation

antonis
Copy link
Collaborator

@antonis antonis commented Nov 29, 2024

📢 Type of change

  • Bugfix
  • New feature
  • Enhancement
  • Refactoring

📜 Description

Adds a basic feedback form with the following fields: name, email, description.
The form text and styles can be customised.

Feedback Form Sample Button Feedback Form iOS Feedback Form Android
Simulator Screenshot - iPhone SE (3rd generation) - 2024-11-29 at 23 16 21 Simulator Screenshot - iPhone SE (3rd generation) - 2024-12-11 at 16 44 55 Screenshot_1733913880

Subtask PRs:

💡 Motivation and Context

Fixes #4336

💚 How did you test it?

CI, Manual testing (example)

📝 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

Copy link
Contributor

github-actions bot commented Nov 29, 2024

Android (legacy) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 485.75 ms 514.26 ms 28.51 ms
Size 17.74 MiB 20.10 MiB 2.37 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
d8668ce 452.13 ms 435.06 ms -17.07 ms
76d1baf+dirty 335.72 ms 355.52 ms 19.80 ms
5bb8d5f 431.21 ms 459.40 ms 28.19 ms
07e58c9 495.04 ms 489.73 ms -5.31 ms
700cbf4 425.56 ms 436.26 ms 10.70 ms
27ef4ee 317.40 ms 321.70 ms 4.30 ms
0677344 327.74 ms 337.14 ms 9.40 ms
13f280b 486.16 ms 472.45 ms -13.71 ms
2534337 394.15 ms 415.12 ms 20.97 ms
baa882f 354.93 ms 356.18 ms 1.25 ms

App size

Revision Plain With Sentry Diff
d8668ce 17.74 MiB 20.08 MiB 2.34 MiB
76d1baf+dirty 17.73 MiB 20.04 MiB 2.31 MiB
5bb8d5f 17.73 MiB 19.93 MiB 2.20 MiB
07e58c9 17.74 MiB 20.08 MiB 2.34 MiB
700cbf4 17.73 MiB 20.07 MiB 2.33 MiB
27ef4ee 17.73 MiB 19.82 MiB 2.08 MiB
0677344 17.73 MiB 19.81 MiB 2.07 MiB
13f280b 17.74 MiB 20.08 MiB 2.34 MiB
2534337 17.73 MiB 19.84 MiB 2.11 MiB
baa882f 17.73 MiB 20.06 MiB 2.33 MiB

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

Startup times

Revision Plain With Sentry Diff
561640f 461.96 ms 458.11 ms -3.85 ms
50c70c0 496.82 ms 526.02 ms 29.20 ms
38a278b 473.58 ms 468.76 ms -4.82 ms
db1844e 475.35 ms 460.66 ms -14.69 ms
27e1bf3 463.19 ms 478.80 ms 15.61 ms
d33790a 442.93 ms 439.94 ms -3.00 ms
cadf235 462.20 ms 463.34 ms 1.14 ms
1dd8d17 399.65 ms 393.81 ms -5.84 ms
0781f75 452.32 ms 457.22 ms 4.91 ms
a3ba405 438.16 ms 435.78 ms -2.38 ms

App size

Revision Plain With Sentry Diff
561640f 17.74 MiB 20.09 MiB 2.35 MiB
50c70c0 17.74 MiB 20.10 MiB 2.36 MiB
38a278b 17.74 MiB 20.10 MiB 2.37 MiB
db1844e 17.74 MiB 20.10 MiB 2.37 MiB
27e1bf3 17.74 MiB 20.09 MiB 2.35 MiB
d33790a 17.74 MiB 20.10 MiB 2.36 MiB
cadf235 17.74 MiB 20.09 MiB 2.35 MiB
1dd8d17 17.74 MiB 20.10 MiB 2.36 MiB
0781f75 17.74 MiB 20.09 MiB 2.35 MiB
a3ba405 17.74 MiB 20.09 MiB 2.35 MiB

Copy link
Contributor

github-actions bot commented Nov 29, 2024

Android (new) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 393.94 ms 407.87 ms 13.93 ms
Size 7.15 MiB 8.38 MiB 1.23 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
4cc5c27+dirty 398.36 ms 452.50 ms 54.14 ms
76d1baf+dirty 339.02 ms 408.65 ms 69.63 ms
ed3d77e+dirty 366.04 ms 411.33 ms 45.28 ms
8de2810+dirty 368.43 ms 412.20 ms 43.77 ms
70e6261+dirty 395.08 ms 408.12 ms 13.04 ms
31fcca2+dirty 366.64 ms 395.78 ms 29.14 ms
63ed251+dirty 485.02 ms 531.16 ms 46.14 ms
34aba08+dirty 331.79 ms 376.69 ms 44.91 ms
db44eaf+dirty 394.26 ms 438.88 ms 44.62 ms
9282172+dirty 363.57 ms 399.78 ms 36.20 ms

App size

Revision Plain With Sentry Diff
4cc5c27+dirty 7.15 MiB 8.22 MiB 1.07 MiB
76d1baf+dirty 7.15 MiB 8.09 MiB 964.41 KiB
ed3d77e+dirty 7.15 MiB 8.35 MiB 1.21 MiB
8de2810+dirty 7.15 MiB 8.35 MiB 1.20 MiB
70e6261+dirty 7.15 MiB 8.21 MiB 1.07 MiB
31fcca2+dirty 7.15 MiB 8.18 MiB 1.03 MiB
63ed251+dirty 7.15 MiB 8.35 MiB 1.20 MiB
34aba08+dirty 7.15 MiB 8.07 MiB 946.13 KiB
db44eaf+dirty 7.15 MiB 8.36 MiB 1.21 MiB
9282172+dirty 7.15 MiB 8.37 MiB 1.22 MiB

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

Startup times

Revision Plain With Sentry Diff
27e1bf3+dirty 398.69 ms 439.39 ms 40.69 ms
561640f+dirty 378.73 ms 442.25 ms 63.52 ms
03c9048+dirty 397.35 ms 417.73 ms 20.37 ms
f4a5053+dirty 391.02 ms 427.04 ms 36.02 ms
db1844e+dirty 376.33 ms 428.67 ms 52.34 ms
1dd8d17+dirty 383.20 ms 432.62 ms 49.41 ms
50c70c0+dirty 385.30 ms 433.06 ms 47.76 ms
d33790a+dirty 404.87 ms 473.06 ms 68.19 ms
a3ba405+dirty 359.67 ms 436.86 ms 77.19 ms
cadf235+dirty 455.51 ms 451.64 ms -3.87 ms

App size

Revision Plain With Sentry Diff
27e1bf3+dirty 7.15 MiB 8.37 MiB 1.22 MiB
561640f+dirty 7.15 MiB 8.37 MiB 1.22 MiB
03c9048+dirty 7.15 MiB 8.38 MiB 1.23 MiB
f4a5053+dirty 7.15 MiB 8.38 MiB 1.23 MiB
db1844e+dirty 7.15 MiB 8.38 MiB 1.23 MiB
1dd8d17+dirty 7.15 MiB 8.38 MiB 1.23 MiB
50c70c0+dirty 7.15 MiB 8.38 MiB 1.23 MiB
d33790a+dirty 7.15 MiB 8.38 MiB 1.23 MiB
a3ba405+dirty 7.15 MiB 8.37 MiB 1.22 MiB
cadf235+dirty 7.15 MiB 8.37 MiB 1.22 MiB

Copy link
Contributor

github-actions bot commented Nov 29, 2024

iOS (new) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 1245.50 ms 1241.70 ms -3.80 ms
Size 2.92 MiB 3.69 MiB 793.89 KiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
c6f01ea+dirty 1229.52 ms 1237.16 ms 7.64 ms
9f0f6c8+dirty 1236.94 ms 1245.41 ms 8.47 ms
4a6664f+dirty 1218.77 ms 1221.07 ms 2.30 ms
63ed251+dirty 1223.27 ms 1222.94 ms -0.33 ms
d361d38+dirty 1272.96 ms 1291.70 ms 18.74 ms
9433f35+dirty 1232.24 ms 1232.74 ms 0.50 ms
8ab11b6+dirty 1222.91 ms 1216.08 ms -6.83 ms
a989877+dirty 1222.90 ms 1219.89 ms -3.00 ms
1faf8e3+dirty 1223.38 ms 1220.56 ms -2.82 ms
ed3d77e+dirty 1246.19 ms 1244.00 ms -2.19 ms

App size

Revision Plain With Sentry Diff
c6f01ea+dirty 2.92 MiB 3.69 MiB 789.94 KiB
9f0f6c8+dirty 2.92 MiB 3.67 MiB 771.98 KiB
4a6664f+dirty 2.92 MiB 3.60 MiB 702.09 KiB
63ed251+dirty 2.92 MiB 3.66 MiB 757.10 KiB
d361d38+dirty 2.92 MiB 3.41 MiB 503.57 KiB
9433f35+dirty 2.92 MiB 3.41 MiB 503.55 KiB
8ab11b6+dirty 2.92 MiB 3.67 MiB 772.38 KiB
a989877+dirty 2.92 MiB 3.66 MiB 757.66 KiB
1faf8e3+dirty 2.92 MiB 3.64 MiB 742.61 KiB
ed3d77e+dirty 2.92 MiB 3.66 MiB 758.57 KiB

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

Startup times

Revision Plain With Sentry Diff
a06f6ba+dirty 1235.31 ms 1238.76 ms 3.45 ms
1dd8d17+dirty 1229.28 ms 1224.92 ms -4.36 ms
0781f75+dirty 1247.90 ms 1237.11 ms -10.79 ms
cadf235+dirty 1225.19 ms 1231.65 ms 6.47 ms
38a278b+dirty 1247.80 ms 1244.61 ms -3.18 ms
a3ba405+dirty 1229.31 ms 1228.16 ms -1.14 ms
db1844e+dirty 1231.94 ms 1238.86 ms 6.92 ms
e0624b6+dirty 1229.19 ms 1232.18 ms 3.00 ms
26fc306+dirty 1229.10 ms 1227.88 ms -1.22 ms
50c70c0+dirty 1226.61 ms 1225.02 ms -1.59 ms

App size

Revision Plain With Sentry Diff
a06f6ba+dirty 2.92 MiB 3.67 MiB 773.87 KiB
1dd8d17+dirty 2.92 MiB 3.67 MiB 774.21 KiB
0781f75+dirty 2.92 MiB 3.67 MiB 773.83 KiB
cadf235+dirty 2.92 MiB 3.67 MiB 773.97 KiB
38a278b+dirty 2.92 MiB 3.69 MiB 793.49 KiB
a3ba405+dirty 2.92 MiB 3.67 MiB 773.65 KiB
db1844e+dirty 2.92 MiB 3.69 MiB 793.48 KiB
e0624b6+dirty 2.92 MiB 3.67 MiB 773.62 KiB
26fc306+dirty 2.92 MiB 3.67 MiB 773.77 KiB
50c70c0+dirty 2.92 MiB 3.67 MiB 773.48 KiB

@antonis antonis changed the title Add simple form UI Feedback form UI Nov 29, 2024
Copy link
Contributor

github-actions bot commented Nov 29, 2024

iOS (legacy) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 1235.24 ms 1236.69 ms 1.44 ms
Size 2.36 MiB 3.13 MiB 782.76 KiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
c6f01ea+dirty 1227.10 ms 1235.35 ms 8.24 ms
9f0f6c8+dirty 1231.60 ms 1232.73 ms 1.12 ms
4a6664f+dirty 1209.49 ms 1208.63 ms -0.86 ms
63ed251+dirty 1232.55 ms 1238.77 ms 6.22 ms
d361d38+dirty 1246.04 ms 1267.12 ms 21.08 ms
9433f35+dirty 1246.94 ms 1271.45 ms 24.52 ms
8ab11b6+dirty 1203.23 ms 1206.02 ms 2.79 ms
a989877+dirty 1228.56 ms 1227.71 ms -0.85 ms
1faf8e3+dirty 1214.87 ms 1222.83 ms 7.97 ms
ed3d77e+dirty 1214.61 ms 1205.83 ms -8.78 ms

App size

Revision Plain With Sentry Diff
c6f01ea+dirty 2.36 MiB 3.12 MiB 778.61 KiB
9f0f6c8+dirty 2.36 MiB 3.10 MiB 759.48 KiB
4a6664f+dirty 2.36 MiB 3.04 MiB 696.39 KiB
63ed251+dirty 2.36 MiB 3.10 MiB 752.55 KiB
d361d38+dirty 2.36 MiB 2.85 MiB 499.84 KiB
9433f35+dirty 2.36 MiB 2.85 MiB 499.80 KiB
8ab11b6+dirty 2.36 MiB 3.11 MiB 759.83 KiB
a989877+dirty 2.36 MiB 3.10 MiB 752.40 KiB
1faf8e3+dirty 2.36 MiB 3.08 MiB 736.75 KiB
ed3d77e+dirty 2.36 MiB 3.10 MiB 753.32 KiB

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

Startup times

Revision Plain With Sentry Diff
a06f6ba+dirty 1230.45 ms 1227.09 ms -3.36 ms
1dd8d17+dirty 1235.22 ms 1218.96 ms -16.27 ms
0781f75+dirty 1222.19 ms 1222.11 ms -0.08 ms
cadf235+dirty 1223.89 ms 1236.22 ms 12.33 ms
38a278b+dirty 1233.02 ms 1233.82 ms 0.80 ms
a3ba405+dirty 1223.00 ms 1219.06 ms -3.94 ms
db1844e+dirty 1230.79 ms 1234.22 ms 3.43 ms
e0624b6+dirty 1221.86 ms 1226.42 ms 4.57 ms
26fc306+dirty 1227.25 ms 1225.85 ms -1.40 ms
50c70c0+dirty 1228.06 ms 1224.43 ms -3.64 ms

App size

Revision Plain With Sentry Diff
a06f6ba+dirty 2.36 MiB 3.11 MiB 761.35 KiB
1dd8d17+dirty 2.36 MiB 3.11 MiB 761.66 KiB
0781f75+dirty 2.36 MiB 3.11 MiB 761.35 KiB
cadf235+dirty 2.36 MiB 3.11 MiB 761.47 KiB
38a278b+dirty 2.36 MiB 3.13 MiB 782.12 KiB
a3ba405+dirty 2.36 MiB 3.11 MiB 760.99 KiB
db1844e+dirty 2.36 MiB 3.13 MiB 782.13 KiB
e0624b6+dirty 2.36 MiB 3.11 MiB 761.16 KiB
26fc306+dirty 2.36 MiB 3.11 MiB 761.18 KiB
50c70c0+dirty 2.36 MiB 3.11 MiB 760.92 KiB

Base automatically changed from antonis/3859-newCaptureFeedbackAPI to main December 2, 2024 10:46
An error occurred while trying to automatically change base from antonis/3859-newCaptureFeedbackAPI to main December 2, 2024 10:46
@antonis
Copy link
Collaborator Author

antonis commented Dec 13, 2024

Can you add a snapshot test for the form?

One for defaults and maybe one for custom styles and one for custom "content" (meaning custom labels, text and placeholders)

That's a good idea. Thank you for the suggestion and the linked resource 🙇
I've added a subtask on the parent issue #4302 to implement this separately.

@antonis antonis changed the title (1) feat: Add Feedback From Component (1) feat: Add Feedback Form Component Dec 16, 2024
@antonis antonis mentioned this pull request Dec 16, 2024
10 tasks
@antonis
Copy link
Collaborator Author

antonis commented Dec 16, 2024

Can you add a snapshot test for the form?

One for defaults and maybe one for custom styles and one for custom "content" (meaning custom labels, text and placeholders)

That's a good idea. Thank you for the suggestion and the linked resource 🙇
I've added a subtask on the parent issue #4302 to implement this separately.

Opened a PR for this #4379

}
}

this._config = { ...defaultConfiguration, ...currentUser, ...props };
Copy link
Member

Choose a reason for hiding this comment

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

We should use the static defaultProps property otherwise the props passed to _config won't be changed on update, which would be unexpected behaviour.

https://legacy.reactjs.org/docs/react-without-es6.html#declaring-default-props

Copy link
Collaborator Author

@antonis antonis Dec 17, 2024

Choose a reason for hiding this comment

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

Thank you for pointing me to this @krystofwoldrich 🙇
Updated with 9a96e74 and 2be08a6

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Implement basic capture feedback form UI
3 participants