Fail gracefully when the provided json is not valid#4474
Closed
antonis wants to merge 4 commits intoantonis/ref-RNSentryJsonUtilsfrom
Closed
Fail gracefully when the provided json is not valid#4474antonis wants to merge 4 commits intoantonis/ref-RNSentryJsonUtilsfrom
antonis wants to merge 4 commits intoantonis/ref-RNSentryJsonUtilsfrom
Conversation
10 tasks
This was referenced Jan 21, 2025
Contributor
Android (legacy) Performance metrics 🚀
|
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 11c0bc5 | 419.08 ms | 454.54 ms | 35.46 ms |
| eff021d | 428.13 ms | 417.82 ms | -10.31 ms |
| f9a2e3c | 449.64 ms | 469.63 ms | 19.99 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 11c0bc5 | 17.75 MiB | 20.11 MiB | 2.37 MiB |
| eff021d | 17.75 MiB | 20.11 MiB | 2.37 MiB |
| f9a2e3c | 17.75 MiB | 20.11 MiB | 2.37 MiB |
Contributor
Android (new) Performance metrics 🚀
|
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| f9a2e3c+dirty | 386.92 ms | 435.47 ms | 48.55 ms |
| 11c0bc5+dirty | 393.98 ms | 421.85 ms | 27.87 ms |
| eff021d+dirty | 404.96 ms | 469.09 ms | 64.13 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| f9a2e3c+dirty | 7.15 MiB | 8.38 MiB | 1.23 MiB |
| 11c0bc5+dirty | 7.15 MiB | 8.38 MiB | 1.23 MiB |
| eff021d+dirty | 7.15 MiB | 8.38 MiB | 1.23 MiB |
Contributor
iOS (legacy) Performance metrics 🚀
|
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 11c0bc5+dirty | 1215.18 ms | 1217.63 ms | 2.45 ms |
| eff021d+dirty | 1233.80 ms | 1221.47 ms | -12.33 ms |
| f9a2e3c+dirty | 1230.61 ms | 1221.64 ms | -8.97 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 11c0bc5+dirty | 2.63 MiB | 3.69 MiB | 1.05 MiB |
| eff021d+dirty | 2.63 MiB | 3.69 MiB | 1.05 MiB |
| f9a2e3c+dirty | 2.63 MiB | 3.69 MiB | 1.05 MiB |
Contributor
iOS (new) Performance metrics 🚀
|
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 11c0bc5+dirty | 1242.98 ms | 1250.56 ms | 7.58 ms |
| eff021d+dirty | 1228.45 ms | 1220.27 ms | -8.18 ms |
| f9a2e3c+dirty | 1222.06 ms | 1223.62 ms | 1.56 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 11c0bc5+dirty | 3.19 MiB | 4.25 MiB | 1.06 MiB |
| eff021d+dirty | 3.19 MiB | 4.25 MiB | 1.06 MiB |
| f9a2e3c+dirty | 3.19 MiB | 4.25 MiB | 1.06 MiB |
…-fails-gracefully
…-fails-gracefully
Comment on lines
+39
to
+43
| logger.log( | ||
| SentryLevel.WARNING, | ||
| "Failed to load configuration file(" | ||
| + CONFIGURATION_FILE | ||
| + "), starting with configuration callback."); |
Contributor
There was a problem hiding this comment.
I think this log is not necessary/is duplicate as the same information will be logged out in getOptionsFromConfigurationFile.
| mockedRNSentryStart.close() | ||
| mockedRNSentryJsonUtils.close() | ||
| } | ||
|
|
Contributor
There was a problem hiding this comment.
Can you also add integration test which won't use the mocks (maybe just to supply the file) and initializes the SDK?
| } | ||
|
|
||
| @Test | ||
| fun `fails with an error when there is an unhandled exception in initialisation`() { |
Contributor
There was a problem hiding this comment.
This test is a bit confusing to me, as the getOptionsFromConfigurationFile should never throw.
| try { | ||
| JSONObject jsonObject = | ||
| RNSentryJsonUtils.getOptionsFromConfigurationFile(context, CONFIGURATION_FILE, logger); | ||
| ReadableMap rnOptions = RNSentryJsonUtils.jsonObjectToReadableMap(jsonObject); |
Contributor
There was a problem hiding this comment.
I think the SDK won't initialize when the jsonObject.get throws. Can we add test for it and avoid the rethrow.
Contributor
Author
|
Closing after integrating the useful parts in the parent PR #4451 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📢 Type of change
Based on #4470
📜 Description
Fail gracefully when the provided json is not valid
⛓️ PR Chain
💡 Motivation and Context
See #4451 (comment)
💚 How did you test it?
CI, Manual
📝 Checklist
sendDefaultPIIis enabled🔮 Next steps
#skip-changelog