-
Notifications
You must be signed in to change notification settings - Fork 647
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
Consider supporting Proxy #33
Comments
I think this is a very important feature! After Redux, MobX is the most used state management solution with React which is getting more popular every day. |
Not only that, many state management libs are based on proxy, such as react-easy-state, and many other include Immer, such as easy-peasy. |
It seems there is a misconception that Immer or Mobx absolutely need proxy to work which is not true. |
They're not required, but performance with proxies is significantly faster than with JS getter/setter properties. That, and non-proxy builds have some pitfalls that don't exist in proxy builds. |
For helping prioritizing, does anyone have data that shows popular apps / libraries are performing badly without this? Just like any team, prioritizing features and resources is critical. @lishine, do you have a list? the more data and targeted we can be, the more we can measure |
Performance comparison aside, the bellow state management libs do not use immer, they rely on proxy and symbols, I have used them or considered to use, and there are many more: Of course they are not big sharks like mobx, but are useful for their size, speed, simpliness and easiness. |
We too rely on Proxy for a small chunk of our infrastructure. -- Before JSC supported it, we wrote a micro-ponyfill that sort of implemented some of the features we needed. (It's impossible to Polyfill most of the Proxy API because it requires low level engine support). It had so many caveats that we did not publish this as open-source. It would definitely be ideal if Hermes added support for this API! -- We don't need the full Reflection API / I don't think I even understand what that would entail, but Proxy is super powerful on its own. |
+1. Proxy support would be great to have as well. We decorate our data models with a Proxy caching layer to speed up computations. We're also intending to upgrade keep up-to-date with mobx, but lack of support in hermes would bar us from doing so |
+1 - MobX aside, proxies are incredibly useful constructs that we want to use directly in our own code and cannot while using Hermes. |
I'm working on crypto projects and ethereum js uses Proxy. Support for this on hermes would be highly desireable |
Proxies allow for a somewhat cleaner API when inspecting and debugging e.g. with mobx v5. This would be awesome to have. |
Regarding performance benchmarks: From the Immer docs
Considering the operations are generally very quick anyway, this doesn't seem like the biggest deal in the world. That being said, I think proxy support would be a fantastic addition to Hermes. As proxy support in general becomes more widespread, I think we will see more and more libraries taking advantage of them, and potentially even omitting support for non-proxy environments all together. It would be a real shame to be locked out of certain parts of the ecosystem because one aspect of your JS runtime couldn't support it. All of that being said, this is a really cool project and thanks for working on it! *Unfortunately I have yet to find any benchmarks on MobX4(non-proxy version) vs MobX5(proxy version). |
I have used a library that uses mobx5, but when I install on my project with hermes I need to make manual change to mobx4 on yarn.lock, etc Please consider proxy support. |
I believe this is a very dishonest take, considering the support for proxies was broken for Android since forever so people were coming up with workarounds to avoid using them in the first place |
Proxy allows for a whole realm of capabilities, previously impossible in javascript. By blocking it because its "underused" is preventing those capabilities from being explored. The ability to analyze which properties a function accesses has some great advantages. Currently we use it to know exactly which parts of our state to persist on redux state changes. We don't use it in any type of situation where it would create a performance problem. Both the claims for not implementing (underuse, performance) are invalid. |
I’d like to explain a little more about our thoughts on Proxy. Our concern is that Proxy inserts itself into the JS engine in many places. In an interpreted engine like Hermes, this adds overhead, even if Proxy is never used. For example, when looking up a property on an object, now Hermes needs to check on every call if the object is a Proxy, and branch to a separate code path, even if this branch is never taken. This is not a large cost, but it happens very, very often. Even a little extra cost repeated many times can add latency, even with CPU branch prediction. There are also performance improvements we’d like to investigate which use static analysis of the JS code, but with Proxy, static analysis becomes much harder. That said, it would appear that our evaluation of the use of Proxy was inadequate. We looked at Facebook RN apps (of which there are many), and FB does not use any of the packages in common use in the community which depend on Proxy. This led us to believe Proxy wasn’t important, but it is now one of our most requested features. We have begun to investigate how we can implement Proxy without significant impact to performance, and we hope we can build something which meets the needs of the community. But, since we hadn’t originally planned on doing this work, it’s a low priority task, so we can’t give any estimate when Proxy would be available for Hermes. We ask for your patience as we investigate the best way to move forward. |
@mhorowitz thanks for providing the explanation. I'm a bit out of my depth with how the VM works, but curios... Is similar branching already happening with computed properties like getters? To me it seems like a similar scenario where you have to execute some code when a property is accessed. |
Yes, property accessors also require branching, and we've been careful to minimize those costs. We can overlap the checks in some places, due to the nature of C++ bit comparisons, but not everywhere. Mainly, proxies modify a lot more code paths than accessors do. For example, there's no accessor equivalent to the |
@mhorowitz I'm not a totally versed on VMs but would it not be possible to put Proxy behind some sort of flag? I'm sure some people wouldn't mind opting into the performance hit for improve DX w/ proxies |
It would be possible to make it a build flag, but this creates long-term support issues. Flags combine to describe a exponential number of builds. So either everyone need to build the VM from source to set the flags they want, which complicates integration, or we need to create an ever-increasing number of binary releases to support combinations of flags. So this is not a first-choice strategy. |
Could you statically analyze the JS code bundle when you load it to look for Proxy and eliminate any proxy-related code paths if it’s not used in the code base, @mhorowitz? This is one benefit to having all of the JS code known at load time. |
This is an interesting idea. In some sense, this is similar to what JITs do when they generate machine code based on observation of the code itself. My initial impression is that like a JIT, the tradeoff is not ideal for mobile apps. Android is eliminating writable code pages, so we'd need to ship two copies of the engine, or to be able to copy the entire engine with some pieces removed. Either is plausible, but it seems like it would impose nontrivial costs in app size, or in startup I/O. We could move this decision to compile time, and ship only a single engine, based on the JS code at build time, but then technology like code push could add use of Proxy, which could cause issues. If instead we can structure the implementation to make Proxy very low cost even when present and unused, that seems like the best overall solution. |
+1 |
@schrulnz you could do: |
Sorry, I had a little mistake in my comment. I already did |
No, no extra changes are needed. Did you see |
@schrulnz To rule out any caching issues you could delete As long as your package.json says |
Thanks for the help. @mateosilguero, yes my package.json says Also in package-lock.json, dependencies > "hermes-engine", it says |
I solved my issue by using npm-force-resolutions: https://stackoverflow.com/a/62956076/12984119. This overrides nested npm dependency versions. |
I think the issue is the lack of this documentation on the actual Hermes setup pages and README file. I only ever found out about the compatibility through this thread. Maybe a reference to this versioning should be cited in both? |
Hermes works more reliably following the versions explicitly documented in its releases page. This is suggested by the community at facebook/hermes#33 (comment)
Hermes works more reliably following the versions explicitly documented in its releases page. This is suggested by the community at facebook/hermes#33 (comment)
Summary: Hermes works more reliably following the versions explicitly documented in its releases page. This is suggested by the community at [#33 (comment)](#33 (comment)) Reviewed By: mhorowitz Differential Revision: D25236153 fbshipit-source-id: e05ff71507172aa8a88444d505764d5e89d6978a
* Update hermes.md to include RN compatibility Hermes works more reliably following the versions explicitly documented in its releases page. This is suggested by the community at facebook/hermes#33 (comment) * port the addition to the base docs Co-authored-by: Bartosz Kaszubowski <[email protected]>
commit 82142cc Merge: 38be89c aa97a8f Author: sunnylqm <[email protected]> Date: Mon Dec 7 17:10:40 2020 +0800 Merge branch 'master' of https://github.com/facebook/react-native-website into facebook-master # Conflicts: # website/core/Footer.js commit 38be89c Merge: 0d9a929 bcb8a3d Author: Sunny Luo <[email protected]> Date: Mon Dec 7 16:46:37 2020 +0800 Merge pull request #315 from noah227/production 做了一些调整 commit bcb8a3d Author: Sunny Luo <[email protected]> Date: Mon Dec 7 15:47:32 2020 +0800 Update pressable.md commit 0d9a929 Merge: e9c11c0 d959587 Author: Sunny Luo <[email protected]> Date: Mon Dec 7 15:14:38 2020 +0800 Merge pull request #316 from hqwlkj/patch-4 Update typescript.md commit d959587 Author: Yanghc <[email protected]> Date: Mon Dec 7 15:02:20 2020 +0800 Update typescript.md commit 21eeb45 Author: noah227 <[email protected]> Date: Mon Dec 7 12:10:33 2020 +0800 commit e9c11c0 Merge: 3ebae53 dbac391 Author: Sunny Luo <[email protected]> Date: Mon Dec 7 11:10:45 2020 +0800 Merge pull request #309 from noah227/production cndocs pressable translation(partially) commit dbac391 Author: Sunny Luo <[email protected]> Date: Mon Dec 7 11:06:28 2020 +0800 Update pressable.md commit aa97a8f Author: Ray Holland <[email protected]> Date: Sat Dec 5 17:06:02 2020 -0600 Update drawerlayoutandroid.md (facebook#2342) * Update drawerlayoutandroid.md More detailed example of how to use openDrawer and closeDrawer * revert changes, update snack example, update base docs Co-authored-by: Bartosz Kaszubowski <[email protected]> commit 92f92be Author: Ilya Zarembsky <[email protected]> Date: Sat Dec 5 17:22:46 2020 -0500 Recommend Node be installed via nvm-windows (facebook#2312) * Recommend Node be installed via nvm-windows By installing Node via nvm-windows instead of directly, users will be able to easily switch between the multiple different versions of Node that their various projects may require. * Pacify language linter * convert nvm addition to separate paragraph, update base docs * revert change in versioned docs Co-authored-by: Ilya Zarembsky <[email protected]> Co-authored-by: Bartosz Kaszubowski <[email protected]> commit e50d8a4 Author: Bartosz Kaszubowski <[email protected]> Date: Sat Dec 5 22:54:33 2020 +0100 fix few Lighthouse warnings, remove old Footer file (facebook#2371) commit ecd6041 Author: Bartosz Kaszubowski <[email protected]> Date: Sat Dec 5 20:44:50 2020 +0100 update Share, Shadow and View Props pages to match latest patterns (facebook#2370) commit 03eb786 Author: Luis Miguel Alvarado <[email protected]> Date: Sat Dec 5 14:13:36 2020 -0400 [docs]: Add 0.64 required updates to the documentation - Part 1/x (facebook#2368) * Add support for shadowColor on Android >= 28 * Add support to image progress event on Android * ScrollView now supports contentOffset in Android * Add showSoftInputOnFocus to TextInput on iOS * Removed DEPRECATED_sendUpdatedChildFrames prop from ScrollView * Added unstable_pressDelay prop to Pressable * Apply suggested changes commit 0ad8af3 Author: Bartosz Kaszubowski <[email protected]> Date: Sat Dec 5 14:57:59 2020 +0100 add loading param to remark-snackplayer plugin (facebook#2367) commit 3e30040 Author: Magnus Brattlöf <[email protected]> Date: Sat Dec 5 14:57:42 2020 +0100 Extends and class are no longer part of the example code 'above'. Add… (facebook#2366) * Extends and class are no longer part of the example code 'above'. Added the arrow function as an additional example * use fix from the current docs Co-authored-by: Bartosz Kaszubowski <[email protected]> commit 48e2417 Author: Xuan Huang (黄玄) <[email protected]> Date: Fri Dec 4 09:12:36 2020 -0800 Update hermes.md to include RN compatibility (facebook#2361) * Update hermes.md to include RN compatibility Hermes works more reliably following the versions explicitly documented in its releases page. This is suggested by the community at facebook/hermes#33 (comment) * port the addition to the base docs Co-authored-by: Bartosz Kaszubowski <[email protected]> commit 3c72887 Author: Xuan Huang (黄玄) <[email protected]> Date: Fri Dec 4 08:18:34 2020 -0800 Update hermes.md to explain debugging on Hermes (facebook#2360) * Update hermes.md to explain debugging on Hermes This has been a frequently source of confusion. See facebook/hermes#48 (comment) for an example. * fix link format, update base docs * add missing tweak to base docs Co-authored-by: Bartosz Kaszubowski <[email protected]> commit c5f95fa Author: Bartosz Kaszubowski <[email protected]> Date: Thu Dec 3 19:19:36 2020 +0100 fix "Javascript" capitalization typo across all docs (facebook#2365) commit 572843a Author: Moti Zilberman <[email protected]> Date: Thu Dec 3 17:50:57 2020 +0000 Javascript->JavaScript in native-modules-intro (facebook#2364) Capitalisation fix. commit 1e82527 Author: lauramedalia <[email protected]> Date: Thu Dec 3 10:01:42 2020 -0500 Updating Native Modules Documentation (facebook#2261) * feat: updating Native Modules docs * feat: update native modules documentation (missed the docs changes) * converting nativemodules to native modules * language lint tweaks * Update docs/native-modules-ios.md * feat: apply code review comments that needed grammer. changes * feat: updating intro * feat: apply comment changes * feat: remove () from method names * feat: cleaning up docs/responding to comments * feat: adding the new titles to the original docs * feat: updating base doc title * feat: cleaning up notes and removing references to other mobile platforms in mobile platform docs * feat: updating some we's to you's * pulling direct manipulation out * fixing some outstanding yous and wes * updating these to new titles * move ios/android native components section under native components * Adding platform agnostic note back (it was removed when removing content related to iOS from this androids section) * fixing an out of date link to the getting started guides * correcting link * adding turbomodules note * adding parentheses for method names * native module consistency * editing run ios/android commands * using correct code block for java * removing this file, must have stuck around after a merge conflict but its not needed but it should no longer exist in docusouras V2 (i18n will be added in the future) * only editing in 0.63 moving forward * original_id is not needed * cleaning up white space * using correct Apostrophe characters * moving argument types to a table * adding note about where we are adding the method * adding a link to info on turbo modules Co-authored-by: lauramedalia <[email protected]> Co-authored-by: Ramanpreet Nara <[email protected]> commit bfe4f83 Author: Bartosz Kaszubowski <[email protected]> Date: Thu Dec 3 11:25:03 2020 +0100 refreshed FB OSS logo, footer and menu small UI tweaks (facebook#2362) commit 3ebae53 Author: sunnylqm <[email protected]> Date: Thu Dec 3 16:28:49 2020 +0800 Trigger update commit feb0d32 Author: Ben McDonald <[email protected]> Date: Thu Dec 3 02:00:26 2020 -0500 Update intro-react-native-components.md (facebook#2363) Small typo. A grammatical fix. commit 7d6a964 Author: Harsh Thakkar <[email protected]> Date: Wed Dec 2 05:44:52 2020 +0530 Installation word spelling mistake (facebook#2353) * Installation word spelling mistake * fix remaining "intallation" typos Co-authored-by: Bartosz Kaszubowski <[email protected]> commit f3ee2ef Author: Jessica Lin <[email protected]> Date: Tue Dec 1 15:39:30 2020 -0800 Add Call of Duty Companion App, NerdWallet, Foreca, LendMN, and FlipKart into showcase (facebook#2344) * Add Call of Duty Companion App and NerdWallet into showcase * Move Discord up on showcase * Add FlipKart, Foreca, LendMN to showcase commit dcfcda3 Author: Bartosz Kaszubowski <[email protected]> Date: Mon Nov 30 14:00:44 2020 +0100 add simple React Native logo animation (facebook#2339) commit 2354d56 Author: Bartosz Kaszubowski <[email protected]> Date: Mon Nov 30 13:58:44 2020 +0100 small tweaks for the docs sidebar (facebook#2359) commit 87fa863 Author: Bartosz Kaszubowski <[email protected]> Date: Mon Nov 30 13:17:45 2020 +0100 add temporary fix for navbar overflow issue (facebook#2358) * add temporary fix for navbar overflow issue * small tweak commit 572f7a7 Author: noah227 <[email protected]> Date: Sun Nov 29 19:03:47 2020 +0800 pressable.md 翻译(不完全)小调整 commit 267770c Author: noah227 <[email protected]> Date: Sun Nov 29 18:49:13 2020 +0800 pressable.md 翻译细微调整 commit 53c6718 Author: noah227 <[email protected]> Date: Sun Nov 29 18:38:51 2020 +0800 most part translated. commit 27a3372 Author: luism3861 <[email protected]> Date: Fri Nov 27 13:10:22 2020 -0600 update link name in MaskedViewIOS (facebook#2354) Co-authored-by: luism3861 <[email protected]> commit e73993f Author: Khalid Magdy Khalil <[email protected]> Date: Fri Nov 27 21:06:31 2020 +0200 Update running-on-device.md (facebook#2357) * Update running-on-device.md Remove the parts that mention xip.io since it's no longer used. facebook/react-native@40a8434#diff-0eeea47fa4bace26fa6c492a03fa0ea3923a2d8d54b7894f7760cb9131ab65eb * Update running-on-device.md commit 2f651e4 Author: HenokT <[email protected]> Date: Thu Nov 26 19:56:42 2020 +0300 Minor grammar correction to tutorial.md (facebook#2351) * Update tutorial.md * Update tutorial.md for version-0.62
* Init * Squashed commit of the following: commit 82142cc Merge: 38be89c aa97a8f Author: sunnylqm <[email protected]> Date: Mon Dec 7 17:10:40 2020 +0800 Merge branch 'master' of https://github.com/facebook/react-native-website into facebook-master # Conflicts: # website/core/Footer.js commit 38be89c Merge: 0d9a929 bcb8a3d Author: Sunny Luo <[email protected]> Date: Mon Dec 7 16:46:37 2020 +0800 Merge pull request #315 from noah227/production 做了一些调整 commit bcb8a3d Author: Sunny Luo <[email protected]> Date: Mon Dec 7 15:47:32 2020 +0800 Update pressable.md commit 0d9a929 Merge: e9c11c0 d959587 Author: Sunny Luo <[email protected]> Date: Mon Dec 7 15:14:38 2020 +0800 Merge pull request #316 from hqwlkj/patch-4 Update typescript.md commit d959587 Author: Yanghc <[email protected]> Date: Mon Dec 7 15:02:20 2020 +0800 Update typescript.md commit 21eeb45 Author: noah227 <[email protected]> Date: Mon Dec 7 12:10:33 2020 +0800 commit e9c11c0 Merge: 3ebae53 dbac391 Author: Sunny Luo <[email protected]> Date: Mon Dec 7 11:10:45 2020 +0800 Merge pull request #309 from noah227/production cndocs pressable translation(partially) commit dbac391 Author: Sunny Luo <[email protected]> Date: Mon Dec 7 11:06:28 2020 +0800 Update pressable.md commit aa97a8f Author: Ray Holland <[email protected]> Date: Sat Dec 5 17:06:02 2020 -0600 Update drawerlayoutandroid.md (facebook#2342) * Update drawerlayoutandroid.md More detailed example of how to use openDrawer and closeDrawer * revert changes, update snack example, update base docs Co-authored-by: Bartosz Kaszubowski <[email protected]> commit 92f92be Author: Ilya Zarembsky <[email protected]> Date: Sat Dec 5 17:22:46 2020 -0500 Recommend Node be installed via nvm-windows (facebook#2312) * Recommend Node be installed via nvm-windows By installing Node via nvm-windows instead of directly, users will be able to easily switch between the multiple different versions of Node that their various projects may require. * Pacify language linter * convert nvm addition to separate paragraph, update base docs * revert change in versioned docs Co-authored-by: Ilya Zarembsky <[email protected]> Co-authored-by: Bartosz Kaszubowski <[email protected]> commit e50d8a4 Author: Bartosz Kaszubowski <[email protected]> Date: Sat Dec 5 22:54:33 2020 +0100 fix few Lighthouse warnings, remove old Footer file (facebook#2371) commit ecd6041 Author: Bartosz Kaszubowski <[email protected]> Date: Sat Dec 5 20:44:50 2020 +0100 update Share, Shadow and View Props pages to match latest patterns (facebook#2370) commit 03eb786 Author: Luis Miguel Alvarado <[email protected]> Date: Sat Dec 5 14:13:36 2020 -0400 [docs]: Add 0.64 required updates to the documentation - Part 1/x (facebook#2368) * Add support for shadowColor on Android >= 28 * Add support to image progress event on Android * ScrollView now supports contentOffset in Android * Add showSoftInputOnFocus to TextInput on iOS * Removed DEPRECATED_sendUpdatedChildFrames prop from ScrollView * Added unstable_pressDelay prop to Pressable * Apply suggested changes commit 0ad8af3 Author: Bartosz Kaszubowski <[email protected]> Date: Sat Dec 5 14:57:59 2020 +0100 add loading param to remark-snackplayer plugin (facebook#2367) commit 3e30040 Author: Magnus Brattlöf <[email protected]> Date: Sat Dec 5 14:57:42 2020 +0100 Extends and class are no longer part of the example code 'above'. Add… (facebook#2366) * Extends and class are no longer part of the example code 'above'. Added the arrow function as an additional example * use fix from the current docs Co-authored-by: Bartosz Kaszubowski <[email protected]> commit 48e2417 Author: Xuan Huang (黄玄) <[email protected]> Date: Fri Dec 4 09:12:36 2020 -0800 Update hermes.md to include RN compatibility (facebook#2361) * Update hermes.md to include RN compatibility Hermes works more reliably following the versions explicitly documented in its releases page. This is suggested by the community at facebook/hermes#33 (comment) * port the addition to the base docs Co-authored-by: Bartosz Kaszubowski <[email protected]> commit 3c72887 Author: Xuan Huang (黄玄) <[email protected]> Date: Fri Dec 4 08:18:34 2020 -0800 Update hermes.md to explain debugging on Hermes (facebook#2360) * Update hermes.md to explain debugging on Hermes This has been a frequently source of confusion. See facebook/hermes#48 (comment) for an example. * fix link format, update base docs * add missing tweak to base docs Co-authored-by: Bartosz Kaszubowski <[email protected]> commit c5f95fa Author: Bartosz Kaszubowski <[email protected]> Date: Thu Dec 3 19:19:36 2020 +0100 fix "Javascript" capitalization typo across all docs (facebook#2365) commit 572843a Author: Moti Zilberman <[email protected]> Date: Thu Dec 3 17:50:57 2020 +0000 Javascript->JavaScript in native-modules-intro (facebook#2364) Capitalisation fix. commit 1e82527 Author: lauramedalia <[email protected]> Date: Thu Dec 3 10:01:42 2020 -0500 Updating Native Modules Documentation (facebook#2261) * feat: updating Native Modules docs * feat: update native modules documentation (missed the docs changes) * converting nativemodules to native modules * language lint tweaks * Update docs/native-modules-ios.md * feat: apply code review comments that needed grammer. changes * feat: updating intro * feat: apply comment changes * feat: remove () from method names * feat: cleaning up docs/responding to comments * feat: adding the new titles to the original docs * feat: updating base doc title * feat: cleaning up notes and removing references to other mobile platforms in mobile platform docs * feat: updating some we's to you's * pulling direct manipulation out * fixing some outstanding yous and wes * updating these to new titles * move ios/android native components section under native components * Adding platform agnostic note back (it was removed when removing content related to iOS from this androids section) * fixing an out of date link to the getting started guides * correcting link * adding turbomodules note * adding parentheses for method names * native module consistency * editing run ios/android commands * using correct code block for java * removing this file, must have stuck around after a merge conflict but its not needed but it should no longer exist in docusouras V2 (i18n will be added in the future) * only editing in 0.63 moving forward * original_id is not needed * cleaning up white space * using correct Apostrophe characters * moving argument types to a table * adding note about where we are adding the method * adding a link to info on turbo modules Co-authored-by: lauramedalia <[email protected]> Co-authored-by: Ramanpreet Nara <[email protected]> commit bfe4f83 Author: Bartosz Kaszubowski <[email protected]> Date: Thu Dec 3 11:25:03 2020 +0100 refreshed FB OSS logo, footer and menu small UI tweaks (facebook#2362) commit 3ebae53 Author: sunnylqm <[email protected]> Date: Thu Dec 3 16:28:49 2020 +0800 Trigger update commit feb0d32 Author: Ben McDonald <[email protected]> Date: Thu Dec 3 02:00:26 2020 -0500 Update intro-react-native-components.md (facebook#2363) Small typo. A grammatical fix. commit 7d6a964 Author: Harsh Thakkar <[email protected]> Date: Wed Dec 2 05:44:52 2020 +0530 Installation word spelling mistake (facebook#2353) * Installation word spelling mistake * fix remaining "intallation" typos Co-authored-by: Bartosz Kaszubowski <[email protected]> commit f3ee2ef Author: Jessica Lin <[email protected]> Date: Tue Dec 1 15:39:30 2020 -0800 Add Call of Duty Companion App, NerdWallet, Foreca, LendMN, and FlipKart into showcase (facebook#2344) * Add Call of Duty Companion App and NerdWallet into showcase * Move Discord up on showcase * Add FlipKart, Foreca, LendMN to showcase commit dcfcda3 Author: Bartosz Kaszubowski <[email protected]> Date: Mon Nov 30 14:00:44 2020 +0100 add simple React Native logo animation (facebook#2339) commit 2354d56 Author: Bartosz Kaszubowski <[email protected]> Date: Mon Nov 30 13:58:44 2020 +0100 small tweaks for the docs sidebar (facebook#2359) commit 87fa863 Author: Bartosz Kaszubowski <[email protected]> Date: Mon Nov 30 13:17:45 2020 +0100 add temporary fix for navbar overflow issue (facebook#2358) * add temporary fix for navbar overflow issue * small tweak commit 572f7a7 Author: noah227 <[email protected]> Date: Sun Nov 29 19:03:47 2020 +0800 pressable.md 翻译(不完全)小调整 commit 267770c Author: noah227 <[email protected]> Date: Sun Nov 29 18:49:13 2020 +0800 pressable.md 翻译细微调整 commit 53c6718 Author: noah227 <[email protected]> Date: Sun Nov 29 18:38:51 2020 +0800 most part translated. commit 27a3372 Author: luism3861 <[email protected]> Date: Fri Nov 27 13:10:22 2020 -0600 update link name in MaskedViewIOS (facebook#2354) Co-authored-by: luism3861 <[email protected]> commit e73993f Author: Khalid Magdy Khalil <[email protected]> Date: Fri Nov 27 21:06:31 2020 +0200 Update running-on-device.md (facebook#2357) * Update running-on-device.md Remove the parts that mention xip.io since it's no longer used. facebook/react-native@40a8434#diff-0eeea47fa4bace26fa6c492a03fa0ea3923a2d8d54b7894f7760cb9131ab65eb * Update running-on-device.md commit 2f651e4 Author: HenokT <[email protected]> Date: Thu Nov 26 19:56:42 2020 +0300 Minor grammar correction to tutorial.md (facebook#2351) * Update tutorial.md * Update tutorial.md for version-0.62 * Update * Update prettier * Update security * WIP * Update * Add sponsor and remove old doc * Update * Update * Update * Update * Fix environment setting * Update integration * Update integration * Update integration * Update tabs * Archive doc * Update index * Update introduction * Fix docs * Update docusaurus * Update github action
what about react native firebase. it will not work with proxy anymore |
Proxy is now enabled by default starting from RN 0.64:
-- https://reactnative.dev/blog/2021/03/11/version-0.64#hermes-with-proxy-support |
thanks! it's work. I have another question, enableHermes is working ,but there is no significant improvement in performance? I don't have any ideas. |
In https://github.com/facebook/hermes/blob/master/doc/Features.md
Proxy
is listed as Excluded From Support. WithWhat are those considerations regarding
Proxy
?Especially some library in JS environnement like:
rely on proxy support. It is super usefully to add observability upon an object access which helps building reactive apps.
Would it be technically possible to have support as an external / optionnal
*. aar
so it does bot affect the size of hermes ?Solves:
The text was updated successfully, but these errors were encountered: