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 88 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 464.33 ms 503.26 ms 38.93 ms
Size 7.15 MiB 8.38 MiB 1.23 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
690220d+dirty 492.10 ms 473.88 ms -18.23 ms
8e80789+dirty 464.48 ms 551.10 ms 86.63 ms
d8e8c67+dirty 363.77 ms 408.66 ms 44.89 ms
484813b+dirty 411.65 ms 456.02 ms 44.37 ms
13f280b+dirty 376.13 ms 406.41 ms 30.28 ms
8ae23a7+dirty 398.10 ms 411.48 ms 13.38 ms
12427f4+dirty 379.48 ms 400.92 ms 21.44 ms
1faf8e3+dirty 412.83 ms 470.49 ms 57.66 ms
0677344+dirty 288.40 ms 391.44 ms 103.04 ms
63ed251+dirty 485.02 ms 531.16 ms 46.14 ms

App size

Revision Plain With Sentry Diff
690220d+dirty 7.15 MiB 8.36 MiB 1.21 MiB
8e80789+dirty 7.15 MiB 8.37 MiB 1.22 MiB
d8e8c67+dirty 7.15 MiB 8.38 MiB 1.23 MiB
484813b+dirty 7.15 MiB 8.34 MiB 1.19 MiB
13f280b+dirty 7.15 MiB 8.35 MiB 1.20 MiB
8ae23a7+dirty 7.15 MiB 8.35 MiB 1.20 MiB
12427f4+dirty 7.15 MiB 8.12 MiB 997.78 KiB
1faf8e3+dirty 7.15 MiB 8.35 MiB 1.20 MiB
0677344+dirty 7.15 MiB 8.07 MiB 949.80 KiB
63ed251+dirty 7.15 MiB 8.35 MiB 1.20 MiB

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

Startup times

Revision Plain With Sentry Diff
cadf235+dirty 455.51 ms 451.64 ms -3.87 ms
d33790a+dirty 404.87 ms 473.06 ms 68.19 ms
26fc306+dirty 382.83 ms 435.31 ms 52.48 ms
38a278b+dirty 392.43 ms 442.41 ms 49.97 ms
edc8020+dirty 393.94 ms 407.87 ms 13.93 ms
03c9048+dirty 397.35 ms 417.73 ms 20.37 ms
1dd8d17+dirty 383.20 ms 432.62 ms 49.41 ms
0781f75+dirty 406.72 ms 454.80 ms 48.08 ms
a06f6ba+dirty 381.50 ms 429.77 ms 48.27 ms
db1844e+dirty 376.33 ms 428.67 ms 52.34 ms

App size

Revision Plain With Sentry Diff
cadf235+dirty 7.15 MiB 8.37 MiB 1.22 MiB
d33790a+dirty 7.15 MiB 8.38 MiB 1.23 MiB
26fc306+dirty 7.15 MiB 8.37 MiB 1.22 MiB
38a278b+dirty 7.15 MiB 8.38 MiB 1.23 MiB
edc8020+dirty 7.15 MiB 8.38 MiB 1.23 MiB
03c9048+dirty 7.15 MiB 8.38 MiB 1.23 MiB
1dd8d17+dirty 7.15 MiB 8.38 MiB 1.23 MiB
0781f75+dirty 7.15 MiB 8.37 MiB 1.22 MiB
a06f6ba+dirty 7.15 MiB 8.37 MiB 1.22 MiB
db1844e+dirty 7.15 MiB 8.38 MiB 1.23 MiB

Copy link
Contributor

github-actions bot commented Nov 29, 2024

iOS (new) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 1241.80 ms 1237.89 ms -3.90 ms
Size 2.92 MiB 3.69 MiB 793.92 KiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
5a22220+dirty 1246.18 ms 1249.61 ms 3.43 ms
f06c879+dirty 1285.14 ms 1285.86 ms 0.72 ms
c398f67+dirty 1227.31 ms 1230.00 ms 2.69 ms
5bb8d5f+dirty 1215.04 ms 1217.52 ms 2.48 ms
4cc5c27+dirty 1220.43 ms 1215.13 ms -5.30 ms
b95b8af+dirty 1235.60 ms 1242.06 ms 6.46 ms
dadc233+dirty 1266.52 ms 1282.55 ms 16.03 ms
1faf8e3+dirty 1223.38 ms 1220.56 ms -2.82 ms
7bc4d75+dirty 1222.13 ms 1216.39 ms -5.74 ms
1332acb+dirty 1243.98 ms 1241.12 ms -2.86 ms

App size

Revision Plain With Sentry Diff
5a22220+dirty 2.92 MiB 3.48 MiB 575.81 KiB
f06c879+dirty 2.92 MiB 3.44 MiB 533.24 KiB
c398f67+dirty 2.92 MiB 3.60 MiB 701.89 KiB
5bb8d5f+dirty 2.92 MiB 3.48 MiB 575.85 KiB
4cc5c27+dirty 2.92 MiB 3.61 MiB 705.47 KiB
b95b8af+dirty 2.92 MiB 3.69 MiB 794.16 KiB
dadc233+dirty 2.92 MiB 3.40 MiB 492.53 KiB
1faf8e3+dirty 2.92 MiB 3.64 MiB 742.61 KiB
7bc4d75+dirty 2.92 MiB 3.66 MiB 757.15 KiB
1332acb+dirty 2.92 MiB 3.67 MiB 772.45 KiB

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

Startup times

Revision Plain With Sentry Diff
cadf235+dirty 1225.19 ms 1231.65 ms 6.47 ms
50c70c0+dirty 1226.61 ms 1225.02 ms -1.59 ms
561640f+dirty 1237.10 ms 1229.59 ms -7.51 ms
38a278b+dirty 1247.80 ms 1244.61 ms -3.18 ms
edc8020+dirty 1245.50 ms 1241.70 ms -3.80 ms
e0624b6+dirty 1229.19 ms 1232.18 ms 3.00 ms
03c9048+dirty 1231.52 ms 1225.96 ms -5.56 ms
26fc306+dirty 1229.10 ms 1227.88 ms -1.22 ms
f4a5053+dirty 1233.04 ms 1240.02 ms 6.98 ms
27e1bf3+dirty 1245.78 ms 1244.38 ms -1.40 ms

App size

Revision Plain With Sentry Diff
cadf235+dirty 2.92 MiB 3.67 MiB 773.97 KiB
50c70c0+dirty 2.92 MiB 3.67 MiB 773.48 KiB
561640f+dirty 2.92 MiB 3.67 MiB 773.72 KiB
38a278b+dirty 2.92 MiB 3.69 MiB 793.49 KiB
edc8020+dirty 2.92 MiB 3.69 MiB 793.89 KiB
e0624b6+dirty 2.92 MiB 3.67 MiB 773.62 KiB
03c9048+dirty 2.92 MiB 3.67 MiB 774.29 KiB
26fc306+dirty 2.92 MiB 3.67 MiB 773.77 KiB
f4a5053+dirty 2.92 MiB 3.67 MiB 774.18 KiB
27e1bf3+dirty 2.92 MiB 3.67 MiB 773.54 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 1233.17 ms 1238.44 ms 5.27 ms
Size 2.36 MiB 3.13 MiB 782.76 KiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
5a22220+dirty 1209.49 ms 1220.94 ms 11.45 ms
f06c879+dirty 1252.64 ms 1259.66 ms 7.02 ms
c398f67+dirty 1219.67 ms 1225.66 ms 5.99 ms
5bb8d5f+dirty 1235.47 ms 1237.39 ms 1.92 ms
4cc5c27+dirty 1211.45 ms 1214.60 ms 3.16 ms
b95b8af+dirty 1221.39 ms 1228.52 ms 7.13 ms
dadc233+dirty 1223.20 ms 1236.88 ms 13.68 ms
1faf8e3+dirty 1214.87 ms 1222.83 ms 7.97 ms
7bc4d75+dirty 1233.40 ms 1229.56 ms -3.83 ms
1332acb+dirty 1230.53 ms 1234.54 ms 4.01 ms

App size

Revision Plain With Sentry Diff
5a22220+dirty 2.36 MiB 2.92 MiB 570.21 KiB
f06c879+dirty 2.36 MiB 2.88 MiB 530.42 KiB
c398f67+dirty 2.36 MiB 3.04 MiB 696.27 KiB
5bb8d5f+dirty 2.36 MiB 2.92 MiB 570.22 KiB
4cc5c27+dirty 2.36 MiB 3.04 MiB 698.52 KiB
b95b8af+dirty 2.36 MiB 3.14 MiB 793.32 KiB
dadc233+dirty 2.36 MiB 2.84 MiB 486.85 KiB
1faf8e3+dirty 2.36 MiB 3.08 MiB 736.75 KiB
7bc4d75+dirty 2.36 MiB 3.10 MiB 752.58 KiB
1332acb+dirty 2.36 MiB 3.11 MiB 759.86 KiB

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

Startup times

Revision Plain With Sentry Diff
cadf235+dirty 1223.89 ms 1236.22 ms 12.33 ms
50c70c0+dirty 1228.06 ms 1224.43 ms -3.64 ms
561640f+dirty 1220.45 ms 1227.02 ms 6.57 ms
38a278b+dirty 1233.02 ms 1233.82 ms 0.80 ms
edc8020+dirty 1235.24 ms 1236.69 ms 1.44 ms
e0624b6+dirty 1221.86 ms 1226.42 ms 4.57 ms
03c9048+dirty 1235.37 ms 1238.15 ms 2.77 ms
26fc306+dirty 1227.25 ms 1225.85 ms -1.40 ms
f4a5053+dirty 1225.32 ms 1231.47 ms 6.15 ms
27e1bf3+dirty 1230.92 ms 1232.33 ms 1.41 ms

App size

Revision Plain With Sentry Diff
cadf235+dirty 2.36 MiB 3.11 MiB 761.47 KiB
50c70c0+dirty 2.36 MiB 3.11 MiB 760.92 KiB
561640f+dirty 2.36 MiB 3.11 MiB 761.19 KiB
38a278b+dirty 2.36 MiB 3.13 MiB 782.12 KiB
edc8020+dirty 2.36 MiB 3.13 MiB 782.76 KiB
e0624b6+dirty 2.36 MiB 3.11 MiB 761.16 KiB
03c9048+dirty 2.36 MiB 3.11 MiB 761.74 KiB
26fc306+dirty 2.36 MiB 3.11 MiB 761.18 KiB
f4a5053+dirty 2.36 MiB 3.11 MiB 761.72 KiB
27e1bf3+dirty 2.36 MiB 3.11 MiB 761.03 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