Dan Zimmerman
55f75dfd65
Remove the experimental concept of whitelisted modules
...
Reviewed By: dcaspi
Differential Revision: D6124036
fbshipit-source-id: af3771ce2204b3695f79265d5aade7e321e12a3e
2017-10-25 08:20:48 -07:00
Dan Zimmerman
fe792f5878
Remove experimental shouldBridgeLoadJavaScriptSynchronously:
...
Differential Revision: D6124037
fbshipit-source-id: a116def1032e1f4656fafbc7f2e36e812b13c9c0
2017-10-25 08:20:48 -07:00
Dan Zimmerman
ca85a536c6
Remove experimental shouldBridgeInitializeNativeModulesSynchronously:
...
Differential Revision: D6124035
fbshipit-source-id: 540b8bfc955bf48e9ca33ed97807177ac740059e
2017-10-25 08:20:48 -07:00
Tsolis Dimitris Sotiris
1d674f0309
Fix crash when loading local bundle and hot reload is enabled
...
Summary:
<!--
Thank you for sending the PR! We appreciate you spending the time to work on these changes.
Help us understand your motivation by explaining why you decided to make this change.
You can learn more about contributing to React Native here: http://facebook.github.io/react-native/docs/contributing.html
Happy contributing!
-->
When initializing react native module using a url pointing to local jsbundle and hot reload is enabled, bridge, is trying to initialize the feature but crashes because there is no host in a local file url.
1. Create a new project.
```sh
$ react-native init testPlanApp && cd testPlanApp
```
2. Create jsbundle.
```sh
$ react-native bundle --platform ios --dev false --entry-file index.js --bundle-output ios/main.jsbundle
```
3. Run the app and enable hot reload.
4. Enable airplane mode.
5. Close application and re-run.
6. See app crashes.
<!--
Help reviewers and the release process by writing your own release notes
**INTERNAL and MINOR tagged notes will not be included in the next version's final release notes.**
CATEGORY
[----------] TYPE
[ CLI ] [-------------] LOCATION
[ DOCS ] [ BREAKING ] [-------------]
[ GENERAl ] [ BUGFIX ] [-{Component}-]
[ INTERNAL ] [ ENHANCEMENT ] [ {File} ]
[ IOS ] [ FEATURE ] [ {Directory} ] |-----------|
[ ANDROID ] [ MINOR ] [ {Framework} ] - | {Message} |
[----------] [-------------] [-------------] |-----------|
[CATEGORY] [TYPE] [LOCATION] - MESSAGE
EXAMPLES:
[IOS] [BREAKING] [FlatList] - Change a thing that breaks other things
[ANDROID] [BUGFIX] [TextInput] - Did a thing to TextInput
[CLI] [FEATURE] [local-cli/info/info.js] - CLI easier to do things with
[DOCS] [BUGFIX] [GettingStarted.md] - Accidentally a thing/word
[GENERAL] [ENHANCEMENT] [Yoga] - Added new yoga thing/position
[INTERNAL] [FEATURE] [./scripts] - Added thing to script that nobody will see
-->
[IOS] [BUGFIX] [Hot reloading] - Fix crash when loading local bundle and hot reload is enabled.
Closes https://github.com/facebook/react-native/pull/16504
Differential Revision: D6133767
Pulled By: shergin
fbshipit-source-id: 3f7668e3e8fa7e772f58420e5a8a0985a5f8e48b
2017-10-24 00:06:31 -07:00
Alex Dvornikov
dd400f842b
add "jsBundlesDirectory" method to RCTBridgeDelegate
...
Differential Revision: D6030185
fbshipit-source-id: 58d6f9d0d412c7ad0f83af9ae4df01c4dc1178bc
2017-10-12 12:33:21 -07:00
Alex Dvornikov
9e01d72103
Unify supplimentary bundle path creation logic between Android and iOS
...
Differential Revision: D5941546
fbshipit-source-id: c9b8fab887f480faa373c26a1d5ba310e8acde78
2017-10-04 15:16:27 -07:00
Paco Estevez Garcia
ef2e29f54c
Move URL escaping to Inspector layer
...
Reviewed By: Hypuk
Differential Revision: D5967544
fbshipit-source-id: d741e6324aff7583778cb13c862505b61ca02a3d
2017-10-04 03:51:33 -07:00
Paco Estevez Garcia
da14fad829
Add AppIdentity and DeviceIdentity to Inspector
...
Reviewed By: Hypuk
Differential Revision: D5924011
fbshipit-source-id: a81d420dbe1a5ede203d2fa313548e19664b9587
2017-10-03 06:03:23 -07:00
Alex Dvornikov
7d2021ec49
Added iOS support for loading multiple RAM bundles
...
Differential Revision: D5890466
fbshipit-source-id: e7805f90a7c446f5f75427c3fadcd133a3f7ad18
2017-09-22 09:58:47 -07:00
Alex Dvornikov
7d115730dc
Configure JSExector with BundleRegistry instead of JSModulesUnbundle
...
Differential Revision: D5890458
fbshipit-source-id: 968be95786ffbf53aa98928d4d3e3bd52a84b3dc
2017-09-22 09:58:46 -07:00
Jia Li
0aa12939fd
Revert D5850968: Configure JSExector with BundleRegistry instead of JSModulesUnbundle.
...
Differential Revision: D5850968
fbshipit-source-id: f4c9dc8d5f14cdd32195463e8786242e708770e9
2017-09-21 21:22:39 -07:00
Jia Li
526fd6b931
Revert D5850970: Added iOS support for loading multiple RAM bundles
...
Differential Revision: D5850970
fbshipit-source-id: 8b0f9bc296ac2944b8b7657a4119b6787d810a2c
2017-09-21 21:22:39 -07:00
Alex Dvornikov
1aeb767a37
Added iOS support for loading multiple RAM bundles
...
Differential Revision: D5850970
fbshipit-source-id: 88ab6fe3822f1bc4195007f8ec83177a84c27569
2017-09-21 08:51:00 -07:00
Alex Dvornikov
79821917fa
Configure JSExector with BundleRegistry instead of JSModulesUnbundle.
...
Differential Revision: D5850968
fbshipit-source-id: e5e7ad92c2347c2641551fcf820f061ffde5fed6
2017-09-21 08:51:00 -07:00
Alex Dvornikov
6e281798e8
Refactored executeApplicationScript in RCTCxxBridge
...
Reviewed By: dcaspi
Differential Revision: D5850957
fbshipit-source-id: d2cacfd99fd7ffca70b0dcf0bf252ea160268c05
2017-09-18 06:45:38 -07:00
Chris Zheng
17126641b1
Removing fallback source URL from JS bridge
...
Summary:
Remove fallback logic.
It is hard to test whether a bundle is good or bad on device, since it does the fallback, remove the fallback logic now.
Reviewed By: javache
Differential Revision: D5773542
fbshipit-source-id: 8bb4fdad4c5761ccce915f9f1c2577464e8d37d8
2017-09-12 15:54:59 -07:00
Pieter De Baets
7b770556ac
Improve RCTCxxBridge invalidation
...
Reviewed By: fromcelticpark
Differential Revision: D5536063
fbshipit-source-id: b0f19bebea839c7da84890c338ad4d38293bc99c
2017-09-11 04:30:31 -07:00
Marc Horowitz
d48f08cad6
Thread the JSI runtime descriptor up into the RCTDevMenu title
...
Reviewed By: javache
Differential Revision: D5643014
fbshipit-source-id: 977be5729c57c0d01ff67b268031ad6fdbf88a07
2017-09-05 15:02:19 -07:00
Ben Nham
259161f872
add files changed count to reload metrics
...
Reviewed By: alexeylang
Differential Revision: D5694813
fbshipit-source-id: 2e2517e60a7547e261a7c15a3a9138dbb3cb9783
2017-08-31 05:34:48 -07:00
Mehdi Mulani
1f9fc0ee3a
Stop CxxBridge run loop when bridge is invalidated
...
Summary:
This fixes the `testModulesAreDeallocated` test. It was sometimes failing because the bridge's module was still alive. I debugged with the Xcode memory graph and found that the bridge was actually kept alive by a pointer from the NSThread.
By killing the runloop on the thread, the thread will eventually die and thus free the bridge.
One thing I didn't investigate was whether the thread was alive because of it receiving actual messages or just because the run loop was spinning.
Reviewed By: javache
Differential Revision: D5729925
fbshipit-source-id: 304f526129d2c5e137bfd791a6f957f6169b783e
2017-08-30 09:46:31 -07:00
Ben Nham
abe7a2a9f1
encapsulate JS source in RCTSource object
...
Reviewed By: alexeylang
Differential Revision: D5669734
fbshipit-source-id: 60c798afa2115510a17acf9e970e8ba52507724f
2017-08-30 06:29:42 -07:00
Ben Nham
1ce7e4c1e5
add notifications for dev reload
...
Reviewed By: alexeylang
Differential Revision: D5630472
fbshipit-source-id: 1c44a52fddead361b43551384bbfc73e2d89438f
2017-08-17 17:16:19 -07:00
Rafael Oleza
6ad7e8281b
Do not send 'hot' parameter when requesting a bundle from iOS
...
Reviewed By: fromcelticpark
Differential Revision: D5631050
fbshipit-source-id: 1f587f3af68da4d94b5d24afabf7659abb697747
2017-08-16 11:10:32 -07:00
Dmitry Zakharov
cf38b083dd
Implement lazy discovery scaffolding for loading NativeModules on demand.
...
Reviewed By: javache
Differential Revision: D5364734
fbshipit-source-id: 5162f7d41434a3ba38c82fa610e84f865bfacf50
2017-08-11 06:41:33 -07:00
Pieter De Baets
1cd276ab5c
Specialize JSCValueEncoder for id instead of NSArray
...
Reviewed By: kathryngray
Differential Revision: D5355723
fbshipit-source-id: a992514c92143fcac52f8e35824c665a1cb44ea4
2017-08-07 06:45:34 -07:00
Adlai Holler
7c528cd569
RCTCxxBridge: Use C++ atomic
...
Summary:
The next in my series of :atom: migrations.
Closes https://github.com/facebook/react-native/pull/15277
Differential Revision: D5526460
Pulled By: javache
fbshipit-source-id: e4ba54a5911c4a76280edf8aa164ac5aa935a945
2017-07-31 03:35:18 -07:00
Marc Horowitz
2334899dfe
in RCT_DEBUG mode, make the js stack bigger
...
Reviewed By: javache
Differential Revision: D5459755
fbshipit-source-id: 169cb542c92ea6d5e438c4bbe35879e7a097a3aa
2017-07-20 12:16:21 -07:00
Pieter De Baets
ed3c018ee4
Remove legacy JSC profiler
...
Reviewed By: bnham
Differential Revision: D5433406
fbshipit-source-id: 8cbea8b9b46a0d9f29c57a5bcf605e6bb61ed8a7
2017-07-20 04:21:16 -07:00
Marc Horowitz
05c4de0b51
Add a delegate hook for providing a different JS implementation
...
Reviewed By: javache
Differential Revision: D5404876
fbshipit-source-id: d86ca9943b4b45616fc90bf14e8b0607d3cdb93c
2017-07-19 13:49:32 -07:00
Pieter De Baets
980d5140d6
Merge allowOffMainQueueRegistration and requiresMainQueueSetup
...
Reviewed By: fromcelticpark
Differential Revision: D5398021
fbshipit-source-id: 7e721cce579678f4c82582f5068cf46574afe961
2017-07-17 03:45:30 -07:00
Paco Estevez Garcia
a1e053cc50
Add Framework name to Attach selection
...
Reviewed By: Hypuk, javache
Differential Revision: D5389047
fbshipit-source-id: 90e2a5f805561e47e7705e7935ced7556a374616
2017-07-14 07:50:40 -07:00
Pieter De Baets
f1cbb11620
Replace -[RCTConvert folly_dynamic:] with direct calls to convertIdToFollyDynamic
...
Reviewed By: kathryngray
Differential Revision: D5355734
fbshipit-source-id: 4ba1533b75c8e271a86a2d5cc3a3354e52f83db2
2017-07-10 05:31:04 -07:00
Pieter De Baets
e2628f93b5
Rename Executor to JSExecutor
...
Summary:
* Cleanup some header files so we use more forward declarations
* Rename Executor to JSExecutor.h
* Move some typedefs to more appropriate locations
Reviewed By: mhorowitz
Differential Revision: D5301913
fbshipit-source-id: e75154797eb3f531d2f42a5e95409f4062b85f91
2017-06-23 17:01:25 -07:00
Pieter De Baets
d795fa1b2c
Update native references to JSTimers
...
Reviewed By: AaaChiuuu
Differential Revision: D5294997
fbshipit-source-id: 3003d56f744af0c35b1ffef7bdd71617d4f948c3
2017-06-22 09:52:33 -07:00
Pieter De Baets
c5004d5dd0
Make startup errors in the websocket executor invalidate the bridge
...
Reviewed By: mhorowitz
Differential Revision: D5226936
fbshipit-source-id: b6d605974674d0e6f86559f2583553e3636d389b
2017-06-22 08:37:13 -07:00
Viacheslav Radchenko
879edf0d05
Added RCTInspectorDevServerHelper call in FBReactJSExecutor. Added UTF8StringForSourceURL
...
Reviewed By: javache
Differential Revision: D5246399
fbshipit-source-id: 179ff0b69886c4ff71911fc7b1d3491ff4d5967d
2017-06-14 14:10:10 -07:00
Pieter De Baets
9250250364
Call Systrace.setEnabled from CxxBridge
...
Reviewed By: alexeylang
Differential Revision: D5247016
fbshipit-source-id: 7e31e38d7adae8d432a11199a1de572d082169e3
2017-06-14 11:16:05 -07:00
Pieter De Baets
64825389df
Fix timers not firing when running in JS debugger
...
Reviewed By: mhorowitz
Differential Revision: D5227125
fbshipit-source-id: 3dadb3f2e2fd088853537c09cc019d7be6319444
2017-06-13 09:31:55 -07:00
Ben Nham
2984628357
add marker surrounding entire native module creation
...
Reviewed By: javache
Differential Revision: D5200856
fbshipit-source-id: 35b0e627224d518126a1cfdd36d6af264dd186cf
2017-06-09 06:22:39 -07:00
Pieter De Baets
81c2f3b189
Cleanup Platform
...
Reviewed By: dcaspi
Differential Revision: D5185504
fbshipit-source-id: 4f7e9f9068598418b346a7370f6be241a0784b60
2017-06-07 10:19:01 -07:00
Dan Caspi
e284a9db8c
Create JS executor and context on main thread w/ custom JSC
...
Reviewed By: javache
Differential Revision: D5165405
fbshipit-source-id: 35e5cfdf0518968c095ba54ec980d2fe376fa20e
2017-06-06 04:45:51 -07:00
Pieter De Baets
33e22486e9
Fix some issues with the React podspec for the Cxx bridge
...
Summary:
Trying to fix the RN Travis CI tests
Splitting off from https://github.com/facebook/react-native/pull/14100
Closes https://github.com/facebook/react-native/pull/14132
Reviewed By: ericvicenti
Differential Revision: D5112077
Pulled By: javache
fbshipit-source-id: cf030b927b0f28f2b494471498f1ddb2c0a5c1df
2017-05-30 11:15:19 -07:00
Pieter De Baets
03e1f40c1e
Cleanup and document Value wrapper (retry)
...
Reviewed By: mhorowitz
Differential Revision: D5120975
fbshipit-source-id: 6e9c80a57fdcf7f3dad21d5521fb928b52c924c7
2017-05-26 04:17:19 -07:00
Kathy Gray
f46eaa30cf
Provide sync vs async interface for bundle loading via parameter
...
Reviewed By: javache
Differential Revision: D5104317
fbshipit-source-id: ffacb57d85c24795a3acc2faba2ff5824cc739b2
2017-05-24 07:31:36 -07:00
Pieter De Baets
d59fd9e419
Revert D5087565: Cleanup and document Value wrapper
...
Differential Revision: D5087565
fbshipit-source-id: 8168bda39fac9384264e9d849b205a2c1d37dcfa
2017-05-24 07:31:36 -07:00
Pieter De Baets
374d08b8e4
Cleanup and document Value wrapper
...
Reviewed By: mhorowitz
Differential Revision: D5087565
fbshipit-source-id: 21b15dc4c476d6ecd7c42f9334c6995fa43810c2
2017-05-24 06:30:51 -07:00
Pieter De Baets
0357303f5b
Schedule initializeBridge on the JS thread
...
Reviewed By: shergin
Differential Revision: D5044230
fbshipit-source-id: 87030e210af662bc12cfb57bc83e73a128303fb0
2017-05-17 09:02:43 -07:00
Pieter De Baets
8525aac769
Ensure enqueueJSCall's completion block is always dispatched after the actual JS call
...
Reviewed By: mhorowitz
Differential Revision: D4985694
fbshipit-source-id: 50ab14e7088a53e03d5ee70c8ea1e245f531dac1
2017-05-16 09:46:54 -07:00
Pieter De Baets
6221053179
Improve systrace markers
...
Reviewed By: mhorowitz
Differential Revision: D4860135
fbshipit-source-id: ce963010883e6b9cc8e34f7ff01b4018cd195eba
2017-05-12 18:07:49 -07:00
Ben Nham
65f22a5190
log script name with bundle loading perf event
...
Reviewed By: javache
Differential Revision: D5010638
fbshipit-source-id: 2e139201a8374245fa1dedc4f11a716dcf700fd7
2017-05-10 04:09:19 -07:00