Use .at()
method instead of operator[]
for shareable worklet lookup
#604
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.
Details
This PR partially fixes the following crash on Android:
For some reason,
getMarkdownWorklet
is called for givenparserId
afterunregisterMarkdownWorklet
is called. The reason is currently unknown and will be investigated separately. In such case,globalMarkdownShareableWorklets[parserId]
returnsnullptr
(and also storesnullptr
inglobalMarkdownShareableWorklets
, sic!) and the assert fails.After this change, in such case
globalMarkdownShareableWorklets.at(parserId)
will throw an exception. The exception will be passed through C++ code and then passed to Java side where it is already handled here:react-native-live-markdown/android/src/main/java/com/expensify/livemarkdown/MarkdownParser.java
Lines 45 to 52 in 59e749c
Related Issues
assertion "worklet != nullptr" failed
on Android #603Manual Tests
> blockquote
a
key multiple timesLinked PRs