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

Chore: Upgrade sample and E2E tests to RN 0.75 #4155

Merged
merged 27 commits into from
Oct 16, 2024

Conversation

antonis
Copy link
Collaborator

@antonis antonis commented Oct 7, 2024

📢 Type of change

  • Bugfix
  • New feature
  • Enhancement
  • Refactoring

📜 Description

⚠️ This PR is based on Release v6 due to the fact that the macOS sample split is needed for the update.

  • ⚠️ We should consider before merging if we want the changes on v6. If not we should wait for the release branch to be merged back on main

💡 Motivation and Context

Fixes #4139 and #4152

💚 How did you test it?

Manual local testing and CI checks

📝 Checklist

  • I reviewed submitted code
  • I added tests to verify changes
  • No new PII added or SDK only sends newly added PII if sendDefaultPII is enabled
  • All tests passing
  • No breaking changes

🔮 Next steps

#skip-changelog

@rwachtler
Copy link

rwachtler commented Oct 8, 2024

@antonis 👋 Hey, you might have already noticed this as well, but when executing yarn build (being on 0.75.4) from the main sentry-react-native folder, I run into following TS error.

Type '{ major: number; minor: number; patch: number; prerelease?: string | number | null | undefined; }' is not assignable to type '{ major: number; minor: number; patch: number; prerelease?: number | null | undefined; }'.
  Types of property 'prerelease' are incompatible.
    Type 'string | number | null | undefined' is not assignable to type 'number | null | undefined'.
      Type 'string' is not assignable to type 'number'.

34     version: Platform.constants?.reactNativeVersion,
       ~~~~~~~

  src/js/vendor/react-native/index.ts:76:3
    76   version: {
         ~~~~~~~
    The expected type comes from property 'version' which is declared here on type 'ReactNativeVersion'

Due a type mismatch in here. It looks like the type of the prerelease property has been updated from number | null | undefined; to string | null | undefined; within react-native in this PR.

@antonis
Copy link
Collaborator Author

antonis commented Oct 8, 2024

Thank you for the heads up @rwachtler 🙇
I'll look into this along with the upgrade.

Copy link
Contributor

github-actions bot commented Oct 8, 2024

Android (legacy) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 432.67 ms 473.94 ms 41.27 ms
Size 17.74 MiB 20.07 MiB 2.34 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
e73d82f 475.82 ms 506.55 ms 30.73 ms
0ebca77 414.93 ms 444.49 ms 29.56 ms
484813b 434.55 ms 452.31 ms 17.75 ms
e540498 436.26 ms 433.00 ms -3.26 ms
acadc0f+dirty 373.24 ms 381.51 ms 8.27 ms
70e6261 482.65 ms 495.70 ms 13.05 ms
b1e8712 462.11 ms 465.71 ms 3.60 ms
0677344 327.74 ms 337.14 ms 9.40 ms
3ffcddd 302.92 ms 315.80 ms 12.88 ms
728164b 414.34 ms 449.22 ms 34.88 ms

App size

Revision Plain With Sentry Diff
e73d82f 17.73 MiB 20.07 MiB 2.33 MiB
0ebca77 17.73 MiB 19.95 MiB 2.21 MiB
484813b 17.73 MiB 20.07 MiB 2.33 MiB
e540498 17.73 MiB 20.11 MiB 2.37 MiB
acadc0f+dirty 17.73 MiB 19.75 MiB 2.01 MiB
70e6261 17.73 MiB 19.94 MiB 2.21 MiB
b1e8712 17.73 MiB 19.75 MiB 2.02 MiB
0677344 17.73 MiB 19.81 MiB 2.07 MiB
3ffcddd 17.73 MiB 19.75 MiB 2.02 MiB
728164b 17.73 MiB 19.85 MiB 2.12 MiB

Previous results on branch: antonis/rn-0.75.4-no-flipper

Startup times

Revision Plain With Sentry Diff
2af07d9 499.36 ms 503.86 ms 4.50 ms
5e47d60 487.96 ms 477.58 ms -10.38 ms
09f796f 481.48 ms 485.34 ms 3.86 ms
6f56d09 456.56 ms 460.13 ms 3.57 ms
8f69ce2 577.67 ms 598.06 ms 20.40 ms
03d7842 345.12 ms 353.26 ms 8.14 ms

App size

Revision Plain With Sentry Diff
2af07d9 17.74 MiB 20.06 MiB 2.33 MiB
5e47d60 17.74 MiB 20.07 MiB 2.34 MiB
09f796f 17.74 MiB 20.06 MiB 2.33 MiB
6f56d09 17.74 MiB 20.06 MiB 2.33 MiB
8f69ce2 17.74 MiB 20.06 MiB 2.33 MiB
03d7842 17.74 MiB 20.06 MiB 2.33 MiB

Copy link
Contributor

github-actions bot commented Oct 8, 2024

iOS (legacy) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 1214.90 ms 1210.11 ms -4.79 ms
Size 2.36 MiB 3.09 MiB 742.66 KiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
e5c9b8b+dirty 1258.57 ms 1267.32 ms 8.75 ms
0db0c72+dirty 1275.02 ms 1285.84 ms 10.82 ms
76d1baf+dirty 1244.10 ms 1268.52 ms 24.42 ms
1c65324+dirty 1235.17 ms 1235.08 ms -0.09 ms
e2b64fe+dirty 1232.22 ms 1255.20 ms 22.98 ms
8900e1a+dirty 1210.27 ms 1218.66 ms 8.39 ms
5571a20+dirty 1203.57 ms 1204.57 ms 1.00 ms
e73f4ed+dirty 1243.27 ms 1244.52 ms 1.25 ms
e73d82f+dirty 1207.52 ms 1216.73 ms 9.21 ms
d7401ac+dirty 1252.38 ms 1275.04 ms 22.66 ms

App size

Revision Plain With Sentry Diff
e5c9b8b+dirty 2.36 MiB 2.87 MiB 520.43 KiB
0db0c72+dirty 2.36 MiB 2.84 MiB 487.01 KiB
76d1baf+dirty 2.36 MiB 2.82 MiB 469.45 KiB
1c65324+dirty 2.36 MiB 3.04 MiB 698.64 KiB
e2b64fe+dirty 2.36 MiB 2.85 MiB 495.80 KiB
8900e1a+dirty 2.36 MiB 2.83 MiB 479.25 KiB
5571a20+dirty 2.36 MiB 2.92 MiB 569.93 KiB
e73f4ed+dirty 2.36 MiB 2.82 MiB 469.44 KiB
e73d82f+dirty 2.36 MiB 3.08 MiB 734.23 KiB
d7401ac+dirty 2.36 MiB 2.83 MiB 481.14 KiB

Previous results on branch: antonis/rn-0.75.4-no-flipper

Startup times

Revision Plain With Sentry Diff
6f56d09+dirty 1231.18 ms 1236.79 ms 5.61 ms
03d7842+dirty 1222.02 ms 1232.84 ms 10.82 ms
8f69ce2+dirty 1211.06 ms 1214.98 ms 3.92 ms
5e47d60+dirty 1223.51 ms 1222.85 ms -0.66 ms
09f796f+dirty 1222.62 ms 1224.69 ms 2.07 ms
2af07d9+dirty 1230.71 ms 1232.44 ms 1.74 ms

App size

Revision Plain With Sentry Diff
6f56d09+dirty 2.36 MiB 3.08 MiB 733.60 KiB
03d7842+dirty 2.36 MiB 3.08 MiB 733.56 KiB
8f69ce2+dirty 2.36 MiB 3.08 MiB 733.55 KiB
5e47d60+dirty 2.36 MiB 3.09 MiB 742.34 KiB
09f796f+dirty 2.36 MiB 3.08 MiB 733.51 KiB
2af07d9+dirty 2.36 MiB 3.08 MiB 733.57 KiB

Copy link
Contributor

github-actions bot commented Oct 8, 2024

Android (new) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 417.65 ms 462.39 ms 44.74 ms
Size 7.15 MiB 8.35 MiB 1.20 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
700cbf4+dirty 411.71 ms 485.52 ms 73.81 ms
acadc0f+dirty 259.04 ms 304.67 ms 45.63 ms
e5c9b8b+dirty 335.40 ms 360.06 ms 24.67 ms
728164b+dirty 335.93 ms 342.94 ms 7.01 ms
abb7058+dirty 320.78 ms 324.08 ms 3.30 ms
27ef4ee+dirty 296.71 ms 351.00 ms 54.29 ms
22e31b6+dirty 295.75 ms 346.73 ms 50.98 ms
9c48b2c+dirty 270.82 ms 321.12 ms 50.30 ms
15c80ab+dirty 276.38 ms 327.54 ms 51.17 ms
1d86dd6+dirty 335.76 ms 371.22 ms 35.46 ms

App size

Revision Plain With Sentry Diff
700cbf4+dirty 7.15 MiB 8.34 MiB 1.19 MiB
acadc0f+dirty 7.15 MiB 8.03 MiB 903.20 KiB
e5c9b8b+dirty 7.15 MiB 8.10 MiB 980.41 KiB
728164b+dirty 7.15 MiB 8.12 MiB 997.71 KiB
abb7058+dirty 7.15 MiB 8.10 MiB 980.40 KiB
27ef4ee+dirty 7.15 MiB 8.08 MiB 959.49 KiB
22e31b6+dirty 7.15 MiB 8.10 MiB 981.29 KiB
9c48b2c+dirty 7.15 MiB 8.07 MiB 947.16 KiB
15c80ab+dirty 7.15 MiB 8.09 MiB 966.13 KiB
1d86dd6+dirty 7.15 MiB 8.13 MiB 1002.18 KiB

Previous results on branch: antonis/rn-0.75.4-no-flipper

Startup times

Revision Plain With Sentry Diff
6f56d09+dirty 388.76 ms 421.58 ms 32.82 ms
2af07d9+dirty 389.92 ms 426.21 ms 36.29 ms
09f796f+dirty 391.98 ms 451.30 ms 59.32 ms
8f69ce2+dirty 411.39 ms 456.56 ms 45.17 ms
03d7842+dirty 382.43 ms 426.12 ms 43.69 ms
5e47d60+dirty 402.10 ms 417.96 ms 15.86 ms

App size

Revision Plain With Sentry Diff
6f56d09+dirty 7.15 MiB 8.34 MiB 1.19 MiB
2af07d9+dirty 7.15 MiB 8.34 MiB 1.19 MiB
09f796f+dirty 7.15 MiB 8.34 MiB 1.19 MiB
8f69ce2+dirty 7.15 MiB 8.34 MiB 1.19 MiB
03d7842+dirty 7.15 MiB 8.34 MiB 1.19 MiB
5e47d60+dirty 7.15 MiB 8.35 MiB 1.20 MiB

Copy link
Contributor

github-actions bot commented Oct 8, 2024

iOS (new) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 1227.57 ms 1225.27 ms -2.29 ms
Size 2.92 MiB 3.64 MiB 744.07 KiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
e5c9b8b+dirty 1276.90 ms 1280.92 ms 4.02 ms
0db0c72+dirty 1258.88 ms 1262.52 ms 3.64 ms
76d1baf+dirty 1245.00 ms 1257.76 ms 12.76 ms
1c65324+dirty 1239.71 ms 1239.86 ms 0.15 ms
e2b64fe+dirty 1285.78 ms 1297.56 ms 11.78 ms
8900e1a+dirty 1268.36 ms 1273.04 ms 4.68 ms
5571a20+dirty 1228.09 ms 1233.45 ms 5.36 ms
e73f4ed+dirty 1282.90 ms 1309.30 ms 26.40 ms
e73d82f+dirty 1231.20 ms 1228.81 ms -2.40 ms
d7401ac+dirty 1288.10 ms 1289.54 ms 1.44 ms

App size

Revision Plain With Sentry Diff
e5c9b8b+dirty 2.92 MiB 3.43 MiB 524.50 KiB
0db0c72+dirty 2.92 MiB 3.40 MiB 492.71 KiB
76d1baf+dirty 2.92 MiB 3.38 MiB 475.74 KiB
1c65324+dirty 2.92 MiB 3.61 MiB 705.56 KiB
e2b64fe+dirty 2.92 MiB 3.41 MiB 499.97 KiB
8900e1a+dirty 2.92 MiB 3.39 MiB 485.96 KiB
5571a20+dirty 2.92 MiB 3.48 MiB 575.54 KiB
e73f4ed+dirty 2.92 MiB 3.38 MiB 475.71 KiB
e73d82f+dirty 2.92 MiB 3.64 MiB 740.56 KiB
d7401ac+dirty 2.92 MiB 3.40 MiB 488.06 KiB

Previous results on branch: antonis/rn-0.75.4-no-flipper

Startup times

Revision Plain With Sentry Diff
6f56d09+dirty 1244.29 ms 1243.61 ms -0.68 ms
03d7842+dirty 1238.23 ms 1241.08 ms 2.85 ms
8f69ce2+dirty 1225.96 ms 1235.49 ms 9.53 ms
5e47d60+dirty 1233.71 ms 1233.22 ms -0.49 ms
09f796f+dirty 1229.16 ms 1214.74 ms -14.42 ms
2af07d9+dirty 1237.73 ms 1234.75 ms -2.98 ms

App size

Revision Plain With Sentry Diff
6f56d09+dirty 2.92 MiB 3.64 MiB 739.85 KiB
03d7842+dirty 2.92 MiB 3.64 MiB 739.81 KiB
8f69ce2+dirty 2.92 MiB 3.64 MiB 739.81 KiB
5e47d60+dirty 2.92 MiB 3.64 MiB 743.91 KiB
09f796f+dirty 2.92 MiB 3.64 MiB 739.84 KiB
2af07d9+dirty 2.92 MiB 3.64 MiB 739.88 KiB

This was linked to issues Oct 9, 2024
@antonis antonis marked this pull request as ready for review October 9, 2024 12:53
CHANGELOG.md Outdated Show resolved Hide resolved
@krystofwoldrich
Copy link
Member

Let's also update packages/core to RN 0.75

Copy link
Collaborator

@lucas-zimerman lucas-zimerman left a comment

Choose a reason for hiding this comment

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

Looks good to me, LGTM!

@lucas-zimerman lucas-zimerman mentioned this pull request Oct 14, 2024
Copy link
Member

@krystofwoldrich krystofwoldrich left a comment

Choose a reason for hiding this comment

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

Looks good. Thank you!

@antonis
Copy link
Collaborator Author

antonis commented Oct 15, 2024

@krystofwoldrich @lucas-zimerman Just a heads up that I haven't wrapped up the packages/core update to RN 0.75 but I think it would be better handled in a separate PR.

Should we wait for #4155 before merging?

Regarding this question from the v6 PR, I think it is safe in the current state that only updates the e2e tests and samples.

@antonis
Copy link
Collaborator Author

antonis commented Oct 15, 2024

Let's also update packages/core to RN 0.75

Opened a separate PR for this #4173

@antonis
Copy link
Collaborator Author

antonis commented Oct 15, 2024

Base automatically changed from v6 to main October 15, 2024 10:54
@krystofwoldrich
Copy link
Member

Since V6 is merged in main, we can just resolved the conflict, likely just formatting from the added java lint. And we can merge this as well.

# Conflicts:
#	samples/react-native/android/app/src/release/java/io/sentry/reactnative/sample/ReactNativeFlipper.java
@antonis antonis merged commit 3b4dd9c into main Oct 16, 2024
65 checks passed
@antonis antonis deleted the antonis/rn-0.75.4-no-flipper branch October 16, 2024 04:27
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.

Remove Flipper Upgrade sample and E2E tests to RN 0.75
4 participants