Commit Graph

117 Commits

Author SHA1 Message Date
Pritesh Nandgaonkar
34b0cad824 Moved Flipper podspec outside (#423)
Summary:
Removed the symlink and moved `Flipper.podspec` and `FlipperKit.podspec` to the root directory. Also published `Flipper.podspec` and `FlipperKit.podspec`on cocoapods

http://cocoapods.org/pods/Flipper
http://cocoapods.org/pods/FlipperKit

Also removed the stub podspec files.

Released Flipper and FlipperKit on Cocoapods
Pull Request resolved: https://github.com/facebook/flipper/pull/423

Reviewed By: passy

Differential Revision: D15146621

Pulled By: priteshrnandgaonkar

fbshipit-source-id: 86ee16773a81b0896548169cba49810250122ec1
2019-05-01 06:06:27 -07:00
Pascal Hartig
6fa40aad77 Flipper Release: v0.20.0
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
2019-04-17 10:37:33 -07:00
Pritesh Nandgaonkar
d044ae991f Fix the broken iOS OSS job
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
2019-03-29 05:31:16 -07:00
Pascal Hartig
9ff6cfa9a4 Flipper Release: v0.19.0
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
2019-03-28 08:29:51 -07:00
Pascal Hartig
c7633cb585 Flipper Release: v0.18.0
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
2019-03-15 08:51:09 -07:00
Pascal Hartig
d025bbd0bf Flipper Release: v0.17.1
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
2019-03-08 04:55:40 -08:00
Pritesh Nandgaonkar
d720b20870 Solved the bug, where it didn't used to connect to Flipper
Summary:
The graphql plugin gets injected after the client is connected. In this case, earlier we didn't use to call `didconnect` assuming that it will be called when the plugin gets clicked by the user in the UI. But that is not true anymore as GraphQL plugin is a background plugin, And we don't call `didConnect` for the background plugins on the user click in the UI, as we assume that background plugins should have already received the call before.

This diff fixes the issue by calling didConnect on the background plugin which gets added after the `FlipperClient` is initialised.
{F152780726}

Look at the bug:

Reviewed By: danielbuechele

Differential Revision: D14369587

fbshipit-source-id: f75bf4e4463a31fa4735e90245c46632858a32b7
2019-03-07 14:41:28 -08:00
Pritesh Nandgaonkar
88f976b09b Flipper Release: v0.17.0
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
2019-03-05 06:28:26 -08:00
John Knox
85c041ff8d Change performAndReportError to handle exception pointers
Summary: Since plugins aren't under our control, they might throw exception pointers. We can still extract the useful info in this case.

Reviewed By: passy

Differential Revision: D14244362

fbshipit-source-id: 5f18100c08160e7514b3fd88ec47809cb37e9770
2019-02-28 05:39:52 -08:00
John Knox
56576a84ce Fix app crash when payload is too large
Summary:
Fixes T40544233

Exceptions should be thrown by value, not as a pointer, or else catching by reference (the recommended practice) won't work.

Reviewed By: priteshrnandgaonkar

Differential Revision: D14243337

fbshipit-source-id: 28677d7f1b3c025b67fb945f30116f3b751a89a8
2019-02-27 10:47:04 -08:00
John Knox
40ada838d7 Add isMethodSupported handler
Summary: Allows plugin to check if something is supported by that app, for example an extension command or a new feature, before trying to use it.

Reviewed By: passy

Differential Revision: D14225957

fbshipit-source-id: 3c5a29a06b56fe5f1da772824232547447872344
2019-02-26 10:08:21 -08:00
Pritesh Nandgaonkar
f8bd473828 Use Folly and RSocket from cocoapods (#379)
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
2019-02-26 04:18:00 -08:00
John Knox
5fff501d26 Don't log cert exchange connection failures
Summary: This info is still available in the diagnostic screen.

Reviewed By: passy

Differential Revision: D14164791

fbshipit-source-id: 1fc91da0b7437d530bddee6cbb5ea8c2d11f7b80
2019-02-21 10:12:04 -08:00
Pascal Hartig
4871186a77 Flipper Release: v0.16.2
Summary: This release targets the support library and target SDK v28.

Reviewed By: muraziz

Differential Revision: D14151636

fbshipit-source-id: 70f4412dc0ccba3c77dda74dcf9b143782b90713
2019-02-20 13:54:29 -08:00
Pascal Hartig
f043a3d4db Flipper Release: v0.16.1
Summary:
<Placeholder for v0.16.0 release notes>

Resubmitting as the previous release job stalled.

Reviewed By: jknoxville

Differential Revision: D14150283

fbshipit-source-id: 0357d37bf8c69accf898d2c4c81b89d0c16339c3
2019-02-20 09:29:07 -08:00
John Knox
81e8b7982b Add date and time reminder to diagnostic screen
Summary: I got tripped up again with a physical iOS device that had the wrong date and time. SSL certs won't be valid. Adds a reminder to the diagnostic screen for anyone running into this in future.

Reviewed By: passy

Differential Revision: D14132411

fbshipit-source-id: 623120ef5252eae3e2fe0f6f653074f586f17e0e
2019-02-19 10:33:25 -08:00
John Knox
9c87dfe230 Only create CSR once per app invocation
Summary: The CSR has no need to change, don't recreate it every time we need it. Useful for the physical iOS case especially, because it connects to the portforwarder and keeps attempting to send a CSR.

Reviewed By: passy

Differential Revision: D14131617

fbshipit-source-id: 82a69d5aff813d77fa05dd13fc2441b784766d99
2019-02-19 10:33:25 -08:00
John Knox
6cd8e1519f Log start of payloads that are too big to send
Summary:
We've seen some crashes from toRSocketPayload, but aren't sure of the cause.
When we fail the DCHECK, there won't be any log output, so log before it if it's going to fail.

Reviewed By: passy

Differential Revision: D14131409

fbshipit-source-id: b71e043f0b5feac3d2e44a34cc38c72086f966ad
2019-02-19 08:50:30 -08:00
Pascal Hartig
625321a8bc Flipper Release: v0.16.0
Summary:
- The Layout inspector can now visualise Litho sections.

- Stop trimming log messages so white-space-sensitive outputs (like trees) are preserved (88cc299811).
- Upgrade Flow to 0.91 (09a93cd9e6).
- Fix a screen recording bug on Pixel devices (64c8163a01).
- Watch plugin files recursively (c6752110cf).

Reviewed By: danielbuechele

Differential Revision: D14123167

fbshipit-source-id: 30cfccf5cfd767348c396401c97596342a243880
2019-02-19 07:21:44 -08:00
John Knox
77c77b5eb3 Don't throw exceptions from FlipperStep destructor
Summary: Destructors should never throw, because if they are destructed while an exception is unwinding the stack the program will terminate.

Reviewed By: passy

Differential Revision: D14124423

fbshipit-source-id: 4b3d21663d44160bf24adacca25f50522d952e7c
2019-02-19 03:46:55 -08:00
John Knox
f8ff6fe1b2 Catch all throwables in FlipperResponder destructor
Summary: Exceptions should never be thrown from destructors, because if an exception is already propogating at the time the destructor is called. Program will terminate.

Reviewed By: passy

Differential Revision: D14123526

fbshipit-source-id: 15ff74f4f14eb28a586055e1b1a5d54231b549da
2019-02-18 11:32:23 -08:00
John Knox
ff076d9dcd FlipperResponder: no response = success
Summary:
If an exception is thrown from the plugin, FlipperClient.cpp will catch it and respond with an error response.
If the object goes out of scope with no response being returned, then return a success response in the destructor.

Reviewed By: passy

Differential Revision: D14024259

fbshipit-source-id: 52e419dd23fc3882e8b92b593e8c1e1ea90e2b26
2019-02-13 05:13:42 -08:00
John Knox
0413bbd458 Add sdk_version param when connecting to flipper
Summary:
Every time an app connects to flipper, it will include its version.

With this information, the desktop app will be able to know how to communicate with it (or even whether it still can - and show an error message if not).

Reviewed By: passy

Differential Revision: D14008785

fbshipit-source-id: ac4dfd52da4bc6a2b90ec09a8e619086b7cd4a59
2019-02-11 14:06:56 -08:00
John Knox
5da8f35ee3 Don't use private access in FlipperRSocketResponder
Summary:
Changing FlipperRSocketResponder to only use public parts of FlipperConnectionManagerImpl.

This means we can test it by injecting a FCM mock, and it can use its public interface.

Reviewed By: passy

Differential Revision: D14000078

fbshipit-source-id: c0431a888b0ca041807631c81b99fb8b947274d6
2019-02-11 14:06:56 -08:00
John Knox
c48c1a728a Extract Responder class out of FlipperConnectionManagerImpl
Summary:
For one thing, this file is too big so it's good to split it up.

Also, having this responder defined in the .cpp file makes it hard to test. Extracting it for testability.

Reviewed By: passy

Differential Revision: D14000079

fbshipit-source-id: 8da4e0e325f48c0ada8efc7cd6fffcb3440c6e26
2019-02-11 14:06:56 -08:00
John Knox
4a3de26a88 Add requestResponse handler for incoming calls
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
2019-02-11 14:06:55 -08:00
Pritesh Nandgaonkar
ca797999eb Flipper Release: v0.15.0
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
2019-01-31 04:03:48 -08:00
Pascal Hartig
993c8532df Flipper Release: v0.14.2
Summary: Patch release.

Reviewed By: jknoxville

Differential Revision: D13801789

fbshipit-source-id: f325b7b99de7bc573f728a94598cf2383cf217c2
2019-01-25 03:27:32 -08:00
John Knox
324a7ae873 Enable flipper android to use different ports based on prop
Summary:
Part 1 of enabling flipper to run on custom ports: android SDK.
Still to go: iOS SDK and desktop

This should allow you to run mobile apps that use flipper on different ports than the default (8089,8088).

`adb shell`
`su`
`setprop flipper.ports 1111,2222`

From what I can tell, this only works on rooted devices.

Reviewed By: passy

Differential Revision: D13753238

fbshipit-source-id: c5f370c9d8c7382e8c17fb81d4010c642ef7c114
2019-01-24 03:12:13 -08:00
Pritesh Nandgaonkar
64efeef70b Update Flipper to use latest Folly (#356)
Summary:
Updates Flipper to use latest Folly version
Pull Request resolved: https://github.com/facebook/flipper/pull/356

Reviewed By: passy

Differential Revision: D13718181

Pulled By: priteshrnandgaonkar

fbshipit-source-id: 13a7c2ef37e24295d442fb787f0d5bec0d5e75c6
2019-01-21 05:51:02 -08:00
Pritesh Nandgaonkar
87f64c4535 Send crash notification when flipper cpp exceptions are suppressed
Summary: This diff adds support to send crash notification whenever the cpp exception of Flipper is suppressed. Also updated the tests regarding the same

Reviewed By: jknoxville

Differential Revision: D13635822

fbshipit-source-id: 01e4a57c391476e5b044e64946d337cb4582a527
2019-01-17 16:47:35 -08:00
Pritesh Nandgaonkar
b8c9597b07 Flipper Release: v0.14.1
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
2019-01-14 07:26:45 -08:00
Pascal Hartig
dc908928f0 Flipper Release: v0.14.0
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
2019-01-07 09:44:20 -08:00
Pascal Hartig
f5e5c33c68 Flipper Release: v0.13.0
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
2018-12-12 07:28:56 -08:00
John Knox
dc313a460c Don't invalidate connection files on Network Errors
Summary:
On iOS devices (internal only right now), when flipper desktop isn't running we get a Network Error instead of a Port not open error, because we can always connect to the port forwarding server running on the phone.
So in this case, don't count this error as a failure so we don't needlessly delete the certificates to attempt to fix it.

Reviewed By: passy

Differential Revision: D13358147

fbshipit-source-id: 8f9fb62cd2dcada058d104ef60f788a1b62d7094
2018-12-06 06:53:22 -08:00
John Knox
28e2190635 Improve "Connect to desktop" diagnostic step
Summary:
This does two things:
1. Change "Connect to desktop" to say which connection it's establishing instead, which makes it clearer what's actually happening. This step really does mean establishing a connection, because what happens during that connection is asynchronous after this step completes.
2. Call step->complete() after certificate exchange connection is established. This wasn't happening before, so you'd always get "[Failed] Connect to desktop" even after a successful cert exchange.

Reviewed By: priteshrnandgaonkar

Differential Revision: D13256783

fbshipit-source-id: 5e8e3a54f52d2e0adbde4c6d82d1acc840f1eb59
2018-11-30 07:04:10 -08:00
John Knox
f15fe48fa9 Clean on-device sonar dir between certificate exchanges
Summary:
During certificate exchange, the mobile device creates a public/private key pair, and then requests a certificate from flipper to match it's public key.

Flipper responds with the cert and it's written to the sonar dir along side the key pair files.

If certificate exchange happens again for any reason, the mobile device will regenerate the key pair and request a new cert. If for any reason that cert never arrives, then the device is in a state where it has the new key pair, but the old certificate that doesn't match its new credentials. This would never work, but it means you get a strange SSL error because you're using inconsistent files.

To improve error messaging, I'm making the client wipe all files before starting the certificate exchange step, so you should never get key/cert mismatches. Now the device can tell it doesn't have all the necessary files and won't even attempt to connect until it does.

Reviewed By: passy

Differential Revision: D13256369

fbshipit-source-id: 28f3cb5ba5938c17f01294683ba86c418f651376
2018-11-30 06:23:40 -08:00
John Knox
6c4467a03d Reflect CSR generation failure in diagnostic screen
Summary:
The CSR generation code is written in C-like code with no excpetions because so is openssl, with no RAII structures.
So we don't have fine-grained insight on what could go wrong, but at least if it fails altogether we should error.

Reviewed By: passy

Differential Revision: D13233725

fbshipit-source-id: 75cb3c21144b591947f686b5ad529a14a011baa8
2018-11-29 07:03:18 -08:00
Pritesh Nandgaonkar
bf3be3e16c Wrap flipper client methods to avoid crash
Summary: Wraps flipper client methods to avoid crash. Also added a tests which makes sure that malcious plugin cannot cause a crash

Reviewed By: jknoxville

Differential Revision: D13153277

fbshipit-source-id: ac21731fa3c4eb447f189e61f61b9e83aad91e13
2018-11-26 07:56:13 -08:00
Pascal Hartig
19485d076b Flipper Release: v0.12.0
Summary:
- Docs for UI components are now automatically published: https://fbflipper.com/docs/ui-components.html
- Stop caching source files in dev mode: ad98ba3235
- `createTablePlugin` now uses persisted State: db42e8e970
- HTML in network responses now gets formatted: a56d7d5d72
- Notification filters are persisted between sessions: 9fb3a56303
- Prevent Flipper SDK crashes from bringing down Android apps: ddbb3c7f89
- Fix Android devices from not showing up: a6765deec6

Full commit log since the last release available here: https://github.com/facebook/flipper/compare/v0.11.1...v0.12.0

Reviewed By: jknoxville

Differential Revision: D13153344

fbshipit-source-id: e67e2ac9469b2a5ef58d1963a38b1c8f448bd4fb
2018-11-23 16:58:39 -08:00
Pascal Hartig
870f6017ab Flipper Release: v0.11.1
Summary: Fixes Apple dependencies and QPL plugin, changes build to fail on error.

Reviewed By: jknoxville

Differential Revision: D12905241

fbshipit-source-id: 339ca920f958cdc36c4339976d11b2b50380e861
2018-11-03 06:26:51 -07:00
Pascal Hartig
d54fb3a21a Flipper Release: v0.11.0
Summary: Including a fix for OkHttp issues, contributed by NightlyNexus: https://github.com/facebook/flipper/pull/313

Reviewed By: jknoxville

Differential Revision: D12883196

fbshipit-source-id: e17b43b33694f46a2bd949eafc008a772777f83e
2018-11-02 06:57:47 -07:00
John Knox
db833d36e9 Add max rsocket payload size
Summary:
We're seeing some crashes when attempting to send payloads larger than are supported by rsocket.
Instead of crashing, skip the message, but log it so we can see what it's containing.

This is where the failure occurs: https://github.com/rsocket/rsocket-cpp/blob/master/rsocket/framing/FramedDuplexConnection.cpp#L64

Reviewed By: passy

Differential Revision: D12857616

fbshipit-source-id: 2b02d7f5dd6499ba81783d3f8aefcbb64d9d408a
2018-10-31 11:14:56 -07:00
Pritesh Nandgaonkar
c938931b4f Add compiler flag for OSS builds
Summary: Currently we don't have a flag in iOS setup which lets us know if the code is going to be compiled in Open source or internally. Till now we didn't have a use case for it. But NT team is hacking a componentkit descriptor which is open sourced. This flag will come in handy for us to keep the open source setup build successfully.

Reviewed By: jknoxville

Differential Revision: D10854300

fbshipit-source-id: ac5da6f239b2066b6d7f0680cbfc1b7062ae0f36
2018-10-29 03:56:35 -07:00
John Knox
1be54ebee1 Add optional debug log switch
Summary:
This won't affect runtime, but is useful when debugging issues with flipper itself.
Setting this flag means all state changes will be output in logcat.

Reviewed By: passy

Differential Revision: D10231148

fbshipit-source-id: 7ddd490290ad973fc339b2f5f93a6f9a1fab4577
2018-10-25 04:14:37 -07:00
John Knox
57752533a6 Reconnect after desktop fails during cert exchange
Summary:
The code here is quite complicated so here's whats happening:

There's a disconnect hook, that waits and reconnects, so flipper never stops, except for the case where the desktop itself fails.

This makes some sense, but not total sense, as the client should really keep connecting, in case there's a different desktop that won't fail, or even if it was a transient failure.

Explicitly disconnecting, by setting the client to null, will trigger the disconnect hook and carry on the connect loop.

Reviewed By: passy

Differential Revision: D10231241

fbshipit-source-id: 90d823dce2221b1fb6501bd2797871dc1fb9770a
2018-10-24 10:37:16 -07:00
Pascal Hartig
881d066369 Flipper Release: v0.10.0
Summary: Featuring the new notification API. 🛎🎉

Reviewed By: jknoxville

Differential Revision: D10466460

fbshipit-source-id: 11a5bf9b83844bc623acd2dd9d7504dea2b61018
2018-10-19 09:25:28 -07:00
Pritesh Nandgaonkar
d89e559dbd Move QPL plugin to Background Plugin
Summary: Makes QPL iOS plugin to work in background

Reviewed By: jknoxville

Differential Revision: D10446049

fbshipit-source-id: 02ad6f6f83b13e326b6fdd8aa972fa7d29c76eb9
2018-10-19 06:49:47 -07:00
Pritesh Nandgaonkar
b367e38050 Flipper Release: v0.9.0
Summary: New Flipper Release: v0.9.0

Reviewed By: passy

Differential Revision: D10378915

fbshipit-source-id: 90e0c4fe7a7fb690f68afddc7781ff0c5bd35d15
2018-10-15 11:37:29 -07:00
Pritesh Nandgaonkar
5bbfa58909 Setup sdk for background plugin
Summary:
This diff sets up flipper for running plugins in background. This diff does the following

- Adds a function named `runInBackground` to the interface `FlipperPlugin` to make the plugins opt in to be run in background, default is false
- Changes the javascript side of the flipper to store the messages received by the plugins in background
- Process the stored messages when the plugin in background becomes active
- Currently I have just turned on network plugin to be in background mode.

- Remove the buffering from the network plugin, as it will run in background
- Write a batching layer to batch the messages and send to flipper.

Note: I haven't tested the wilde app yet, but the sample app works. I will remove the "[WIP]" from the title once I have tested it in wilde

Reviewed By: danielbuechele

Differential Revision: D10301403

fbshipit-source-id: 034eebf659a545d6b480a4ac1b73b0aa4b2f9797
2018-10-11 15:23:21 -07:00