Skip to content

[pull] main from Shopify:main#178

Merged
pull[bot] merged 4 commits into
code:mainfrom
Shopify:main
May 26, 2026
Merged

[pull] main from Shopify:main#178
pull[bot] merged 4 commits into
code:mainfrom
Shopify:main

Conversation

@pull

@pull pull Bot commented May 26, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

wcandillon and others added 4 commits May 26, 2026 05:00
JsiHostObject::get fell back to runtime.global().eval("Symbol.for('Symbol.dispose');")
for the dispose-symbol lookup on every property miss. With a Hermes build that
disables the JS eval builtin,
the first miss throws an uncaught jsi::JSError and crashes the app on boot —
reproducibly seen when Reanimated 4 worklets access `_isReanimatedSharedValue`
on a Skia HostObject during MapperRegistry setup.

Replace the eval invocation with a direct JSI traversal of `Symbol.for`. The
behaviour is equivalent (Symbol.for("Symbol.dispose") returns the same well-known
symbol regardless of how it is reached) and the path no longer depends on the JS
eval builtin being available.

Remove the now-unused `RNJsi::eval` helper (no other consumers in this file or
across the package).

Co-authored-by: William Candillon <wcandillon@gmail.com>
)

Co-authored-by: William Candillon <wcandillon@gmail.com>
@pull pull Bot locked and limited conversation to collaborators May 26, 2026
@pull pull Bot added the ⤵️ pull label May 26, 2026
@pull pull Bot merged commit 99669a2 into code:main May 26, 2026
7 of 10 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants