Commit Graph

895 Commits

Author SHA1 Message Date
pavlospt
84a8b1acab Upgrade to Gradle 5.1.1 stable version (#357)
Summary:
_Per title_
Pull Request resolved: https://github.com/facebook/flipper/pull/357

Reviewed By: jknoxville

Differential Revision: D13761808

Pulled By: passy

fbshipit-source-id: 82e39f78e69966ae2d098629b9c4ed1090c43802
2019-01-23 04:12:11 -08:00
John Knox
eeb40b5944 Record success rate of screenshot capture
Summary: Android and iOS each have a separate metric

Reviewed By: passy

Differential Revision: D13763758

fbshipit-source-id: f679360ec0ee008b434bfe12107ac6548d882a1f
2019-01-22 10:51:22 -08:00
Pascal Hartig
18d9244b7e Bump Litho to 0.23.0
Summary: I made that release so it better be good.

Reviewed By: jknoxville

Differential Revision: D13761454

fbshipit-source-id: 28cc1e113e91c3cb96b493a67b21afa77ea61a27
2019-01-22 08:56:25 -08:00
Pascal Hartig
14e7e04b3b v0.14.2-SNAPSHOT
Summary: Re-enable snapshot releases.

Reviewed By: jknoxville

Differential Revision: D13760747

fbshipit-source-id: 6b8e92258710a33265b416cd17d32f7e2b8f2dd5
2019-01-22 07:33:35 -08:00
Pavlos-Petros Tournaris
682b9bda57 Typo in CircleCI/config.yml (#361)
Summary:
My bad, forgot the `steps` key.
Pull Request resolved: https://github.com/facebook/flipper/pull/361

Differential Revision: D13760713

Pulled By: passy

fbshipit-source-id: 7650644827dbd9919681cd16a72ccf0140f59446
2019-01-22 02:30:37 -08:00
pavlospt
51c496ddef Add accepted Android SDK license (#359)
Summary:
Android SDK license SHA has been updated as of January 16, 2019 so it needs to be re-accepted. This is only needed for CircleCI since in Travis setup `sdkmanager` is used in order to accept the Licenses.
Pull Request resolved: https://github.com/facebook/flipper/pull/359

Differential Revision: D13751841

Pulled By: passy

fbshipit-source-id: f3d84277f06bedf06b7a766429d9f7e3275bb516
2019-01-21 10:33:39 -08:00
Pascal Hartig
0daa5de428 Set parameters to non-null by default
Summary:
This helps Kotlin nullity inference and *should* already be enforced
by Infer/Eradicate. More details here: https://medium.com/square-corner-blog/non-null-is-the-default-58ffc0bb9111

Reviewed By: jknoxville

Differential Revision: D13732788

fbshipit-source-id: c0c60f0f8e9dc8bffe3780c7a1a700d682a6d2b8
2019-01-21 06:06:22 -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
Riyaz Mohammed Ibrahim
718403893e Typo in soloader version (#358)
Summary:
debugImplementation 'com.facebook.flipper:soloader:0.5.1'

to

debugImplementation 'com.facebook.soloader:soloader:0.5.1'
Pull Request resolved: https://github.com/facebook/flipper/pull/358

Differential Revision: D13750173

Pulled By: passy

fbshipit-source-id: 44961df191dfcda8f7e8fd6fbc1589378d772a57
2019-01-21 03:04:01 -08:00
Pascal Hartig
51ab27456a Add basic TitleBar test
Summary: Manually checked that the snapshot doesn't contain the auto updater.

Reviewed By: jknoxville

Differential Revision: D13715520

fbshipit-source-id: 720fed1e9952b788bce3311ecb508cfcfdc1758a
2019-01-18 08:57:18 -08:00
John Knox
dfe956ab39 Fix RecurringError::toString
Summary: RecurringError::toString wasn't including the message. Fixed.

Reviewed By: passy

Differential Revision: D13732258

fbshipit-source-id: 71f5edef19de4e59d1c6c5bd549822871e36ede4
2019-01-18 08:32:02 -08:00
Pascal Hartig
82f4d4ad95 Add --no-updater flag
Summary: Provide a `--no-updater` option that disables the in-app auto updater when passed.

Reviewed By: jknoxville

Differential Revision: D13713919

fbshipit-source-id: 49a647105fea1efa23f653e4a6ed452b3489879b
2019-01-18 08:01:05 -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
John Knox
944a197cf6 Add GKs to logs and error reports
Summary: To allow comparisons between metrics/errors in and out of GKs.

Reviewed By: passy

Differential Revision: D13714754

fbshipit-source-id: 311a1cd7bd5a7b2332e20a32d37d0fb323d00569
2019-01-17 11:22:01 -08:00
Pritesh Nandgaonkar
c02c9029b0 Update folly to v2019.01.14.00 (#355)
Summary:
The folly version which we were using to build open source was v2018.08.06.00, which is very outdated.

This PR updates the version of the folly to the latest one.
Pull Request resolved: https://github.com/facebook/flipper/pull/355

Reviewed By: passy

Differential Revision: D13710812

Pulled By: priteshrnandgaonkar

fbshipit-source-id: 62b205d10c18f4338ead69612b24805c697081fb
2019-01-17 08:58:19 -08:00
Pritesh Nandgaonkar
f47de92117 Build sample app through BUCK
Summary: This diff adds capabilty to build sample app through BUCK.

Reviewed By: passy

Differential Revision: D13697307

fbshipit-source-id: d7008bb4709b13384f65051631b365a0eceddfff
2019-01-17 07:27:33 -08:00
John Knox
21dfe41fb4 Add sessionId to error messages
Summary: Will allow us to look into bad sessions if necessary.

Reviewed By: passy

Differential Revision: D13695386

fbshipit-source-id: 2cfc8ec28ef4cb387ef7a5a58b02aa77a367ae81
2019-01-17 03:43:16 -08:00
Daniel Sainati
9b985b1338 remove deprecated utilities
Summary: Remove `$Subtype` and `$Supertype` utilities. Replacement was done on a best-effort basis. In many cases it sufficed to replace `$Supertype<T>` and `$Subtype<T>` with `T`, but when this was not possible `any | T` and `any & T` were used instead.

Reviewed By: jbrown215

Differential Revision: D13624765

fbshipit-source-id: 82ee9d43cfc318ed4bd2d84e0f4c5c1d8f488a9c
2019-01-15 13:58:53 -08:00
John Knox
a254cef98d Add metrics for server cert generation and server start
Summary: Will provide some visibility on error rates.

Reviewed By: passy

Differential Revision: D13671492

fbshipit-source-id: 60971a7e8163c58dd4d6540e57e05b38c852744e
2019-01-15 09:46:11 -08:00
John Knox
7120bf1201 Use global logger in InteractionTracker
Summary: This tracker isn't really used, but at least now it can benefit from having the sessionId.

Reviewed By: passy

Differential Revision: D13671367

fbshipit-source-id: 3a79e843e3fabab191d0d7471d56a81b1a91a1e9
2019-01-15 09:46:11 -08:00
John Knox
3bcb079f87 Define global logger instance to be used for all logging
Summary:
The advantage of this is that anyone can now log without needing to carry around a Logger object.
Primary reason is for making metrics less intrusive in the codebase.

Reviewed By: passy

Differential Revision: D13671368

fbshipit-source-id: 162ab1351a124683aef13983fc3bcec01385cd1a
2019-01-15 09:46:11 -08:00
Arne Stockmans
e71804fe9e Fix soloader gradle dependency (#354)
Summary:
The gradle dependency on soloader was using a wrong groupId (flipper instead of soloader)
Pull Request resolved: https://github.com/facebook/flipper/pull/354

Differential Revision: D13671271

Pulled By: passy

fbshipit-source-id: b03a77199bb14601fb6a3a1f21e8c404d0072104
2019-01-15 07:52:25 -08:00
Pascal Hartig
bdbd71b399 Fix bintray upload script (#353)
Summary:
I feel like I'm having a Groundhog Day moment. Haven't I fixed this
before?

Anyway, the release script fails (very verbosely) with an NPE
(https://circleci.com/gh/facebook/flipper/467?utm_campaign=workflow-failed&utm_medium=email&utm_source=notification)
when you run it on the root project. So we need to specify the
sub-projects we want to run it on.

groundhogday

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

Reviewed By: priteshrnandgaonkar

Differential Revision: D13652379

Pulled By: passy

fbshipit-source-id: dd9ff26444db7b30974a041870796b679e7fee0c
2019-01-15 07:19:33 -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
John Knox
f85dc14d07 Record success metric for adb client start
Summary: We've seen some flakiness here, so adding this to get better visibility on it.

Reviewed By: passy

Differential Revision: D13635051

fbshipit-source-id: 98d2dcc0bb11f3afb2f27942b9f4bf241808a4fc
2019-01-14 06:29:57 -08:00
John Knox
90de3c6868 Add recordSuccessMetric utility
Summary: Wraps a future and records the success rate. This will be stored along with the sessionId and the userId, so we can drill down and get the success rate at different levels.

Reviewed By: passy

Differential Revision: D13635049

fbshipit-source-id: 4e0e6bdc0f9b76b08cf37c5d9fe87909f7338534
2019-01-14 06:29:57 -08:00
John Knox
4a5dae8f4f Try out success rate metric on processing CSRs
Summary:
This is semi-explorative to see how far we can get with this approach, but I think it'l be useful. If it is, we can factor the code into a nicer utility, that perhaps wraps promises or even just has succeeded/failed methods.

Using 1 and 0 instead of true and false so we can do numerical aggregates on it, like average, which will give the success rate.

This will allow queries such as:
* What percentage of attempts fail? - Not very useful because they get retried if they fail.
* What percentage of sessions that attempt, encounter a failure? - More useful, but still not perfect because they could retry and succeed.
* What percentage of sessions attempt and don't ever succeed? - Better but still not perfect because one device might succeed and another fail, but this will be rare.

Reviewed By: passy

Differential Revision: D13625987

fbshipit-source-id: 2b9f45cc888247d068cc52281443e9ece7985da8
2019-01-11 03:57:47 -08:00
John Knox
005383f94b Add sessionId to redux store and Logger output
Summary:
I've left InteractionTracker without a store, so it doesn't know the sessionId. It really should have one, but that will have to be a different change.
We don't actually use the InteractionTracker at the moment so it's not a major deal for now.

The idea is to be able to get data like what percentage of sessions encounter an error, and how many errors sessions usually have etc.

Reviewed By: passy

Differential Revision: D13624031

fbshipit-source-id: 664e7ac5023166c2f72df3058c219901be7ff77a
2019-01-11 03:57:47 -08:00
Daniel Tse
0033de50ae Fixed typos in Flex* component documentation
Summary: Typos.

Reviewed By: danielbuechele

Differential Revision: D13625458

fbshipit-source-id: a2885fda1a27ab5c305445d54e1221cec215a16b
2019-01-11 02:58:16 -08:00
Pritesh Nandgaonkar
3b9253680f Refactor the type of os from String to an closest enum kind of thing
Summary: This diff updates the type of os in Store from string to a custom enum kind of type.

Reviewed By: passy

Differential Revision: D13622598

fbshipit-source-id: c57a1f2eedbe9e88d43c681c2fa6ca72b93e8808
2019-01-10 09:55:47 -08:00
Daniel Büchele
d868cd6405 PluginDebugger correct pluginPath
Summary:
The path where a plugin was loaded from was not displayed correctly before, but pointed to Flipper's cache directory.

Plugins that are bundled with Flippers application package are now marked as bundled. Dynamically loaded plugins show the path where they are loaded from.

Reviewed By: passy

Differential Revision: D13622148

fbshipit-source-id: 7951ecd37e45d2d4b3a55bd7dc126697367c7e69
2019-01-10 07:16:45 -08:00
Pritesh Nandgaonkar
972f8b91d6 Update logic to parse crash for android
Summary:
Updated the logic of parsing the crash log. Earlier the function written to parse crash log just expected the iOS crashes. Now it also gets android crash logs.

I have also written the tests for the same and updated the tests to accommodate for the API change

Reviewed By: passy

Differential Revision: D13612576

fbshipit-source-id: cf7e9d2bca4a425ad7338fc5ec15e29cf88e2e77
2019-01-10 06:36:39 -08:00
Daniel Büchele
cc0615c7d9 Sort plugins by name
Summary: Sort plugins in sidebar by name (or ID as fallback).

Reviewed By: passy

Differential Revision: D13621422

fbshipit-source-id: dd264bde64409a2cd81caa0b41af81bf614f9e62
2019-01-10 03:50:51 -08:00
Daniel Büchele
384529e97f Sheet component for plugins
Summary:
Exposing a `<Sheet>` component to plugins. This allows plugins to create sheets, by returning something like this from their render function:

```js
return <div>
  contents of my plugin
  <Sheet>{() => <div>content of my sheet</div>}
</div>
```

Reviewed By: passy

Differential Revision: D13597251

fbshipit-source-id: 9da6ba6d2036243ddd2d05b73d392bf24be8d375
2019-01-09 10:48:18 -08:00
Pritesh Nandgaonkar
0048fc6e4a Crash reporter plugin
Summary: This diff adds a static function `onRegisterDevice` which is being called whenever an  device gets registered. This callback is used to add loglisterner for android. I even moved the logic of iOS from `onRegisterPlugin` to this callback. The reason for not adding android log listener in `onRegisterPlugin` was that there were cases when baseDevice was not yet registered before calling `onRegisterPlugin`. For android, I want the instance of `BaseDevice` so that I can add logListener on it.

Reviewed By: danielbuechele

Differential Revision: D13563282

fbshipit-source-id: b5be40f3dbc808bdaeabae28423c563cf2345a22
2019-01-09 10:42:55 -08:00
Pritesh Nandgaonkar
c6efea991d Remove CrashReporter handlers
Summary: This diff removes the custom global exception handler which was being used to send crash notifications. Removing it in the favour of next diff, where we detect crash by looking at Logcat

Reviewed By: passy

Differential Revision: D13590049

fbshipit-source-id: 2914d51b2c5f33c1cade4926dbbf72c041047c71
2019-01-09 10:42:55 -08:00
Daniel Büchele
422ab99d29 no client/device
Summary:
Plugin debugger is now supporting 3 different scenarios:
- no devices connected
- device connected, but no app for the selected device is connected
- apps are connected

Added button to the sidebar to open plugin debugger.

Reviewed By: passy

Differential Revision: D13608749

fbshipit-source-id: d5ba04882590dace78e4ef0b17799d5a394dc3c4
2019-01-09 10:05:26 -08:00
Pascal Hartig
36b109ecc6 v0.14.1-SNAPSHOT
Summary: Bump to reenable snapshots for Android.

Reviewed By: danielbuechele

Differential Revision: D13607376

fbshipit-source-id: a368f82c8514f06cb61fe6b6decafcbf6e4d0ec7
2019-01-09 06:19:30 -08:00
Paulo Pinheiro
a033f583d1 Enable override of context menu on ManagedTable. (#352)
Summary:
This patch add a new prop on ManageTabled called buildContextMenuItems. It allows
to override the current context menu when right click on the ManagedTable rows.
Pull Request resolved: https://github.com/facebook/flipper/pull/352

Reviewed By: danielbuechele

Differential Revision: D13590258

Pulled By: passy

fbshipit-source-id: a90887a97136818611102a2628361c84988efeac
2019-01-09 03:52:56 -08:00
Scott Wolchok
6d4728c41f Rename FB_LINK_REQUIRE to FB_LINK_REQUIRE_CATEGORY
Reviewed By: adamjernst

Differential Revision: D13577664

fbshipit-source-id: 6a81e097840ccc66f55641990ad63729345b49e2
2019-01-08 16:53:06 -08:00
Scott Wolchok
6cfdf1a8a9 Delete second argument to FB_LINK_REQUIRE_
Summary: It is now always NAME.

Reviewed By: adamjernst

Differential Revision: D13577665

fbshipit-source-id: 9d9330fd17b7e214ef807760d0314c34bd06ebd5
2019-01-08 16:53:05 -08:00
Scott Wolchok
864327c9e5 Delete FB_LINK_REQUIRE_EXT
Summary: It is unused per ibgs

Reviewed By: adamjernst

Differential Revision: D13577666

fbshipit-source-id: e8ba16bf8aacfee178d2fdaea367903107cd3b62
2019-01-08 16:53:05 -08:00
Michael Lee
97752a7b42 Fix missing header include
Summary: This test uses `folly::SingletonVault` implicitly included. Make it explicit

Differential Revision: D13597582

fbshipit-source-id: 511c2cdb097f80bb32d6738fd7f6f14fa55b6801
2019-01-08 12:24:54 -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
Justin Tuchek
2c6d126f05 Update sonar references in sandbox plugin docs (#349)
Summary:
Was experimenting with Flipper for the first time - while copying snippets over realized the classes don't exist anymore. Just wanted to contribute.

Update class names and import paths for sandbox plugin snippet.
Pull Request resolved: https://github.com/facebook/flipper/pull/349

Differential Revision: D13590256

Pulled By: passy

fbshipit-source-id: f6802276d40d7a76e15b5aad7bb86cda34c85e12
2019-01-07 08:52:12 -08:00
Pascal Hartig
7471dc6481 Fix emulator launching on Linux
Summary:
The Android SDK installation on Linux is really dumb. The emulator binary
is dynamically linked and ships with some `.so`s that need to be either in `LD_LIBRARY_PATH` or `$CWD`.
For some reason, there's no script, so you have to manually `cd` into the directory in order to
run it. ¯\_(ツ)_/¯

Reviewed By: jknoxville

Differential Revision: D13589660

fbshipit-source-id: e3bdd7468108f1fb1e52f23ae45e21cacc5480f9
2019-01-07 07:47:17 -08:00
Pascal Hartig
5173b22760 Mention explicit dependency on soloader (#351)
Summary:
Fixes #350
Pull Request resolved: https://github.com/facebook/flipper/pull/351

Reviewed By: danielbuechele

Differential Revision: D13572357

Pulled By: passy

fbshipit-source-id: 52630614d5e1c62b3c2263cc52bedaa4b55a3f41
2019-01-07 03:33:26 -08:00
Pritesh Nandgaonkar
da37ab78bd Docs with an updated install instruction (#343)
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
2018-12-21 07:40:57 -08:00
Pritesh Nandgaonkar
470c770e97 Back out "[flipper] Explicitly start adb server"
Summary:
Original commit changeset: b1eae542aaa6

 This D13487864 has broken `adb start-server` command for the production builds, thus this diff backs out the changes done by that diff.

Reviewed By: danielbuechele

Differential Revision: D13532003

fbshipit-source-id: 1d169dcdab11a52f075187803219915f444952d6
2018-12-21 07:24:27 -08:00
Pritesh Nandgaonkar
9d4bb45dbc Refactor CrashReporter plugin
Summary: This diff refactors CrashReporter Plugin. The business logic of crash reporter plugin was placed in the `iOSDevice.js` as it gets the hook to the initialisation of iOSDevice. This diff moves the business logic to the Crash Reporter plugin files under the plugins folder. To get the hook, so that we can add our watcher, I have added a static function over `FlipperBasePlugin`, which if exists, will be called once `REGISTER_PLUGIN` event is dispatched

Reviewed By: danielbuechele

Differential Revision: D13529035

fbshipit-source-id: 28216b273b4032727859107d8a6751c6465af9ac
2018-12-21 07:03:21 -08:00