-
-
Notifications
You must be signed in to change notification settings - Fork 342
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feedback modal UI tweaks #4492
Feedback modal UI tweaks #4492
Conversation
Android (new) Performance metrics 🚀
|
Revision | Plain | With Sentry | Diff |
---|---|---|---|
269c976+dirty | 395.13 ms | 438.37 ms | 43.24 ms |
e5d5735+dirty | 377.37 ms | 430.04 ms | 52.67 ms |
9402883+dirty | 436.49 ms | 518.94 ms | 82.45 ms |
0459aee+dirty | 424.10 ms | 466.63 ms | 42.53 ms |
8cb898b+dirty | 393.33 ms | 416.20 ms | 22.87 ms |
0325426+dirty | 418.89 ms | 485.00 ms | 66.11 ms |
6b1624f+dirty | 382.17 ms | 441.00 ms | 58.83 ms |
3e4cdf5+dirty | 642.13 ms | 702.23 ms | 60.10 ms |
2646c98+dirty | 415.13 ms | 438.41 ms | 23.28 ms |
App size
Revision | Plain | With Sentry | Diff |
---|---|---|---|
269c976+dirty | 7.15 MiB | 8.39 MiB | 1.23 MiB |
e5d5735+dirty | 7.15 MiB | 8.39 MiB | 1.23 MiB |
9402883+dirty | 7.15 MiB | 8.39 MiB | 1.23 MiB |
0459aee+dirty | 7.15 MiB | 8.38 MiB | 1.23 MiB |
8cb898b+dirty | 7.15 MiB | 8.39 MiB | 1.24 MiB |
0325426+dirty | 7.15 MiB | 8.38 MiB | 1.23 MiB |
6b1624f+dirty | 7.15 MiB | 8.39 MiB | 1.23 MiB |
3e4cdf5+dirty | 7.15 MiB | 8.39 MiB | 1.23 MiB |
2646c98+dirty | 7.15 MiB | 8.38 MiB | 1.23 MiB |
Previous results on branch: antonis/feedback-modal-ui
Startup times
Revision | Plain | With Sentry | Diff |
---|---|---|---|
de197fe+dirty | 354.64 ms | 397.88 ms | 43.23 ms |
47b8d2f+dirty | 356.43 ms | 403.11 ms | 46.69 ms |
5bd21c5+dirty | 355.61 ms | 403.40 ms | 47.79 ms |
8216878+dirty | 347.88 ms | 363.18 ms | 15.30 ms |
bfcb8e8+dirty | 433.59 ms | 508.79 ms | 75.20 ms |
App size
Revision | Plain | With Sentry | Diff |
---|---|---|---|
de197fe+dirty | 7.15 MiB | 8.39 MiB | 1.24 MiB |
47b8d2f+dirty | 7.15 MiB | 8.39 MiB | 1.23 MiB |
5bd21c5+dirty | 7.15 MiB | 8.39 MiB | 1.24 MiB |
8216878+dirty | 7.15 MiB | 8.39 MiB | 1.24 MiB |
bfcb8e8+dirty | 7.15 MiB | 8.39 MiB | 1.23 MiB |
iOS (legacy) Performance metrics 🚀
|
Revision | Plain | With Sentry | Diff |
---|---|---|---|
6b1624f+dirty | 1224.65 ms | 1225.65 ms | 1.00 ms |
8cb898b+dirty | 1221.40 ms | 1231.78 ms | 10.37 ms |
269c976+dirty | 1210.02 ms | 1204.46 ms | -5.56 ms |
0325426+dirty | 1228.88 ms | 1229.92 ms | 1.04 ms |
2646c98+dirty | 1218.51 ms | 1218.92 ms | 0.41 ms |
9402883+dirty | 1219.65 ms | 1217.94 ms | -1.72 ms |
e5d5735+dirty | 1222.02 ms | 1222.22 ms | 0.20 ms |
3e4cdf5+dirty | 1222.53 ms | 1224.42 ms | 1.89 ms |
0459aee+dirty | 1232.82 ms | 1231.19 ms | -1.63 ms |
App size
Revision | Plain | With Sentry | Diff |
---|---|---|---|
6b1624f+dirty | 2.63 MiB | 3.71 MiB | 1.07 MiB |
8cb898b+dirty | 2.63 MiB | 3.71 MiB | 1.08 MiB |
269c976+dirty | 2.63 MiB | 3.69 MiB | 1.06 MiB |
0325426+dirty | 2.63 MiB | 3.69 MiB | 1.06 MiB |
2646c98+dirty | 2.63 MiB | 3.69 MiB | 1.06 MiB |
9402883+dirty | 2.63 MiB | 3.71 MiB | 1.07 MiB |
e5d5735+dirty | 2.63 MiB | 3.69 MiB | 1.06 MiB |
3e4cdf5+dirty | 2.63 MiB | 3.69 MiB | 1.06 MiB |
0459aee+dirty | 2.63 MiB | 3.69 MiB | 1.06 MiB |
Previous results on branch: antonis/feedback-modal-ui
Startup times
Revision | Plain | With Sentry | Diff |
---|---|---|---|
8216878+dirty | 1220.35 ms | 1222.86 ms | 2.51 ms |
47b8d2f+dirty | 1224.20 ms | 1226.63 ms | 2.42 ms |
bfcb8e8+dirty | 1218.14 ms | 1223.16 ms | 5.02 ms |
5bd21c5+dirty | 1232.90 ms | 1229.58 ms | -3.31 ms |
de197fe+dirty | 1222.35 ms | 1224.57 ms | 2.22 ms |
App size
Revision | Plain | With Sentry | Diff |
---|---|---|---|
8216878+dirty | 2.63 MiB | 3.71 MiB | 1.08 MiB |
47b8d2f+dirty | 2.63 MiB | 3.71 MiB | 1.07 MiB |
bfcb8e8+dirty | 2.63 MiB | 3.71 MiB | 1.07 MiB |
5bd21c5+dirty | 2.63 MiB | 3.71 MiB | 1.08 MiB |
de197fe+dirty | 2.63 MiB | 3.71 MiB | 1.08 MiB |
Android (legacy) Performance metrics 🚀
|
Revision | Plain | With Sentry | Diff |
---|---|---|---|
6b1624f | 462.78 ms | 465.13 ms | 2.35 ms |
9402883 | 448.53 ms | 468.73 ms | 20.20 ms |
0459aee | 491.48 ms | 486.13 ms | -5.35 ms |
269c976 | 448.08 ms | 428.86 ms | -19.22 ms |
8cb898b | 438.83 ms | 420.58 ms | -18.25 ms |
e5d5735 | 452.70 ms | 453.04 ms | 0.34 ms |
0325426 | 477.32 ms | 457.43 ms | -19.89 ms |
3e4cdf5 | 462.35 ms | 474.96 ms | 12.61 ms |
2646c98 | 429.98 ms | 421.63 ms | -8.35 ms |
App size
Revision | Plain | With Sentry | Diff |
---|---|---|---|
6b1624f | 17.75 MiB | 20.12 MiB | 2.37 MiB |
9402883 | 17.75 MiB | 20.12 MiB | 2.37 MiB |
0459aee | 17.75 MiB | 20.12 MiB | 2.37 MiB |
269c976 | 17.75 MiB | 20.12 MiB | 2.37 MiB |
8cb898b | 17.75 MiB | 20.12 MiB | 2.37 MiB |
e5d5735 | 17.75 MiB | 20.12 MiB | 2.37 MiB |
0325426 | 17.75 MiB | 20.12 MiB | 2.37 MiB |
3e4cdf5 | 17.75 MiB | 20.12 MiB | 2.37 MiB |
2646c98 | 17.75 MiB | 20.12 MiB | 2.37 MiB |
Previous results on branch: antonis/feedback-modal-ui
Startup times
Revision | Plain | With Sentry | Diff |
---|---|---|---|
5bd21c5 | 422.60 ms | 437.37 ms | 14.76 ms |
47b8d2f | 465.92 ms | 481.88 ms | 15.96 ms |
bfcb8e8 | 437.53 ms | 465.48 ms | 27.95 ms |
8216878 | 434.78 ms | 431.30 ms | -3.48 ms |
de197fe | 471.60 ms | 457.30 ms | -14.30 ms |
App size
Revision | Plain | With Sentry | Diff |
---|---|---|---|
5bd21c5 | 17.75 MiB | 20.12 MiB | 2.37 MiB |
47b8d2f | 17.75 MiB | 20.12 MiB | 2.37 MiB |
bfcb8e8 | 17.75 MiB | 20.12 MiB | 2.37 MiB |
8216878 | 17.75 MiB | 20.12 MiB | 2.37 MiB |
de197fe | 17.75 MiB | 20.12 MiB | 2.37 MiB |
The auto-injected form has double the border of the manually created one. That seems to me like a bug. |
I would like to iterate over the possible implementations of this. I think the shadow should not slide up with the modal, it doesn't look natural. Could we make use of the fact we wrap the modal in view and make the wrapper view fade in out the shadow as the modal slides up? |
I've tried the code on iOS and the form does not avoid the on-screen keyboard. |
iOS (new) Performance metrics 🚀
|
Revision | Plain | With Sentry | Diff |
---|---|---|---|
9402883+dirty | 1217.71 ms | 1213.02 ms | -4.69 ms |
894ebb0+dirty | 1210.94 ms | 1202.08 ms | -8.85 ms |
3e4cdf5+dirty | 1213.36 ms | 1221.31 ms | 7.95 ms |
8cb898b+dirty | 1209.39 ms | 1207.57 ms | -1.82 ms |
2646c98+dirty | 1239.94 ms | 1246.90 ms | 6.96 ms |
6b1624f+dirty | 1224.12 ms | 1220.73 ms | -3.39 ms |
0459aee+dirty | 1233.67 ms | 1239.80 ms | 6.12 ms |
0325426+dirty | 1210.17 ms | 1216.37 ms | 6.20 ms |
e5d5735+dirty | 1217.78 ms | 1221.80 ms | 4.02 ms |
269c976+dirty | 1223.29 ms | 1222.90 ms | -0.39 ms |
App size
Revision | Plain | With Sentry | Diff |
---|---|---|---|
9402883+dirty | 3.19 MiB | 4.27 MiB | 1.09 MiB |
894ebb0+dirty | 3.19 MiB | 4.27 MiB | 1.09 MiB |
3e4cdf5+dirty | 3.19 MiB | 4.26 MiB | 1.07 MiB |
8cb898b+dirty | 3.19 MiB | 4.28 MiB | 1.09 MiB |
2646c98+dirty | 3.19 MiB | 4.26 MiB | 1.07 MiB |
6b1624f+dirty | 3.19 MiB | 4.27 MiB | 1.09 MiB |
0459aee+dirty | 3.19 MiB | 4.26 MiB | 1.07 MiB |
0325426+dirty | 3.19 MiB | 4.26 MiB | 1.07 MiB |
e5d5735+dirty | 3.19 MiB | 4.26 MiB | 1.07 MiB |
269c976+dirty | 3.19 MiB | 4.26 MiB | 1.07 MiB |
Previous results on branch: antonis/feedback-modal-ui
Startup times
Revision | Plain | With Sentry | Diff |
---|---|---|---|
8216878+dirty | 1215.94 ms | 1208.36 ms | -7.57 ms |
47b8d2f+dirty | 1228.90 ms | 1228.57 ms | -0.33 ms |
bfcb8e8+dirty | 1235.14 ms | 1225.31 ms | -9.83 ms |
5bd21c5+dirty | 1228.94 ms | 1220.00 ms | -8.94 ms |
de197fe+dirty | 1207.69 ms | 1200.61 ms | -7.09 ms |
App size
Revision | Plain | With Sentry | Diff |
---|---|---|---|
8216878+dirty | 3.19 MiB | 4.28 MiB | 1.09 MiB |
47b8d2f+dirty | 3.19 MiB | 4.27 MiB | 1.09 MiB |
bfcb8e8+dirty | 3.19 MiB | 4.27 MiB | 1.09 MiB |
5bd21c5+dirty | 3.19 MiB | 4.28 MiB | 1.09 MiB |
de197fe+dirty | 3.19 MiB | 4.28 MiB | 1.09 MiB |
Good catch 👍
Good idea 👍 iOS AnimationSimulator.Screen.Recording.-.iPhone.16.Pro.-.2025-01-31.at.16.52.59.mp4Android AnimationScreen_recording_20250131_165336.mp4
Should be fixed with a7a4e56 RecordingSimulator.Screen.Recording.-.iPhone.SE.3rd.generation.-.2025-01-31.at.19.00.05.mp4 |
|
||
const backgroundColor = backgroundOpacity.interpolate({ | ||
inputRange: [0, 1], | ||
outputRange: ['rgba(0, 0, 0, 0)', 'rgba(0, 0, 0, 0.9)'], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
q: why 0.9?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good question. I mainly tried to match the darker background of the manually created form and still keep the transparency.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good to me, and it worked fine for me on a real device
https://sentry-sdks.sentry.io/feedback/?feedbackSlug=sentry-react-native%3A6286398787&mailbox=ignored&project=5428561&referrer=feedback_list_page&statsPeriod=1h
Looks perfect, thank you! Also this comment is great, it makes it super easy to follow the development and changes in the PR. 👏 👏 👏 |
📢 Type of change
Based on #4435
📜 Description
FeedbackForm
bouncing💡 Motivation and Context
Part of #4302
💚 How did you test it?
Manual
Screenshots
📝 Checklist
sendDefaultPII
is enabled🔮 Next steps
#skip-changelog