Summary:
Currently most components are shown anonymously in the component tree, because using `styled` creates unnamed components, shown as the HTML elements they result in.
This has two downsides:
1. React errors / warnings are really vague and it is hard to locate where they are coming from
2. The React Devtools don't show which components are rendering.
3. The effect of the latter it is hard to copy-from-example when developing plugins. This leads to a lot of inconsitency and duplication in the layouts of components
Reviewed By: jknoxville
Differential Revision: D18503675
fbshipit-source-id: 5a9ea1765346fb4c6a49e37ffa4d0b4bbcd86587
Summary: Initial setup for a support detail form. Will only show up if meta data is present in the flipper file, so use the attached one to see it.
Reviewed By: jknoxville
Differential Revision: D18479193
fbshipit-source-id: 61da089f1e883fea20b2422a6bea99b2f8a4434b
Summary: The Flipper codebase was recently converted to TypeScript. Plugins should be converted as well to maintain type safety.
Reviewed By: passy
Differential Revision: D18347730
fbshipit-source-id: be63e8bac677c13fa5c0fa4f964dda8e7ba6251d
Summary:
When the CPU or kaois plugins are started, they show a buffer deprecated warning, caused by the fact that they ship their own adbkit version, which is unpatched.
This diff makes sure that the adbkit as shipped with Flipper is used instead.
Reviewed By: jknoxville
Differential Revision: D18327441
fbshipit-source-id: 9cab23b9701adc070210cc4133fc8760031bd1d7
Summary: Simple implementation of searching through request/response body on "network" tab
Reviewed By: passy
Differential Revision: D18268026
fbshipit-source-id: 39386d2d6ec50b47c3ca3dec976821282b51636f
Summary:
Uses a slightly modified version of the deep expansion. In testing, there were a few issues due to the function in Inspector::onElementExpanded is essentially a toggle. I added an optional parameter to override this toggle behavior for child elements, and also flipped the order of root and child actions during collapsing, as the child state otherwise didn't persist properly (due to the component being unmounted, would be my guess?) This change should be non-breaking to other uses of the method that don't use the `deep: true` parameter
close https://github.com/facebook/flipper/issues/223
Reviewed By: passy
Differential Revision: D18225057
fbshipit-source-id: 53e840f07bf648249b5a4b36d115918dba215ff8
Summary: If the `crash.reason` assumes the default value of "Cannot figure out the cause", we don't show a notification in the hub. The crash is still visible in the Crash plugin, but the superfluous Reason row is hidden there, as we can't say anything useful there anyways
Reviewed By: passy
Differential Revision: D18223910
fbshipit-source-id: c033085badbf633b58f95c495c6d3a22bc7fb163
Summary:
Moves the Fresco plugin to TypeScript, including fixing any typing/nullable warnings following this.
Note that parameters of event handlers previously using the SyntheticInputEvent flow type now accept a parameter of type `any`. This is done since the InputEvent api is not covered by ts bindings, as the interface is deemed experimental and not fully covered by browsers (see https://fettblog.eu/typescript-react/events/#wheres-inputevent for more info)
Reviewed By: passy
Differential Revision: D18201893
fbshipit-source-id: 41d1e5fc1ceaa8f8453c0f5929e754b7c32c0eb8
Summary: Minimal change to be able to filter crashes in the notifications tab, to filter out recurring/irrelevant crashes such as the one in https://github.com/facebook/flipper/issues/609
Reviewed By: passy
Differential Revision: D18223356
fbshipit-source-id: 8cf2187d53c9fec98c9a35edefb0da5783fe7c8e
Summary:
This PR introduces the possibility to group plugins in categories.
The category can be determined by setting the `category` field in `package.json`.
Categories are sorted alphabetically.
Categories are shown below all uncategorized items.
Within categories, items are sorted as before: by last recently usage.
Design wise, the category name might now look more prominent than the app name, this is to be addressed in a follow up PR.
Reviewed By: jknoxville
Differential Revision: D18169459
fbshipit-source-id: 77deb0f27a0462a0d449944ddc262396160687a2
Summary:
This diff fixes the broken UI of advertising bar when window size is too small
Bug:
{F219320329}
Reviewed By: jknoxville
Differential Revision: D18114230
fbshipit-source-id: fda321af761f9707077ded5d53a51e79f4cd26d6
Summary:
This plugin simply plots a graph of RAM usage per app (with some built-in apps are excluded).
Can be useful for debugging memory spikes.
{F218362880}
Reviewed By: jknoxville
Differential Revision: D18013073
fbshipit-source-id: 93e2f87280a734d1d05f4f5b600f7b81024bd348
Summary: This diff shows marketing bar for support feature when someone inspects the litho view. Once it is inspected it will shown for the rest of the time till the plugin is unmounted.
Reviewed By: jknoxville
Differential Revision: D18086347
fbshipit-source-id: cb906614f571e8ece2293b028f809d1aa5c211e5
Summary: Added a slug a while ago and it looks a bit better when shown in the bugnub.
Reviewed By: cekkaewnumchai
Differential Revision: D18083274
fbshipit-source-id: 5a9c8c126b5dcee92a697096ac3393a93a1690c3
Summary:
## The devDependency [uglify-js](https://github.com/mishoo/UglifyJS2) was updated from `3.6.2` to `3.6.3`.
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:** [alexlamsl](https://www.npmjs.com/~alexlamsl)
**License:** BSD-2-Clause
<details>
<summary>Release Notes for v3.6.3</summary>
<p> </p>
</details>
<details>
<summary>Commits</summary>
<p>The new version differs by 18 commits.</p>
<ul>
<li><a href="6b4886c908"><code>6b4886c</code></a> <code>v3.6.3</code></li>
<li><a href="0201cb4b52"><code>0201cb4</code></a> <code>fix corner case in <code>unused</code> (#3499)</code></li>
<li><a href="cd072317d0"><code>cd07231</code></a> <code>fix corner case in <code>unused</code> (#3496)</code></li>
<li><a href="0785a15ace"><code>0785a15</code></a> <code>fix corner case in <code>dead_code</code> & <code>ie8</code> (#3494)</code></li>
<li><a href="b1279a46d9"><code>b1279a4</code></a> <code>fix corner case in <code>sequences</code> (#3491)</code></li>
<li><a href="b571619d31"><code>b571619</code></a> <code>handle <code>throw</code> of non-<code>Error</code>s gracefully (#3492)</code></li>
<li><a href="7b5350b459"><code>7b5350b</code></a> <code>tweak Travis CI execution environment (#3489)</code></li>
<li><a href="1549db70e6"><code>1549db7</code></a> <code>fix corner case in <code>ie8</code> (#3487)</code></li>
<li><a href="8ff9a3c8fb"><code>8ff9a3c</code></a> <code>fix corner cases in <code>ie8</code> (#3485)</code></li>
<li><a href="91cae51d8f"><code>91cae51</code></a> <code>fix corner case in <code>evaluate</code> & <code>ie8</code> (#3483)</code></li>
<li><a href="8af2f5fbcf"><code>8af2f5f</code></a> <code>fix corner case in <code>rename</code> (#3481)</code></li>
<li><a href="86a8016323"><code>86a8016</code></a> <code>fix corner case in <code>ie8</code> & <code>mangle</code> (#3479)</code></li>
<li><a href="009dcdae01"><code>009dcda</code></a> <code>avoid mangling of <code>MutationObserver</code> properties (#3477)</code></li>
<li><a href="f86f615d83"><code>f86f615</code></a> <code>fix corner case in <code>ie8</code> & <code>mangle</code> (#3476)</code></li>
<li><a href="d3d1d11926"><code>d3d1d11</code></a> <code>fix corner case in <code>ie8</code> & <code>rename</code> (#3474)</code></li>
</ul>
<p>There are 18 commits in total.</p>
<p>See the <a href="c3ca293e6b...6b4886c908">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/594
Reviewed By: jknoxville
Differential Revision: D18035631
Pulled By: passy
fbshipit-source-id: 0de12654bd434ccf29e67907febeb1aca85558c9
Summary:
Let’s get started with automated dependency management for flipper 💪🔒 Greenkeeper has found a `yarn.lock` file in this repository. Greenkeeper supports lockfile updates for public packages. If you use private packages in your repository, please use [greenkeeper-lockfile](https://github.com/greenkeeperio/greenkeeper-lockfile) to make sure these can get updated as well.
This pull request **updates all your dependencies to their latest version**. Having them all up to date really is the best starting point for keeping up with new releases. Greenkeeper will look out for further dependency updates and make sure to handle them in isolation and in real-time, but only after **you merge this pull request**.
**Important: Greenkeeper will only start watching this repository’s dependency updates after you merge this initial pull request**.
📦📦 Greenkeeper has detected multiple `package.json` files. Since this repo already has a `greenkeeper.json` config file with defined groups, Greenkeeper has only checked whether they’re still valid.
---
<details>
<summary>🏷 How to check the status of this repository</summary>
Greenkeeper adds a badge to your README which indicates the status of this repository.
This is what your badge looks like right now 👉 
</details>
<details>
<summary>🙈 How to ignore certain dependencies</summary>
You may have good reasons for not wanting to update to a certain dependency right now. In this case, you can [change the dependency’s version string in the `package.json` file back to whatever you prefer](https://github.com/facebook/flipper/edit/greenkeeper/initial/package.json).
To make sure Greenkeeper doesn’t nag you again on the next update, add a `greenkeeper.ignore` field to your `package.json`, containing a list of dependencies you don’t want to update.
```js
// package.json
{
…
"greenkeeper": {
"ignore": [
"package-names",
"you-want-me-to-ignore"
]
}
}
```
</details>
<details>
<summary>👩💻 How to update this pull request</summary>
```bash
# Change into your repository’s directory
git fetch --all
git checkout greenkeeper/initial
npm install-test
# Adapt your code until everything works again
git commit -m 'chore: adapt code to updated dependencies'
git push https://github.com/facebook/flipper.git greenkeeper/initial
```
</details>
<details>
<summary>✨ How do dependency updates work with Greenkeeper?</summary>
After you merge this pull request, **Greenkeeper will create a new branch whenever a dependency is updated**, with the new version applied. The branch creation should trigger your testing services and check whether your code still works with the new dependency version. Depending on the the results of these tests Greenkeeper will try to open meaningful and helpful pull requests and issues, so your dependencies remain working and up-to-date.
```diff
- "underscore": "^1.6.0"
+ "underscore": "^1.7.0"
```
The above example shows an in-range update. `1.7.0` is included in the old `^1.6.0` range, because of the [caret `^` character ](https://docs.npmjs.com/misc/semver#ranges).
When the test services report success Greenkeeper will silently delete the branch again, because no action needs to be taken – everything is fine.
However, should the tests fail, Greenkeeper will create an issue to inform you about the problem immediately.
This way, you’ll never be surprised by a dependency breaking your code. As long as everything still works, Greenkeeper will stay out of your way, and as soon as something goes wrong, you’ll be the first to know.
```diff
- "lodash": "^3.0.0"
+ "lodash": "^4.0.0"
```
In this example, the new version `4.0.0` is _not_ included in the old `^3.0.0` range.
For version updates like these – let’s call them “out of range” updates – you’ll receive a pull request.
This means that **you no longer need to check for new versions manually** – Greenkeeper will keep you up to date automatically.
These pull requests not only serve as reminders to update: If you have solid tests and good coverage, and the pull requests passes those tests, you can very likely just merge it and release a new version of your software straight away :shipit:
To get a better idea of which ranges apply to which releases, check out the extremely useful [semver calculator](https://semver.npmjs.com/) provided by npm.
</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>
---
Good luck with your project and see you soon ✨
Your [Greenkeeper](https://greenkeeper.io) bot 🌴
Pull Request resolved: https://github.com/facebook/flipper/pull/591
Reviewed By: jknoxville
Differential Revision: D17951583
Pulled By: passy
fbshipit-source-id: 6ad2bfe7d4a9f7ed4920e50af36e194dc5b1cb93
Summary:
Close https://github.com/facebook/flipper/pull/580
This enables Greenkeeper with some caveats:
- I disabled a bunch of upgrades we know currently break:
- React
- Emotion
- Electron/Electron-Builder
- The bot isn't CLA-whitelisted yet, so we won't be able to directly import yet.
- It might actually be better to have automatic tasks created for the dependencies above breaking.
- Something changed in the prop types and required `StatusBar` to have its signature changed.
allow-large-files
Reviewed By: jknoxville
Differential Revision: D17906693
fbshipit-source-id: f73fe231518f56a6f6114f761d5e5e5528d0d487
Summary: Not a fan of the long lines, but if that's where prettier is going, let's roll with it.
Reviewed By: jknoxville
Differential Revision: D17905599
fbshipit-source-id: c4232d46d2ec0b7c743f6afd8349106c85f013b9
Summary:
These are the only four errors currently happening when upgrading to the 3.7 beta.
Luckily, these are all forwards-compatible changes.
Reviewed By: jknoxville
Differential Revision: D17711797
fbshipit-source-id: 429036e90300c81848cc3252b67bb89871ff2e32
Summary:
Here I add functionality to Wilde that allows navigation to internal deeplinks via Flipper. I beleive this was once a feature by allowing access to non whitelisted URL's but this has since been removed.
The Flipper plugin can now receive a navigate_to command which then emits a url over the navigateTo socket. This is picked up by the FBNavigationFlipperLogger plugin where it gets an instance of the NavigationCoordinator and opens the url.
Reviewed By: kolinkrewinkel
Differential Revision: D17282530
fbshipit-source-id: 0ba29aeac2a32d5464e8fa1dfa4e53af7cf94159
Summary:
Prepare package.json to publish to NPM.
This should set an example on how plugins can be shared via NPM.
Reviewed By: passy
Differential Revision: D17450841
fbshipit-source-id: 95bfe7331e5a95d4a8d201e5fea148cbdec6859f
Summary: Using styled components rather than class names to follow Flipper's guidelines
Reviewed By: jknoxville
Differential Revision: D17419665
fbshipit-source-id: 17e0a3bd9292327a4b34eb4e87e5271af8fa22c7
Summary:
`this.client.subscribe` was used to listen for navigation events. This means, navigation events are not collected while the plugin is in background.
In this diff, this is changed to a persistedStateReducer, so the events are collected with the plugin not active.
Reviewed By: jknoxville
Differential Revision: D17419668
fbshipit-source-id: 88d9476cb7461ff6774d42a992d32b4c8948ac86
Summary: This diff overrides the serializer and deserializer methods for the plugins.
Reviewed By: danielbuechele
Differential Revision: D17402442
fbshipit-source-id: 245990b6060a84995c6637c2d8e5d6a814d546e1
Summary: This diff refactors Map to Javascript Object so that we can avoid custom serializer.
Reviewed By: danielbuechele
Differential Revision: D17402444
fbshipit-source-id: afd1919b0bea7925fcd26b54cc58f588a116bbcb
Summary: For plugins to be discoverable through NPM, they need to have `flipper-plugin` as a keyword. This adds this keyword to all existing plugins (although they are currently not distributed via NPM) and the webside/docs.
Reviewed By: passy
Differential Revision: D17395079
fbshipit-source-id: e42dd31ca39c3754cf729052ee783687748bafe8
Summary: Overrides the default serializer and deserializer for the Layout Plugin. This diff uses `JSON.stringify` and `JSON.parse` to serialize and deserialize the object respectively. It turns out the our custom serializer is slower than the `JSON.stringify` and the export is way quicker.
Reviewed By: danielbuechele
Differential Revision: D17402443
fbshipit-source-id: 0d36783858ec1972130bdbc57ba7d3cdc5a73774
Summary: Finally we are able to switch back from our adbkit-fb fork to the original `adbkit`. Replacing all imports
Reviewed By: jknoxville
Differential Revision: D17343236
fbshipit-source-id: e6dd328f1a956544e8be2ab768aa270972463c6b
Summary: Replace the custom call to ADB with using this.device.adb`.
Reviewed By: jknoxville
Differential Revision: D17343234
fbshipit-source-id: c83fe295ec2c3f994e545a93aa580f44e91291fb
Summary:
Unnecessary and very broad - effectively disabling
all of tsc for the class.
Reviewed By: jknoxville
Differential Revision: D17342993
fbshipit-source-id: 609ce2cbd69bd83749111f64b1784fd4965c9704
Summary:
Previously url's were displayed only for the Android app even if the user was using the iOS app.
This commit displays the url's for the iOS app if the user is using the iOS app.
Reviewed By: danielbuechele
Differential Revision: D17318175
fbshipit-source-id: 3bd8be4de55ea5b3ce634c2c6b713cba14ffcccd
Summary:
The navigation plugin supports logging of a date and the class name. This addition adds that support.
I have kept the previoius method which I will remove once I update the fb4a navigation plugin integration.
Reviewed By: danielbuechele
Differential Revision: D17202996
fbshipit-source-id: eac95328a6e2278c3a27ca608b9b675c8efe4528
Summary: Migrated all the tests. I've put these in a single diff as there were only a couple of lines that had to be changed in each file.
Reviewed By: danielbuechele
Differential Revision: D17181587
fbshipit-source-id: cdcc20d71a47e786db4cefbebe9ea686d5e235e5