Commit Graph

3751 Commits

Author SHA1 Message Date
Pascal Hartig
770c8b4d00 Remove greenkeeper (#1138)
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/1138

Goodnight, sweet prince.

Reviewed By: nikoant

Differential Revision: D21426321

fbshipit-source-id: 8d0ffb479ee806e792e2c1351fec6b14690812bc
2020-05-06 10:58:28 -07:00
greenkeeper[bot]
ca3be97393 Update uuid in group static to the latest version � (#1079)
Summary:
***
� **Important announcement:** Greenkeeper will be saying goodbye � and passing the torch to Snyk on June 3rd, 2020! [Find out how to migrate to Snyk and more at greenkeeper.io](https://greenkeeper.io)
***
## The dependency [uuid](https://github.com/uuidjs/uuid) was updated from `7.0.3` to `8.0.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:** [ctavan](https://www.npmjs.com/~ctavan)
**License:** MIT

[Find out more about this release](https://github.com/uuidjs/uuid).

 ---

<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/1079

Reviewed By: passy

Differential Revision: D21324797

Pulled By: nikoant

fbshipit-source-id: aa1883120472229827021cbbd121a9a40a30002d
2020-05-06 08:23:51 -07:00
Chaiwat Ekkaewnumchai
7d2101c68f Convert Database Plugin to TypeScript
Summary:
Mainly convert `js` to `tsx`
Additional change:
- Try not to directly change object value in reduce function
- Add emotion styled when there is error using style prop directly

Reviewed By: nikoant

Differential Revision: D21406943

fbshipit-source-id: 30312fa0b0d2d70fa52c5ff9db747e1a83beb270
2020-05-06 07:35:02 -07:00
John Knox
171b049a81 Fix Panel overflow
Summary: Panels need to let their content overflow, for example the color picker.

Reviewed By: priteshrnandgaonkar

Differential Revision: D21404621

fbshipit-source-id: 70498e335c9fcb3767aaef2bbd2ce22324adc8e5
2020-05-05 09:29:22 -07:00
generatedunixname89002005306973
96d5949c19 Flipper Release: v0.41.0
Summary: Releasing version 0.41.0

Reviewed By: jknoxville

Differential Revision: D21402376

fbshipit-source-id: c2b5194afbb8f086097eb1c6fb337b950b4dffe7
2020-05-05 08:31:29 -07:00
Michel Weststrate
acc0e7c2e0 Preserve manual selection after filtering
Summary:
Before this diff filtering and manual expanding / collapsing could not be combined, this diff fixes that
{F236120000}

Reviewed By: jonathoma

Differential Revision: D21381515

fbshipit-source-id: b0662fcbad3b0dfcb0bfe846e3c05a3a78294dde
2020-05-05 07:58:27 -07:00
greenkeeper[bot]
fb54fb768a Update jest2 in group main to the latest version � (#1115)
Summary:
***
☝️ **Important announcement:** Greenkeeper will be saying goodbye 👋 and passing the torch to Snyk on June 3rd, 2020! [Find out how to migrate to Snyk and more at greenkeeper.io](https://greenkeeper.io)
***
## There have been updates to the *jest2* monorepo:

- The `devDependency` [pretty-format](https://github.com/facebook/jest) was updated from `25.5.0` to `26.0.0`.

These versions are **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.

This monorepo update includes releases of one or more dependencies which all belong to the [jest2 group definition](https://github.com/greenkeeperio/monorepo-definitions).

 ---

**Publisher:** [simenb](https://www.npmjs.com/~simenb)
**License:** MIT

[Find out more about this release](https://github.com/facebook/jest).

 ---

<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/1115

Reviewed By: mweststrate

Differential Revision: D21399338

Pulled By: passy

fbshipit-source-id: 659471aebc316056c5cc7bdeae91b18f1c6c5ba3
2020-05-05 07:21:58 -07:00
Pascal Hartig
13a8c4c7e6 Clean up datainspector test (#1101)
Summary:
Remove some unnecessary `await`s. Requires https://github.com/facebook/flipper/issues/1100.
Pull Request resolved: https://github.com/facebook/flipper/pull/1101

Test Plan: yarn test

Reviewed By: mweststrate

Differential Revision: D21401237

Pulled By: passy

fbshipit-source-id: 09d68964e8519612d643b83ea61d1cd231b7d169
2020-05-05 06:58:40 -07:00
Chaiwat Ekkaewnumchai
475a425a20 Change ElementID to Element for Sidebar Extension
Summary: Element also contains `id`, which is equivalent to ElementID used in the existing extension. This change will help the implementation of layout intern search easier.

Reviewed By: mweststrate

Differential Revision: D21385001

fbshipit-source-id: b8c6e6f052af8cfa54bf3a132571e40567cdee4b
2020-05-05 06:48:00 -07:00
Michel Weststrate
655d856d1c Fixed broken timeline layout
Summary: Changelog: Fixed broken layout of timeline in QPL plugin

Reviewed By: passy

Differential Revision: D21383013

fbshipit-source-id: 95fbe2681ff27dff827c742f11192c1d07ad021c
2020-05-05 04:06:25 -07:00
Anton Nikolaev
877e0816b8 Include templates into flipper-pkg npm package
Summary: "flipper-pkg init" command was broken: https://github.com/facebook/flipper/issues/1112

Reviewed By: passy

Differential Revision: D21385652

fbshipit-source-id: e852a3872130077b83523d4dc67963a4b23a7ad7
2020-05-05 03:49:40 -07:00
greenkeeper[bot]
d360c95a6d Update line-replace in group main to the latest version � (#1074)
Summary:
***
☝️ **Important announcement:** Greenkeeper will be saying goodbye 👋 and passing the torch to Snyk on June 3rd, 2020! [Find out how to migrate to Snyk and more at greenkeeper.io](https://greenkeeper.io)
***
## The devDependency [line-replace](https://github.com/codealchemist/line-replace) was updated from `1.0.3` to `2.0.1`.
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:** [codealchemist](https://www.npmjs.com/~codealchemist)
**License:** MIT

[Find out more about this release](https://github.com/codealchemist/line-replace).

 ---

<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/1074

Reviewed By: nikoant

Differential Revision: D21380118

Pulled By: passy

fbshipit-source-id: 3ca567a50b95e4b90a13d651d8db330eada009f5
2020-05-04 08:18:01 -07:00
Joao Alves
5c60b2b94a Reenable windows test for DataInspector (#1102)
Summary:
Requires https://github.com/facebook/flipper/issues/1101.
Pull Request resolved: https://github.com/facebook/flipper/pull/1102

Test Plan: CI

Reviewed By: nikoant

Differential Revision: D21379837

Pulled By: passy

fbshipit-source-id: 64afbf20eb246487fbccac2f0108996507a353ed
2020-05-04 08:07:44 -07:00
greenkeeper[bot]
9658d1468d Update @types/tmp in group main to the latest version � (#1085)
Summary:
***
☝️ **Important announcement:** Greenkeeper will be saying goodbye 👋 and passing the torch to Snyk on June 3rd, 2020! [Find out how to migrate to Snyk and more at greenkeeper.io](https://greenkeeper.io)
***
## The devDependency [types/tmp](https://github.com/DefinitelyTyped/DefinitelyTyped) was updated from `0.1.0` to `0.2.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:** [types](https://www.npmjs.com/~types)
**License:** MIT

[Find out more about this release](https://github.com/DefinitelyTyped/DefinitelyTyped).

 ---

<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/1085

Reviewed By: mweststrate

Differential Revision: D21378815

Pulled By: passy

fbshipit-source-id: 05c6dda22ae522f137bf944b287295fb42843a08
2020-05-04 07:04:01 -07:00
Joao Alves
d7bfa993a5 Add deb target to linux build (#1093)
Summary:
I'm adding the `.deb` option to linux build, it makes easier to install.
```bash
cd desktop
yarn build --linux --linux-deb
```

## Changelog

- Add deb target to linux build
Pull Request resolved: https://github.com/facebook/flipper/pull/1093

Reviewed By: mweststrate

Differential Revision: D21378807

Pulled By: passy

fbshipit-source-id: a72a85705d3c464cddd80091d38c92012bdbee2c
2020-05-04 06:15:47 -07:00
Pascal Hartig
c1b360cb0f Fix broken DataInspector test (#1100)
Summary:
Looks like we don't have a lint for `jest.mock` imports.
Pull Request resolved: https://github.com/facebook/flipper/pull/1100

Test Plan: yarn test

Reviewed By: jknoxville

Differential Revision: D21378747

Pulled By: passy

fbshipit-source-id: 118372596d6247282b1ddad1f22ed3916d303bb1
2020-05-04 05:34:47 -07:00
Chaiwat Ekkaewnumchai
fbc5d922b5 Fix ESLint Warning
Summary: Mainly, remove unused declaration

Reviewed By: mweststrate

Differential Revision: D21360395

fbshipit-source-id: 20cafefe3a650ab686534998a084301320333088
2020-05-04 05:27:33 -07:00
Anton Nikolaev
018c1f828c Fix jest auto-mocks hoisting on Windows
Summary: ts-jest transformation was not applied on Windows because of wrong pattern in jest.config. Because of this jest.mock calls was not hoisted to the top and were applied after imports.

Reviewed By: mweststrate

Differential Revision: D21379004

fbshipit-source-id: ec52f98228c5d9e58c0832f2ad201a36d6c8534e
2020-05-04 04:49:21 -07:00
Michel Weststrate
fdff6aeae0 Introduce highlight manager, add scroll on highlight
Summary:
Introduced a highlight manager, which prevents drilling the highlight through the entire component tree and causing too many re-renders.

Also smartly optimizes that non-matched highlighted text doesn't render unnecessarily, and debounces the updates.

Finally, automatically scroll to the first highlight.

Reviewed By: jknoxville

Differential Revision: D21348575

fbshipit-source-id: 71f7ba2e981ad3fc1ea7f5e7043645e6b6811fb7
2020-05-04 04:16:27 -07:00
Michel Weststrate
fd84820ee5 Add filter and highlight to JSON
Summary:
Large GraphQL responses feel pretty unwieldy, added a search option.

Added filter functionality to ManagedDataInspector, and use it in GraphQL

changelog: It is now possible to search inside GraphQL responses

making it slightly more efficient, and scrolling to the matches will be done in a next diff

Reviewed By: jknoxville

Differential Revision: D21347880

fbshipit-source-id: 85c95be0964515e737de2ab41bbdd8cc6a87544e
2020-05-04 04:16:27 -07:00
Anton Nikolaev
a47cd12c84 Fixed publishing of "flipper-pkg"
Summary: There was an error on "lint" command, because json schemas was not published as a part of npm package

Reviewed By: jknoxville

Differential Revision: D21328254

fbshipit-source-id: 531d5892ccfea0c68a6369d44af43c840c3fe4ca
2020-04-30 10:21:44 -07:00
Michel Weststrate
5db7820820 Add support for Jest runner
Summary:
This diff adds compatibility with https://marketplace.visualstudio.com/items?itemName=Orta.vscode-jest and makes sure the `yarn jest` command works without further arguments by defaulting to the unit test setup.

This makes tests runnable from VSCode, highlights which tests passed, and show errors inline (and coverage as well if desired), and will report failing tests in the problems panel.

{F235815220}

The debugger can be started right from the code pane as well by clicking the tiny 'debug'

{F235815208}

Currently set up the defaults to not start tests after startup, as it can be CPU hogging, so simply run the command CMD+SHIFT+P 'start jest runner' instead.

Reviewed By: passy

Differential Revision: D21325241

fbshipit-source-id: 7b87297a710a18bbac394110dc2006218ccc7d86
2020-04-30 06:32:34 -07:00
Michel Weststrate
b474ef24e0 expand components slowly
Summary:
This diff introduces the concept of `shouldExpand` in DataInspector. Rather than expanding components right away, we only expand if the CPU is idly, this makes sure our app remains interactive, rather than stalling for 15 seconds as shown in the example query.

In the future we could solve the blocking by using react suspense as well, but this solution has the nice benefit that it allows inspecting and interacting with the data right away.

Changelog: The JSON inspector in plugins like GraphQL no longer freezes Flipper temporarily when expanding large data sets and will remain interactive during

Reviewed By: jknoxville

Differential Revision: D21302821

fbshipit-source-id: 6a53858f9062175596dc695c4af172d60422abe7
2020-04-30 06:32:34 -07:00
Michel Weststrate
3726bddefc Refactor some render computations to local state
Summary: The goal of this stack is to gradually expand large data trees, rather than all at once. To enable that, we need to be able to distinguish 'expandability' vs. 'being expanded'. By moving computations from render to the component hooks and store the results locally, we get a step closer to that.

Reviewed By: jknoxville

Differential Revision: D21301927

fbshipit-source-id: cfb617214d4b2005796b33b41c1abe0032e41847
2020-04-30 06:32:34 -07:00
Michel Weststrate
8f22cf9e81 Add unit tests
Summary:
Added unit tests to DataInspector prevent regressions in upcoming refactor

Found a bug where changes in `collapsed` aren't propagated. Fixed as well.

Reviewed By: jknoxville

Differential Revision: D21301858

fbshipit-source-id: 764bddeff30f9d4dbfc85d990635f67c20cfacb1
2020-04-30 06:32:33 -07:00
Pascal Hartig
5c05e4e85b Point "Report Problems" to Workplace internally
Summary: OSS continues to be GitHub issues.

Reviewed By: mweststrate

Differential Revision: D21324887

fbshipit-source-id: c024337d7f8e976d9f755de928a0af29d76d4321
2020-04-30 06:05:46 -07:00
Pascal Hartig
1011042bdb Remove bugnub
Summary:
Good bye, sweet prince.
We've decided to remove the internal bugnub as its usage is quite low
and the experience is subpar. In the future, we'd rather reuse the
support form v2 and integrate it with our group.

Reviewed By: mweststrate

Differential Revision: D21300627

fbshipit-source-id: d3c7271efcee4ad22ec76394870902f2712e392d
2020-04-30 06:05:46 -07:00
Anton Nikolaev
fc18bafb71 Fix workspace version bumping script to also bump peerDependencies
Summary: Fixed bumping of local peer dependencies and manually bumped the version which was not bumped automatically during the latest release.

Reviewed By: passy

Differential Revision: D21308701

fbshipit-source-id: 936a04b432ad3c9313644c1bf96966c52e022d7e
2020-04-30 04:32:36 -07:00
Anton Nikolaev
b0a0b0f355 Babel transformations refactoring
Summary: Just a small refactoring to only create array with plugins once. This should make transformations a bit faster as all these methods are called many times for each file in the project.

Reviewed By: passy

Differential Revision: D21308498

fbshipit-source-id: 0ed47f13cebfebd2992817caa207dc55f1dbeb0a
2020-04-30 04:29:41 -07:00
Anton Nikolaev
c21ccedf14 Dev mode: fixed loading plugins located outside of the Flipper source root folder
Summary: Dev mode: fixed loading of plugins located outside of the Flipper source root folder, e.g. in ~/flipper-plugins as suggested in tutorial docs.

Reviewed By: passy

Differential Revision: D21306639

fbshipit-source-id: bb9044b25324065f0c12169b95fbe663da8d4305
2020-04-30 04:29:41 -07:00
John Knox
b27f8ee236 Fix broken links inside app
Summary:
Searched for broken link patterns inside the app itself. I think I found them all but it's not certain.

Patterns searched for and replaced:
```
.html
getting-started/)
getting-started)
getting-started"
```

and also searched the repo for regex `\]\(.*)` and checked them by eye.

Reviewed By: passy

Differential Revision: D21306944

fbshipit-source-id: a2e09b0fd8677f5f26e5cc4a06805b474247f7e6
2020-04-30 03:19:22 -07:00
Dan Yang
3e0f07ac97 Database plugin - Render blob cells
Summary: As titled. The android plugin was already sending the data in blob cells as `{ type: 'blob' value: string }` (see com/facebook/flipper/plugins/databases/ObjectMapper.java?lines=213-216).

Reviewed By: jknoxville

Differential Revision: D21253129

fbshipit-source-id: 15a44c72f4030887a50faece780c89aa65f6a45b
2020-04-29 16:11:21 -07:00
generatedunixname89002005306973
bd320b94e1 Flipper Release: v0.40.0
Summary: Releasing version 0.40.0

Reviewed By: nikoant

Differential Revision: D21302037

fbshipit-source-id: 2f2aeaf0aaf7a0d2fb65b21b6243c9ecd2684cdc
2020-04-29 08:33:04 -07:00
Pritesh Nandgaonkar
513414de04 Make integration of new groups simpler
Summary: This diff simplifies the way new groups can be added into the Support form. Users will have to just make an entry in constants folder, thats it. It will automatically be added into the support form.

Reviewed By: jknoxville

Differential Revision: D21257033

fbshipit-source-id: 8823855c7a7732862a964fc17fa7311512b861db
2020-04-29 05:41:46 -07:00
Pritesh Nandgaonkar
38186c8995 Add dropdown for selecting groups
Summary: This diff refactors the group selection to the dropdown. As with the growing list of grps, dropdown will be easy to search and scale

Reviewed By: mweststrate

Differential Revision: D21175998

fbshipit-source-id: 90f1a81dfc6c2232cd2dcf767ed01205fc63e1fd
2020-04-29 05:41:45 -07:00
Scott Kyle
39a384e33d Syntax highlight state values
Summary: This adds simple syntax highlighting for state value in the table.

Differential Revision: D21223208

fbshipit-source-id: 82b474cf19e3e13f5ebe5c474dc0f7d41cf4a56a
2020-04-28 15:54:22 -07:00
Anton Nikolaev
cdc851f281 Fix release version bumping in docs
Summary: Fix release version bumping in docs after switching from ".md" to ".mdx".

Reviewed By: mweststrate

Differential Revision: D21282492

fbshipit-source-id: 60ecfd9a058b71d1895945c9c3d05b9df8f6493c
2020-04-28 11:43:58 -07:00
greenkeeper[bot]
dade1dadf7 Update @oclif/plugin-help in group pkg to the latest version � (#1069)
Summary:
***
☝️ **Important announcement:** Greenkeeper will be saying goodbye 👋 and passing the torch to Snyk on June 3rd, 2020! [Find out how to migrate to Snyk and more at greenkeeper.io](https://greenkeeper.io)
***
## The dependency [oclif/plugin-help](https://github.com/oclif/plugin-help) was updated from `2.2.3` to `3.0.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:** [chadian](https://www.npmjs.com/~chadian)
**License:** MIT

[Find out more about this release](https://github.com/oclif/plugin-help).

 ---

<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/1069

Reviewed By: nikoant

Differential Revision: D21278324

Pulled By: passy

fbshipit-source-id: 6217e4d078341d15795b454b47b3ce482a0bfeeb
2020-04-28 07:13:49 -07:00
Pascal Hartig
b24b6110fa Set up E2E workspace
Summary:
To be very clear, this is not the final layout of this in any way
but it already automates at least testing that the app starts
up and the changelog shows.

This sets up the annoyingly verbose setup for this. One
of the downsides of workspaces is that we need to be able
to install all dependencies at once, including the chrome-webdriver
which means we need to install the full electron cache now for linting, too.

Reviewed By: nikoant

Differential Revision: D21204578

fbshipit-source-id: b3403ab62b799228976a651620ea360e0bb1cf99
2020-04-28 07:04:11 -07:00
Radek Czemerys
884d64df71 Add missing TS type in UserAccount (#1063)
Summary:
Adds missing TS for Store type in `react-redux` `connect`, same as in other components.
Forgot to add in https://github.com/facebook/flipper/issues/1062

## Changelog

Internal change: Typescript typings improved.
Pull Request resolved: https://github.com/facebook/flipper/pull/1063

Test Plan: Try to compile/do a type check.

Reviewed By: nikoant

Differential Revision: D21278326

Pulled By: passy

fbshipit-source-id: c8e8e18c3c6d5f8904e97228540d4d7c4274124f
2020-04-28 06:55:57 -07:00
Timur Valiev
931bf1f14f export ElementsInspectorProps; optional id of linked Elements
Summary: a bit of refactoring since we are going to use elements inspector a lot in NT related plugins

Reviewed By: jknoxville

Differential Revision: D21155830

fbshipit-source-id: 0ff6acf97658bccbbed86388257bbad207fd65b4
2020-04-28 06:06:09 -07:00
Timur Valiev
79937f198d graph api calls to sandbox
Summary: We are working on integrating new NT debug api and debug metadata is stored in sandbox

Reviewed By: jknoxville

Differential Revision: D21155832

fbshipit-source-id: 2a7c8303e62793092f9e5b27f61d9db38eab14c5
2020-04-28 06:06:08 -07:00
Anton Nikolaev
1cf3c30b7c "migrate" command for flipper-pkg tool
Summary: "migrate" command for easy migration of existing Flipper plugins to the specification version 2.

Reviewed By: passy

Differential Revision: D21253913

fbshipit-source-id: 9edb170fbaa10e9c3f670d5d68e69f4f6106c151
2020-04-28 05:01:06 -07:00
Anton Nikolaev
deb0daa7f3 Fix tests on Windows (#1072)
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/1072

Once again fixed GH windows jobs which are currently failing

Reviewed By: mweststrate

Differential Revision: D21277273

fbshipit-source-id: 0df6ee7eb00b8f72bd6952747fa0e25e787ca335
2020-04-28 04:58:04 -07:00
Anton Nikolaev
c1b97e5d1f Fix loading plugins in dev mode
Summary: Fixed loading plugins in dev mode

Reviewed By: timur-valiev

Differential Revision: D21262894

fbshipit-source-id: c4ab6902d3153c3580c71f27df91290122627fae
2020-04-27 18:15:42 -07:00
Anton Nikolaev
d08dfee018 "init" command for flipper-pkg tool
Summary: Added command "init" to "flipper-pkg" which helps to quickly initialise Flipper desktop plugin.

Reviewed By: passy

Differential Revision: D21253819

fbshipit-source-id: 85a2fbde07ecb63737d180d2a7e5cc2846b4f533
2020-04-27 17:34:12 -07:00
Anton Nikolaev
21c574ac80 "lint" command for flipper-pkg tool
Summary:
Implemented json schema for flipper plugin package.json and used it for validation in "flipper-pkg lint" command.

Nice thing about json schema is that it not only allows to validate json, but also can be referenced using "$schema" property in json so IDEs like VSCode can find it and use for code completion, validation and to show properties documentation. I'm going to deploy the schema as a part of documentation website so it can be referenced as https://fbflipper.com/schemas/plugin-package/v2.json.

Also the "$schema" field can be used instead of "specVersion" to determine the specification according to which the plugin is defined. E.g., if specification version 3 would be created, it will be described in schema https://fbflipper.com/schemas/plugin-package/v3.json, etc.

Reviewed By: passy

Differential Revision: D21228294

fbshipit-source-id: f21351e584ef936a7d6b314436448489691f83a6
2020-04-27 17:34:11 -07:00
Michel Weststrate
dba480ce74 Preserve Navigation plugin as background plugin eevn when disabled
Summary:
This diff fixes an issue where we don't want to have the Navigation plugin be disabled as background plugins like all other plugins, so that the breadcrumb navigation keeps working.

Yet another hack concerning the super useful Navigation plugin. On a positive note, since connection management for background is not entirely managed by the Desktop and not the native said, these kind of exceptions are fairly easy to make :)

Reviewed By: passy

Differential Revision: D21089537

fbshipit-source-id: 209954ff35c95e066fe688a60ad46ccfc3835c44
2020-04-27 09:46:14 -07:00
Michel Weststrate
b9c3d99f44 Stop connecting disabled background plugins
Summary:
Background for this diff: https://fb.quip.com/KqEfAlKYlgme

Some plugins don't respect that stuff (livefeed and graphql), but for others it seems to work fine.

This is just a PoC, there are some present bugs concerning the combination of selecting and bg plugins

Questions to investigate:

- [x] make sure that LiveFeed and GraphQL disconnect properly. There might be more plugins that need that
- [x] verifiy that we don't loose one of the original goals of background plugins, e.g. QPL collecting and sending data from device start. Does this still work as intended after this change?
- [x] how can we observe / measure improvements? Are dev builds more responsive after this? Is the layout inspector smoother for example because no QPL plugins are interweaved?
- [x] how is forward and backward compatibility?
   - If Flipper is updated, but device not: No change I think, as getBackgroundPlugins() will return an empty set, and background plugins are initiated as usual, so old behavior
  - If device is updated, but Flipper not, background plugins won't be started until they are selected. This is a degradation, but hopefully explainable.
- [x] Verify QPL buffer is not unbounded
- [x] Share architecutre changes with team

For Graphql updates: D20943455

Added runtime stats to monitor network traffic (sadly had to redo that since scuba couldn't handle the data format used at first, so probably will hold of landing this diff a week to make sure we can see some effects)

Follow up work:

[x] wait until we released the stat tracking before we release this, to be able to measure the effect?
[x] make sure graphql fix lands
[ ] use side effects abstraction
[ ] fix other background plugins (android only) or fix it in a generic way:

{F234394286}

Changelog: Background plugins will no longer receive a Flipper connection if they are disabled. This should significantly reduce the overall load of Flipper both on the device and desktop when unused plugins are disabled used, which could otherwise generate 10MB/s of network traffic certain scenarios. All plugins *should* be able to handle to this gracefully, but since this is quite a fundamental change, reach out to the Flipper team when in doubt!

Reviewed By: jknoxville

Differential Revision: D20942453

fbshipit-source-id: b699199cb95c1b3e4c36e026b6dfaee7d1652e1f
2020-04-27 09:46:13 -07:00
greenkeeper[bot]
115013c1bb Update tmp in group main to the latest version � (#1053)
Summary:
***
☝️ **Important announcement:** Greenkeeper will be saying goodbye 👋 and passing the torch to Snyk on June 3rd, 2020! [Find out how to migrate to Snyk and more at greenkeeper.io](https://greenkeeper.io)
***
## The devDependency [tmp](https://github.com/raszi/node-tmp) was updated from `0.0.33` to `0.2.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:** [raszi](https://www.npmjs.com/~raszi)
**License:** MIT

[Find out more about this release](https://github.com/raszi/node-tmp).

 ---

<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/1053

Reviewed By: mweststrate

Differential Revision: D21256161

Pulled By: passy

fbshipit-source-id: 5dd695646eb7c562884bdac7884c96cd063a7470
2020-04-27 08:42:44 -07:00