Summary:
This is a tool (right now more a script, really) for splitting a Flipper distribution into smaller chunks that can be individually cached, hashed and downloaded. It's incomplete but can already bundle up Mac apps into smaller chunks that can be merged back again into one app.
It takes a config file that specifies how to slice the inputs up and comes with a default copy bundled in. That's in line with the general "design" where it tries to make the right assumptions, for instance defaulting to the normal dist output directory.
Reviewed By: jknoxville
Differential Revision: D21302551
fbshipit-source-id: b22670ff4825ce526dd0f20320f87080c058cd93
Summary:
Add support for io_uring based async read/recvmsg
(Note: this ignores all push blocking failures!)
Reviewed By: kevin-vigor
Differential Revision: D21208891
fbshipit-source-id: 21b3b5e0f201e982ecb50a284d03ab53413ec3e3
Summary: Changes the link color to something that isn't very similar to the rest of the text.
Reviewed By: nikoant
Differential Revision: D21328856
fbshipit-source-id: 9467e368411caeb58e00642b48ef4413d285850e
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
Summary:
This page is auto generated, so the default link gives a 404.
Pointing it to the script instead.
Reviewed By: passy
Differential Revision: D21325554
fbshipit-source-id: 5ede07daa6335ad0199a11c5483e328c3ca2c5e3
Summary:
It's currently a lower-case "index" which looks a bit off. :)
{F235813923}
Reviewed By: mweststrate
Differential Revision: D21324972
fbshipit-source-id: 6b75b23aa0122e2db08f7532205b6e07758155fc
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
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
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
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
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
Summary:
Somehow I missed these two the last time.
These are the final broken links reported by https://www.brokenlinkcheck.com/broken-links.php#status except for the "edit this page" link on the autogenerated ui-components page.
Reviewed By: mweststrate
Differential Revision: D21325511
fbshipit-source-id: dbc61bbed1366a007ed2cdde3a72f8ea974d871f
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
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
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
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
Summary: 512 is a pretty small blob length. Increasing it to 5120 and changing it to attempt to stringify UTF-8 if not ascii.
Reviewed By: jknoxville
Differential Revision: D21253132
fbshipit-source-id: 1cc9226b86a9b9ddfd73e29c8b0c04ac54b5b4b2
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
Summary:
Previously, requests were passed to process first in an interceptor, and it is responsibility of an interceptor to process requests for responses. In FlipperOkhttpInterceptor, we did read data from request body before processing it. This caused a bug when the network process itself wants to also read that data, but the stream has been closed because the interceptor has just read. The fix is to report request body after we have triggered network call so that we can just drop request body if we cannot read.
This diff tries to bring back the same functionality while not cause the bug to occur by cloning the content to be read by Flipper and using the same one for the request.
Reviewed By: jknoxville
Differential Revision: D21279679
fbshipit-source-id: 47f8b29a1896705d8d2d601661cd485db572d251
Summary: Added in D14209157, but the JavaScript no longer ever calls this method.
Reviewed By: jknoxville
Differential Revision: D21290792
fbshipit-source-id: df1969d83f0dc096a24977c15c27100d2f2bdfc0
Summary: There's no existing API on the Flipper objects to get an arbitrary Java object, which we need in an inspector plugin we're building (`getDynamic` requires you to know what you want in the end).
Reviewed By: jknoxville
Differential Revision: D21223329
fbshipit-source-id: 29e9f8788be404cec44c6ddeb6b56b939b97b766
Summary:
Used https://www.brokenlinkcheck.com/broken-links.php#status for now to find broken links and fixed them all.
Would be better to use some automated tool to check this at diff time, but that's not setup yet.
Reviewed By: passy
Differential Revision: D21301702
fbshipit-source-id: f13c8769b15d9f99563fc65dc0544320d07a2bfb
Summary: Update pre-compiled binaries in the repo by running `stack build` on Linux and MacOS.
Reviewed By: nikoant
Differential Revision: D21301515
fbshipit-source-id: f3b648c03a4ec7c680c88574caa3f4abbe5e0fe0
Summary: This was broke the script from running.
Reviewed By: nikoant
Differential Revision: D21301581
fbshipit-source-id: 146c4bacb638171d8efe9ba1d25d75cac0b19a06
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
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
Summary:
KESHAmambo pointed out some internal links are broken on the website: https://twitter.com/KESHAmambo/status/1255443093542895619
The way relative links are processed in docusaurus v1 and v2 has changed. This fixes them up.
Reviewed By: mweststrate
Differential Revision: D21301293
fbshipit-source-id: 7610e38a55bc066625373cf2eee9a3efb63aec08
Summary:
After moving to docusaurus v2, our h3 tags are bigger than the h2 tags.
Removing our custom css fixes this, so doing that to get closer to the default theme.
Reviewed By: mweststrate
Differential Revision: D21283840
fbshipit-source-id: ceaf7488b90bbb90a463037d9e1dfcca1d694366
Summary:
Numbered list syntax changed during the docusaurus migration from v1 to v2.
It looks wrong at https://fbflipper.com/docs/extending/js-setup/
This fixes it.
I searched for "1)" and replaced all numbered lists it found.
Reviewed By: mweststrate
Differential Revision: D21283693
fbshipit-source-id: adeb6e04693f50e0a0cfe4b2de5f4663075c34ce
Summary: This adds simple syntax highlighting for state value in the table.
Differential Revision: D21223208
fbshipit-source-id: 82b474cf19e3e13f5ebe5c474dc0f7d41cf4a56a
Summary: Fix release version bumping in docs after switching from ".md" to ".mdx".
Reviewed By: mweststrate
Differential Revision: D21282492
fbshipit-source-id: 60ecfd9a058b71d1895945c9c3d05b9df8f6493c
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
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
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
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
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
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
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
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
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
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
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
Summary:
There's `TODO` in the description for `react-native-flipper` so this should be updated
## Changelog
Internal change.
Pull Request resolved: https://github.com/facebook/flipper/pull/1055
Test Plan: No test plan required.
Reviewed By: mweststrate
Differential Revision: D21256140
Pulled By: passy
fbshipit-source-id: 6b07e38b80ac395481270b05fca6823ec6559da5