Commit Graph

1264 Commits

Author SHA1 Message Date
Daniel Büchele
6c9d62c5da Fix CSS on landing page
Summary: fixing layout bug due to docusaurus upgrade

Reviewed By: passy

Differential Revision: D15122111

fbshipit-source-id: 7ecbbb34322d38f9da55bcad2e838067f83f8376
2019-04-30 02:58:04 -07:00
Pascal Hartig
a9993ffa52 Update getting-started
Summary:
- Fix some typos.
- Move Objective-C/Swift code blocks under one heading with code tabs.
- Fix hierarchy so that sidebar is actually useful.

Adding a top-level Android/iOS(Swift)/iOS(ObjC) switch is really, really
painful to do right now. What RN does for this is incredibly gross (sorry, but I'm sure they'd agree)
and precarious. It only takes one incorrectly placed newline to break everything.

Let's avoid that for now.

Reviewed By: jknoxville

Differential Revision: D15123871

fbshipit-source-id: b1184dbbaf3e38b09596ce4e0f0d4daa79b8e33f
2019-04-29 15:43:22 -07:00
Pascal Hartig
d41df85ab7 Add codeblock buttons
Summary: Shamelessly ripped off from docusaurus.io

Reviewed By: jknoxville

Differential Revision: D15123501

fbshipit-source-id: 10451c72494e022af5887d4c78ef0db1ff581254
2019-04-29 15:43:22 -07:00
Pascal Hartig
ffea2ee30e Update docusaurus dependencies (#419)
Summary:
All bumps are within range, so this shouldn't introduce any breaking
changes.
Pull Request resolved: https://github.com/facebook/flipper/pull/419

Reviewed By: danielbuechele

Differential Revision: D15120854

Pulled By: passy

fbshipit-source-id: dee4b52947cb548d13cd4bf625b29e3a643d8fc3
2019-04-29 13:32:22 -07:00
John Knox
bc993596ca Include error messages in success-rate metrics
Summary:
At the moment, we can see the %-success of instrumented operations, but it's hard to attribute the ones that fail to actual errors.
This will allow us to see for every session-event row, the error messages that caused each of the failures.

Then if necessary, you can search for that error message in logview to get more info like the stack trace.

Requires a corresponding change in puma, since this is changing a number to a json value.

Reviewed By: danielbuechele

Differential Revision: D15099185

fbshipit-source-id: b966e6e55ab82f1cb9a4cfd7bf02034a1df01929
2019-04-29 08:46:29 -07:00
Pascal Hartig
c01edec88d Add issue templates
Summary: Pull Request resolved: https://github.com/facebook/flipper/pull/418

Reviewed By: danielbuechele

Differential Revision: D15120797

Pulled By: passy

fbshipit-source-id: 196aafe8f228a52bd20dc492c3754675259f389a
2019-04-29 08:24:00 -07:00
Pascal Hartig
4548aecefe Add PR template
Summary: Pull Request resolved: https://github.com/facebook/flipper/pull/422

Reviewed By: danielbuechele

Differential Revision: D15121695

Pulled By: passy

fbshipit-source-id: c33b426ed309f140ffe5b06c2e20b19abe6e655c
2019-04-29 08:15:20 -07:00
Pascal Hartig
f76db15bdb Edit Docusaurus edit URL (#421)
Summary:
Makes editing pages easier.
Pull Request resolved: https://github.com/facebook/flipper/pull/421

Reviewed By: danielbuechele

Differential Revision: D15121670

Pulled By: passy

fbshipit-source-id: a201de3ce84204a9478711a80f3557671de743ab
2019-04-29 08:09:50 -07:00
Pascal Hartig
5b8d78d3ab Create CHANGELOG.md
Summary: Pull Request resolved: https://github.com/facebook/flipper/pull/417

Reviewed By: jknoxville

Differential Revision: D15120799

Pulled By: passy

fbshipit-source-id: 547b20a8aae4f2f58b4c5a2dc6b10da6068863e3
2019-04-29 06:20:51 -07:00
Kfir Schindelhaim
b78dbb75b2 Use the tree node idenitifer as the component identifier
Summary: Now that we always build the component tree (CKTreeNode) in debug, we can just use the tree node identifier as the component identifier instead of creating a very long string.

Reviewed By: fabiomassimo

Differential Revision: D15046568

fbshipit-source-id: 4d83c1bee3fd7ac85ee4bd6e9f4f47812509e0c3
2019-04-26 10:15:02 -07:00
Kfir Schindelhaim
1c35b705eb Use the cached layout wrapper if it exists
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
2019-04-26 10:15:02 -07:00
Kfir Schindelhaim
c764322c1a Layout plugin integration for reused nodes information
Summary:
- Expose the reused component counter into the layout plugin

https://pxl.cl/wVJf

Reviewed By: priteshrnandgaonkar

Differential Revision: D14952906

fbshipit-source-id: 784a02dbf44d80d95fdd3a804f58ecd0f51a3e1f
2019-04-26 10:15:02 -07:00
John Knox
f00ff72211 Allow null TableRow sidebars
Summary: Makes the API a bit easier to use. Don't have to build an empty sidebar if you don't want one.

Reviewed By: passy

Differential Revision: D15064205

fbshipit-source-id: bd31c1aa97fd6d1c93717c10b268f49e44eb1299
2019-04-26 09:29:42 -07:00
Pritesh Nandgaonkar
4049720759 Update CK and Yoga dependencies
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
2019-04-26 07:11:56 -07:00
John Knox
0a3805c0f4 Add types for native table plugin persisted state reducer
Summary:
I haven't done this at the platform level (plugin.js) because the persistedStateReducer method signature prevents it unfortunately.

We might want to add a different method type at some point, like this one so you don't need to do this unsafe casting in the plugin itself, but for now, just doing it here.

Reviewed By: danielbuechele

Differential Revision: D15080331

fbshipit-source-id: c51749ac84cd38559d85089557f44ace8ae6e08b
2019-04-26 04:08:55 -07:00
John Knox
a4164c89a0 Fix emulator usage on linux
Summary: emulator isn't on the path in CI machines, but we already have ANDROID_HOME set so we can work out where it is.

Reviewed By: danielbuechele

Differential Revision: D15080422

fbshipit-source-id: 2c50a3de27909d2bfc82ea0210d06a0cc32357d7
2019-04-26 03:45:35 -07:00
Benny Wong
221bf1cc75 Fix error message when switching between device and simulator
Summary: Currently, you get an error when you don't have device utils installed. However, when you switch your flipper to a supported device, the error may not be cleared. This handles that case.

Reviewed By: jknoxville

Differential Revision: D15087620

fbshipit-source-id: 6060752b54161c7610656531d053ecbcdd9e978a
2019-04-26 03:41:20 -07:00
Pritesh Nandgaonkar
2359d22b46 Fix Analytics
Summary: We were missing to log for those cases when we exported through sharable link. Also I changed logging a bit so that we can differentiate between Sharable Link and File exports

Reviewed By: jknoxville

Differential Revision: D15080292

fbshipit-source-id: 063e9f515e4f089ed3715e7b1ca0e66410e46541
2019-04-25 10:39:14 -07:00
Pritesh Nandgaonkar
afd729deb6 Added metrics argument to headless inorder to export metrics
Summary:
This diff makes headless flipper accept `metrics` argument. Once this is passed. The headless flipper will terminate to export the metrics of the plugins, the type of the export looks like the following.

```
export type MetricType = {[metricName: string]: number};
type MetricPluginType = {[pluginID: string]: MetricType};
export type ExportMetricType = {[clientID: string]: MetricPluginType};

```

This diff, uses the store to export the metrics. I will modify the logic to accept the data which gets exported through `exportData`

Reviewed By: passy

Differential Revision: D14933499

fbshipit-source-id: dade5b7bc59ea4beb6d16c5ef471737e8597358a
2019-04-25 07:41:34 -07:00
Scott Hoyt
7bbb8c10c4 Extend FKUserDefaultsPlugin to support app suite user defaults.
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
2019-04-24 10:22:27 -07:00
Benny Wong
d9d1346c12 Add copy as cURL for network requests (#415)
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/415

This diff adds a context menu item for network request rows that allows the user to copy the request as a curl command. The logic for the command generation was inspired by [`FLEXNetworkCurlLogger`](https://github.com/Flipboard/FLEX/blob/master/Classes/Network/FLEXNetworkCurlLogger.m)

Resolves #406

Reviewed By: passy

Differential Revision: D14973754

fbshipit-source-id: a57c31190d7615ca5377308e0bfad521b645b2e4
2019-04-23 07:05:19 -07:00
Benny Wong
01e4d694b5 Refactor types and util functions
Summary: Separating out the types and utils for work I'm doing on https://github.com/facebook/flipper/pull/415 / D14973754. This will make the request to curl utility function much cleaner

Reviewed By: jknoxville

Differential Revision: D14976747

fbshipit-source-id: cc15c10103ea75945d0a2ebaaa6d32a376192961
2019-04-17 12:23:51 -07:00
Pascal Hartig
20bd937d43 Flipper Bump: v0.20.1-SNAPSHOT
Summary: Back to snapshots.

Reviewed By: danielbuechele

Differential Revision: D14951752

fbshipit-source-id: a0d0d12fc6f9eae3e7809d18df8ed1a85503f4e4
2019-04-17 10:37:33 -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
Pascal Hartig
6db83a7675 Use ToggleSwitches for binary options
Summary:
We've had a bunch of different options that were all binary
switches with very different ways of displaying them.

This consolidates them all to use ToggleSwitches. I think it
may still make sense to move them all to a sidebar as it's
the case for the Analytics plugin, but that's for another diff.

Reviewed By: danielbuechele

Differential Revision: D14933392

fbshipit-source-id: 7ef286b61142a564a7cde6de875266ac8641704b
2019-04-17 10:31:21 -07:00
Pascal Hartig
c244946be3 Catch malformed URI content
Summary:
As seen in https://our.intern.facebook.com/intern/bug/653953588368620/,
the network plugin can crash if content doesn't look like a URI.

Ideally, we'd be more granular in catching this, but for now skipping
that content seems better than crashing the entire plugin page.

Reviewed By: danielbuechele

Differential Revision: D14971610

fbshipit-source-id: 2708e5c0d4d1f584419d24c7dc38438009015565
2019-04-17 10:24:48 -07:00
Jiyue Wang
614f48dda3 Show server execution time in network plugin
Summary: the simpliest approach to render this metadata for debugging purpose

Reviewed By: bcuccioli

Differential Revision: D14974129

fbshipit-source-id: d816d1ef8dcd1bc333c4d0cdf70d6d9fb925bc03
2019-04-17 10:08:20 -07:00
John Knox
6f8d6ddd85 Sample app requires API 21+
Summary:
Currently running the sample app on a pre-21 device produces a runtime error. This is because it includes OkHttp which requires 21+.

So this change just stops the sample app from being installable on pre-21 devices.

```
FATAL EXCEPTION: main
Process: com.facebook.flipper.sample, PID: 19629
java.lang.ExceptionInInitializerError
	at okhttp3.OkHttpClient.newSslSocketFactory(OkHttpClient.java:263)
	at okhttp3.OkHttpClient.<init>(OkHttpClient.java:229)
	at okhttp3.OkHttpClient$Builder.build(OkHttpClient.java:1015)
	at com.facebook.flipper.sample.FlipperSampleApplication.onCreate(FlipperSampleApplication.java:54)
	at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1007)
	at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4344)
	at android.app.ActivityThread.access$1500(ActivityThread.java:135)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
	at android.os.Handler.dispatchMessage(Handler.java:102)
	at android.os.Looper.loop(Looper.java:136)
	at android.app.ActivityThread.main(ActivityThread.java:5017)
	at java.lang.reflect.Method.invokeNative(Native Method)
	at java.lang.reflect.Method.invoke(Method.java:515)
	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
	at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.IllegalStateException: Expected Android API level 21+ but was 19
	at okhttp3.internal.platform.AndroidPlatform.buildIfSupported(AndroidPlatform.java:238)
	at okhttp3.internal.platform.Platform.findPlatform(Platform.java:202)
	at okhttp3.internal.platform.Platform.<clinit>(Platform.java:79)
	... 16 more
```

Reviewed By: passy

Differential Revision: D14953859

fbshipit-source-id: 8289c19e837f1d3739e120dc5a0f53111b800ca0
2019-04-17 06:55:48 -07:00
Pascal Hartig
9389a8e919 Bump some more dependencies (#414)
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/414

Some more minor upgrades.

Reviewed By: jknoxville

Differential Revision: D14933687

fbshipit-source-id: 35bfcbb2ab3e552e430d8a2e3e30fb3568fab6c9
2019-04-15 09:57:59 -07:00
Pascal Hartig
59881f1888 Bump okhttp
Summary:
Requires some compile options as it uses newer Java features.
Post here: https://github.com/square/okhttp/issues/4597#issuecomment-461204144

Reviewed By: jknoxville

Differential Revision: D14933502

fbshipit-source-id: 265c43f2d9ae61fa9f6f42516fc6eb899af7f072
2019-04-15 06:55:21 -07:00
Pascal Hartig
3de3ef27d1 Bump versions plugin
Summary:
Updating some deps and starting with the thing
that helps identify outdated things.

Reviewed By: jknoxville

Differential Revision: D14933477

fbshipit-source-id: 3a0f84abf97f9327ecab72388e114a1fb533504b
2019-04-15 06:55:21 -07:00
Pritesh Nandgaonkar
5169d318de Fix the callstack sent from error reporting runnable
Summary:
The crash logged from `ErrorReporterRunnable` wasn't detailed. For example look at the following video.
Also for some reason the `FlipperConnection` interface doesn't have an argument for crash name. Thus I changed the js side of the plugin to accept `crash.name` to be undefined.

{F155526537}

Reviewed By: passy

Differential Revision: D14852561

fbshipit-source-id: 6daf9847535b4508fa312b4f940b014911aae2e5
2019-04-15 05:51:37 -07:00
Pascal Hartig
9e4a9607b5 Bump rsocket
Summary:
Before trying to debug the bugs we found, let's first
get it to the latest version.

Reviewed By: jknoxville

Differential Revision: D14913129

fbshipit-source-id: 255ecf02e495fccb21e413dff166aacfd80207e7
2019-04-14 10:40:54 -07:00
Pascal Hartig
b276088f5f Refactor debug logging
Summary:
I dislike the sprinkled eslint ignores. Let's put this
in one place and just depend on isProduction().

Reviewed By: jknoxville

Differential Revision: D14913057

fbshipit-source-id: 2f5a98b7dba1ac1829eaeab24290d2f66820edf9
2019-04-14 02:29:42 -07:00
John Knox
460260d620 Fix samsung "run-as" warning (#413)
Summary:
During client setup, if no device is found with a matching CSR, and any of those devices errored while trying to find that out, surface that error, instead of a generic 'No matching device found'.

This means that the warning about some unusable samsung devices now shows again, instead of a generic message.

Pull Request resolved: https://github.com/facebook/flipper/pull/413

Reviewed By: passy

Differential Revision: D14891185

Pulled By: jknoxville

fbshipit-source-id: 8f4cb4e8e04defb429a4ca915b0dab4725495c87
2019-04-11 05:29:52 -07:00
Zhang Qichuan
ffc6a5fe18 Fix issue 408 (#411)
Summary:
Fix https://github.com/facebook/flipper/issues/408
Pull Request resolved: https://github.com/facebook/flipper/pull/411

Reviewed By: danielbuechele

Differential Revision: D14802001

Pulled By: jknoxville

fbshipit-source-id: 5ce435c0c941a715f799c75a8e09dbf4983e9789
2019-04-11 04:38:52 -07:00
Pritesh Nandgaonkar
25f82986ea Avoid triggering notification in headless
Summary:
There was a bug where headless version used to crash when crash reporter plugin used to get messages. So the problem was that it tried to trigger the notification in headless version, which obviously won't work.

Solves this [bug](https://our.intern.facebook.com/intern/sandcastle/log/?instance_id=88210824&step_id=773963185&step_index=5&name=Get+headless+and+run+it)
Bug:

{F155634920}

Reviewed By: jknoxville, danielbuechele

Differential Revision: D14874122

fbshipit-source-id: 2614b16665a354be7a75844a372dbea7a59d7e55
2019-04-11 04:08:59 -07:00
Kevin Lin
7f20c34e34 Remove unneeded TODO
Summary: Remove unneeded TODO.

Reviewed By: priteshrnandgaonkar

Differential Revision: D14882889

fbshipit-source-id: cbcb26bb90a315b5c36f4573bfcb416b8a0b4c46
2019-04-11 03:50:49 -07:00
Daniel Büchele
1d3559c759 Remove beta bar from layout plugin
Summary: I though I already did this, when releasing it. Apparently not.

Reviewed By: jknoxville

Differential Revision: D14854810

fbshipit-source-id: 4da61866925e06a415bfaed0f48e5434e769ec39
2019-04-10 10:33:41 -07:00
Daniel Büchele
efd9b37428 fix tests, upgrade jest
Summary:
Adding a `moduleNameMapper` for jest tests, to map the module `flipper` to `src/index.js`. This fixes the electron tests.

While we're at it, upgrading jest and jest-runner/electron to the latest versions.

Reviewed By: jknoxville

Differential Revision: D14870486

fbshipit-source-id: c4c31066ed5ce8a6d5ed4e7e4f47d3c5d2370553
2019-04-10 10:33:41 -07:00
John Knox
a27cd84d45 Add top and bottom toolbars to native plugins
Summary: I'm adding these in the table plugin for now, since it's the only native plugin, but it probably makes sense to have this ability in all native plugins.

Reviewed By: passy

Differential Revision: D14833326

fbshipit-source-id: 906190745091e02daccb9f6e84b95e0e13f2d8bd
2019-04-10 06:17:52 -07:00
John Knox
c198612303 Add top and bottom toolbars to table plugin
Summary: Adds ability to add things above and below the table when using native plugins.

Reviewed By: passy

Differential Revision: D14850839

fbshipit-source-id: cc7fa6d8055900c29f5af6f3460bc280c0a4a675
2019-04-10 06:17:51 -07:00
Daniel Büchele
c4a8e73543 Don't throw if selectedPlugin doesn't exist
Summary:
When a plugin was selected the last time Flipper was running, but is not available anymore, Flipper was still trying to load the plugin and failed.

Now, if the selected plugin is not available, we just don't render anything.

Reviewed By: jknoxville

Differential Revision: D14854930

fbshipit-source-id: 9ddec47becce7bffcf93b3f4a092a8fcf2022f4f
2019-04-09 11:05:38 -07:00
John Knox
f21c9f1c61 Rename SidebarSection to UISection
Summary: These are full width blocks, and can be put anywhere, so calling them SidebarSections isn't very helpful.

Reviewed By: danielbuechele

Differential Revision: D14833465

fbshipit-source-id: 2433337f78b6bbcb951cd90b6925de1b9a304d42
2019-04-09 08:29:25 -07:00
John Knox
40b1c569ad Undo nativeplugin changes to createTablePlugin.js
Summary: Now that it has been inlined into TableNativePlugin, I'm reverting it back to it was before to keep it simple.

Reviewed By: passy

Differential Revision: D14800383

fbshipit-source-id: 81725134b6598c03e3ddfb1eb9269d463815dc82
2019-04-09 06:42:31 -07:00
John Knox
287cad2f4b Inline createTablePlugin for native plugins
Summary: Before expanding what a table plugin can do, I'm extracting the createTablePlugin functionality into the native plugin component, so it can evolve independently without lots of forks in the code.

Reviewed By: passy

Differential Revision: D14800313

fbshipit-source-id: dbb34fe974c507663151daeb6631d1911b46f6df
2019-04-09 06:42:30 -07:00
Pascal Hartig
ad48b0c9a1 Bump jest to 24.7.1
Reviewed By: danielbuechele

Differential Revision: D14802968

fbshipit-source-id: 6e1929df93d27688fd37e7fcaf6c1537d0f7c751
2019-04-09 06:38:07 -07:00
John Knox
fb772d3f81 Move TableMetadata serialization into its class
Summary: Where it should be.

Reviewed By: danielbuechele

Differential Revision: D14833499

fbshipit-source-id: 7af951a402756ddde6d9672ca733a2c910d4ddb4
2019-04-08 11:42:33 -07:00
John Knox
e306ecda19 Fix Test
Summary: GitHub test failing because of this: https://travis-ci.org/facebook/flipper/jobs/517181150

Reviewed By: passy

Differential Revision: D14827468

fbshipit-source-id: e1d85747b39bd9fd781e8e6e8cb1827adb786482
2019-04-08 07:47:30 -07:00
Daniel Büchele
6741c55b72 fix "cannnot convert object to primitve value"
Summary:
The `instanceof Object` check was throwing an "cannnot convert object to primitve value" error, for some reason that I didn't fully understand. Replacing this check with a `typeof` check. However, `null` also returns `object`, so we are explictly checking this as well.

This was the error that happened before, on every POST request:
https://pxl.cl/vc6K

Reviewed By: passy

Differential Revision: D14827145

fbshipit-source-id: 999480db9afb1e0cc0d1bef73fb0cb2223fa0bc4
2019-04-08 03:09:38 -07:00