Summary:
This diff turns the DevTools plugin from a normal plugin in a device plugin. The reason for that can be seen at the end of the test plan in the first stack of this diff: Regardless on which client you open the devtools, you are always looking at the react tree of the app that happens to listen at the appropriate port, unrelated to the actively selected app. This diff moves the plugin from being a client plugin to a device plugin, a Metro device plugin to be precisely, as of the latter there is only one and they should typically correspond (which is why we can trigger reload as done in the previous diff)
Currently we have a Flipper plugin inside the iOS / Android apps with one purpose: to select different ports to listen to on different devices. But this functionality was never implemented, nor seems there to be much demand for. So these plugin don't offer any actual value. The widely used standalone version of the react devtools (https://www.npmjs.com/package/react-devtools) doesn't offer port customization either, so this limitation seems to be acceptable.
To make sure that this change is backward compatible, we make sure to show the metro device if we find metro, regardless whether it is new enough to support log forwarding and reload commands (previously we only showed the device if it has the /events endpoint).
The only case I can think of we are killing with this approach is where people are debugging a RN app, but with having metro running. I doubt that is an actual case, but probably rickhanlonii knows more about that.
Furthermore this diff makes sure that the devTools can connect to physical android devices. Also, making it to the end of this explanation means that you have done most of the reviewing for this diff. The actual code diff is shorter.
Reviewed By: passy
Differential Revision: D19878605
fbshipit-source-id: 3f33e59d4f6e4cce39102420f38afee10018999f
Summary: uncrustify was not recommended to add in xplat thus I have added clangformat for xplat/sonar/iOS
Reviewed By: zertosh
Differential Revision: D19879977
fbshipit-source-id: 76f6dadf5d55a61a5342802cfde2821cbff38525
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
Summary: Client implementation for the flipper send data lispy api
Reviewed By: adamjernst
Differential Revision: D19862378
fbshipit-source-id: 7a5cc8b47772bdbc0e89d723d0099ff824a81ed5
Summary: Removed the swift files in Sample app and instead added swift library paths in search paths
Reviewed By: passy
Differential Revision: D19877848
fbshipit-source-id: fdaeba8ba4ed58216e413125b29fe20bad9d03f5
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
Summary: Fixes the broken Layout plugin in wilde. Before this fix it will just show an empty screen in the layout plugin.
Reviewed By: jknoxville
Differential Revision: D19621517
fbshipit-source-id: e10078248b95b93c6b9c87ccf4508628b6ad86bb
Summary: Using just the scope identifier for the root component is not sufficient when it doesn't have a scope. Solve this by prepending the scope root identifier to the parent identifier.
Reviewed By: fabiomassimo
Differential Revision: D19600721
fbshipit-source-id: d90f9ffd7ae369c76316cebc4ef792626a4584b7
Summary:
### iOSSample:
Fix iOS Sample App crash: UI need to be updated on Main Thread
### SampleSwift:
* Upgrade swift version
* Fix force unwrapping
* UI need to be updated on Main Thread
## Changelog
Pull Request resolved: https://github.com/facebook/flipper/pull/740
Differential Revision: D19397414
Pulled By: passy
fbshipit-source-id: 7af84c0fe43861aff6a18c36bf81a940baec5147
Summary: This releases glog and DoubleConversion under "Flipper" preappended name as it solves the issues with Flipper integration with RN under use_frameworks! keyword.
Reviewed By: passy
Differential Revision: D19392941
fbshipit-source-id: ebdcdc23fcce45cec9bfc6d4f18c14a734caf24f
Summary: This diff removes the margin property from the CKFlexboxComponetn style, as it was never working properly.
Reviewed By: Andrey-Mishanin
Differential Revision: D19251856
fbshipit-source-id: eb8e448a68d2e0ff3cd6726c40af0267fced96ea
Summary: New release built against Litho 0.33.
Reviewed By: priteshrnandgaonkar
Differential Revision: D19030537
fbshipit-source-id: a14b04decf3023e9ee78ef2a894061d8b04d232e
Summary:
## Changelog
- Release of the redesigned Support Form
Reviewed By: mweststrate
Differential Revision: D18807901
fbshipit-source-id: 7a8b0775480d9acb6152e9e84425da8256b09964
Summary: Includes a preview of the JS-only plugin API. This is experimental and might break in future releases.
Reviewed By: mweststrate
Differential Revision: D18757712
fbshipit-source-id: a3c238ffbe3d5d80ca8e750cf5ef89b7a7436c62
Summary: Another bump for npm. Easiest way to test this, unfortunately.
Reviewed By: mweststrate
Differential Revision: D18726533
fbshipit-source-id: 40d241a24ef5c0cdf8656b054280410b5bcda863
Summary: I have made a new release for Flipper-Folly with the changes in the base diff
Reviewed By: jknoxville
Differential Revision: D18449493
fbshipit-source-id: bdb60d2a5b16cd0e3fc8d2e135d6d52b97c61fd0
Summary:
- This removes `folly/**/*.h` in `source_files` which causes all headers to be included. Instead we include only the headers needed to build. In my case this caused a conflict with folly's "Zlib.h" getting included instead of the system "zlib.h" (apparently paths are not case sensitive).
- Remove duplicates in `public_header_files`, we can just keep `"folly/**/*.h"` to make all headers public.
- Remove `preserve_paths`, this is not be needed anymore.
## Changelog
Cleanup Flipper-Folly.podspec included headers
Pull Request resolved: https://github.com/facebook/flipper/pull/518
Test Plan: Tested in an app that everything build using the modified podspec.
Reviewed By: jknoxville
Differential Revision: D16918216
Pulled By: priteshrnandgaonkar
fbshipit-source-id: 81cc9891c67bcb019580eb21d1b8e6d7318a4e03
Summary:
This diff fixes the broken sample app for xcode 11. Followed the remediation mentioned in the following links
https://github.com/Carthage/Carthage/issues/2825https://twitter.com/krzyzanowskim/status/1151549874653081601?s=21
Remediation:
Adding Dummy swift file and assigning `"LD_VERIFY_BITCODE": "NO"` solves the problem as suggested in the above links
Reviewed By: jknoxville
Differential Revision: D18420954
fbshipit-source-id: e87930790329ffb2bb92c40aa197552efeedecd3
Summary: In some cases this can cause a retain cycle.
Reviewed By: priteshrnandgaonkar
Differential Revision: D18297780
fbshipit-source-id: c60abdcaad9fd94c457647509aec0519042801e4
Summary:
**Highlights**
- Sample Android APK now available as download on this very release page.
- Memory usage viewer available for KaiOS devices.
Full changelog: https://github.com/facebook/flipper/compare/v0.26.0...master
Reviewed By: jknoxville
Differential Revision: D18245037
fbshipit-source-id: 0d49012c1ebd11b406a2bf81e5b41e823ced0c05
Summary:
**Highlights**
- New settings panel for configuring Android SDK paths and iOS support.
- Support for taking screenshots and recording videos on Windows.
- Copying an element name in the layout inspector now copies the attributes instead of just a numeric identifier.
Full changelog at https://github.com/facebook/flipper/compare/v0.25.0...v0.26.0
Reviewed By: jknoxville
Differential Revision: D18007369
fbshipit-source-id: ad4069da59f5b2b96090a14c17d57d37a0ca64be
Summary:
This PR updates the openssl dependency with OpenSSL-Universal, which ships a fat-binary of libssl and libcrypto with all the architecture.
This PR also updates the travis to cache cocoapods checkout directory.
## Changelog
Updated Flipper-Folly deps
Pull Request resolved: https://github.com/facebook/flipper/pull/577
Test Plan: CI
Reviewed By: jknoxville
Differential Revision: D17877304
Pulled By: priteshrnandgaonkar
fbshipit-source-id: 9d13308108b6665d4bf5dd6145fcaafa2a2a8a13
Summary:
Flipper's network plugin may cause crash on a frequency of about one time per 1~2 days(I think it depends on how many network request we send).

I assume the crash is caused by part of the code of HTTPParser is not thread-safe, and invoke it asynchronously may cause double-free crash. So I manually ask for HTTPBody synchronously, make the HTTPParser parse the request and cache them in advance, before any possible asynchronous invoking.
## Changelog
Fix potential crash cause by network plugin.
Pull Request resolved: https://github.com/facebook/flipper/pull/563
Test Plan:
1. Run our App with Flipper integrated
2. Make sure FlipperNetworkPlugin is active
3. It may take days to reproduce the crash
Reviewed By: passy
Differential Revision: D17739327
Pulled By: priteshrnandgaonkar
fbshipit-source-id: e814145c346bd2da1d2f5f87b6a2f7e200f0bf2d
Summary:
- Introduce new base protocol `CKMountable`
- Contains Layout & Mount methods that have been extracted from `CKComponent`
- This will allows us to introduce a new lighter version of `CKComponent`, which doesn't rely on Scope/State/Controllers/etc
- Refactor `CKComponentLayout` to work with `CKMountable` instead of `CKComponent`, which will allows us to interop between `CKComponent` and a new type of components.
- Refactor the codebase to support this change
Reviewed By: kevin0571
Differential Revision: D17668253
fbshipit-source-id: 13db5ff4acb37b338e291ca2dd7d67cd25dbc6d2
Summary:
**Highlights**
- Android: Leakcanary is no longer part of the core distribution but a separate artifact: `com.facebook.flipper:flipper-leakcanary-plugin`.
Reviewed By: priteshrnandgaonkar
Differential Revision: D17601074
fbshipit-source-id: 862fc44d45b4ddc95059deb3959476af162b1cb0
Summary: Fix for p-map error at startup and `fbjni` dependency on Android.
Reviewed By: danielbuechele
Differential Revision: D17528600
fbshipit-source-id: db0fd2e99bd35645ceef63500312b3ad16c04d57
Summary:
# Highlights
- Android: Separate artifacts for the Litho, Fresco and Network plugins.
This does not yet include updates to the docs as the publishing process requires manual approval by Bintray first.
Reviewed By: danielbuechele
Differential Revision: D17480406
fbshipit-source-id: 92cd54e708bc1718e40e9ea95ca62f8c73b11fdc
Summary:
**Highlights**
- Changed to the upstream `adbkit` instead of the Facebook-specific fork of it.
- Migrate the rest of Flipper core from Flow to (strict) TypeScript.
- UI docs use the TypeScript code as basis.
Reviewed By: danielbuechele
Differential Revision: D17368399
fbshipit-source-id: 5ba92c4f0d4ca627ffac58052ef6e4d9fd07bd95
Summary: Moving FlipperKitLayoutPlugin/FlipperKitPluginUtils/SKHighlightOverlay to shared folder, so Layout and WorkingRange plugins can depend on it
Reviewed By: kevin0571
Differential Revision: D17156396
fbshipit-source-id: 3f17371f2ab4818924d61e6cfb243f60ad1f2892
Summary:
**Highlights**
1. Windows builds should publish on the release page now.
2. We have x86_64 support on Android.
3. React DevTools are now publicly available.
Reviewed By: danielbuechele
Differential Revision: D17204023
fbshipit-source-id: 41aaa1c884e1f251216423a8b08cec6e8802fd80
Summary:
Publishing React Dev tools plugin:
- migrate to TS
- move iOS and JS part to public folder (Android was already)
Reviewed By: passy
Differential Revision: D17164782
fbshipit-source-id: 20ccba71d807df2d33fe5348a62c6ee7f78ae8ba
Summary:
This PR updates the installation instruction for Cocoapods 1.7+ as the previous installation instruction was broken for the latest Cocoapods version
Solves https://github.com/facebook/flipper/issues/478 and https://github.com/facebook/flipper/issues/495
## Changelog
- Updated the Documentation
- Updated the sample app
Pull Request resolved: https://github.com/facebook/flipper/pull/522
Test Plan:
- Travis CI
- Also tested locally by building sample app.
Reviewed By: jknoxville
Differential Revision: D16902023
Pulled By: priteshrnandgaonkar
fbshipit-source-id: 19cc01c842f93ab3565c302f8258ca88dbdecfb2
Summary: Removes the symlink files and copies the actual files. The OSS build is broken as its not able to access those files.It used to work before as the ship it config used to sync thos files from fbobjc. But that approach is fragile as it broke our OSS build recently, because of this diff D16829348
Reviewed By: jknoxville
Differential Revision: D16891051
fbshipit-source-id: b5146129adc8628d336fbca5936539d2e1131ba2
Summary: This target was bloating. Split it in two. Migrate to autotests.
Reviewed By: joshleibsly
Differential Revision: D16829348
fbshipit-source-id: 17f2a10371293ddb850c4556abeecee99a9d7bef
Summary: T46426056: Add utility to convert nlohmann::json to NSDictionary. Use same in instagram logging module.
Differential Revision: D16798341
fbshipit-source-id: 88923fcbcd1ffbed5a468cee4ba2f9482ba81a97