Summary:
- We cache the layout wrapper, but never used it actually.
- This should make the Layout plugin faster.
Reviewed By: fabiomassimo
Differential Revision: D15046463
fbshipit-source-id: b61f28d9a981e782b76abe78037d37665f7d8ba3
Summary:
Updates CK and Yoga to latest dependencies.
Also removed the code from the post_install script which changed the min ios version of the yoga dependency, its no longer required.
Reviewed By: kfirapps
Differential Revision: D15098129
fbshipit-source-id: d00938db1df59d74253ae412a4bd835a0aa286b7
Summary:
`FKUserDefaultsPlugin` is initialized with an `appSuiteName` but doesn't use this to monitor the app suite user defaults. This adds that capability.
In Flipper, "App Suite UserDefaults" defaults will show up in the drop down selector for user defaults.
Reviewed By: priteshrnandgaonkar
Differential Revision: D14922399
fbshipit-source-id: 3876976ccd0968fdec35f7605107202e1f9d7cee
Summary:
== Highlights
* Improved UI when exporting Flipper data. (45999a5292)
== Fixes
* The Shared Preference Plugin on Android will search for all shared pref files instead of only the package name by default. (825ecb8e23)
* When restarting Flipper and the previously selected plugin no longer exists, the UI would crash. (c4a8e73543)
Commit log: https://github.com/facebook/flipper/compare/v0.19.0...v0.20.0
Reviewed By: danielbuechele
Differential Revision: D14951753
fbshipit-source-id: dbafc2d41cd25b2ede218b3fe3e99745226939a9
Summary:
I have published the new tag of Peertalk on my [fork](https://github.com/priteshrnandgaonkar/peertalk) and published a [Flipper-PeerTalk](80e4cd9a05/Specs/d/6/6/Flipper-PeerTalk/0.0.4/Flipper-PeerTalk.podspec.json) pod on cocoapods. There was no reply on the [request](https://github.com/rsms/peertalk/issues/48) to publish the new version of the peertalk on their repository and it was blocking us to publish Flipper and FlipperKit pods to Cocoapods. For more context follow the issue #132. With this PR we would have all our dependencies on cocoapods and thus we can now publish Flipper and FlipperKit pods on the cocoapods master repository.
I have also added the Flipper-PeerTalk podspec file for future updates.
Pull Request resolved: https://github.com/facebook/flipper/pull/395
Reviewed By: passy
Differential Revision: D14642440
Pulled By: priteshrnandgaonkar
fbshipit-source-id: 7847c19cddea358ffb62d2c6f16fc06d1afa1ea1
Summary:
Fixes the iOS OSS job which was failing. The root cause of the problem is as follows:
- RSocket was referring the master branch of rsocket/rsocket-cpp, fixed it by forking it and making its own release, unfortunately they don't make a release.
- Folly referred to the January's release. The current master branch of RSocket doesn't build with the latest release of the Folly, [this commit](b51dc569eb) is responsible for the breakage. Thus I made a Rsocket release, right before this [commit](b51dc569eb), so that it builds.Although, the current master branch of Folly builds with the current master branch of rsocket, but we will have to wait on Folly team to make a release. Once they do that I will update bit RSocket and Folly releases.
Reviewed By: jknoxville
Differential Revision: D14668686
fbshipit-source-id: 6b0362632c26355a69a3f33a031b71c88e7dd45b
Summary: Remove ObjC categories so we can strip dead code
Reviewed By: kfirapps
Differential Revision: D14665041
fbshipit-source-id: 243dee61a5b7cfd854191bfb5fa3a570b4ac1a4b
Summary:
== Highlights
- **Layout 2.0**: We have a new layout inspector that was rewritten from the ground to address all sorts of small bugs that like nodes not expanding that should all be gone now.
- **New Crash Reporter**: Flipper will now detect crashes on your device and give you easy access to them through a device plugin that you can find next to logs. Learn more at https://fbflipper.com/docs/crash-reporter-plugin.html.
- **Import/Export**: You can now import and export Flipper sessions as data to share them with others. Learn more at https://fbflipper.com/docs/share-flipper-data.html.
== Fixes
- Improved error reporting for what was previously summarised under "RecurringError". (bf9be74ad2)
- Fixed an issue where the color picker could get cut off. (f9ec0cd326) (https://github.com/facebook/flipper/issues/396)
Full list: https://github.com/facebook/flipper/compare/v0.18.0...v0.19.0
Reviewed By: priteshrnandgaonkar
Differential Revision: D14665281
fbshipit-source-id: 78ed042d38642356180f25455d0d17a03ed59c6b
Summary:
`CKComponentDataSourceAttachContrlller` doesn't have to be tied with datasource. It's totally legit to use it in hosting view as well.
Renaming it to `CKComponentAttachController` and move it to `Core` folder.
Reviewed By: priteshrnandgaonkar
Differential Revision: D14526150
fbshipit-source-id: f48a8d27a3bfa5170e22a397fe1b32e806bc3c55
Summary:
= Highlights
This is a bit of a boring release, to be frank. Most of the stuff happened behind the scenes, but a lot of preparation for interesting stuff happened behind the scenes, so stay tuned!
= Fixes
- Upgraded to Electron 4.0.8 (e0127b8438)
- Fixes to node expansion in the layout inspector.
- Connectivity improvements.
See https://github.com/facebook/flipper/compare/v0.17.1...v0.18.0 for reference.
Reviewed By: jknoxville
Differential Revision: D14477605
fbshipit-source-id: 0d927ba08fa5fab9d95c76ec763f5b9dd5bc104d
Summary:
== Bugfix Release ==
Fixes#394 in which using the network inspector can cause the plugin view to crash. Also fixes an issue where native background plugins can fail to connect (d720b20870).
Reviewed By: danielbuechele
Differential Revision: D14384823
fbshipit-source-id: 7cee49d22ec2ed8f076cf3aeb980d4ba3a273a3f
Summary:
- The Android library now uses AndroidX instead of the support-library.
- Folly and RSocket dependencies uploaded to cocoapods (f8bd473828).
- Improved Unicode support in the Network Inspector plugin (f4b2ce9a2b).
- Fixed MacOS release creation.
- Several UI fixes regarding in-app search and the toolbar.
Reviewed By: passy
Differential Revision: D14269567
fbshipit-source-id: 2d2f965316bd1ddfb375a2db48fb715095693c43
Summary:
This diff does the following
- Support to export the entire view hierarchy for iOS
- Android is not supported yet
- This diff adds a call `getAllNodes` to the client side of iOS, which returns the entire view hierarchy
- Currently the search doesn't work on the imported layout plugin data. Also the imported layout plugin data doesn't expand the way it does when component is mounted, reason being the client passed to the plugin is not functional for the archived case
I will work on fixing the last points in the next diffs stacked on the current one.
For Android:
- Currently the export function will export whatever is currently displayed on the Flipper app, not the entire view hierarchy
Support for Android will also come up in later diffs.
Reviewed By: jknoxville
Differential Revision: D14209157
fbshipit-source-id: 3ad3e39edfd994913dc19cc239bfbbe011a9757c
Summary:
I have released pods for Folly and RSocket on cocoapods. Thus we won't need to host different versions of these pods on our repository. I haven't removed those pods from `Specs` folder, as the current users of `0.16.2` would still be referring the Specs folder on the master branch. I will remove the specs folder once, all our pods are on cocoapods and we no longer need to host any pods.
Pull Request resolved: https://github.com/facebook/flipper/pull/379
Reviewed By: jknoxville
Differential Revision: D14185931
Pulled By: priteshrnandgaonkar
fbshipit-source-id: ea285024123e41c2d110827e26f79a72ef22c008
Summary: This release targets the support library and target SDK v28.
Reviewed By: muraziz
Differential Revision: D14151636
fbshipit-source-id: 70f4412dc0ccba3c77dda74dcf9b143782b90713
Summary: Only usable with a desktop app that supports physical iOS devices, which isn't released yet.
Reviewed By: passy
Differential Revision: D14132413
fbshipit-source-id: 376d1db06e46ae06346974f2acc95c3d2ff6825d
Summary: Changes FlipperPerformBlockOnMainThread to take a responder, and respond with an error if an exception is caught.
Reviewed By: passy
Differential Revision: D14066982
fbshipit-source-id: 70135bf58171684bcd013c66d9deec366aed36f5
Summary:
Flipper exposes a call() api to plugins which lets them call their sdk component, and it returns a promise with the response.
Currently this is done by sending a fireAndForget request, noting the id of the request, and then receiving fireAndForget requests and matching up the ids to give the result back to the right plugin promise.
Instead, it will be simpler to use rsocket requestResponse, instead of fireAndForget, which is for this exact use case. This diff adds a requestResponse handler to the SDK, so that it can deal with such requests and respond accordingly, while preserving the current functionality if it receives a fireAndForget.
So this part is backwards compatible and should be safe to land in isolation.
A later diff will change the desktop app to use requestResponse, which may not be backwards compatible, so that will have to be deployed more carefully.
Reviewed By: passy
Differential Revision: D13974049
fbshipit-source-id: b371d94a86b1f186375161ed8f2242a462ce418f
Summary:
Another smaller diff was responsible for breaking the build... D14019510 would have been the fix, which is integrated into this diff anyway.
---
Renaming FBMacros.h to FBDefines.h for more standard naming (similar to say UIKit/UIKit.h or Foundation/Foundation.h).
```
Tools/fastmod/fastmod --accept-all '\bFBMacros.h' FBDefines.h ../xplat
```
drop-conflicts
bypass-lint
allow-large-files
Reviewed By: dinhviethoa
Differential Revision: D14019529
fbshipit-source-id: 940490a5ec72ccdeb819598f488dc22eae454a26
Summary:
Renaming FBMacros.h to FBDefines.h for more standard naming (similar to say UIKit/UIKit.h or Foundation/Foundation.h).
```
Tools/fastmod/fastmod --accept-all '\bFBMacros.h' FBDefines.h ../xplat
```
drop-conflicts
bypass-lint
allow-large-files
Reviewed By: adamjernst
Differential Revision: D14011897
fbshipit-source-id: f1dd7e686eef2cdb109e85c2db4a0f2ac3d0ba42
Summary:
Our OSS build was failing with the latest version of cocoapods(1.6.0). The reason was that the `post_install` script of adding a `SWIFT_VERSION` was not getting applied while building the project. So I added a `swift_version` in the YogaKit pod itself. So with this change we no longer need the `post_install` script to add `SWIFT_VERSION`.
I have also released a new version of YogaKit(1.10.0) on the CocoaPods. Usually the swift pods should specify the swift_version which is being used to develop it.Due to unknown reason, it was never mentioned in the podspec.
Reviewed By: jknoxville
Differential Revision: D13990363
fbshipit-source-id: 3c2f814765c03683fbedd17b3607ff0e6cdef566
Summary:
- Added build-headless yarn target for producing a headless binary
- Crash Reporter plugin added. Details [here](https://fbflipper.com/docs/crash-reporter-plugin.html).
- Bug fixes and dependency updates
- Desktop notifications for all kinds of crashes with their callstack
- Desktop notifications when an exception occurs within [Litho's error boundaries](https://fblitho.com/docs/error-boundaries)
- Ability to deeplink to the crash entry in the Logs plugin for Android. This feature is not available in iOS as the callstack doesn't get logged through Flipper's Logs plugin
- Ability to copy the stacktrace by right-clicking it
- Ability to see the list of crashes in the Notifications hub
Reviewed By: passy
Differential Revision: D13880665
fbshipit-source-id: 92a3455bb826b6fb22858e2c4c88c0b9ace91a5f
Summary:
Part 2 of changing flipper to use customizable ports: iOS SDK.
Still to go: JS app.
env var should be of the format:
`FLIPPER_PORTS=1111,2222` for insecure port: 1111 and secure port: 2222.
Reviewed By: danielbuechele
Differential Revision: D13800988
fbshipit-source-id: 3560ba850389964f4b784551b803c45c6524e6f0
Summary:
- Refactored [Crash Reporter Plugin's](https://fbflipper.com/docs/crash-reporter-plugin.html) android implementation to show the crash notification for all kind of crashes. It sniffs the logcat and fires notification whenever crash happens.
- "Plugin not showing?" in the plugin list now supports more cases for telling you what went wrong.
- Plugins are now sorted by name.
Reviewed By: jknoxville
Differential Revision: D13650988
fbshipit-source-id: 8b4861befa962162dea84a1394ea2829b88ab4c9
Summary:
- New [Crash Reporter Plugin](https://fbflipper.com/docs/crash-reporter-plugin.html).
- "Where is my plugin?" screen can show you why a plugin wasn't loaded.
- New reusable components for StackTrace and MarkerTimeline.
- Support for remote Android devices when connected with adb.
- Avoid indexing 0s videos on Android when recording screencaps. (7471dc6481)
- Fix emulator launching on Linux. (7471dc6481)
- Several fixes to the certificate negotiation process.
Reviewed By: priteshrnandgaonkar
Differential Revision: D13589524
fbshipit-source-id: 3bc0b2ff4d7802b0b767bb5fc55046a84e4a3ec8
Summary:
This PR updates the installation instruction. It missed few crucial information and thus the projects installing flipper as a dependency were facing issues. It addresses the issue #341. It also brings the sample application at par with the documentation.
Pull Request resolved: https://github.com/facebook/flipper/pull/343
Reviewed By: danielbuechele
Differential Revision: D13507298
Pulled By: priteshrnandgaonkar
fbshipit-source-id: 5a4b23d79930cb7eeb491e359b616d3558e260fb
Summary: Removes the iOS implementation of crash reporter plugin as its implemented as desktop plugin
Reviewed By: adamjernst
Differential Revision: D13451980
fbshipit-source-id: 19cca52a00bb4a6d350eff91ac405f6dd3b07818
Summary:
This diff does the following
- Comments out the code in iOS which sends the message to the desktop side
- Also comments out the part where signal handler is initialised, as we no longer need it. I will remove the iOS implementation completely in next few diffs
- Updated the JS side to expect call stack as a string instead of an array
- Updated the android side to send callstack as a string
I have commented out the code for crash reporter plugin of iOS as for iOS I will be adding a watchman to a directory where crash logs are dumped. The diff related to this is in the stack
Reviewed By: passy
Differential Revision: D13424824
fbshipit-source-id: b1105da912292bf73cff948206c031de9b059abd
Summary:
Disabling the port fordwarder.
On physical devices, when flipper isn't running and they don't have any certificates, they attempt to connect to the desktop.
They always connect to the portforwarder, even though it doesn't connect to flipper desktop.
After connecting to the portforwarder, they then try to generate the SSL certs. This is a CPU intensive operation and happens repeatedly in this condition when it really shouldn't be, causing high cpu usage.
Disabling for now. The fix will be to make sure that they only do that generation when they are fully connected.
Reviewed By: priteshrnandgaonkar
Differential Revision: D13507353
fbshipit-source-id: a858a5da7352228b063150334ea443130763d888
Summary:
The `getAllSharedPreferences` API is not implemented in the iOS UserDefaultsPlugin and thus the data is not shown in the `Shared Preference Viewer`.
This PR implements the missing API and present the Standard UserDefaults data from the target application.
Pull Request resolved: https://github.com/facebook/flipper/pull/340
Reviewed By: danielbuechele
Differential Revision: D13464765
Pulled By: priteshrnandgaonkar
fbshipit-source-id: 8c6cf4e9f7094fcf75c71cce43cb6c34f9f957e7
Summary:
- Crash reporter plugin: Get notified for crashes in Android and iOS apps. Currently in Alpha and not enabled by default.
- Support for physical iOS devices.
- `yarn start` in open source works again (54d09aa951)
- Prevent unnecessary UI rerenders (133788380e)
- Fixes a problem on macOS where external plugin from `pluginPaths` config weren't loaded (f7ddf3b496)
- Various improvements for certificate exchange and device connections.
Full changes here: 19485d076b...c6e0517640
Reviewed By: danielbuechele, priteshrnandgaonkar
Differential Revision: D13431074
fbshipit-source-id: ef2087742911e4c5ee98af1941bc7db5cfe75578
Summary: This PR adds support to catch and report signal errors to the flipper. It also reports the callstack. Please look at the video in the test plan to understand the what it does.
Reviewed By: jknoxville
Differential Revision: D13328818
fbshipit-source-id: 304a68f47bb5ca5b0014c8b7d30f6a6fc2b6d147
Summary: Adds support for physical iOS devices, when the necessary dependencies are present. Unfortunately these aren't open sourced yet so the open source build won't get this feature yet.
Reviewed By: priteshrnandgaonkar
Differential Revision: D13001473
fbshipit-source-id: d8c2bcd53b7972bec676717c8af0112800b918d0
Summary:
See FBPortForwarding/README.md for an explanation of what this is.
It's required for the upcoming support for physical iOS devices.
To simplify development of the JS app, We're going to bundle the pre-built PortForwardingMacApp
inside the repo, and inside the electron app (static/PortForwardingMacApp.app).
Adding this source so users can build it from source if they choose to.
Reviewed By: danielbuechele
Differential Revision: D13276022
fbshipit-source-id: 99b18e0412cf443bb4a67eb4846cc780e0014de1
Summary: Previously an empty string would crash the flipper client. Now that we handled that ok, we can reenable the descriptors.
Reviewed By: jknoxville
Differential Revision: D13257534
fbshipit-source-id: 09be4834d5a7023b2fa4e2bee7e57e412916120b