Commit Graph

51 Commits

Author SHA1 Message Date
generatedunixname89002005306973
8000090eac Flipper Release: v0.49.0
Summary: Releasing version 0.49.0

Reviewed By: cekkaewnumchai

Differential Revision: D22307632

fbshipit-source-id: 105fc71f07a4827a5d6e54cf3200b22f800a5f1e
2020-06-30 06:33:04 -07:00
Pascal Hartig
2af309d476 Resolve security deps
Summary: Still got four warnings up for this on GitHub. Let's do the same we do in the rest of the repo.

Reviewed By: mweststrate

Differential Revision: D22233188

fbshipit-source-id: eb76409b1e5ff5735e354bdbd93f875d22f2add2
2020-06-25 07:12:20 -07:00
Pascal Hartig
011952d73c Flipper Release: v0.48.0
Summary: Releasing version 0.48.0

Reviewed By: mweststrate

Differential Revision: D22207960

fbshipit-source-id: 7f21ff151c4e5750646a6dd3e39690229a2e73a5
2020-06-25 02:32:47 -07:00
Pascal Hartig
03b231703b Update react-native dependency @allow-large-files
Summary:
This should fix https://github.com/facebook/flipper/issues/1274

I had some cleaning up to do to get to this point.

Changelog:
Fix `react-native-flipper` dependency pulling in debug-only artifacts into release builds.

Reviewed By: mweststrate

Differential Revision: D22160304

fbshipit-source-id: 0ebc0ed942427f2966bccd721bf01aafa38ba400
2020-06-23 07:49:01 -07:00
generatedunixname89002005306973
43b9426ff4 Flipper Release: v0.47.0
Summary: Releasing version 0.47.0

Reviewed By: jknoxville

Differential Revision: D22089288

fbshipit-source-id: 0107d1f17cce8c9adc2b9c26d48a6d80797749be
2020-06-17 09:00:07 -07:00
generatedunixname89002005306973
c0eb2648b7 Flipper Release: v0.46.0
Summary: Releasing version 0.46.0

Reviewed By: nikoant

Differential Revision: D21952711

fbshipit-source-id: 8681a244d64c50f2ad50f6c9c5e0ea766fd9ff20
2020-06-09 10:14:19 -07:00
generatedunixname89002005306973
23d80bf3d5 Flipper Release: v0.45.0
Summary: Releasing version 0.45.0

Reviewed By: mweststrate

Differential Revision: D21860035

fbshipit-source-id: 58af5bbc4e743024beac925eac8012e64bd76aa9
2020-06-03 08:28:54 -07:00
Pascal Hartig
f164da5175 Update RN deps (#1216)
Summary:
Update the dependencies of our RN integration.
Pull Request resolved: https://github.com/facebook/flipper/pull/1216

Test Plan: <img width="1680" alt="Screenshot 2020-06-02 10 15 15" src="https://user-images.githubusercontent.com/9906/83503815-91317a80-a4bb-11ea-989d-3b36cd34b338.png">

Reviewed By: mweststrate

Differential Revision: D21837190

Pulled By: passy

fbshipit-source-id: d91f112e78ebb51f3387d5722f067f5328838464
2020-06-03 05:53:50 -07:00
generatedunixname89002005306973
b18760823d Flipper Release: v0.44.1
Summary: Releasing version 0.44.1

Reviewed By: passy

Differential Revision: D21767292

fbshipit-source-id: 94276959d0421fa687cc24f9553a0951b398ea56
2020-05-29 05:02:23 -07:00
Michel Weststrate
dd111076c9 Only use Flipper in DEBUG builds
Summary:
as discussed in https://github.com/facebook/flipper/issues/976#issuecomment-634917766,

this solves the issue that FlipperKit is accidentally included in production builds ones react-native-flipper is installed, due to it's dependency on Flipper kit

This change is safe because the bindings did already have a check to verify that the Flipper bindings are available at all, and silenty skips their absence in production builds: https://www.internalfb.com/intern/diffusion/FBS/browse/master/xplat/sonar/react-native/react-native-flipper/index.js?commit=b7dd7e05b177&lines=128

Reviewed By: passy

Differential Revision: D21749213

fbshipit-source-id: 2c4435c7a375fbc24f89159855d3e0297f3aa9a4
2020-05-28 09:59:53 -07:00
generatedunixname89002005306973
b538cead7a Flipper Release: v0.44.0
Summary: Releasing version 0.44.0

Reviewed By: passy

Differential Revision: D21686080

fbshipit-source-id: 83a8d997e99361e3fcc4472d484d3759f73ed964
2020-05-21 11:31:56 -07:00
generatedunixname89002005306973
4e618198cb Flipper Release: v0.43.0
Summary: Releasing version 0.43.0

Reviewed By: cekkaewnumchai

Differential Revision: D21639652

fbshipit-source-id: 5a775f6361283b2e9b2540b054afad497dab2a22
2020-05-19 08:00:52 -07:00
João Alves
52274b7659 Fix obsolete usages in build.gradle (#1168)
Summary:
Remove warning `'variant.getJavaCompile()' is obsolete and has been replaced with 'variant.getJavaCompileProvider()'.`

## Changelog

- swithed from `variant.getJavaCompile()` to `variant.getJavaCompileProvider()`
Pull Request resolved: https://github.com/facebook/flipper/pull/1168

Test Plan: n/a

Reviewed By: passy

Differential Revision: D21618883

Pulled By: cekkaewnumchai

fbshipit-source-id: 522fe5847b074836cc36a9e1b9a0487b044cf555
2020-05-18 07:07:13 -07:00
generatedunixname89002005306973
9bead5e05c Flipper Release: v0.42.0
Summary: Releasing version 0.42.0

Reviewed By: passy

Differential Revision: D21520625

fbshipit-source-id: 9f3ce5739a0856de84b18df3c640e5218fd3182e
2020-05-13 02:16:13 -07:00
generatedunixname89002005306973
96d5949c19 Flipper Release: v0.41.0
Summary: Releasing version 0.41.0

Reviewed By: jknoxville

Differential Revision: D21402376

fbshipit-source-id: c2b5194afbb8f086097eb1c6fb337b950b4dffe7
2020-05-05 08:31:29 -07:00
John Knox
b27f8ee236 Fix broken links inside app
Summary:
Searched for broken link patterns inside the app itself. I think I found them all but it's not certain.

Patterns searched for and replaced:
```
.html
getting-started/)
getting-started)
getting-started"
```

and also searched the repo for regex `\]\(.*)` and checked them by eye.

Reviewed By: passy

Differential Revision: D21306944

fbshipit-source-id: a2e09b0fd8677f5f26e5cc4a06805b474247f7e6
2020-04-30 03:19:22 -07:00
generatedunixname89002005306973
bd320b94e1 Flipper Release: v0.40.0
Summary: Releasing version 0.40.0

Reviewed By: nikoant

Differential Revision: D21302037

fbshipit-source-id: 2f2aeaf0aaf7a0d2fb65b21b6243c9ecd2684cdc
2020-04-29 08:33:04 -07:00
Radek Czemerys
53b9598c01 Add description in package.json for react-native-flipper (#1055)
Summary:
There's `TODO` in the description for `react-native-flipper` so this should be updated

## Changelog

Internal change.
Pull Request resolved: https://github.com/facebook/flipper/pull/1055

Test Plan: No test plan required.

Reviewed By: mweststrate

Differential Revision: D21256140

Pulled By: passy

fbshipit-source-id: 6b07e38b80ac395481270b05fca6823ec6559da5
2020-04-27 08:38:50 -07:00
generatedunixname89002005306973
99c5a427c7 Flipper Release: v0.39.0
Summary: Releasing version 0.39.0

Reviewed By: mweststrate

Differential Revision: D21199718

fbshipit-source-id: 1082098a2b4fcfaa7b7efb201e8321331fd4bdc4
2020-04-23 03:57:12 -07:00
Michel Weststrate
18b88a7e03 Flipper Release: v0.38.0
Summary: Releasing version 0.38.0

Reviewed By: cekkaewnumchai

Differential Revision: D21155371

fbshipit-source-id: 554393fc357135cd8538c9b77eee023f8a3e1525
2020-04-21 13:10:56 -07:00
generatedunixname89002005306973
2d27b90bd9 Flipper Release: v0.37.0
Summary: Releasing version 0.37.0

Reviewed By: jknoxville

Differential Revision: D20919249

fbshipit-source-id: 59ec28ba10043da03c460d9eaadb30a8fd2e4a6f
2020-04-09 03:07:19 -07:00
Anton Nikolaev
e35bf2c1ae Flipper Release: v0.36.0
Summary: Releasing version 0.36.0

Reviewed By: passy

Differential Revision: D20835543

fbshipit-source-id: f5d9e8884410b294d4f37cb98db614da4592e6df
2020-04-03 08:36:49 -07:00
generatedunixname89002005306973
fa8ae9cbe1 Flipper Release: v0.35.0
Summary: Releasing version 0.35.0

Reviewed By: jknoxville

Differential Revision: D20655536

fbshipit-source-id: f965954ed0c1ff58382f08caf2dd02032cd84785
2020-03-25 16:38:03 -07:00
generatedunixname89002005306973
afa8d6274a Flipper Release: v0.34.0
Summary: Releasing version 0.34.0

Reviewed By: nikoant

Differential Revision: D20480419

fbshipit-source-id: e83a532690c6df8e781683b3dcc2418b8744c961
2020-03-17 05:31:04 -07:00
Anton Nikolaev
10d990c32c Move plugins to "sonar/desktop/plugins"
Summary:
Plugins moved from "sonar/desktop/src/plugins" to "sonar/desktop/plugins".

Fixed all the paths after moving.

New "desktop" folder structure:
- `src` - Flipper desktop app JS code executing in Electron Renderer (Chrome) process.
- `static` - Flipper desktop app JS code executing in Electron Main (Node.js) process.
- `plugins` - Flipper desktop JS plugins.
- `pkg` - Flipper packaging lib and CLI tool.
- `doctor` - Flipper diagnostics lib and CLI tool.
- `scripts` - Build scripts for Flipper desktop app.
- `headless` - Headless version of Flipper desktop app.
- `headless-tests` - Integration tests running agains Flipper headless version.

Reviewed By: mweststrate

Differential Revision: D20344186

fbshipit-source-id: d020da970b2ea1e001f9061a8782bfeb54e31ba0
2020-03-14 14:35:18 -07:00
Anton Nikolaev
85c13bb1f3 Move desktop-related code to "desktop" subfolder (#872)
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/872
Move all the JS code related to desktop app to "desktop" subfolder.

The structure of "desktop" folder:
- `src` - JS code of Flipper desktop app executing in Electron Renderer (Chrome) process. This folder also contains all the Flipper plugins in subfolder "src/plugins".
- `static` - JS code of Flipper desktop app bootstrapping executing in Electron Main (Node.js) process
- `pkg` - Flipper packaging lib and CLI tool
- `doctor` - Flipper diagnostics lib and CLI tool
- `scripts` - Build scripts for Flipper desktop app
- `headless` - Headless version of Flipper app
- `headless-tests` - Integration tests running agains Flipper headless version

Reviewed By: passy

Differential Revision: D20249304

fbshipit-source-id: 9a51c63b51b92b758a02fc8ebf7d3d116770efe9
2020-03-14 14:35:17 -07:00
Michel Weststrate
2de3c69950 Lower requirement of flipper-react-native to iOS 9.0
Summary:
In line with, https://github.com/facebook/flipper/pull/874/files, the package should promote itself as iOS 9.0 compatibe, to prevent errors and warnings like:

```
mweststrate-mbp:ios mweststrate$ pod install
Detected React Native module pod for react-native-flipper
Analyzing dependencies
Fetching podspec for `DoubleConversion` from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`
Fetching podspec for `Folly` from `../node_modules/react-native/third-party-podspecs/Folly.podspec`
Fetching podspec for `glog` from `../node_modules/react-native/third-party-podspecs/glog.podspec`
[!] CocoaPods could not find compatible versions for pod "react-native-flipper":
  In Podfile:
    react-native-flipper (from `../node_modules/react-native-flipper`)

Specs satisfying the `react-native-flipper (from `../node_modules/react-native-flipper`)` dependency were found, but they required a higher minimum deployment target.
```

```
mweststrate-mbp:ios mweststrate$ pod install
Detected React Native module pod for react-native-flipper
Analyzing dependencies
Downloading dependencies
Installing react-native-flipper 0.33.1
Generating Pods project
Integrating client project
Pod installation complete! There are 34 dependencies from the Podfile and 38 total pods installed.

[!] The platform of the target `ReactNativeFlipperExample` (iOS 9.0) may not be compatible with `react-native-flipper (0.33.1)` which has a minimum requirement of iOS 10.0.

[!] The platform of the target `ReactNativeFlipperExampleTests` (iOS 9.0) may not be compatible with `react-native-flipper (0.33.1)` which has a minimum requirement of iOS 10.0.
mweststrate-mbp:ios mweststrate$ cd ..
mweststrate-mbp:ReactNativeFlipperExample
```

Reviewed By: passy

Differential Revision: D20362156

fbshipit-source-id: 766d033f2ea2e5559a72a3473115bc4a470a284f
2020-03-10 09:02:29 -07:00
Pascal Hartig
60e13335dc Flipper Release: v0.33.1
Summary: Re-release of 0.33.0.

Reviewed By: mweststrate

Differential Revision: D20344545

fbshipit-source-id: 38fd5baa8d36bc7cfa9a66a15144078e7b1f53c3
2020-03-09 15:12:37 -07:00
Pascal Hartig
e797caff16 Flipper Release: v0.33.0
Summary:
Changelog TBD.

== Highlights ==

- React Native global hotkeys in the settings menu.

== Fixes ==

- iOS 9 support restored.

Reviewed By: priteshrnandgaonkar

Differential Revision: D20308823

fbshipit-source-id: e4d089d911af8155384c07678668662094c0c8b3
2020-03-09 07:42:35 -07:00
Michel Weststrate
f3fd8646e3 Upgrade example app to 0.62.0-rc.3
Summary:
^

1. Remove entire `react-native/ReactNativeExampleFlipper` folder
2. Run `npx react-native init --version 0.62.0-rc.3 ReactNativeExampleFlipper`
4. restore the `package.json` and `TicTacToe` file and import
5. removed `.eslintrc`, `_BUCK` and `build_defz.bzl`, `.watchmenconfig`

Added comments below to highlight the non-generated changes

Reviewed By: passy

Differential Revision: D20221558

fbshipit-source-id: da1c895a2b0e7ce48092e64cdb5ffdb9e4a1a10b
2020-03-04 19:00:20 -08:00
Pascal Hartig
76f2f0f554 Flipper Release: v0.32.2
Summary:
Bugfix release for plugin detection/compilation.

(Note: this ignores all push blocking failures!)

Reviewed By: nikoant

Differential Revision: D20158707

fbshipit-source-id: a0d2a235b48a00d5821a033df30fb5b60cb54f23
2020-02-28 08:51:34 -08:00
Pascal Hartig
959fcee827 Flipper Release: v0.32.1
Summary: Bugfix release with previous Electron version.

Reviewed By: cekkaewnumchai

Differential Revision: D20115911

fbshipit-source-id: 5f84c72f7e4b33d7661e7e6a4db64c51daa38851
2020-02-27 09:50:55 -08:00
Pascal Hartig
6c72fa3dbb Flipper Release: v0.32.0
Summary:
== Highlights ==

- Android: Theme information for Application, Activity and View descriptors are now visible in the Layout plugin. (6f4de969fb)
- App Visualiser: When importing an archived device, you can now see and inspect the last screen of the app. (20db85adf4)

== Fixes ==

- Fix `FlipperKit` warnings in XCode. (972277b031)
- Upgrade Folly to v2020.02.17.00 (GH809)
- Several performance improvements, originally caused by unnecessary rerenders.
- Crash reports weren't scrollable. (e1e8bb841c)
- Kill orhpaned instruments processes. (GH819)

Reviewed By: nikoant

Differential Revision: D20067792

fbshipit-source-id: 3f0ebcb03881373fd909f513e5d82e23a5f9f1f1
2020-02-24 06:53:42 -08:00
Pritesh Nandgaonkar
bd388f73e4 CLANGFORMAT the remaining files of xplat/sonar
Summary:
As per title.
Ran `arc lint -a --take CLANGFORMAT --paths-cmd 'hg files ./'` from xplat/sonar

Reviewed By: zertosh

Differential Revision: D19943131

fbshipit-source-id: c1dc10b27389fd6f54f055803519dac6bf0e7997
2020-02-18 05:27:56 -08:00
Michel Weststrate
7d92e3ee58 Flipper Release: v0.31.2
Summary: Releasing Flipper 0.31.2 as preview for the improved React Native support (blog post will follow)

Reviewed By: cekkaewnumchai

Differential Revision: D19939347

fbshipit-source-id: 4bff1aabdd4e63003de9c9c0af2002ed67504da1
2020-02-17 06:21:46 -08:00
Janic Duplessis
44f5e35675 Implement react-native-flipper on iOS (#795)
Summary:
Implement the react-native-flipper native module on iOS. Uses very similar abstractions as on Android.

## Changelog

[react-native-flipper] Support iOS
Pull Request resolved: https://github.com/facebook/flipper/pull/795

Test Plan:
Tested using the RN TicTacToe example app

{F228406333}

Reviewed By: mweststrate

Differential Revision: D19853017

Pulled By: priteshrnandgaonkar

fbshipit-source-id: d93d35ff984b9ba75f812c4c8e3c82e4d550f0c0
2020-02-14 21:17:11 -08:00
Pascal Hartig
9f899c7026 Upgrade to SoLoader 0.8.2
Summary: No changes that should impact us in any way.

Reviewed By: priteshrnandgaonkar

Differential Revision: D19856578

fbshipit-source-id: 35113b4b9e56b6c0b09681ac5649705cf840f60c
2020-02-13 12:06:53 -08:00
Pascal Hartig
effa2ec5a5 Flipper Release: v0.31.1
Summary: Bugfix release for startup problem.

Reviewed By: cekkaewnumchai

Differential Revision: D19832703

fbshipit-source-id: 75451e39f53b2d231e1ad10219b37620593f0998
2020-02-11 06:09:58 -08:00
Pascal Hartig
72a140bd96 Flipper Release: v0.31.0
Summary:
== Highlights ==

- Database query favourites are now persisted across sessions (b0caaa7)
- Allow disabling iOS development in Settings
(aab004a)
- Various improvements to the sidebar
- FPS graph to visualize slow UIs for plugin developers (31df1db)
- Window theme attributes when clicking on a window in the inspector (c430fc3)
- Removed Stetho dependency (48d6ea4). Thanks, ZacSweers!
- Install plugins directly from package files (b9e7f5d6d1)

== Fixes ==

-  Mac plugins not showing up (02e0233)
- Doctor: log both shown and suppressed warnings (35d62e70cb). Thanks, mateosilguero!
- Fix default SDK path on Windows (e178221)
-  Doctor complains Android SDK is not installed
(b625efe)
-  Update welcome screen links (33ad41c)
- Fix 'Timed out waiting for device' error (060e8c0)

Reviewed By: priteshrnandgaonkar

Differential Revision: D19813089

fbshipit-source-id: 8b1fc6fb140d02b7f78adcadd7c45a3ed1755f2f
2020-02-10 07:03:07 -08:00
Janic Duplessis
912bfed0f8 Allow Flipper module instances to be created by applications (#786)
Summary:
This allows using the flipper RN module with TurboModules instead of using FlipperPackage.

## Changelog

[react-native-flipper] Allow Flipper module instances to be created by applications
Pull Request resolved: https://github.com/facebook/flipper/pull/786

Test Plan:
An instance of the Flipper module can now be created like this when using TurboModules:

```java
  Override
  public NativeModule getModule(String name, ReactApplicationContext reactContext) {
    switch (name) {
      ...
      case FlipperModule.NAME:
        return new FlipperModule(FlipperReactNativeJavaScriptPluginManager.getInstance(), reactContext);
      ...
    }
  }
```

Tested that it builds

Reviewed By: mweststrate

Differential Revision: D19812912

Pulled By: passy

fbshipit-source-id: 401b3e4552ea0cdb7444a2cf5d170c408edab4db
2020-02-10 05:54:55 -08:00
Pascal Hartig
3d66df2d86 Cleanup 4/4
Summary: I think that's it. Some more minor changes and removing an unused BUCK file.

Reviewed By: mweststrate

Differential Revision: D19471282

fbshipit-source-id: ceb85111f03a41141dca0bdd445cda12dfbac1c4
2020-01-24 07:00:15 -08:00
Pascal Hartig
2ec539acb1 Cleanup 3/n
Summary: Same treatment for FlipperReactNativeJavaScriptPlugin.

Reviewed By: mweststrate

Differential Revision: D19471257

fbshipit-source-id: b51d92074ae411c089f0010057f2b61ef6500de0
2020-01-24 07:00:15 -08:00
Pascal Hartig
4e77b37831 Cleanup 2/n
Summary:
Some more minor cleanups that don't (well, barely) affect
semantics.

- Fix singleton management in multi-threaded environments.
- Remove double assignment.
- Make all things final where they can be.
- Use ugly Hungarian notation.
- Weaken some types.

Reviewed By: mweststrate

Differential Revision: D19471227

fbshipit-source-id: 18833c3fe940f51b8d4cb3948a63387b8cd9316c
2020-01-24 07:00:14 -08:00
Pascal Hartig
6864556912 Cleanup 1/n
Summary:
Making some changes to make this more idiomatic and abide by
the Flipper/FB standards. This one just removes some unused
variables and annotations.

Reviewed By: jknoxville

Differential Revision: D19470676

fbshipit-source-id: 4beb516f00228b1d33e4e1b42d9bc4f8c29af565
2020-01-24 05:02:07 -08:00
Michel Weststrate
e306aeb010 Don't die when flipper isn't initialized and a plugin is used
Summary: This diff makes sure that the app doesn't die, or dies in a meaningful way if things are misconfigured.

Reviewed By: passy

Differential Revision: D19468273

fbshipit-source-id: 2471c263391906113446af57d795d1199eb1730e
2020-01-23 07:11:30 -08:00
Michel Weststrate
0fa0899299 Create React Native example project
Summary:
This diff creates a sample React Native project (based on the 0.62-rc.0 template).

This example is created like:
(Documenting this here as in the future this might be easier than upgrading the project itself)

1. Run `npx react-native init ReactNativeFlipperExample --version 0.62.0-rc.0`
2. Follow the installation steps to enable Flipper, that is, call `initializeFlipper(this, getReactNativeHost().getReactInstanceManager());` at the end of the `onCreate` method in `MainApplication.java`
3. Put `FlipperTicTacToe` in the root of the project, and call it from `App.js` as a component
4. install `react-native-flipper` as dependency
5. install `relative-deps` as dev dependency, and set it up as shown in `package.json`. This tool make sure that we build and test this project against the version of react-native-flipper in this repository, rather than against the one on NPM.
6. removed some stuff, like tests and linting, which is just in the way in this repo

This PR does not support iOS, as Flipper + RN iOS is still broken in 0.62.0-rc.0, and the current version of react-native-flipper doesn't support iOS yet either.

Documentation on how to set up Flipper in general is not part of this Diff

_N.B. since this is a **public** project, to be visible and runnable by our OSS community, the build setup is kept plain, vanilla, react-native, and **not** wired up to our normal / internal build processes. This is also the reason that lint suggestions beyond the license headers have been ignored. If any others should be applied, it is probably the official react native template that requires updating_

Reviewed By: passy

Differential Revision: D19449295

fbshipit-source-id: 2aeb6044f8dd01f09a95350c84fff2419d685a65
2020-01-23 04:47:52 -08:00
Anton Nikolaev
4d91f6eb60 Flipper Release: v0.30.2
Reviewed By: passy

Differential Revision: D19494145

fbshipit-source-id: d5d0bdf6a033c3de286029adec3e0f6245864a62
2020-01-21 03:56:46 -08:00
Michel Weststrate
1b7a30ae6c Publish react-native-flipper as NPM package
Summary:
This Diff makes the react-native-flipper package available on NPM.

For simplicity and traceability purposes, this package is released every time Flipper is released, under the same version number. Even though there will be often no changes.

Reviewed By: passy

Differential Revision: D19446815

fbshipit-source-id: 485930e57beac42a2f36dc34a8ac82eed2abe785
2020-01-17 08:21:05 -08:00
Michel Weststrate
28fd95589f Made flipper plugins a little more robust
Summary: Added some assertions and string casts to make plugins a bit more robust

Reviewed By: passy

Differential Revision: D19427909

fbshipit-source-id: 46a3138805db865b538f745fae25ce1897e35736
2020-01-16 05:06:22 -08:00
Michel Weststrate
08e2d54f62 Make sure callbacks are not reused and reloading works
Summary:
This diff is part of the bigger task T60496135

This diff changes the RN support from crude to decent citizen, making sure we don't recycle callbacks over the bridge, use subscriptions were possible, and making sure connecting, disconnecting, etc works correctly

For example, connect and disconnect hooks should work.

Finally, throw in hot reloading into the mix, which causes the registerPlugin to be triggered another time, without the old one every been unloaded.
This should trigger a new 'onConnect' on the client, to make sure it can restore any state / subscriptions necessary, even though the never disappeared in the Java world.

These cases should all be handled well.

Reviewed By: jknoxville

Differential Revision: D19347330

fbshipit-source-id: de64a08f4043f01528c794430ccc3c717abf0180
2020-01-16 05:06:22 -08:00