Commit Graph

2768 Commits

Author SHA1 Message Date
Anton Nikolaev
5d17eede85 Workaround for Anrdoid SDK detection not working with Java 9+ installed
Summary: Workaround for Anrdoid SDK detection not working with Java 9+ installed

Reviewed By: mweststrate

Differential Revision: D19094906

fbshipit-source-id: a7c8c9c8403d25ecc9b2d95113718ddf1821a349
2019-12-16 16:40:09 -08:00
Anton Nikolaev
d32774f439 Skip Android health-checks when the "Android Developer" option is disabled in Flipper settings
Summary:
Skip Android health-checks when the "Android Developer" option is disabled in Flipper settings.

Also made some refactoring to use immer for healthcheck reducer.

Reviewed By: mweststrate

Differential Revision: D19088322

fbshipit-source-id: 801d874b6e7e5af80802b4bf4313d98f1cee13f6
2019-12-16 16:40:08 -08:00
Denis Nedelyaev
be53990613 Add setting for skipping fbsource version check
Summary: Added a setting "Match local fbsource chekout", which inverserly corresponds to the `ignore_local_pin` setting in `flipper-launcher.toml`.

Reviewed By: passy

Differential Revision: D19030456

fbshipit-source-id: deaaf4e873a00bbc4e8bd3034353cf580df95a36
2019-12-16 07:01:01 -08:00
greenkeeper[bot]
4db9388984 Greenkeeper/promisify child process 3.1.3 (#697)
Summary:
Fixes the breakage that came with 3.1.2. Closes https://github.com/facebook/flipper/issues/694.
Pull Request resolved: https://github.com/facebook/flipper/pull/697

Reviewed By: mweststrate

Differential Revision: D19019119

Pulled By: passy

fbshipit-source-id: 59619ca5efb0c256a1e56349d5c7fa57dcc06e38
2019-12-16 04:53:09 -08:00
Pascal Hartig
5a3f107a50 Remove child-process-es6-promise
Summary: Replacing this with promisify-child-process, which is better.

Reviewed By: mweststrate

Differential Revision: D18954702

fbshipit-source-id: 2dad756a2cd4dd21b2efc8b1780d589607d6ff05
2019-12-16 03:57:29 -08:00
Pascal Hartig
0d7fd11048 Flipper Bump: v0.30.2-SNAPSHOT
Summary: Back to snapshots

Reviewed By: priteshrnandgaonkar

Differential Revision: D19030536

fbshipit-source-id: 25ee980b467b30cfb8e6d9d8c940fd43b65fe6ae
2019-12-16 03:17:16 -08:00
Pascal Hartig
21be861894 Flipper Release: v0.30.1
Summary: New release built against Litho 0.33.

Reviewed By: priteshrnandgaonkar

Differential Revision: D19030537

fbshipit-source-id: a14b04decf3023e9ee78ef2a894061d8b04d232e
2019-12-13 11:33:36 -08:00
Michel Weststrate
edd894258c Favorite plugins are now stored per app rather than globally
Summary:
This diff is a refinement of D18780965, which fixed plugin preferences to be stored per device. Instead of storing plugin preferences globally, we now store them per app, so that every app can have their own favorites, which are shared regardless the device

Note that the current favorite selection will be lost.

Reviewed By: nikoant

Differential Revision: D19018169

fbshipit-source-id: acfa05ece8516840bb91aee4059886365b346582
2019-12-13 10:07:13 -08:00
Michel Weststrate
02ad5c64aa Fix last startup warnings
Summary: There were a few warnings printed when starting Flipper. This fixes the last of them!

Reviewed By: nikoant

Differential Revision: D19011385

fbshipit-source-id: 15bc46c4a67e8c8fd3c8b5d96dc67e61911a7e53
2019-12-13 07:11:43 -08:00
Michel Weststrate
cf9f4e0c5b Document how to test JavaScript plugins
Summary: It's not much, but at least more than nothing :)

Reviewed By: nikoant

Differential Revision: D18930725

fbshipit-source-id: b1e5fa203b0020de7b5f16d040808cbb247b8dd4
2019-12-13 07:11:43 -08:00
Michel Weststrate
8da2c8868b Expose Immer's produce from Flipper
Summary: Diff preparing for optimizing GraphQL (and other) plugins, and simplifying writing reducers by others

Reviewed By: nikoant

Differential Revision: D18930858

fbshipit-source-id: 91d176d77543978d65ea50635d4ed380690b1fa2
2019-12-13 07:11:43 -08:00
Michel Weststrate
334e0dd2d9 Generated unit test to verify regression and performance
Summary:
This is a preparation diff to address performance issues in the GraphQL plugin, by making sure we can detect functional regressions and measure performance changes.

For reference, current performance impact: `Reducer took 6338ms. to process 42 events` on my machine with this data snapshot (~10sec of recorinding graphQL events on FB4a)

See D18907455 for some background.

Reviewed By: passy

Differential Revision: D18930652

fbshipit-source-id: 58c832f21ae60954bbd7a60c088479aef29ab874
2019-12-13 07:11:42 -08:00
Anton Nikolaev
1ddf73caf3 Github build is broken because of Doctor module resolution issue
Summary: Fixed doctor module resolution on github by adding doctor src folder into the metro bundler blacklist

Reviewed By: cekkaewnumchai, mweststrate

Differential Revision: D19020038

fbshipit-source-id: a6ab95383b5016fd5e2180d72883a42c63745ec9
2019-12-13 07:08:28 -08:00
Anton Nikolaev
3fefd9de15 Fix module resolution for flipper-doctor and return it to sonar directory and effectively to GitHub
Summary: Fix module resolution for flipper-doctor and return it to sonar directory and effectively to GitHub

Reviewed By: mweststrate

Differential Revision: D18963720

fbshipit-source-id: 61ea78ecbb154de79c7a2d348f347c64325e794c
2019-12-13 04:06:02 -08:00
Alexander Putilin
c7af0b53e6 KaiOS device plugin for recording memory allocations
Summary:
This adds basic plugin for recording memory allocations.
{F224005997}

Reviewed By: passy

Differential Revision: D18837209

fbshipit-source-id: aa29680b3a44c51135b760fe4ee76edc6d0ec109
2019-12-12 08:12:52 -08:00
greenkeeper[bot]
cf512e5b83 Greenkeeper/pkg 4.4.1 (#691)
Summary:
Fix https://github.com/facebook/flipper/issues/681
Pull Request resolved: https://github.com/facebook/flipper/pull/691

Reviewed By: mweststrate

Differential Revision: D18929820

Pulled By: passy

fbshipit-source-id: 9e8b187ca257ab79326618029d5c0d3eba686a64
2019-12-12 08:05:01 -08:00
greenkeeper[bot]
7815618d84 chore(package): update websocket to version 1.0.31 (#693)
Summary:
Fix https://github.com/facebook/flipper/issues/677
Pull Request resolved: https://github.com/facebook/flipper/pull/693

Reviewed By: mweststrate

Differential Revision: D18929823

Pulled By: passy

fbshipit-source-id: 41c459eca8a732eb60f2e637687c4f8d69ec009c
2019-12-12 07:57:16 -08:00
Pascal Hartig
e3235f8085 Bump Litho version
Summary: colriot put out a new release last night.

Reviewed By: cekkaewnumchai

Differential Revision: D18953863

fbshipit-source-id: 32c4fe6a4aa66bb98606a78927e46b55e2196e33
2019-12-12 07:13:47 -08:00
Anton Nikolaev
c030cbe204 No Icons on Windows with locale other than en-US
Reviewed By: mweststrate

Differential Revision: D18953063

fbshipit-source-id: d21116b11189851dff271fcfa7334a51b13c693f
2019-12-12 04:01:26 -08:00
Uma Sankar
559285f5f9 Producing new state when any change to preferences happen to address #470 (#623)
Summary:
Fixed issue https://github.com/facebook/flipper/issues/470

## Changelog

Producing new state when preferences gets updated in SharedPreferences plugin
Pull Request resolved: https://github.com/facebook/flipper/pull/623

Reviewed By: mweststrate

Differential Revision: D18929828

Pulled By: passy

fbshipit-source-id: 8e9e61f90838fd3676aa52c4c6117b3f452aa7c0
2019-12-11 10:18:41 -08:00
greenkeeper[bot]
838fb7b274 Greenkeeper/eslint plugin import 2.19.0 (#689)
Summary:
https://github.com/facebook/flipper/issues/683
Pull Request resolved: https://github.com/facebook/flipper/pull/689

Reviewed By: mweststrate

Differential Revision: D18929813

Pulled By: passy

fbshipit-source-id: 2afd26bc820c9703e92f615e5620884aaaf2266b
2019-12-11 10:08:47 -08:00
greenkeeper[bot]
021301e5aa Greenkeeper/website/monorepo.babel7 20191208003358 (#692)
Summary:
Fix https://github.com/facebook/flipper/issues/680
Pull Request resolved: https://github.com/facebook/flipper/pull/692

Reviewed By: mweststrate

Differential Revision: D18929821

Pulled By: passy

fbshipit-source-id: 6de0f6c505eb998de25035686e7a52ed8fdb4d06
2019-12-11 09:45:48 -08:00
Anton Nikolaev
c0f902f81a Upgrade to emotion v10
Summary: React 16 is not compatible with react-emotion 9 (it prints warnings, see also https://github.com/emotion-js/emotion/issues/644). So we should upgrade to 10.

Reviewed By: mweststrate

Differential Revision: D18905889

fbshipit-source-id: c00d2dbbadb1c08544632cb9bfcd63f2b1818a25
2019-12-11 09:43:24 -08:00
Pritesh Nandgaonkar
c3dfcbe601 Show the plugins from the redux store only belonging to the selected app
Summary: It fixes the bug, where currently we show all active persistent plugins for the export functionality irrespective of the fact that the plugin is active for the selected client. With this diff we will only show active persistent plugins for the selected client.

Reviewed By: mweststrate

Differential Revision: D18890247

fbshipit-source-id: e567da0ccf04e051ca0eabb497a6bd72cc8a0d76
2019-12-11 06:27:22 -08:00
Michel Weststrate
5429d1f235 Make it possible to generate regression tests for Flipper plugins
Summary:
This Pull request makes it possible to automatically generate regression tests for plugins. The idea here is to record all incoming states for a specific plugin, the start state of the plugin, and the enstate of the plugin.

By replaying the same events in a test, the same plugin should result in the same end state. This will make it easy to test regressions and refactorings on real life scenarios. Execution time is recorded as well.

The API's are exposed as

- `flipperStartPluginRecording()`
- `flipperStopPluginRecording()`

This process generates both a data snapshot and unit test.

Reviewed By: passy

Differential Revision: D18907455

fbshipit-source-id: 923f814f534ccfa6aa2ff2bfa2f80bee41a1c182
2019-12-11 05:53:22 -08:00
greenkeeper[bot]
99547168fc Update live-plugin-manager to the latest version � (#679)
Summary:
## The dependency [live-plugin-manager](https://github.com/davideicardi/live-plugin-manager) was updated from `0.13.2` to `0.14.0`.
This version is **not covered** by your **current version range**.

If you don’t accept this pull request, your project will work just like it did before. However, you might be missing out on a bunch of new features, fixes and/or performance improvements from the dependency update.

 ---

**Publisher:** [davideicardi](https://www.npmjs.com/~davideicardi)
**License:** ISC

<details>
<summary>Release Notes for v0.14.0</summary>

<ul>
<li>compatibility with recent node versions</li>
</ul>
</details>

<details>
<summary>Commits</summary>
<p>The new version differs by 3 commits.</p>
<ul>
<li><a href="5fb7e8a1ed"><code>5fb7e8a</code></a> <code>0.14.0</code></li>
<li><a href="d141cbfd4d"><code>d141cbf</code></a> <code>fix: node v12 support+update dependencies</code></li>
<li><a href="62ff0ef291"><code>62ff0ef</code></a> <code>Enable esModuleInterop (https://github.com/facebook/flipper/issues/16)</code></li>
</ul>
<p>See the <a href="bda77f970a...5fb7e8a1ed">full diff</a></p>
</details>

 ---

<details>
  <summary>FAQ and help</summary>

  There is a collection of [frequently asked questions](https://greenkeeper.io/faq.html). If those don’t help, you can always [ask the humans behind Greenkeeper](https://github.com/greenkeeperio/greenkeeper/issues/new).
</details>

 ---

Your [Greenkeeper](https://greenkeeper.io) bot 🌴
Pull Request resolved: https://github.com/facebook/flipper/pull/679

Reviewed By: mweststrate

Differential Revision: D18910892

Pulled By: passy

fbshipit-source-id: a7b7e3b1fed0c2ab3bc6dd6ba3b6b14c5cddd51c
2019-12-11 05:50:42 -08:00
greenkeeper[bot]
0febcd44ac chore(package): update uglify-js to version 3.7.2 (#690)
Summary:
Fix https://github.com/facebook/flipper/issues/682
Pull Request resolved: https://github.com/facebook/flipper/pull/690

Reviewed By: mweststrate

Differential Revision: D18929815

Pulled By: passy

fbshipit-source-id: 3e792b14e956702cd36d169dea0fc5048ed90322
2019-12-11 05:27:59 -08:00
Michel Weststrate
16b2addbc2 Enable null coalescing operator
Summary: Enable using the `??` operator in plugin code

Reviewed By: passy

Differential Revision: D18906291

fbshipit-source-id: b0a9b29ebb2896ede10540ba2e4cfd937fb99c7d
2019-12-11 03:46:48 -08:00
Michel Weststrate
382330bfaf Convert to TypeScript
Summary: Before looking into performance bottlenecks, I thought it wise to upgrade to TypeScript as that is where all plugins are heading

Reviewed By: jknoxville

Differential Revision: D18829689

fbshipit-source-id: 4c515f240d742f77e89f3cbdff500c69afb3ac06
2019-12-11 03:46:48 -08:00
Pritesh Nandgaonkar
938f9542ee Fix the issue where perf events were not getting logged
Summary: I noticed a bug where the export data perf events were not logged. The issue was that, it used the `Logger.getTrackTimeSince` method which used the `performance` from `perf-hooks` and not an ordinary performance object available in the global scope. So just importing performance from perf-hooks solved the issue.

Reviewed By: mweststrate

Differential Revision: D18887666

fbshipit-source-id: 66c24f47b95b25d2f3703c16c70cbe8b35fe0ec3
2019-12-10 08:21:28 -08:00
Pritesh Nandgaonkar
41a5fa2ba0 Use cached artefacts for iOS travis tests (#685)
Summary:
Updates travis iOS tests to use already built artefacts by not clean building it.
## Changelog
Pull Request resolved: https://github.com/facebook/flipper/pull/685

Test Plan: Travis Tests

Reviewed By: passy, mweststrate

Differential Revision: D18890270

Pulled By: priteshrnandgaonkar

fbshipit-source-id: 0b686b82e8418d1135667321d8e4580e4e3fc4fc
2019-12-10 07:45:42 -08:00
Nicolas Charpentier
201203ab84 Refresh Getting Started with the latest React Native integration (#676)
Summary:
Sync the Getting Started section about React Native integration with the latest changes in https://github.com/facebook/react-native/pull/27426.

## Changelog

Refresh Getting Started with the latest React Native integration
Pull Request resolved: https://github.com/facebook/flipper/pull/676

Test Plan: Tested in RN's template.

Reviewed By: mweststrate

Differential Revision: D18853584

Pulled By: passy

fbshipit-source-id: d001046106743b68d2f08b084c7618d8f768dea1
2019-12-10 06:07:03 -08:00
Mateo Silguero
c4730c3e49 Parse all values on json fields (#678)
Summary:
I want to get a better visualisation of the databases values from a device, like the localStorage from ReactNative.

## Changelog

Iterate on the object value to parse all values from a json
Pull Request resolved: https://github.com/facebook/flipper/pull/678

Test Plan:
before:
<img width="1185" alt="Captura de Pantalla 2019-12-06 a la(s) 19 57 13" src="https://user-images.githubusercontent.com/25598400/70362212-e4a37280-1862-11ea-8b8b-a96edfece5c9.png">

after:
<img width="1185" alt="Captura de Pantalla 2019-12-06 a la(s) 19 55 52" src="https://user-images.githubusercontent.com/25598400/70362211-e4a37280-1862-11ea-8d16-00691c0f21c4.png">

Reviewed By: nikoant

Differential Revision: D18874887

Pulled By: passy

fbshipit-source-id: 679519fe2746a698e41ba015fd811a342c96c4fd
2019-12-10 06:04:19 -08:00
Anton Nikolaev
f9c89c09ae Null ref exception during build on Windows VM
Summary: https://pxl.cl/STmd

Reviewed By: passy

Differential Revision: D18883703

fbshipit-source-id: ff4ee954ee253d46683f162f26c0de734c6acbb3
2019-12-09 10:01:32 -08:00
Pritesh Nandgaonkar
0c13943139 Allow user to copy the row attributes in the layour inspector
Summary: Allows user to copy the row attributes.

Reviewed By: passy

Differential Revision: D18811929

fbshipit-source-id: 62335a7c0b5f1557704c0d8d9ea258b4c7cbfdcf
2019-12-09 05:10:06 -08:00
Pascal Hartig
3696697c6b Increase xcodebuild timeout (#684)
Summary:
Until we have a better solution
Pull Request resolved: https://github.com/facebook/flipper/pull/684

Reviewed By: nikoant

Differential Revision: D18881940

Pulled By: passy

fbshipit-source-id: 44960f6602da8e50c5c9cb4fc35e5009fb21e9d5
2019-12-09 05:01:17 -08:00
Pascal Hartig
b4b70ef02b Fix yarn reset
Summary:
Reordering the commands to work now that we have `rifraf` as part of the
execution.

Reviewed By: cekkaewnumchai

Differential Revision: D18882603

fbshipit-source-id: 099c5801a0d4e165b69e42785df2667946fe0620
2019-12-09 04:59:33 -08:00
Pascal Hartig
008a003a4d Add tests for healthchecks reducer
Summary:
Quite a bit of complex slicing going on there, so I think
this is quite useful to guard against future breakages.

Reviewed By: jknoxville

Differential Revision: D18853033

fbshipit-source-id: 36b17b8ce208cb320a193bceed86c89e010107e4
2019-12-06 08:00:53 -08:00
greenkeeper[bot]
83c3cf3688 Greenkeeper/@types/react 16.9.14
Summary: Pull Request resolved: https://github.com/facebook/flipper/pull/672

Reviewed By: jknoxville

Differential Revision: D18834245

Pulled By: passy

fbshipit-source-id: 352561d95c9489df6b675910a4c64548d93b4f30
2019-12-06 07:47:26 -08:00
John Knox
8e0a4a5e42 Fix clicking on native notification
Reviewed By: passy

Differential Revision: D18831700

fbshipit-source-id: 4cdaed3893fc6162a16ac2c1a8a9ee2ef1a0805c
2019-12-06 07:27:35 -08:00
Pascal Hartig
0c7b03cad3 Add tests for settings reducer
Summary: yiss_tests

Reviewed By: jknoxville

Differential Revision: D18851134

fbshipit-source-id: 53ffb9b516773df19c258e7d819962e3cd523751
2019-12-06 06:32:20 -08:00
Pascal Hartig
425d4b9024 Greenkeeper/eslint plugin relay 1.4.1 (#674)
Summary:
Fix https://github.com/facebook/flipper/issues/654
Pull Request resolved: https://github.com/facebook/flipper/pull/674

Reviewed By: jknoxville

Differential Revision: D18851150

Pulled By: passy

fbshipit-source-id: 6a9125c6dad047af9a0605167ecfe83d978a2a48
2019-12-06 06:29:42 -08:00
John Knox
c2370f7faf Speed up re-connect after re-opening app
Summary:
The problem is that whenever an app is shutdown, and then reopened, the flipper dir gets reset when getting the CSR for connecting to flipper.
This causes the first connection attempt to fail always, and it goes through the whole cert exchange, taking longer than necessary.

Fixes it by loading the csr from disk if it's not loaded yet, without blowing away the whole certs state.

A side effect of this would be that as long as some file exists where the csr lives, flipper state would never get reset, so it wouldn't be able to fix itself automatically anymore. To keep that working, I've made `resetFlipperDir()` public and am calling it explicitly when starting certificate exchange. This should ensure that we still reset when we need to, but not unnecessarily.

The reason it went wrong is that getCSR used to be called only at cert exchange, when resetting and generating a new one was always desirable. However, when we shipped the fix for changeable android serials, it started to be used as a normal getter.

Reviewed By: timur-valiev

Differential Revision: D18834806

fbshipit-source-id: 56ca7e03e1aa9011f836bc9c021cf3048f7dc1e4
2019-12-06 05:29:22 -08:00
Pascal Hartig
cde949e3a1 Fix double-parsing of process config
Summary: This had been there for way too long.

Reviewed By: mweststrate

Differential Revision: D18834089

fbshipit-source-id: 563aa04876910a7544a7f62865b146b933dbf570
2019-12-06 03:50:32 -08:00
John Knox
1a389202ca Change client to not produce plugin keys manually
Summary: I **think** this is the last part of the codebase doing manipulation of strings to produce plugin keys etc.

Reviewed By: passy

Differential Revision: D18831990

fbshipit-source-id: db449d78230adbca66e78f041381a34d9b249a45
2019-12-05 11:45:37 -08:00
Michel Weststrate
7f916f8a7b Gather plugin stats to improve performance
Summary: This diff makes it possible to gather stats of plugin usage, and print them from the console by issuing `window.flipperPrintPluginBackgroundStats()`.

Reviewed By: jknoxville

Differential Revision: D18811590

fbshipit-source-id: 4219923f7fd90187c7ec50a9aa68d7b817e3db8f
2019-12-05 09:30:33 -08:00
John Knox
0bf905e02f Replace all manual pluginKey parsing with a utility
Summary:
Ok this diff got a bit bigger than expected, but I think it makes it easier to understand what "plugin keys" are, and makes them less prone to error.

Previously pluginKeys were composed of: clientId#pluginName, where clientId was itself: app#os#device#device_id

But also, there were some plugin keys where the clientId was a device_id.

Now you deconstruct a plugin key, and will get a tagged object with type: 'device' or 'client', and the properties that they each have.

There is now no custom parsing of these afaik, let's keep it that way.

Since it took me a while to figure out what all these IDs are, I've documented it a bit in clientUtils.

Reviewed By: passy

Differential Revision: D18811848

fbshipit-source-id: eed2e2b5eedafb9e27900dbcf79a389fcaffae95
2019-12-05 07:37:57 -08:00
Pascal Hartig
2a1e939a0b Greenkeeper/eslint 6.7.0 (#671)
Summary:
Checking if this still causes problems.
Pull Request resolved: https://github.com/facebook/flipper/pull/671

Reviewed By: mweststrate

Differential Revision: D18829501

Pulled By: passy

fbshipit-source-id: 3805533ac637e34818a59ce182c694468c5a9d10
2019-12-05 07:17:33 -08:00
John Knox
d73551a440 Add artificial crash button to sample app
Summary: Lets you test the crash reporter more easily

Reviewed By: passy

Differential Revision: D18830402

fbshipit-source-id: fca57a05f121ca4219aaaf4e2b8bfeca9b46a4a9
2019-12-05 06:45:33 -08:00
Anton Nikolaev
006003ae6b Add tests for client-id / app name parsing
Summary: Add tests for client-id / app name parsing. We've had a lot of bugs here in the past. Get some good test coverage so we have some assurance the shared utils for it won't be broken.

Reviewed By: jknoxville

Differential Revision: D18830269

fbshipit-source-id: 07c9755bbeae28c48580f44453d4010d6d3830b0
2019-12-05 06:30:04 -08:00